OWASP Top 10¶
OWASP Top 10 — это стандартный документ осведомлённости, представляющий собой список десяти наиболее критичных рисков безопасности веб-приложений, публикуемый некоммерческой организацией Open Web Application Security Project (OWASP). Документ основан на анализе данных о реальных уязвимостях, собранных за определённый период, и служит ориентиром для разработчиков, специалистов по безопасности и организаций для приоритизации мер защиты.
¶История и методология
Проект OWASP Top 10 был впервые опубликован в 2003 году. С тех пор он обновляется каждые два-три года на основе анализа данных от компаний-участниц, опросов сообщества и статистики по уязвимостям. Основная цель — выявить наиболее распространённые и опасные классы уязвимостей, а не конкретные ошибки в коде. Методология включает сбор данных о частоте встречаемости уязвимостей, их потенциальном ущербе и охвате. Наиболее значимые обновления выходили в 2007, 2010, 2013, 2017 и 2021 годах. Каждое обновление отражает изменения в ландшафте угроз, появление новых технологий (например, микросервисов, контейнеризации) и изменение практик разработки.
¶Список рисков OWASP Top 10 (2021)
Версия 2021 года стала первой, в которой используется категоризация рисков, а не только технических уязвимостей. Она включает три новые категории и пересматривает критерии ранжирования.
¶A01:2021 — Нарушение контроля доступа (Broken Access Control)
Самая распространённая категория риска. К ней относятся уязвимости, позволяющие пользователю выполнять действия, для которых у него нет прав, или получать доступ к данным, к которым доступ запрещён. Примеры: обход проверок прав доступа, повышение привилегий, подделка запросов на стороне сервера (SSRF). В 2021 году эта категория поднялась с пятого места на первое.
¶A02:2021 — Криптографические сбои (Cryptographic Failures)
Ранее называлась «Раскрытие конфиденциальных данных». Включает ошибки, связанные с использованием слабых или устаревших алгоритмов шифрования, отсутствием шифрования при передаче или хранении данных, неправильным управлением ключами. Сюда также входит использование протокола HTTP вместо HTTPS.
¶A03:2021 — Инъекции (Injection)
Третья по распространённости категория. Включает SQL-инъекции, инъекции в команды операционной системы, LDAP-инъекции и другие. Уязвимость возникает, когда непроверенные пользовательские данные передаются интерпретатору. В версии 2021 года из этой категории были исключены Cross-Site Scripting (XSS), которые были выделены в отдельную категорию.
¶A04:2021 — Небезопасный дизайн (Insecure Design)
Новая категория, введённая в 2021 году. Она фокусируется на рисках, связанных с архитектурными и проектными решениями, а не с ошибками реализации. Включает недостатки в моделировании угроз, отсутствие принципов безопасного проектирования (например, «безопасность по умолчанию»), неправильное использование шаблонов проектирования.
¶A05:2021 — Неправильная конфигурация безопасности (Security Misconfiguration)
Одна из наиболее частых проблем. Включает использование стандартных или слабых паролей, незакрытые ненужные порты и сервисы, неверные настройки HTTP-заголовков, отсутствие обновлений безопасности. В эту категорию также входит уязвимость XML External Entities (XXE), которая была выделена отдельно в версии 2017 года.
¶A06:2021 — Уязвимые и устаревшие компоненты (Vulnerable and Outdated Components)
Ранее называлась «Использование компонентов с известными уязвимостями». Риск связан с использованием сторонних библиотек, фреймворков, плагинов и других программных компонентов, которые содержат известные уязвимости. Включает также использование неподдерживаемых версий ПО.
¶A07:2021 — Сбои идентификации и аутентификации (Identification and Authentication Failures)
Ранее называлась «Нарушение аутентификации». Включает слабые механизмы проверки подлинности, возможность подбора паролей, использование слабых сессионных токенов, отсутствие многофакторной аутентификации, неправильное управление сессиями.
¶A08:2021 — Сбои целостности программного обеспечения и данных (Software and Data Integrity Failures)
Новая категория, введённая в 2021 году. Она связана с рисками, возникающими при использовании непроверенных обновлений, библиотек из ненадёжных источников, а также с уязвимостями в цепочках поставок (supply chain attacks). Включает также инъекции в конвейеры CI/CD и использование неподписанного кода.
¶A09:2021 — Сбои регистрации и мониторинга безопасности (Security Logging and Monitoring Failures)
Ранее называлась «Недостаточное логирование и мониторинг». Включает отсутствие или недостаточность журналирования событий безопасности, неспособность обнаруживать атаки в реальном времени, неэффективное реагирование на инциденты. Без надлежащего мониторинга атаки могут оставаться незамеченными в течение длительного времени.
¶A10:2021 — Подделка запросов на стороне сервера (Server-Side Request Forgery — SSRF)
Новая категория, введённая в 2021 году. Уязвимость SSRF возникает, когда веб-приложение позволяет злоумышленнику отправлять запросы от сервера к внутренним или внешним ресурсам. Это может привести к доступу к внутренним сервисам, облачным метаданным или другим системам, недоступным извне.
¶Критика и ограничения
Несмотря на широкую распространённость, OWASP Top 10 подвергается критике по нескольким причинам.
- Упрощение. Список из десяти категорий не может охватить все возможные уязвимости. Некоторые эксперты считают, что он создаёт ложное чувство безопасности, если организация сосредотачивается только на этих десяти рисках.
- Методология сбора данных. Данные для составления рейтинга предоставляются компаниями-участницами, что может приводить к смещению выборки в сторону крупных организаций или определённых типов приложений.
- Отсутствие контекста. Рейтинг не учитывает специфику конкретного приложения, его бизнес-логику и среду эксплуатации. Риск, который является критическим для одного приложения, может быть незначительным для другого.
- Запаздывание. Обновления выходят раз в два-три года, что может не успевать за быстро меняющимся ландшафтом угроз, особенно в области новых технологий.
¶Применение и значение
OWASP Top 10 является де-факто стандартом для оценки безопасности веб-приложений. Он используется:
- Разработчиками для изучения типовых ошибок и написания более безопасного кода.
- Специалистами по безопасности для проведения аудитов, пентестов и оценки рисков.
- Организациями для построения программ безопасной разработки (SDL), обучения персонала и выбора инструментов безопасности.
- Регуляторами как основа для требований к безопасности веб-приложений (например, в стандартах PCI DSS, ISO 27001).
Документ доступен бесплатно на официальном сайте OWASP и переведён на многие языки, включая русский. Помимо основного списка, OWASP публикует дополнительные материалы: тестовые приложения (WebGoat), руководства по тестированию (OWASP Testing Guide) и чек-листы.
¶Источники
- OWASP Top 10 2021: The Ten Most Critical Web Application Security Risks (официальный документ OWASP)
- OWASP Top 10 2017: The Ten Most Critical Web Application Security Risks
- OWASP Web Security Testing Guide (WSTG)
- Common Weakness Enumeration (CWE) — база данных типовых уязвимостей, используемая для классификации в OWASP Top 10
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


