Software engineering institute база уязвимостей реферат

Обновлено: 05.07.2024

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

  1. Common Vulnerabilities and Exposures - международная база данных уязвимостей;
  2. National Vulnerability Database - национальная база данных уязвимостей США;
  3. 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 включает в себя:

  1. Идентификационный номер (например, "CVE-1999-0067", "CVE-2014-10001", "CVE-2014-100001").
  2. Краткое описание уязвимости;
  3. Соответствующие ссылки (например, отчеты об уязвимостях и рекомендации).

Процесс создания CVE ID начинается с обнаружения потенциальной уязвимости. Затем CVE Numbering Authority ( CNA ) присваивает информации CVE ID и публикует в списке CVE на веб-сайте Primary CNA .

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 использовались разные статусы идентификаторов - CVE -кандидат(candidate) и CVE - запись ( entry ). Идентификаторы со статусом кандидата имели префикс CAN (например, " CAN -1999-0067"), а идентификаторы записи - префикс CVE (например, " CVE -1999-0067"). Пока уязвимость не была подтверждена, она имела идентификатор CVE -кандидата. Когда получала подтверждение - тип идентификатора менялся на CVE - запись . После изменения отдельных идентификаторов и смены их статуса организации, которые используют CVE , должны были обновлять у себя информацию. Так как количество обнаруживаемых уязвимостей с 1999 года экспоненциально выросло, MITRE Corporation по просьбе сообщества с 2005 года использует только префикс CVE .

Уязвимость (vulnerability) — недостаток в системе обработки данных, используя который, можно нарушить её целостность и вызвать неправильную работу.

Фактически под уязвимостью можно понимать дефект или недостаток в системе, используя который внешний злоумышленник, может реализовать угрозу -намеренно нарушить её целостность, вызвать неправильную работу, осуществить несанкционированный доступ или атаку и др. Уязвимость может быть результатом ошибок программирования, недостатков, допущенных при проектировании системы, ненадежных паролейвирусов и других вредоносных программ, скриптовых и SQL-инъекций. Некоторые уязвимости известны только теоретически, другие же активно используются и имеют известные эксплойты (код атаки).

Классификация уязвимостей:

По этапу жизненного цикла:

уязвимости проектирования (архитектура);

уязвимости эксплуатации (администрирование, конфигурации).

По причине возникновения:

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

субъективные уязвимости зависят от действий сотрудников, в основном, устраняются организационными и программно-аппаратными методами;

случайные уязвимости зависят от особенностей окружающей защищаемый объект среды и непредвиденных обстоятельств. Эти факторы мало предсказуемы и их устранение возможно при проведении комплекса организационных и инженерно-технических мероприятий.

По месту нахождения:

уязвимости аппаратных средств – уязвимости, имеющиеся в аппаратных средствах и возникшие при проектировании, разработке и производстве аппаратных средств;

уязвимость кода (программного обеспечения) — уязвимость, появившаяся в процессе разработки программного обеспечения;

уязвимость конфигурации — уязвимость, появившаяся в процессе задания конфигурации (применения параметров настройки) программного обеспечения и технических средств информационной системы, сети и объектов информатизации;

уязвимость архитектуры — уязвимость, появившаяся в процессе проектирования информационной системы, сети или объекта информатизации;

уязвимость организационная — уязвимость, появившаяся в связи с отсутствием (или недостатками) организационных мер защиты информации в информационной системе и (или) несоблюдением правил эксплуатации системы защиты информации информационной системы, требований организационно-распорядительных документов по защите информации и (или) несвоевременном выполнении соответствующих действий должностным лицом (работником) или подразделением, ответственными за защиту информации.

По объекту воздействия выделяются следующие типы уязвимостей: уровня сети; уровня операционной системы; уровня баз данных; уровня приложений.

Исторически реестры (базы) уязвимостей были обусловлены потребностью в регулярном распространении бюллетеней и сводок о найденных уязвимостях для каждого типа и версии программных продуктов и сред. Такие реестры поддерживаются как крупными разработчиками программ (напримерAdobe, Microsoft, RedHat), так и различными ассоциациями (US-CERT, Secunia, OpenSecurityFoundation).

Базы уязвимостей

Наименования

Адрес

Открытые базы уязвимостей

Национальный институт стандартов и технологий (NationalInstituteofStandardsandTechnology — NIST) и его Национальная база данных уязвимостей (National Vulnerabilities Database — NVD)

Группа чрезвычайного компьютерного реагирования США (United State Computer Emergency Readiness Team — US-CERT) с Базой данных записей уязвимостей (Vulnerability Notes Database — VND)

Проект SecurityFocus и его база уязвимостей BugTraq

Компания IBM с базой уязвимостей X-Force

ФСТЭК Российской Федерации База данных уязвимостей

Лаборатория SecurityLab и его база уязвимостей

Cisco Security Advisories and Responses

Software Engineering Institute

WPScan Vulnerability Database

Коммерческие (закрытые) базы уязвимостей

Функции организационно-правовой базы:
Юридическую основу организационно-правового обеспечения защиты информации составляют законы и другие нормативно-правовые акты для достижения следующих целей:
Концептуальная модель безопасности информации:

Законодательная база информационной безопасности государства разрабатывается в обязательном порядке для удовлетворения первейшей потребности в защите информац.

Задание: сделать реферат по информационной безопасности за 2 дня, красиво оформить. Сколько стоит реферат пишите точно.

Предмет: Информационная безопасность

Стоимость: 400 РУБ

Предмет: Информационная безопасность

Стоимость: 400 РУБ

Предмет: Информационная безопасность

Стоимость: 500 РУБ

Предмет: Информационная безопасность

Стоимость: 400 РУБ

Предмет: Информационная безопасность

Стоимость: 400 РУБ

Предмет: Информационная безопасность

Стоимость: 400 РУБ

Предмет: Информационная безопасность

Стоимость: 500 РУБ

Предмет: Информационная безопасность

Стоимость: 400 РУБ

Вы уже пробовали написать реферат самостоятельно? Если получилось грамотно , и , то мы жмем вашу отважную руку. Хотя, в том, что у вас получилось, мы не сомневались. Но если что, в помощи не откажем и расскажем, как составить план реферата.Любая научная работа требует составления четкого плана. .

Любая студенческая работа требует внимательного отношения, будь то громоздкая курсовая или небольшой реферат. Конечно, реферат отличается от той же дипломной или курсовой объемом (обычно не больше 25 страниц), но это не значит, что ему не полагается грамотное оформление. О том, и , мы уже знаем.

Доклад – это выступление перед публикой на определенную тему. Тогда зачем париться насчет его оформления? Можно писать арабской вязью или японскими иероглифами – главное, чтобы было удобно самому докладчику. Правда, в редких случаях доклад приходится сдавать на проверку преподавателю. Вот тут и н.

Мы используем систему оценок CVSS с момента возникновения нашей базы уязвимостей и первого нашего продукта — XSpider (надеюсь, кто-то его еще помнит). Для нас очень важно поддерживать базу знаний, которую мы используем в своих продуктах и услугах, в актуальном состоянии.

image

В ходе изучения стандарта родилась эта статья, надеюсь, она поможет вам в освоении новой методики оценки уязвимостей.

Вехи в истории CVSS
Стандарт Common Vulnerability Scoring System был разработан группой экспертов по безопасности National Infrastructure Advisory Council. В эту группу вошли эксперты из различных организаций, таких как CERT/CC, Cisco, DHS/MITRE, eBay, IBM Internet Security Systems, Microsoft, Qualys, Symantec.

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

Далее стандарт стал поддерживаться рабочей группой Common Vulnerability Scoring System-Special Interest Group (CVSS-SIG) в рамках проекта Forum of Incident Response and Security Teams (FIRST). Членство в группе не накладывает на ее участников каких-либо ограничений по поддержке и распространению стандарта.

В 2007 году была опубликована вторая версия стандарта: были внесены правки в перечень показателей и изменена формула расчета итоговой метрики для более точной оценки опасности уязвимостей.

В 2014 году рекомендации по использованию CVSSv2 выпускают такие авторитетные организации, как NIST и ITU, занимающиеся разработкой руководств и стандартов в области телекоммуникации и информационных систем.

Использование метрик CVSS для оценки уязвимостей закреплено в стандартах PCI DSS и СТО БР ИББС.

В июне 2015 года FIRST опубликовал финальную версию стандарта CVSSv3, о котором и пойдет речь в данной статье.

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

В стандарт входят три группы метрик:

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

Значение метрики принято публиковать в виде пары из вектора (конкретные значения отдельных показателей) и числового значения, рассчитанного на основе всех показателей при помощи формулы, определенной в стандарте.

Нововведения в CVSSv3
Далее по тексту мы не будем подробно рассматривать CVSSv2, на эту тему есть достаточно хорошая документация [6, 9], остановимся более детально на изменениях, вносимых новым стандартом.

Базовые метрики
Компоненты системы, для которых рассчитываются метрики
В рамках стандарта вводятся следующие понятия:

  • уязвимый компонент (vulnerable component) — тот компонент информационной системы, который содержит уязвимость и подвержен эксплуатации;
  • атакуемый компонент (impacted component) — тот, конфиденциальность, целостность и доступность которого могут пострадать при успешной реализации атаки.
  • выход за пределы песочницы приложения;
  • получение доступа к пользовательским данным, сохраненным в браузере, через уязвимость в веб-приложении (XSS);
  • выход за пределы гостевой виртуальной машины.

Метрики эксплуатируемости
Вектор атаки

Степень удаленности потенциального атакующего от уязвимого объекта.

CVSSv2CVSSv3
Название метрики
Access Vector (AV)Attack Vector (AV)
Возможные значения метрики
Network (N)Network (N)
Adjacent Network (A)Adjacent Network (A)
Local (L)Local (L)
Physical (P)
Примечание: здесь и далее в скобках даются буквенные мнемоники, используемые при описании CVSS-вектора.

  • Local — для эксплуатации атакующему требуется локальная сессия или определенные действия со стороны легитимного пользователя
  • Physical — атакующему требуется физический доступ к уязвимой подсистеме.
  • CVE-2015-2363 — Драйвер win32k.sys операционной системы Windows некорректно обрабатывает ряд объектов в памяти, что позволяет злоумышленнику, имеющему локальный доступ к системе, получить административные привилегии и выполнить произвольный код в режиме ядра.
  • CVE-2015-3007 — Сетевые шлюзы Juniper серии SRX некорректно реализуют функцию отключения восстановления пароля непривилегированным пользователем через консольный порт (set system ports console insecure). Уязвимость позволяет злоумышленнику, имеющему физический доступ к консольному порту, получить административные привилегии на устройстве.

Сложность эксплуатации уязвимости

Факторы, учитываемые в CVSSv2 метрикой Access Complexity, в новом стандарте учитываются двумя метриками — Attack Complexity и User Interaction.

Аутентификация / требуемый уровень привилегий

Требуется ли аутентификация для проведения атаки, и если требуется, то какая именно.

CVSSv2CVSSv3
Название метрики
Authentication (Au)Privileges Required (PR)
Возможные значения метрики
Multiple (M)
Single (S)
High (H)
Low (L)
None (N)None (N)
Подход к расчету метрики, основанный на количестве независимых процессов аутентификации, которые нужно пройти атакующему, недостаточно точно отражает смысл привилегий, необходимых для эксплуатации.

Значение Multiple в базе NVD встречается достаточно редко и в основном используется для уязвимостей, информация о которых недостаточно детализирована.

CVE-2015-0501 — Неизвестная уязвимость в Oracle MySQL Server позволяет удаленным аутентифицированным пользователям нарушить доступность СУБД, используя неизвестный вектор, связанный с ‘Server: Compiling’.

Значение Single не позволяет определить, требуется ли для эксплуатации доступ уровня привилегированного пользователя или достаточно аутентификации стандартного пользователя.

Рассмотрим две уязвимости, имеющие одинаковую оценку с точки зрения CVSSv2: 9.0 (AV:N/AC:L/Au:S/C:C/I:C/A:C)

  • CVE-2014-0649 — Cisco Secure Access Control System (ACS) некорректно выполняет авторизацию при доступе к интерфейсу Remote Method Invocation (RMI), что позволяет удаленным аутентифицированным злоумышленникам получить административные привилегии.
  • CVE-2014-9193 — Innominate mGuard некорректно обрабатывает настройки Point-to-Point Protocol (PPP), что позволяет удаленным злоумышленникам, имеющим ограниченные административные права, получить привилегии суперпользователя.

Необходимость взаимодействия с пользователем

Требуются ли для успешной реализации атаки какие-либо действия со стороны пользователя атакуемой системы.

CVSSv2CVSSv3
Название метрики
User Interaction (UI)
Возможные значения метрики
None (N)
Required ( R )
В CVSSv2 этот фактор учитывался в рамках метрики Access Complexity, в новом стандарте представлен в виде самостоятельной.

Рассмотрим две уязвимости, имеющие одинаковую оценку с точки зрения CVSSv2: 9.3 (AV:N/AC:M/Au:N/C:C/I:C/A:C).

  • CVE-2014-0329 — Маршрутизаторы ZTE ZXV10 W300 имеют встроенную учетную запись администратора с фиксированным паролем формата ‘XXXXairocon', где XXXX — последние четыре символа MAC-адреса устройства. Удаленный атакующий может получить пароль администратора и использовать его для доступа к устройству через сервис Telnet.
  • CVE-2015-1752 — Microsoft Internet Explorer некорректно обрабатывает объекты в памяти, что позволяет атакующему выполнить произвольный код на системе при переходе пользователя по ссылке, содержащей вредоносный код.

Границы эксплуатации

Метрики воздействия

Оценка степени влияния на конфиденциальность, целостность и доступность атакуемого компонента.

CVSSv2CVSSv3
Название метрики
Confidentiality Impact (С), Integrity Impact (I), Availability Impact (A)
Возможные значения метрики
None (N)None (N)
Partial (P)
Complete (С)
Medium (M)
High (H)
В данной метрике принципиально изменен подход к расчету веса: от количественного (Partial—Complete) к качественному (Medium—High).

Рассмотрим две уязвимости, имеющие одинаковую оценку CVSSv2: 5.0 (AV:N/AC:L/Au:N/C:P/I:N/A:N).

  • CVE-2014-0160 — Уязвимость существует в реализации TLS и DTLS для OpenSSL из-за некорректной обработки пакетов расширения Heartbeat. Эксплуатация данной уязвимости позволяет злоумышленникам, действующим удаленно, получить доступ к конфиденциальной информации из памяти процесса при помощи специально сформированных пакетов, которые вызывают чтение за пределами буфера.
  • CVE-2015-4202 — Реализация Cable Modem Termination Systems (CMTS) в маршрутизаторах Cisco uBR10000 не дает возможность ограничить доступ к сервису IP Detail Record (IPDR), что позволяет удаленному атакующему получить доступ к конфиденциальной информации путем отсылки специально сформированных IPDR-пакетов.

Временные метрики

Временные метрики не претерпели никаких принципиальных изменений.

Степень зрелости доступных средств эксплуатации

Доступен ли публично код или другие средства, с помощью которых можно провести атаку, или, напротив, существует только теоретическая возможность эксплуатации.

CVSSv2CVSSv3
Название метрики
Exploitability (E) Exploit Code Maturity (E)
Возможные значения метрики
Not Defined (ND/X)
High (H)
Functional (F)
Proof-of-Concept (POC/P)
Unproven (U)
В этой метрике изменилось только название: теперь оно точнее отражает назначение.

Доступные средства устранения уязвимости

Существуют ли официальные или неофициальные средства устранения уязвимости.

CVSSv2CVSSv3
Название метрики
Remediation Level (RL)
Возможные значения метрики
Not Defined (ND/X)
Unavailable (U)
Workaround (W)
Temporary Fix (TF/T)
Official Fix (OF/O)
В данную метрику изменения не вносились.

Степень доверия к информации об уязвимости Степень детализации доступных отчетов об уязвимости

CVSSv2CVSSv3
Название метрики
Report Confidence (RC)
Возможные значения метрики
Not Defined (ND) Not Defined (X)
Unconfirmed (UC)
Uncorroborated (UR)
Unknown (U)
Reasonable ( R )
Confirmed (С) Confirmed (С)
В новом стандарте более четко описаны критерии для отнесения отчета об уязвимости к той или иной категории:

  • Unknown — в существующих отчетах отсутствует описание причины уязвимости или различные исследователи расходятся относительно причин и возможных последствий эксплуатации;
  • Reasonable — существуют отчеты об уязвимости, позволяющие судить о причинах уязвимости с достаточной степенью уверенности (например, в отчете приводится пример эксплуатирующего кода);
  • Confirmed — уязвимость подтверждена производителем продукта или в свободном доступе находится полнофункциональный эксплойт.

CVE-2015-2373 — Уязвимость в сервисе Remote Desktop Protocol (RDP) операционной системы Windows позволяет удаленному атакующему выполнить произвольный код на системе путем отправки специально сформированных RDP-пакетов.

Версия стандартаCVSS-векторБазовая оценкаИтоговая оценка
CVSSv2AV:N/AC:L/Au:N/C:C/I:C/A:C/E:U/RL:OF/RC:C10.07.4
CVSSv3AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C9.88.5
Как видно, в новом стандарте переработана формула расчета в пользу снижения общего влияния временных метрик на итоговую числовую оценку.

Контекстные метрики
Контекстные метрики изменены для упрощения оценки влияния среды на итоговую оценку.

Требования к безопасности Позволяет задекларировать, какая характеристика данных атакуемого компонента (конфиденциальность, целостность или доступность) наиболее влияет на функциональность бизнес-системы или в целом на бизнес-процессы.

CVSSv2CVSSv3
Название метрики
Confidentiality Requirement (CR), Integrity Requirement (IR),
Availability Requirement (AR)
Возможные значения метрики
Not Defined (ND/X)
High (H)
Medium (M)
Low (L)
В данную метрику изменения не вносились.

Скорректированные базовые метрики

  • Вероятность нанесения побочного ущерба (Collateral Damage Potential, CDP) — оценка по качественной шкале None/Low/Medium/High потенциального ущерба для оборудования или иных активов от эксплуатации уязвимости. Эта метрика также могла учитывать экономический ущерб от простоя производства или недополученной выручки.
  • Плотность целей (Target Distribution, TD) — процент систем в информационной среде компании, на которые может влиять эксплуатация уязвимости.

Рассмотрим абстрактный пример.

  • Уязвимость 1 — Локальное повышение привилегий, не требующее взаимодействия с пользователем.
  • Уязвимость 2 — Уязвимость, позволяющая удаленному неаутентифицированному атакующему модифицировать файлы уязвимого компонента. Уязвимость требует от пользователя выполнения каких-либо действий для успешной эксплуатации, например перехода по ссылке.

Качественная шкала оценки опасности

  • Nvd.nist.gov: 0—3.9 Low; 4.0—6.9 Medium; 7.0—10.0 High;
  • Tenable: 0—3.9 Low; 4.0—6.9 Medium; 7.0—9.9 High; 10.0 Critical;
  • Rapid 7: 0—3.9 Moderate; 4.0—7.9 Severe; 8.0—10.0 Critical.

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

Тем, кто хочет глубже освоить методику оценки уязвимостей по CVSS, рекомендую помимо спецификации [1] ознакомится с примерами расчетов [3] и рекомендациями FIRST [2], где на типовых примерах разъясняется, как правильно использовать стандарт для оценки уязвимостей.

Ряд зарубежных компаний, среди которых IBM X-Force и Security Database, уже внедрили оценки по CVSSv3 в своих продуктах и сервисах. Мы в компании Positive Technologies закладываем возможность оценки уязвимостей по стандарту CVSSv3 в корпоративной базе знаний и линейке продуктов MaxPatrol.

Начиная с уязвимости в OpenSSL, получившей запоминающееся название Heartbleed и красивый логотип с кровоточащим сердцем, в сообществе специалистов по информационной безопасности стало модно придумывать для уязвимостей звучные имена, особенно это касается уязвимостей, связанных с SSL/TLS. Проанализируем, насколько эти поименованные уязвимости реально опасны.

В нашем телеграм канале мы рассказываем о главных новостях из мира IT, актуальных угрозах и событиях, которые оказывают влияние на обороноспособность стран, бизнес глобальных корпораций и безопасность пользователей по всему миру. Узнай первым как выжить в цифровом кошмаре!


Часто нужно узнать всю информацию о какой-нибудь уязвимости: насколько найденный баг критичен, есть ли готовые сплоиты, какие вендоры уже выпустили патчи, каким сканером проверить наличие бага в системе. Раньше приходилось искать вручную по десятку источников (CVEDetails, SecurityFocus, Rapid7 DB, Exploit-DB, базы уязвимостей CVE от MITRE/NIST, вендорские бюллетени) и анализировать собранные данные. Сегодня эту рутину можно (и нужно!) автоматизировать с помощью специализированных сервисов. Один из таких — Vulners, крутейший поисковик по багам, причем бесплатный и с открытым API. Посмотрим, чем он может быть нам полезен.

Vulners — это очень большая и непрерывно обновляемая база данных ИБ-контента. Сайт позволяет искать уязвимости, эксплоиты, патчи, результаты bug bounty так же, как обычный поисковик ищет сайты. Vulners агрегирует и представляет в удобном виде шесть основных типов данных:

Все это обрабатывается, каталогизируется, структурируется и доступно для поиска в любой момент.

Вендоры, от которых собирается и анализируется инфа в Vulners


Вендоры, от которых собирается и анализируется инфа в Vulners

В отличие от других баз, которые описывают баги в специальном формализованном виде (например, на языке OVAL-баз CIS или SecPod), Vulners хранит данные в формализованном виде и автоматически устанавливает связи между ними, быстро ищет и красиво отображает результаты поиска. Что с этим делать, целиком зависит от фантазии конечного пользователя.

Кто и на чем пишет Vulners?

Весь движок Vulners написан на Python + Django, в качестве базы взята MongoDB + Elasticsearch. MongoDB используется только для закладки данных роботами — сборщиками информации, Elasticsearch только для фронтенда. Деплой производится с Bitbucket’а скриптом. Масштабирование заложено прямо в ядре: MongoDB и Elasticsearch шардятся. Фабрика роботов написана хостонезависимой и может гоняться отдельно от всего проекта. Одна из крутых фишек — ребята уже полностью перешли на Python 3.5+ и asyncio в своем проекте. Так что поиск не всегда работает точно, но всегда очень быстро :).

На текущий момент в базе Vulners 319 557 бюллетеней и 144 684 эксплоита. А занимает все это в базе меньше 2 Гбайт. Такая компактность достигается за счет дедупликации и упаковывания. Все лежит в оперативной памяти, поэтому скорость поиска значительно увеличивается. Стоит упомянуть и то, что Vulners защищается WAF Wallarm, работающим в блокирующем режиме.

Архитектура Vulners


Архитектура Vulners

Но довольно слов, давай попробуем что-нибудь поискать.

Первое, что видишь, когда заходишь на Vulners, — это, конечно же, строка поиска. Просто введи название приложения, сайта или CVE-код уязвимости, и Вульнерс выдаст тебе все последние публичные баги по этому продукту со ссылками на эксплоиты, плагины для детекта и различные публикации.

Типовая выдача Vulners по багам WordPress. Обрати внимание: данные обновляются постоянно и в автоматическом режиме


Типовая выдача Vulners по багам WordPress. Обрати внимание: данные обновляются постоянно и в автоматическом режиме

Задача: найти критичные баги CentOS со ссылками на сплоиты

Запрос: type:centos order:published

Vulners позволяет фильтровать результаты поиска и/или сортировать их по любому полю баги:

  • по типу бюллетеня;
  • по CVSS Score;
  • по дате;
  • по номеру плагина детекта;
  • по имени ресерчера.

Графическое задание запроса


Графическое задание запроса

Получаем больше двадцати записей от Vulners


По умолчанию Vulners отдает только первые двадцать записей запроса. Если хочется больше, нужно задать параметр size . Так можно получить до 10 000. А если и этого мало, то можно запрашивать несколько раз по 10 000, пропуская уже полученные результаты при помощи параметра skip .

Задача: обосновать IT-департаменту, зачем нужен патч-менеджмент (или просто найти все сплоиты по определенной баге)

Запрос: cvelist:CVE-2014-0160 type:exploitdb

При помощи Vulners сравнительно просто обосновать IT-департаменту, почему уязвимости, обнаруженные сканером, действительно опасны и их стоит патчить. Для этого можно показать список эксплоитов, найденных по номеру CVE или другому идентификатору. Доступен поиск по Exploit-DB или Metasploit. На одной странице будет и описание, и исходники эксплоита, по которым также можно искать.

Ищем сплоиты по CVE-2014-0160


Ищем сплоиты по CVE–2014–0160

Как видим, на странице эксплоита приводится его полный текст. По этому тексту также можно искать.

Эксплоит можно просмотреть в удобной превьюшке


Эксплоит можно просмотреть в удобной превьюшке

Задача: узнать, сколько денег и на каких bug bounty заработал определенный хакер

Запрос: isox order:bounty

Уникальная фича Vulners — поиск по баг-баунти. Можно найти, какие уязвимости софта зарепортил исследователь, и посмотреть его достижения в bug bounty программах. Результаты можно сортировать по командам, исследователям, цене и прочему.

Например, ищем по нику, сортируем по размеру вознаграждения за баг-баунти:

Пример поиска по bounty


Пример поиска по bounty

А если уточнить в запросе reporter, можно считать чужие деньги, что стыдно, но любопытно.


Ответ (в долларах):


Также можно искать примеры реальных SQL-инъекций или уязвимостей, которые находили на конкретном сервисе, например на Vimeo: type:hackerone Vimeo .

Ищем зарепорченные на HackerOne баги по сервису Vimeo


Ищем зарепорченные на HackerOne баги по сервису Vimeo

Задача: найти баги по плагинам Nessus

Запрос: type:nessus order:published

Поиск по плагинам Nessus — также уникальная фича Vulners. Так, запрос выше выведет список последних добавленных плагинов.

Пример поиска по Nessus


Пример поиска по Nessus

Найденная уязвимость с GNU C Library


Найденная уязвимость с GNU C Library

Задача: найти потенциальные уязвимости мобильных приложений

Еще одна крутая особенность Vulners — возможность искать по уязвимостям более чем 13 000 топовых Android-приложений из Google Play! Store US через базу HackApp. HackApp — это условно-бесплатный тулкит и сервис для поиска багов в мобильных приложениях. HackApp ведут свою базу найденных уязвимостей, где подробно описывают векторы атак и уязвимые версии.

С помощью Vulners и HackApp можно искать по уязвимостям более чем 22 025 топовых Android-приложений из Google Play! Store. Для поиска нужно указать тип type:hackapp. В результатах поиска отображается тайтл, количество уязвимостей по степени критичности и информация о приложении.

Найденная уязвимость с GNU C Library


Поиск уязвимостей по базе HackApp

На момент написания статьи публично доступен только поисковый API. В JSON передается запрос и количество результатов (size), которое хочется получить. Максимальный размер выдачи — 10 000 записей. Хватит, чтобы утащить все бюллетени CentOS сразу. А чтобы забрать что-то совсем большое, за несколько раз, можно задать смещение с помощью параметра skip.

  • title
  • description
  • affectedPackage
  • sourceData
  • cvelist


Ответы также в JSON:

Бот позволяет делать запросы, так же как на сайте.


Бот позволяет делать запросы, так же как на сайте.

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

Хочешь просмотреть свежие публикации CVE? Нет проблем:


Хочешь видеть апдейты по эксплоитам?


Твои серверы работают под Debian? Следи за их безопасностью!

А у Vulners есть альтернативы?

Vulners — не единственный агрегатор уязвимостей. Есть, к примеру, базы Secunia и OSVDB, но одна закрылась 5 апреля, а другая платная.

Vulners — уникальный и незаменимый помощник любому хакеру и безопаснику. Он очень сильно экономит время при исследовании и эксплуатации сложных векторов атак. Конечно, инструмент только развивается, но уже сейчас он вполне юзабелен. А что еще более важно, Vulners открытый и бесплатный для конечного пользователя и всегда будет таким.

сайты для поиска уязвимостей

Каждый день появляются новые уязвимости затрагивающие всевозможные программы, сервисы и операционные системы, такие как: Windows, macOS, Linux и Android. Многие уязвимости ускользают от внимания обладателей этих устройств и пентестеров, но все эти уязвимости агрегируются и добавляются в базы уязвимостей. О таких сайтах собирающих уязвимости мы и расскажем в сегодняшней статье.

Что такое CVE?

Раньше в различных сервисах для указания одних и тех же уязвимостей использовались разные названия. Для устранения путаницы с названием уязвимостей компания MITRE предложила решение, независимое от различных производителей средств поиска уязвимостей. Это решение было реализовано в виде базы данных уязвимостей CVE Common Vulnerabilities and Exposures (Общие уязвимости и воздействия). Это решение позволило всем специалистам и производителям разговаривать на одном языке.

базы данных эксплоитов

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

Зарубежные сайты для поиска уязвимостей

Теперь когда мы знаем, что такое CVE, давайте перейдем к списку лучших сайтов для поиска уязвимостей. Я намеренно начинаю обзор с зарубежных ресурсов. Рекомендую обратить внимание именно на них. Ведь информационная безопасность как и любая другая область IT требует знания английского языка. Без этого никак, и чем раньше вы начнете выходить из зоны комфорта и мучить этим свой мозг, тем лучше.

CIRCL

Центр реагирования на компьютерные инциденты CIRCL — это организация, которая фокусируется на взломах и информационной безопасности.

сайты для поиска уязвимостей

На сайте CIRCL представлены публикации исследований безопасности и база данных уязвимостей для поиска.

VulDB

На протяжении десятилетий специалисты VulDB работали с крупными и независимыми сообществами в сфере информационной безопасности для создания базы данных с возможностью поиска более 124000 уязвимостей.

база данных уязвимостей

Сотни новых уязвимостей еженедельно добавляются на сайт, которые в зависимости от серьезности получают метку (низкий, средний, высокий).

SecurityFocus

В прошлом SecurityFocus информировал о случаях взлома и публиковал всевозможные материалы по теме информационной безопасности.

сайты для поиска уязвимостей

В настоящее время сервис отслеживает отчеты об ошибках программного обеспечения и с 1999 года ведет архив CVE с возможностью быстрого поиска уязвимости.

40day.today

0day.today (доступный через Tor) — это база данных уязвимостей, которая также продает личные эксплойты, цена которых не превышает 5000$.

сайты для поиска уязвимостей

Rapid7

У Rapid7, создателей знаменитого фреймворка Metasploit, тоже есть свой архив уязвимостей. Однако, в отличие от других баз данных, Rapid7 очень редко использует фактический код уязвимости CVE. Вместо этого сервис предлагает советы, содержащие полезные ссылки на соответствующую документацию для исправления, а также ссылки на модули msfconsole.

сайты для поиска уязвимостей

сайты для поиска уязвимостей

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

Packet Storm Security

Packet Storm Security не предназначен для поиска уязвимостей. На сайте Packet Storm вы можете узнавать о новостях мира информационной безопасности, читать публикации о новых уязвимостях и инструментах используемых в пентесте и в защите от компьютерных атак.

список уязвимостей

Exploit Database

База данных Exploit Database в настоящее время поддерживается организацией Offensive Security, которая специализируется на взломе Windows и безопасности веб-приложений.

список уязвимостей

В своей базе данных, доступной для поиска, на данный момент более 40000 уязвимостей. Есть также сервис Google hacking database, о котором мы рассказывали в статье Google Dorks.

Exploit Database — это очень популярный сервис, которым пользуются пентестеры и хакеры. На мой взгляд это самый удобный сервис. Найти уязвимость можно как по названию, так и по определенным категориям, которые упрощают поиск.

Vulners

Vulners, основанная Киром Ермаковым, представляет собой базу данных CVE, в настоящее время содержащую более 176500 уязвимостей. Сайт включает статистику CVE, аудитор управления уязвимостями Linux.

поиск уязвимостей

MITRE

MITRE — спонсируемая правительством США организация. Сайт ведет одну из самых больших баз данных уязвимостей.

как найти уязвимости

Российские сайты для поиска уязвимостей

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

База данных уязвимостей ФСТЭК

ФСТЭК — на мой субъективный взгляд далеко не самый лучший сайт для поиска уязвимостей.

База данных уязвимостей SecurityLab

Архив уязвимостей SecurityLab обновляется чаще чем ФСТЭК. Данных об уязвимости мало, но есть категории. Сайт черпает информацию об уязвимостях из зарубежных источников. Ничего своего, как впрочем и публикующиеся там статьи, как впрочем и весь сегодняшний рунет переводящий и перепечатывающий зарубежных специалистов.

Читайте также: