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

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

«Используя средства Clair, мы просканировали миллионы образов, представленных сегодня в нашем реестре, и обнаружили поразительно большое число образов со старыми версиями пакетов, например OpenSSL, которые содержат критически важные уязвимости», — сообщил Джозеф Шор, ведущий инженер-программист подразделения Quay в CoreOS.

Ставшее частью CoreOS в августе 2014 г. и находящееся в процессе расширения, Quay предоставляет частный сервис репозитория контейнеров Docker. CoreOS является одним из ведущих вендоров в нарождающейся экосистеме контейнеров и поддерживает как Docker, так и собственную технологию контейнеров Rocket. Компания также является членом-основателем Open Container Initiative.

Хотя новый свободный проект Clair имеет средства для обнаружения известных уязвимостей, он не может выявлять проблемы нулевого дня. Активный анализ кода Clair не выполняет, пояснил Шор.

«Мы считаем, что Clair представляет собой лишь одну, но важную часть общей стратегии безопасности для контейнеров, и в будущем мы надеемся заняться также другими проблемами», — сказал он.

По его словам, принцип действия Clair заключается в том, что вначале происходит сканирование пакетов контейнеров приложений и метаданных ОС на каждом уровне. Далее Clair сравнивает версии этих пакетов с базами данных известных уязвимостей Common Vulnerabilities and Exposures (CVE) для поддерживаемых в настоящее время Linux-дистрибутивов, которые включают Red Hat, Debian и Ubuntu. «Все данные представлены в графовой базе данных Cayley и автоматически обновляются по мере поступления новой CVE-информации», — добавил Шор.

Использование контейнеров расширяется, и в ИТ-отрасли предпринимаются разнообразные усилия для обеспечения безопасности контейнеров. В первой половине ноября компания Twistlock объявила о коммерческом выпуске своей технологии, которая поможет ограничить риски эксплуатации небезопасных контейнеров. Однако технология Twistlock в настоящее время имеет закрытый исходный код.

«Открытая природа Clair означает, что это центральный инструмент для обнаружения уязвимостей контейнера, — сказал Шор. — Мы хотим активно работать с сообществом, чтобы создавать дополнительные инструменты».

Clair, как технология Open Source, может пригодиться и конечным пользователям, помогая им обезопасить себя от рисков использования публичного репозитория контейнерных образов Docker Hub. «Поскольку Clair является продуктом с открытым исходным кодом, любое лицо или организация вполне может работать с собственным экземпляром Clair для автоматического сканирования образов из Docker Hub перед их размещением в своих репозиториях», — пояснил Шор.

Хотя CoreOS представлена и коммерческим предложением, Шор подчеркнул, что собственно Clair останется бесплатной технологией Open Source. «В интегрированной форме Clair прежде всего войдет в наш сервис реестра контейнеров Quay, который будет поставляться для всех репозиториев, вначале в нашей хост-версии quay.io, а скоро и в нашей корпоративной опции Quay Enterprise», — добавил Шор.