Проблема уязвимостей в открытых Java-зависимостях
Современная разработка корпоративных приложений на Java практически немыслима без использования сторонних библиотек и фреймворков с открытым исходным кодом. Эти зависимости, доступные через менеджеры пакетов вроде Maven или Gradle, значительно ускоряют процесс создания продуктов. Однако у этого подхода есть и обратная сторона: любая из сотен или тысяч используемых библиотек может содержать уязвимости. Когда такие недостатки безопасности обнаруживаются, они получают идентификатор CVE (Common Vulnerabilities and Exposures), и разработчики выпускают исправления.
Гораздо большую опасность представляют так называемые «уязвимости нулевого дня» или просто неизвестные проблемы, для которых ещё не существует публичного CVE. Корпоративные приложения, обладающие сложной и глубокой древовидной структурой зависимостей, становятся идеальной мишенью. Зачастую разработчики даже не подозревают, что одна из косвенных зависимостей на пятом или шестом уровне вложенности содержит критическую брешь, через которую злоумышленники могут получить контроль над всей системой.
Инициатива Lightwell и её результаты
Для решения этой системной проблемы компании IBM и Red Hat запустили совместную инициативу под названием Lightwell. Суть проекта заключается в проактивном аудите популярных Java-библиотек, которые широко используются в корпоративной среде, но не всегда находятся под пристальным вниманием сообщества безопасности.
В рамках этой работы специалисты IBM и Red Hat провели глубокий анализ исходного кода множества открытых проектов. Результатом их усилий стало выявление и исправление более 400 ранее неизвестных уязвимостей. Эти бреши не имели публичных идентификаторов CVE и не были задокументированы в базах данных, что делало их невидимыми для стандартных сканеров безопасности. Исправления были подготовлены в виде патчей и направлены мейнтейнерам соответствующих проектов для слияния в основные ветки.
Сервис Clearinghouse для централизованного доступа
Параллельно с исправлением кода был представлен новый инструмент — Clearinghouse. Это открытый сервис, который служит централизованным каталогом для всех найденных и устранённых проблем. Цель Clearinghouse — предоставить разработчикам и специалистам по информационной безопасности простой и быстрый доступ к информации о потенциальных угрозах в их стеке технологий.
Через этот сервис команды могут проверять используемые ими Java-зависимости на наличие известных (в том числе недавно найденных в рамках Lightwell) уязвимостей. Это позволяет организациям оценить риски и спланировать обновление своих приложений до того, как информация об уязвимости станет общедоступной и начнётся её массовая эксплуатация. Создание Clearinghouse является важным шагом к повышению прозрачности в экосистеме Open Source и созданию более безопасной среды для корпоративных Java-разработчиков.