Как оценивать безопасность Docker и Kubernetes по ГОСТ Р 57580 — ответ Центробанка
Многие финансовые организации — это компании с развитой ИТ-инфраструктурой. Они используют технологии виртуализации, в том числе контейнерного типа — такие как Docker и Kubernetes.
В том же Docker принцип «упаковки» и изоляции виртуализированных сред отличается от того, как это устроено в аппаратной виртуализации, где главный элемент — виртуальная машина. Логичным было бы предположить, что оценка безопасности виртуальных машин должна отличаться от оценки безопасности контейнеров.
В чем разница
Аппаратная виртуализация — это виртуализация на уровне гипервизора — программы, которая распределяет физические ресурсы сервера между разными виртуальными машинами (ВМ). Каждая ВМ — это отдельный виртуальный сервер со своим пулом выделенных аппаратных мощностей, своей ОС и набором прикладного ПО. На ВМ можно установить любую операционную систему.
Программная, или контейнерная, виртуализация — это виртуализация на уровне ядра операционной системы. Здесь вместо ВМ — контейнеры, которые используют одну ОС. Между контейнерами также можно распределять физические ресурсы сервера, но на программном уровне. А в случае с Docker это уже исполняемые контейнеры — среды для разработки приложений с набором готовых библиотек, инструментов и блоков кода.
Теоретически, если зловредный процесс, запущенный в контейнере, получает к нему root-права, эти права распространяются и на сам хост (сервер). То есть на уровне процессов и приложений ВМ — более изолированная и защищенная среда.
Как оценивать безопасность контейнеров
Это один из главных вопросов, которым задаются финансовые организации (ФИ), когда планируют внедрить в своей инфраструктуре контейнерную виртуализацию. Вопрос актуален по двум причинам:
в ГОСТ Р 57580 прописаны требования к содержанию базового набора мер «защиты среды виртуализации». Термин «виртуализация» здесь не конкретизируется, разделение на аппаратный и контейнерный типы отсутствует;
Учитывая обобщающую трактовку и типовой список мер по защите виртуализации, вопросов здесь на самом деле должно быть больше. С ними мы и обратились в Департамент информационной безопасности ЦБ за разъяснением.
Вопросы, адресованные Центробанку
1. Каким образом оценивать виртуальные контейнеры типа Docker при проведении оценки соответствия ГОСТ Р 57580? Можно ли приравнивать их к виртуальным машинам и оценивать согласно подразделу 7.8 ГОСТ Р 57580.1-2017 (далее — ГОСТ)?
2. Каким образом оценивать средства управления виртуальными контейнерами типа Kubernetes? Можно ли приравнивать их к серверным компонентам виртуализации и оценивать согласно подразделу 7.8 ГОСТ?
3. Требуется ли отдельно оценивать защищенность информации, которая находится внутри контейнеров Docker? Если да — просим указать какими мерами защиты информации следует руководствоваться при проведении оценки соответствия.
4. Если технологии контейнеризации приравниваются к части виртуальной инфраструктуры и оцениваются согласно подразделу 7.8 ГОСТ — каким образом реализуются требования этого подраздела и ГОСТ в целом по внедрению специальных средств защиты информации? Ответ Центробанка Приводим ключевые выдержки из ответа регулятора.
«ГОСТ Р 57580.1-2017 устанавливает требования к реализации путем применения технических мер в отношении следующих мер ЗИ подраздела 7.8 ГОСТ Р 57580.1-2017, которые, по мнению Департамента, можно распространить и на случаи использования технологий контейнерной виртуализации с учетом следующего:
реализация мер ЗСВ.1 – ЗСВ.11 по организации идентификации, аутентификации, авторизации (разграничение доступа) при осуществлении логического доступа к виртуальным машинам и серверным компонентам виртуализации может отличаться от случаев использования технологии контейнерной виртуализации. С учетом этого для реализации ряда мер (например, ЗВС.6 и ЗВС.7) полагаем возможным рекомендовать финансовым организациям разработать компенсирующие меры, которые будут преследовать те же цели;
реализация мер ЗСВ.13 – ЗСВ.22 по организации и контролю информационного взаимодействия виртуальных машин предусматривает сегментацию вычислительной сети финансовой организации для разграничения объектов информатизации, реализующих технологию виртуализации, относящихся к разным контурам безопасности. С учетом этого полагаем целесообразным предусмотреть соответствующую сегментацию и при использовании технологии контейнерной виртуализации (как в отношении исполняемых виртуальных контейнеров, так и в отношении используемых на уровне операционной системы систем виртуализации);
реализация мер ЗСВ.26, ЗСВ.29 – ЗСВ.31 по организации защиты образов виртуальных машин должна быть осуществлена по аналогии также и в целях защиты базовых и текущих образов виртуальных контейнеров;
реализация мер ЗВС.32 – ЗВС.43 по регистрации событий защиты информации, связанных с доступом к виртуальным машинам и серверным компонентам виртуализации, должна быть осуществлена по аналогии также и в отношении элементов среды виртуализации, реализующих технологию контейнерной виртуализации».
Вывод По мнению ЦБ, меры защиты виртуальных контейнеров аналогичны тем, что прописаны в ГОСТ для технологий аппаратной виртуализации. ЦБ приравнял Docker-контейнеры к виртуальным машинам, и при оценках соответствия аудиторы должны исходить именно из этого.
Однако получается, что каждый аудитор будет оценивать безопасность контейнеров по-своему, в зависимости от знаний и компетенций. Либо вообще не оценивать, если компетенций нет.
Также Центробанк указал, что в отдельных случаях финансовые организации могут применять «компенсирующие меры» по нейтрализации угроз. Непонятно, правда, каковы эти «компенсирующие меры», как оценивать их эффективность, адекватность и полноту. Никаких пояснений на этот счет регулятор, к сожалению, не предоставил.