Как и зачем проходить сертификацию AICPA SOC 2 и 3. Опыт Яндекс.Паспорта

?v=1
Привет! На связи Аня Зинчук. Я работаю в Службе информационной безопасности. Мы сопровождаем ключевые сервисы Яндекса на всех этапах жизненного цикла от дизайна и проектирования до реализации в коде: анализируем архитектуру новых решений, ищем потенциальные риски, проводим анализ кода на уязвимости и расследуем инциденты, если они возникают.

Одно из наших больших начинаний последнего времени — аудиты сервисов Яндекса независимой стороной на предмет соответствия мировым стандартам безопасности. Расскажу, как Яндекс.Паспорт проходил сертификацию AICPA SOC: для чего она нужна, почему это важно и что мы сделали ради соответствия стандарту. Яндекс стал одной из первых компаний в России, кто решился на такой шаг, и единственный выбрал сертификацию сразу по трём направлениям: безопасность, конфиденциальность и доступность. Подробности — в статье.

Что такое AICPA SOC 2 и 3?


Стандарт Service and Organization Controls 2 разработан Американским институтом дипломированных общественных бухгалтеров (American Institute of Certified Public Accountants) с использованием критериев надежности Trust Services Criteria. SOC 2 даёт независимую оценку контрольных процедур по управлению рисками кибербезопасности в ИТ-компаниях, предоставляющих сервисы пользователям.

В стандарте особое внимание уделяется приватности и конфиденциальности данных, поэтому к нему обращаются такие гиганты как Google и Amazon — для них высокий уровень безопасности и прозрачные процессы работы с данными особенно важны. Для сертификации приглашаются внешние аудиторы. Их задача — изучить внедрённые практики, проверить, насколько чётко компания следует своим процедурам и как регистрирует изменения в процессах.

Международные стандарты безопасности можно разделить на две группы. Первая — обязательные, например, PCI DSS — стандарт в области платёжных карт. У компании, имеющей сервисы, через которые проходят карты, нет опции «не соответствовать». И есть стандарты, которые никто не навязывает — здесь сертификация добровольна. AICPA SOC 2 относится к этой категории и при этом является одним из самых уважаемых стандартов в мире. Он предъявляет строгие требования к процессам, отражённые в критериях надежности Trust Services Criteria, и включает публичную форму отчёта — SOC 3, из которого пользователи и клиенты могут узнать, как мы заботимся об их данных.

Сертификация ISO vs. AICPA SOC


Если сравнивать AICPA SOC с другими добровольными сертификациями, на ум приходит популярный стандарт ISO, который выбирают многие крупные компании. У нас тоже есть такой опыт: Яндекс.Метрика и Облако получали сертификаты ISO-27001 (системы управления и менеджмент информационной безопасности). Существует целый рынок консультантов, которые готовят к сертификации по ISO и помогают с проработкой требований.

SOC 2 и SOC 3 работают иначе. Опыт проведения этих аудитов есть только у крупных международных консалтингов. При этом компания, осуществляющая аудит, не имеет права консультировать клиента. То есть аудитор может проверить, как мы сделали работу, а рассказать, как сделать лучше, или делать что-то за нас — не может. В итоге Яндекс не смог привлечь ни одну из аудиторских фирм с опытом сертификации по SOC для консалтинга, так как все они уже работали с нами по другим направлениям.

Мы готовились к сертификации сами, не имея предыдущего опыта и без права на ошибку. Если на аудите выясняется, что что-то не работает по стандарту, отчёт SOC 3 не выдаётся. А мелкие шероховатости, например, один незашифрованный ноутбук из 100, тут же попадают в SOC 2 — этого мы не могли себе позволить. Перепройти аудит на следующий день после устранения проблемы тоже не получится — процессы должны работать безупречно в течение срока, который определяется заранее. В нашем случае — полгода.

Когда аудитор ISO приходит в компанию в первый раз, он смотрит, как процессы работают в моменте. Есть ретроспектива, но она не очень подробная и её продолжительность не прописана в документах. Сертификат выдаётся на три года, каждый год приходит надзорный аудит и проверяет, что всё работает по стандарту. SOC 2 более тщательно смотрит в прошлое. Компания выбирает период: обычно это полгода в первый раз и год для повторных проверок. Аудиторы анализируют, что процессы работали в соответствии с заявленным описанием и требованиями Trust Services Criteria на протяжении всего этого времени.

Ещё в ISO, в отличие от SOC, уже есть набор контролей, которые нужно выполнить. На основе рисковой модели вы определяете, какие из контролей неприменимы в организации, и исключаете их из аудита. В SOC это не так. Есть набор общих критериев, которым нужно соответствовать. По ним компания самостоятельно разрабатывает матрицу контролей и требования. Ни один из критериев нельзя исключить. Получается, что сертификация SOC более строгая.

Для чего аудит нужен Яндекс.Паспорту?


Сервисы Яндекса используют единую аутентификацию через Паспорт. Это — наш ключевой сервис с точки зрения безопасности данных пользователей. Поэтому первый аудит по критериям AICPA решили провести именно для него. В дальнейшем, когда мы позовём аудиторов оценить другие сервисы, большинство вопросов, связанных с безопасностью, будет закрываться результатами AICPA SOC 2 Паспорта. Очень удобно — пройти проверку один раз и потом отдавать результаты по запросу других команд. Аудит проходили все компоненты Паспорта: сайт для пользователей, API для подключения сервисов Яндекса, база данных учётных записей MySQL, интерфейс техподдержки — веб-сервис для сотрудников, помогающих пользователям, и Blackbox — внутренняя служба с эксклюзивным доступом к чтению БД с пользовательскими данными и журнала изменений. Каждый процесс, требующий чтения из этих баз (включая запросы от внутреннего API Паспорта) проходит через Blackbox.

К Паспорту и до аудита предъявлялись повышенные требования. Например, в Яндексе существует правило, что сервисы должны переживать отключение одного датацентра, но Яндекс.Паспорт должен спокойно выдержать минус два. Когда мы проверяли, как сервис реагирует на мониторинги, как резервируются и реплицируются данные — всё уже было хорошо. Мы считаем, что Паспорт должен быть доступен постоянно, допустимый простой — не больше нескольких секунд.

Тем не менее, получить оценку усилий команд СБ и сервиса извне, от независимой третьей стороны, было важно. Отчёты AICPA SOC 2 и SOC 3 — это не только документальное подтверждение правильных практик независимой стороной, но и способ сопоставить собственные подходы к безопасности, которые развиваются внутри компании, с лучшими мировыми практиками. Поэтому основной задачей для нас стала подготовка внутренних метрик и процессов к внешней оценке. В дальнейших планах — распространить этот опыт на другие сервисы.

Кстати, аудит может быть полезен не только внутри. Если у вас есть крупные партнёры или заказчики, которые проходят свои аудиты, вы тоже попадаете под проверку. Когда таких контрагентов несколько, приходится каждый раз выделять ресурсы, тратить время на общение с аудиторами и отвечать на одни и те же вопросы. Вместо этого можно один раз пройти независимую оценку по авторитетному международному стандарту, например, AICPA SOC 2. Поскольку стандарт очень подробный и показывает соответствие ваших процессов лучшим практикам в сфере безопасности, его результатов будет достаточно, чтобы ответить на большинство запросов.

Что изучают аудиторы?


Отчёты SOC 2 и SOC 3 строятся на критериях надежности сервисов Trust Services Criteria, принятых AICPA: безопасность, конфиденциальность, доступность, приватность и целостность обрабатываемых данных. Мы изучили, на какие критерии сертифицируются большие корпорации, такие как Google, Amazon, Microsoft, и сделали упор на конфиденциальность и доступность, как и другие лидеры ИТ-рынка. Безопасность — базовый критерий, без него не получится. Доступность (информация и системы доступны для эксплуатации и использования в соответствии с целями организации. Доступность означает доступность информации, используемой системами организации, а также продуктов или услуг, предоставляемых ее клиентам) — потому что Паспорт является ядром для остальных сервисов.

В ходе аудита проверяются процессы, которые влияют на безопасность данных, но самая большая часть контролей связана с работой сервиса: насколько безопасна наша разработка, как мы передаём и храним логи, управляем доступом, реагируем на инциденты и т.д. В проекте участвовали не только Служба информационной безопасности и команда Паспорта, но и наши датацентры, логисты, HR, техническая поддержка, юристы, физическая и экономическая безопасность, хелпдеск и админы. А в подготовке отчётов поучаствовали редакторы и даже немного коммерческий департамент и дизайн.

Мы начали готовиться к сертификации летом 2018 года. Выбрали компанию из большой четвёрки, с которой уже сотрудничали, когда сертифицировались по ISO — PwC. Аудиту предшествовал gap-анализ (классика подхода к аудитам) — предварительная оценка готовности к аттестации SOC 2, занявшая полтора месяца. Затем был период проработки требований, когда мы внедряли изменения и привыкали с ними жить, а ещё через полгода — сам аудит, который продолжался два месяца. Мы шли по стандартному пути, который хорошо себя зарекомендовал.

Gap-аудит


Для начала нам предстояло оценить процессы вокруг Паспорта as is и понять, ложатся ли они на требования AICPA SOC. Первый шаг был сложным. Существовала ненулевая вероятность, что аудиторы скажут: «Ребята, у вас много несоответствий, так делать нельзя, нужно по-другому». А по-другому сделать не получится, потому что глобальные изменения будут негативно влиять на разработку сервисов. Например, требования стандарта могут быть настолько жёсткими, что Службе ИБ придётся проводить ревью для каждого коммита. Для нас это было бы нереально — работа растянется на часы и дни и часы.

По итогам gap-анализа мы получили отчёт с наблюдениями. Следующий шаг — изучение отчёта и поиск ответа на вопрос, получится ли адаптировать процессы в Паспорте к требованиям стандарта. Поняли, что получится, ничего смертельного нет. Затем — внедрение изменений. Эта работа была достаточно сложной, требовала активного участия команды Паспорта и заняла много времени. Остановлюсь на самых интересных моментах.

Уникальные решения Яндекса vs. рамки стандарта


В Яндексе не боятся выбирать нетривиальные подходы и выстраивать процессы под себя. Чаще всего — из-за уникальных требований и отсутствия готовых решений. Это не значит, что аудит становится сильно сложнее, но приходится обсуждать отличия и показывать, что наши контроли работают не хуже, чем у тех, кто пошёл по стандартному пути. AICPA SOC 2 позволяет применять компенсирующие контроли и мониторинг. Например, межсервисную аутентификацию и разграничение доступа к данным пользователей, чтобы снизить риск несанкционированного доступа при эксплуатации уязвимостей в других сервисах Яндекса, использующих Паспорт.

Ещё один пример — наш монорепозиторий. Для разработчиков это безусловное благо — удобнее переиспользовать код, вносить изменения, которые затрагивают множество сервисов. На аудите пришлось детально обсуждать контрольные процедуры, закрывающие риски безопасности. Для снижения рисков возникновения уязвимостей в сервисе внедрены компенсирующие меры: security-ревью изменений, аудиты безопасности кода и обучение разработчиков методам безопасного программирования.

Ещё в датацентрах Яндекса нет кондиционеров, вместо них — фрикулинг. В своё время мы решили доработать стойки так, чтобы они могли штатно работать при температуре охлаждающего воздуха сначала 35, а в следующих поколениях — 40 градусов Цельсия. Это позволило отказаться ото всех компонентов охлаждения. Система вентиляции в ЦОД в Яндексе состоит из приточных и вытяжных вентиляторов, фильтров, клапанов и шкафа управления. И всё. Результат — система охлаждения с максимально возможной эффективностью и максимальной надёжностью работы за минимальные деньги.

В классических ЦОД поддержанию уровня влажности уделяется большое внимание: часть кондиционеров оснащаются блоками увлажнения или ставятся отдельные увлажнители. Возможных опасностей две: статическое электричество при пониженной относительной влажности и выпадение росы при повышенной. Со статическим электричеством бороться просто: достаточно заземлить металлические конструкции стоек и холодных коридоров. За всю историю эксплуатации ЦОД в Яндексе не было зафиксировано ни одного случая вывода оборудования из строя статическим электричеством.

Что касается точки росы, влага выпадает на поверхности холодного предмета, когда он помещается в тёплый влажный воздух. Если проследить путь воздуха с улицы через конструкции воздуховодов, к серверам и снова наружу — таких мест в ЦОД нет. Мы делаем гидроизоляцию пространств с возможностью выделения влаги, но на самом деле в датацентрах и так всегда сухо. Работа нашей системы, несмотря на всю её оригинальность, не вызвала больших вопросов у аудиторов: мы рассказали, как всё устроено, показали фрикулинг вживую, собрали тикеты на годовое обслуживание вентиляционных установок (47 элементов) и продемонстрировали работу мониторинговой системы.

Документы и отчёты (и на бумаге тоже!)


В Яндексе не любят бюрократию — мы ценим практическую сторону процессов в безопасности, а аудиторам нужны документы на каждую мелочь. Многие наши политики, процессы и регламенты существуют как практические руководства и страницы на Вики, а не подписанные приказы. К сожалению, в таком виде процессы были недостаточно аудируемы. Большую часть документации мы разрабатывали вместе с командой Паспорта, потому что хотели, чтобы она отражала действительность и помогала сервису работать. В итоге проект помог формализовать процессы и сделать их более контролируемыми и прозрачными.

Ещё в процессе аудита выяснилось, что в отчёт входит не только заключение PwC, но и наше описание сервиса, которое печатается на бумаге. А в Яндексе мало сотрудников, работающих с бумажными документами. Все умеют готовить документацию для сайтов, для интранета, умеют красиво форматировать для веба… Но вот с бумагой сложнее. Мы делали описание вместе с юристами, дизайнерами и маркетологами. Я долго искала тех, кто поможет с правильными логотипами, шрифтами и оформлением, и всё-таки нашла.

Финальные этапы аудита проходили уже онлайн. За несколько дней до ухода в хоум-офисы аудиторы успели съездить в датацентры. Повезло, потому что позже они закрылись даже для сотрудников Яндекса — процесс мог затянуться ещё на несколько месяцев. Переход на удалёнку прошёл легко: мы не прерывались ни на один день, а просто перевели всё общение в видеоконференции и завершили работу в срок.

Результаты


Мы получили два отчёта, в которых аудиторская компания PwC подтверждает эффективную работу контрольных процедур в процессах безопасности и обработки данных в Яндекс.Паспорте.
  • SOC 3 отчёт — краткая версия, которую мы можем показывать людям за пределами компании.
  • SOC 2 отчёт — полный, раскрывает детали процессов, может передаваться вовне только под NDA в случае необходимости.

Для Службы информационной безопасности это был очень полезный опыт. Мы поняли две вещи:
  • Наши процессы соответствуют международным стандартам. И этому есть независимое и публичное подтверждение.
  • Хотим расширять скоуп сертификации. Паспорт взяли первым, потому что это единая точка доступа к данным пользователей, но останавливаться не планируем — будем сертифицировать и другие сервисы.

Теперь у нас есть сертификат, в котором стоят конкретные даты, и, если мы хотим продлевать статус (а мы хотим), то обязаны каждый год проходить регулярный аудит. Показывать, что процессы идут по-прежнему, всё хорошо и мы выполняем требования стандарта.

Надеюсь, что материал оказался полезным и теперь вы лучше понимаете, как проходят большие аудиты по международным стандартам.

© Habrahabr.ru