Перейти к содержанию

Что такое риски безопасности приложений?

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

Схема расчёта

Агенты угроз Векторы \ атаки Эксплуатируемость Вероятность отсутствия мер

безопасности

Техническое

воздействие

Бизнес-

воздействие

Определяется окружением, \ динамически по ситуации По уровню открытости приложения (в зависимости от окружения) Средневзвешенная эксплуатируемость Отсутствующие меры \ по средней частоте встречаемости \ с учётом охвата Средневзвешенное воздействие По бизнес-контексту

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

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

Как данные используются для выбора и ранжирования категорий

В 2017 году мы выбирали категории по частоте встречаемости для определения вероятности, а затем ранжировали их на основе командного обсуждения с учётом многолетнего опыта в области эксплуатируемости, обнаруживаемости (также вероятности) и технического воздействия. В 2021 году мы использовали данные об эксплуатируемости и (техническом) воздействии из оценок CVSSv2 и CVSSv3 в Национальной базе данных уязвимостей (NVD). В 2025 году мы продолжили использовать ту же методологию, что и в 2021.

Мы скачали OWASP Dependency Check и извлекли оценки CVSS Exploit и Impact, сгруппировав их по связанным CWE. Это потребовало значительных исследований и усилий, поскольку все CVE имеют оценки CVSSv2, однако CVSSv2 имеет недостатки, которые должен исправить CVSSv3. Начиная с определённого момента все CVE также получают оценку CVSSv3. Кроме того, диапазоны оценок и формулы были обновлены между CVSSv2 и CVSSv3.

В CVSSv2 и Exploit, и (Technical) Impact могли достигать 10,0, но формула снижала их до 60% для Exploit и 40% для Impact. В CVSSv3 теоретический максимум ограничен 6,0 для Exploit и 4,0 для Impact. С учётом весовых коэффициентов оценка Impact в CVSSv3 в среднем выросла почти на полтора балла, а эксплуатируемость снизилась примерно на полбалла при анализе для Top Ten 2021.

В Национальной базе данных уязвимостей (NVD), извлечённой из OWASP Dependency Check, содержится около 175 тыс. записей CVE, сопоставленных с CWE (против 125 тыс. в 2021 году). Дополнительно 643 уникальных CWE сопоставлены с CVE (против 241 в 2021 году). Из почти 220 тыс. извлечённых CVE: 160 тыс. имеют оценки CVSS v2, 156 тыс. — CVSS v3, 6 тыс. — CVSS v4. Многие CVE имеют несколько оценок, поэтому сумма превышает 220 тыс.

Для Top Ten 2025 средние оценки эксплуатируемости и воздействия рассчитывались следующим образом: все CVE с оценками CVSS группировались по CWE, затем оценки взвешивались по доле популяции с CVSSv3 и оставшейся части с CVSSv2 для получения общего среднего. Эти средние значения сопоставлены с CWE в наборе данных для расчёта Exploit и (Technical) Impact.

Почему не используется CVSS v4.0? Потому что алгоритм оценки был принципиально изменён и больше не предоставляет оценки Exploit и Impact так же удобно, как CVSSv2 и CVSSv3. Мы постараемся найти способ использовать CVSS v4.0 в будущих версиях Top Ten, но для выпуска 2025 года это сделать своевременно не удалось.

Для частоты встречаемости мы рассчитывали процент приложений, уязвимых к каждому CWE, из популяции, протестированной организацией за определённый период. Напомним: мы не используем частоту (количество раз, которое проблема встречается в приложении), а смотрим на то, какой процент из популяции приложений имеет данный CWE.

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

Формула, использованная в данной итерации, аналогична 2021 году с некоторыми изменениями весов: (Макс. частота встречаемости % × 1000) + (Макс. охват % × 100) + (Ср. эксплуатируемость × 10) + (Ср. воздействие × 20) + (Сумма встречаемостей / 10000) = Оценка риска

Рассчитанные оценки варьировались от 621,60 для категории «Нарушение контроля доступа» до 271,08 для «Ошибок управления памятью».

Это не идеальная система, но она полезна для ранжирования категорий рисков.

Дополнительная сложность связана с определением понятия «приложение». По мере перехода отрасли к архитектурам микросервисов и другим реализациям, которые меньше традиционного приложения, расчёты усложняются. Следующий выпуск Top Ten, возможно, потребует корректировки анализа и оценки с учётом постоянно меняющейся отрасли.

Факторы данных

Для каждой из десяти категорий указываются следующие факторы данных:

Число CWE: Количество CWE, сопоставленных с категорией командой Top Ten.

Частота встречаемости: Процент приложений, уязвимых к данному CWE из популяции, протестированной организацией за год.

Взвешенная эксплуатируемость: Подоценка Exploit из оценок CVSSv2 и CVSSv3, нормализованная и приведённая к шкале 10 баллов.

Взвешенное воздействие: Подоценка Impact из оценок CVSSv2 и CVSSv3, нормализованная и приведённая к шкале 10 баллов.

(Тестовый) охват: Процент приложений, протестированных всеми организациями для данного CWE.

Общее число встречаемостей: Общее количество приложений, в которых обнаружены CWE, сопоставленные с категорией.

Общее число CVE: Общее количество CVE в базе данных NVD, сопоставленных с CWE категории.

Формула: (Макс. частота встречаемости % × 1000) + (Макс. охват % × 100) + (Ср. эксплуатируемость × 10) + (Ср. воздействие × 20) + (Сумма встречаемостей / 10000) = Оценка риска