Предупрежден — значит вооружен: открытые базы уязвимостей

Мы уже писали о методах борьбы с DDoS и «слабых местах» Wi-Fi. Сегодня продолжим тему и поговорим о ресурсах, где можно найти актуальную информацию о сетевых уязвимостях и не только. Это — наша компактная подборка открытых баз, которые предлагают собственные API для получения данных и отправки уведомлений об угрозах.

Фотография: jaemin don / Unsplash.com

Фотография: jaemin don / Unsplash.com

CVE

Нельзя говорить о ресурсах с информацией об уязвимостях и не упомянуть базу Common Vulnerabilities and Exposures (CVE). Её формат идентификации общепризнан в сообществе. Стандартизированные описания позволяют ИБ-специалистам координировать свои действия и обмениваться информацией об угрозах разного спектра. При этом CVE не содержит технической информации и рекомендаций по устранению угроз.

Эту базу поддерживает некоммерческая организация MITRE, которую спонсирует Агентство по кибербезопасности и защите инфраструктуры США (CISA). Помимо MITRE, идентификаторы уязвимостям присваивают еще более трехсот организаций. Их называют CVE Numbering Authorities (CNA) — ими могут быть поставщики ПО, ИБ-компании, исследовательские центры.

В вопросах нумерации специалисты следуют правилу: «Один идентификатор для одной уязвимости». Есть и другие требования — их можно найти на официальном сайте базы в разделе Assignment Rules. Например, уязвимость Log4Shell, которая позволяет удаленно запускать вредоносный код, имеет идентификатор CVE-2021–44228. Соответствующая страничка в базе содержит год обнаружения, идентификационный номер, краткое описание угрозы с указанием продукта и вредоносного воздействия. Там же можно найти информацию о вендоре и специалисте, обнаружившем проблему.

Раньше для импорта данных из базы по API использовали форматы CSV, HTML, XML и CVRF. Однако с начала года организация переходит на JSON5, который легче поддерживать. В новой версии API отдает два массива — обязательный, с ключевой информацией об уязвимости от CNA, и дополнительный, со сведениями об уровне риска, версии продукта и другими подробностями от сертифицированных организаций ADP (Authorized Data Publisher).

NVD

Это — база уязвимостей, которая построена на основе CVE. Она дополнительно содержит информацию из открытых источников и рекомендации от вендоров и экспертов со ссылками на патчи. Развитием NVD занимается Национальный институт стандартов и технологий США (NIST). Эта же организация разработала стандарт для автоматизированного аудита безопасности SCAP, и данные в NVD представлены в соответствии с этим протоколом.

Что интересно, команда NVD тоже обновила API. По словам разработчиков, самыми значительными изменениями для пользователей стали две конечные точки API и возможность фильтровать запросы на основе метаданных вроде Known Exploited Vulnerabilities (KEV). Дополнительно усилили безопасность — в новой версии API Key передают в заголовке запроса. Весь перечень обновлений можно найти на официальном сайте, а документацию — в разделе Developers.

Одна из ключевых метрик, которую предоставляет база NVD — оценка уровня критичности уязвимости (CVSS). Как и другие показатели, она формируется на основе открытых данных, которые собирает команда аналитиков. Для вычисления CVSS используют три группы метрик: базовые, временные и контекстные. К первым относятся вектор доступа к уязвимости (локально или удаленно), сложность эксплойта и аутентификации, а также воздействие на целостность, конфиденциальность и доступность данных.

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

Фотография: modernafflatusphotography / Unsplash.com

Фотография: modernafflatusphotography / Unsplash.com

Однако стоит отметить, что в сообществе не все согласны с объективностью приводимых оценок. Есть мнение, что сторонние специалисты из NVD не в состоянии проанализировать критичность бага, опираясь только на публикации в открытом доступе и не запрашивая дополнительной информации у разработчиков.

OpenCVE

Главная задача этой платформы — оповещать об уязвимостях CVE и связанных с ними обновлениях. Пользователь может настроить отправку уведомлений по различным фильтрам: по продукту, вендору, уровню критичности, дефектам безопасности (CWE). Решение разработал тимлид из компании OVHcloud, которая является одним из крупнейших хостинг-провайдеров в Европе, в 2020 году. С тех пор он обновляет OpenCVE примерно раз в полгода.

К OpenCVE можно подключать собственные инструменты по REST API. Программный интерфейс платформы представлен в бета-версии, поэтому доступна только базовая аутентификация по логину и паролю. Документация по настройке API находится на официальном сайте.

Чтобы начать работу с OpenCVE, нужно импортировать данные об уязвимостях из NVD в локальную базу PostgreSQL, так как другие СУБД не поддерживаются. После этого обновление информации будет происходить автоматически каждые 15 минут с помощью ленты в формате JSON. Разработчик OpenCVE предусмотрел возможности для кастомизации. Решение позволяет создавать теги для списка уведомлений («важно», «не прочитано»), собирать последние обновления CVE в настраиваемых отчетах.

VulDB

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

Фундамент платформы заложил ИБ-специалист из Швейцарии в середине 1990-х годов, разработав небольшую базу уязвимостей Bugbase на немецком языке. В 2003 году он устроился в компанию scip, которая занимается тестированием систем информационной безопасности. Руководство заинтересовалось Bugbase и выделило ресурсы на ее развитие. Вскоре название базы сменилось на VulDB, а ее интерфейс перевели на английский язык, что привлекло еще больше пользователей. Сейчас платформа может публиковать данные об угрозах и присваивать им CVE-идентификаторы — она является официальным CVE Numbering Authority (CNA) и Authorized Data Publisher (ADP).

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

Фотография: Maria Teneva / Unsplash.com

Фотография: Maria Teneva / Unsplash.com

Что интересно, аналитики собирают данные об уязвимостях во вредоносном ПО. Да, зловреды представляют опасность сами по себе, но обнаруженные в них уязвимости расширяют поверхность атак и еще сильнее компрометируют систему, открывая больше возможностей для других злоумышленников. Что касается API для VulDB, его опубликовали в 2016 году и продолжают развивать. Для упрощения настройки API на GitHub выложены скрипты на языках Python, PHP, JavaScript и для инструментов командной строки PowerShell и curl. Документация по API есть на сайте в базе знаний.

Дополнительное чтение

  • Space Rogue: How the Hackers Known as L0pht Changed the World. Книга о группировке хакеров из Бостона, которая еще в конце 1990-х предупреждала американское правительство о том, какие угрозы в себе несут нераскрытые уязвимости. Команда выступала за то, что их необходимо публиковать в открытом доступе, и серьезно повлияла на лучшие практики ИБ. Автор книги, Крис Томас под ником Space Rogue, был одним из членов группировки и знает всю историю изнутри: становление L0pht, принципы, взаимоотношения и причины распада.

  • The NCSC research problem book. Это — своеобразное руководство по ключевым вопросам ИБ, которые предстоит решить исследователям и разработчикам. К ним, например, относится проблема построения безопасных систем. Нужны новые подходы к разработке архитектуры ПО и внедрение инноваций, какой в свое время стал язык Rust. По мнению авторов, его распространение среди разработчиков могло бы навсегда устранить уязвимости, связанные с нарушением целостности данных в памяти. В руководстве освещены и другие вопросы, в том числе посвящённые безопасности аппаратного обеспечения.

  • The Cyber Security Body of Knowledge. Темы для книги подбирали на основе опросов ИБ-специалистов. В отдельных главах можно найти классификацию вредоносного программного обеспечения и разбор методов противодействия, а также обзор этических и юридических вопросов, связанных с обнаружением угроз. Некоторые разделы посвящены работе с уязвимостями в критической инфраструктуре — например, в системах управления производственными процессами (Industrial Control System, ICS), транспортных системах или электростанциях.

  • Building Secure and Reliable Systems. Здесь собрана информация о наиболее распространённых уязвимостях, методах противостояния и подходах к написанию безопасного кода в целом. Отдельная глава посвящена кризис-менеджменту — первым шагам при обнаружении проблемы, вопросам коммуникации в команде и трудностям, с которыми сталкиваются члены оперативной группы. Книга написана для специалистов, занимающихся обеспечением надёжности информационных систем, разработчиков и сисадминов.

© Habrahabr.ru