Банк данных угроз безопасности информации, включающий базу данных уязвимостей программного обеспечения. Международный подход к выявлению и анализу уязвимостей: CVE и CVSS
8.3. Международный подход к выявлению и анализу уязвимостей, базы данных, содержащие уязвимости, в том числе CVE
В мире существует международные базы данных уязвимостей, которые позволяют разработчикам программного обеспечения и его пользователям обмениваться информацией с целью устранения выявленных уязвимостей и минимизации рисков их использования со стороны злоумышленников. Базы данных уязвимостей разрабатываются государственными, международными и коммерческими организациями. Наиболее известными являются:
- Common Vulnerabilities and Exposures - международная база данных уязвимостей;
- National Vulnerability Database - национальная база данных уязвимостей США;
- Open Sourced Vulnerability Database - независимая и открытая база данных уязвимостей.
В данной лекции будет рассмотрена база данных уязвимостей CVE.
Common Vulnerabilities and Exposures (CVE) - это список стандартных идентификаторов (IDs) для общеизвестных уязвимостей информационной безопасности. Основная задача создания CVE - объединение различных баз данных уязвимостей и унификация их описания.
Идентификаторы CVE (также известные как "CVE IDs," "CVE entries," "CVE names," "CVE numbers," и "CVEs") - это уникальные общепринятые идентификаторы для известных уязвимостей информационной безопасности.
CVE был основан в 1999 г., когда большинство средств безопасности использовали собственные базы данных уязвимостей. Часто одна и та же уязвимость описывалась по-разному, и не было технических возможностей объединить накопленные знания и практики. Результатом стала низкая интероперабельность (от. Англ. interoperability - способность к взаимодействию) между разрозненными базами данных. Помимо этого каждый вендор программного обеспечения использовал собственные метрики для подсчета количества обнаруженных уязвимостей и эксплойтов. Для решения этих проблем был создан CVE, который в настоящее время является отраслевым стандартом. Идентификаторы CVE служат единым языком для эффективного обмена данными.
Каждый ID CVE включает в себя:
- Идентификационный номер (например, "CVE-1999-0067", "CVE-2014-10001", "CVE-2014-100001").
- Краткое описание уязвимости;
- Соответствующие ссылки (например, отчеты об уязвимостях и рекомендации).
Процесс создания CVE ID начинается с обнаружения потенциальной уязвимости. Затем CVE Numbering Authority (CNA) присваивает информации CVE ID и публикует в списке CVE на веб-сайте Primary CNA.
CVE Numbering Authority (CNA) - это организации со всего мира, которым разрешено назначать CVE ID уязвимостям в согласованных за ними областях и включать эту информацию в объявления об обнаружении новых уязвимостей. Участие в качестве CNA является добровольным. На текущий момент 62 вендора программного обеспечения являются CNA (Microsoft Corporation, IBM Corporation, Cisco Systems, Inc. и т.д.). С полным списком CNA и и закреплёнными за ними областями можно познакомиться здесь: http://cve.mitre.org/cve/request_id.html.
Primary CNA - это самый главный CNA и им является некоммерческая компания MITRE Corporation, управляющая несколькими научно-исследовательскими центрами и курирующая CVE.
Синтаксис идентификационного номера CVE ID:
Префикс CVE + год + порядковый номер
Порядковый номер - это 4 и более цифр. Синтаксис идентификатора был изменен в 2015 году. Изначально в качестве порядкового номера использовалось только 4 цифры, то есть максимальное значение 9999 уязвимостей, обнаруживаемых в год. Сейчас обычно используется 7 цифр.
Рассмотрим пример. В 2014 году в протоколе SSL 3.0 была выявлена уязвимость, названная POODLE. Она позволяет осуществить атаку "человек посередине"( Man-in-the-Middle ) на соединение, защищенное с помощью SSL 3.0. Ей был присвоен идентификационный номер CVE-2014-3566. То, как описание уязвимости выглядит в CVE, показано на рис. 8.8:
Стоит отметить, что ранее в CVE использовались разные статусы идентификаторов - CVE-кандидат(candidate) и CVE-запись(entry). Идентификаторы со статусом кандидата имели префикс CAN (например, "CAN-1999-0067"), а идентификаторы записи - префикс CVE (например, "CVE-1999-0067"). Пока уязвимость не была подтверждена, она имела идентификатор CVE-кандидата. Когда получала подтверждение - тип идентификатора менялся на CVE-запись. После изменения отдельных идентификаторов и смены их статуса организации, которые используют CVE, должны были обновлять у себя информацию. Так как количество обнаруживаемых уязвимостей с 1999 года экспоненциально выросло, MITRE Corporation по просьбе сообщества с 2005 года использует только префикс CVE.