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

Что такое уязвимости и чем они отличаются от угроз  

Многие путают эти понятия, а разница есть. Угрозы в ИБ — это потенциальные опасности, которые могут возникнуть в информационной системе (ИС), если нарушитель использует ее уязвимости для атак.

Угроз в ИС может быть всего три. Это угрозы:

  1. нарушения целостности;

  2. нарушения доступности;

  3. нарушения конфиденциальности.

Число уязвимостей не ограничено. Порой кажется, что со временем их становится только больше. Уязвимости — это некие недостатки в ПО, оборудовании, мерах по обеспечению безопасности компании с точки зрения человеческого фактора (доступы, пропуски), предоставляющие злоумышленнику возможность совершать в ИС несанкционированную деятельность. В уязвимость быстро превращается и отсутствие или слабая защита информационной системы.

Эксплуатируя уязвимость, атакующий получает возможность реализовать угрозу. То, что дает возможность использовать уязвимости, называется источником угрозы (threat agent): хакер; недобросовестный или ошибившийся сотрудник, через которого произошла утечка конфиденциальной информации или который повредил файлы; процесс, осуществляющий доступ к данным в обход политики безопасности; обстоятельства непреодолимой силы (землетрясение, разрушившее здание).

Какие бывают уязвимости:

  • Уязвимости с риском — подразумевают, что злоумышленник может значительно воздействовать на систему в результате использования такой уязвимости.

  • Уязвимости без риска — когда эксплуатация уязвимости не может нанести значимого вреда.

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

Уязвимости проявляются в следующих местах:

  • материальная среда ИС: оборудование, устройства (например, носители для записи и хранения информации), физические входы в систему;

  • персонал;

  • политики безопасности и различные административные регламенты;

  • бизнес-процессы;

  • локальное и облачное программное обеспечение.

Классификация и оценка уязвимостей: зачем это все нужно?

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

Как классифицируют уязвимости

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

5 наиболее распространенных классификаций

OWASP Top 10 получила название в честь некоммерческой организации Open Web Application Security Project, которая сосредоточена на обеспечении безопасности Интернета. OWASP ведет и регулярно обновляет чарт из 10 самых опасных рисков для web-приложений, составленный на основе общедоступной Risk Rating Methodology.

ТОП-10 веб уязвимостей с официального сайта классификации

Рейтинг не охватывает все возможные проблемы, он лишь позволяет выделить и изучить десять наиболее распространенных и актуальных на сегодня типов уязвимостей. Так что OWASP даже выдвинула призыв: «Don't stop at 10».

Впервые OWASP Top 10 обнародовали в 2004 году, и с тех пор он обновляется примерно раз в три года. Каждая уязвимость в топе сопровождается подробным описанием, примерами и рекомендациями по устранению. В последней на сегодняшний день версии рейтинга есть, например, такие ошибки, как отсутствие журналирования и мониторинга, небезопасная конфигурация, межсайтовый скриптинг. 

Классификация уязвимостей CVE. Классификацию Common Vulnerabilities and Exposures ИБ-профессионалы используют чаще всего. Именно на нее мы постоянно ссылаемся в отчетах по итогам пентестов. 

CVE представляет собой нечто вроде словаря известных угроз. Каждой присваивается идентификатор, где также указаны год, в который поступило сообщение об этой уязвимости, и номер, присвоенный экспертами из CNA (CVE Numbering Authorities). Это отдельная организация, состоящая из более чем 200 экспертных групп, объединяющих исследователей, специалистов по обнаружению уязвимостей, разработчиков. Наиболее авторитетная из них — та же Mitre.

CVE-запись об уязвимости в Diagnostic Lab Management System в National Vulnerability Database. Содержит описание уязвимости и дополнительные данные о ней

Самым опасным, громким уязвимостям дают собственные имена. Например, CVE-2022-30190, которая позволяет проэксплуатировать Windows Support Diagnostic Tool через файлы MS Office, назвали Follina, а критическая уязвимость удаленного выполнения кода CVE-2021-44228, найденная в библиотеке Apache Log4j, известна как Log4Shell или LogJam. 

Классификация недостатков безопасности CWE. Перечень Common Weakness Enumeration составлен в форме иерархического словаря, где перечислены ошибки в ПО, из-за которых возможно появление уязвимостей.

Инициатором этого проекта выступило Министерство нацбезопасности США, его поддерживает корпорация Mitre, а развивает большое сообщество ИБ-экспертов. Соответственно, многие эксперты считают эту классификацию стандартом описания недостатков безопасности ПО. Важная особенность CWE — строгая многоуровневая древовидная структура, состоящая из типов и категорий уязвимостей, снабженных цветовой кодировкой. Этот классификатор не такой динамичный, как OWASP Top 10. Внесение изменений в структуру CWE происходит редко, после уймы исследований и бюрократических проволочек.

Классификация атак CAPEC. Common Attack Pattern Enumeration and Classification — это классификация, которая появилась в процессе развития CWE и схожа с ней по иерархической структуре, однако содержит больше контекста и дополнительной информации.

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

CAPEC ссылается и на CVE, так что ее можно считать объединяющим классификатором и отправной точкой для поиска дополнительной информации о конкретной проблеме.

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

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

Помимо пяти перечисленных можно вспомнить и пару необычных классификаций. Например, компания QIWI совместно с проектом Vulners разработали классификацию уязвимостей на основе графа связанной информации. Существует и классификация логических уязвимостей на основе метода групповой атаки с использованием апостериорной эмпирической методологии (что бы это ни значило). Такие вещи редко используются на практике и представляют скорее научный, академический интерес.

Как оценивают уязвимости

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

Каждой уязвимости присваивают ранг или оценку серьезности на основе таких факторов, как:

  1. Какие системы затронуты.

  2. Какие данные в опасности.

  3. Какие бизнес-функции находятся под угрозой.

  4. Насколько легко реализовать атаку и добиться компрометации ИС.

  5. Потенциальный ущерб в результате уязвимости.

Исходя из этого набора факторов, уязвимость в тестовой версии ПО не так страшна, как такая же в продуктовой. Уязвимость в старой версии ПО, для которой уже есть патч, оценивается как более легкая, чем такой же недостаток в новейшей программе.

При этом в целом уязвимость удаленного исполнения кода в популярном MS Word опаснее, чем подобная дыра в каком-нибудь редком текстовом редакторе, так как она затрагивает больше пользователей. Однако если компания использует не Word, а именно это редкое решение, то подобная ошибка будет оценена как критически опасная. Повторим, что многое зависит от контекста.

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

Стандарт CVSS

Common Vulnerability Scoring System без ложной скромности переводится как общая система оценки уязвимостей. Это отраслевой стандарт, по которому оценивают серьезность дыр в безопасности ИС.

Краткая история CVSS

В начале нулевых Консультативный Совет по Инфраструктуре США (NIAC) провел исследования, благодаря которым в 2005 году появился первый стандарт с методами оценки ПО-уязвимостей. Заложенные тогда принципиальные основы расчета метрики используются и сегодня. Из-за того, что первую версию CVSS поддерживала еще молодая экспертная группа  CVSS-SIG, вскоре разработчики стали жаловаться на многочисленные недостатки стандарта.

В CVSS стали вносить правки и в 2007 выпустили вторую версию с измененной формулой расчета. Прошло семь лет, прежде чем авторитетные Национальный институт стандартов и технологий (NIST) и Международный союз электросвязи (ITU) выпустили рекомендации по применению этой версии.

Третью версию CVSS NIAC опубликовал в 2015 году. В ее разработке участвовали эксперты Microsoft, IBM Internet Security Systems, Cisco, eBay, CERT/CC, Qualys, Symantec, DHS/MITRE. Ее до сих пор поддерживает FIRST, хотя в 2019 году вышел апдейт: CVSS 3.1.

Метрики в CVSS

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

Степени опасности по шкале:

  • низкая — от 0,1 до 3,9 баллов;

  • средняя — от 4 до 6,9;

  • высокая — от 7 до 8,9,

  • критическая — от 9 до 10.

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

  • Вектор атаки (AV) — выражает «удаленность» атаки и способ эксплуатации уязвимости.

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

  • Взаимодействие с пользователем (пользовательский интерфейс) — определяет, требует ли атака активного участия человека или ее можно автоматизировать.

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

  • Область действия (S) — определяет, может ли злоумышленник повлиять на компонент за пределами его области/полномочия безопасности.

  • Конфиденциальность (C) — определяет, могут ли неавторизованные лица получить доступ к данным и в какой степени.

  • Целостность (I) — измеряет влияние на достоверность данных.

  • Доступность (A) — относится к влиянию на доступность данных или услуг для авторизованных пользователей.

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

Применение CVSS

Уязвимости в известных программных продуктах получают официальную оценку. Информация о каждой раскрытой уязвимости из CVE поступает в NIST. Эксперты института анализирует все аспекты уязвимости и присваивают ей степень опасности. В результате специалисты по информационной безопасности получают показатель, на который можно опираться в своих исследованиях. Применение метрик CVSS закреплено в стандартах PCI DSS и СТО БР ИББС, так что можно сказать, что эта оценка имеет юридическую силу.

Мы также проводим оценку уязвимостей по шкале CVSS, например, во время пентестов. Как правило, для расчетов используем онлайн-калькулятор, опубликованный на сайте Форума групп безопасности и реагирования на инциденты (FIRST) или аналогичное решение от NVD — CVSS v3 Calculator.


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

Комментарии (1)


  1. andrettv
    25.12.2022 18:20

    Мне кажется, тема различий между рисками угрозами и уязвимостями не раскрыта. Всегда считал, что риск - это потенциал ущерба активам, вызванный угрозой; угроза - это процесс, который увеличивает вероятность негативного события, такого как эксплуатация уязвимости; а уязвимость - это недостаток в конфигурации инфраструктуры или дефект в приложении, которые потенциально подвергают их угрозам. В этом свете OWASP Top 10, скорее, относится к угрозам, а не к уязвимостям, к коим из перечисленных в материале относится только CVE. К дефектам разрабатываемого ПО CVE не подходит, т.к. ответов на часть вопросов CVSS на этом этапе ещё нет, поэтому для них чаще применяется CWE. Разрабатывавшаяся CWSS, судя по всему, не взлетела. К CVSS накопилось довольно много критики из-за её сложности и одновременно недостаточного учёта эксплуатируемости угроз и контекста окружающих мер защиты, что вызвало разработку v4 и новых моделей оценки (EPSS, SSVC и др.) и онтологий (например, Vulntology).