Техническое руководство

OWASP Top 10:
десять рисков на практике

Отраслевой справочный список по безопасности веб-приложений, переведённый в то, что каждая категория значит для реального приложения и что в ней проверяется.

OWASP Top 10 — это не список уязвимостей, а список <em>категорий</em> рисков, периодически обновляемый по данным десятков тысяч приложений. Это та ссылка, которую приводят большинство договоров и систем соответствия, говоря «проверка по признанной методологии». Это руководство проходит по редакции 2021 года — используемой повсеместно — и показывает, что реально проверяется в каждой категории.

A01 — Нарушение контроля доступа

Первое место и самый стабильный источник реальных инцидентов. Приложение проверяет, кто вы, но не проверяет, разрешено ли вам именно это действие. На практике: меняете идентификатор в URL и видите счёт другого клиента; напрямую вызываете административный endpoint, который интерфейс вам не показывает; меняете поле роли в запросе и становитесь администратором. Ни один сканер это не ловит, потому что не знает, кто что должен видеть.

A02 — Криптографические сбои

Чувствительные данные передаются или хранятся без адекватной защиты: трафик по HTTP, пароли с устаревшими алгоритмами, ключи в исходном коде, карточные данные или документы, лежащие в открытом виде «временно». Раньше категория называлась «раскрытие чувствительных данных», и переименование полезно: проблема не только в раскрытии, но и в неверном выборе механизма защиты.

A03 — Инъекции

Пользовательские данные попадают в интерпретатор без разделения: SQL, системные команды, LDAP, XPath, серверные шаблоны. Сюда же входит межсайтовый скриптинг, перенесённый в редакции 2021 года. Это категория, которую автоматические инструменты покрывают лучше всего — и именно поэтому при ручной проверке внимание уходит к тому, что инструменты упускают: инъекции второго порядка, необычные контексты, обходимые фильтры.

A04 — Небезопасный дизайн

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

A05 — Ошибки конфигурации безопасности

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

A06 — Уязвимые и устаревшие компоненты

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

A07 — Сбои идентификации и аутентификации

Разрешены слабые пароли, нет ограничения попыток, сессии не истекают, предсказуемые токены, злоупотребление восстановлением учётной записи, многофакторная аутентификация, обходимая через альтернативный поток. Последний случай встречается чаще, чем кажется: MFA на веб-интерфейсе, но не на мобильном API.

A08 — Сбои целостности ПО и данных

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

A09 — Сбои логирования и мониторинга

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

A10 — Подделка запросов на стороне сервера (SSRF)

Приложение берёт переданный пользователем адрес и само по нему обращается. Злоумышленник направляет его во внутреннюю сеть или к сервису метаданных облачного провайдера и получает доступ к тому, что напрямую недостижимо. В Top 10 категория попала в 2021 году именно потому, что облачные архитектуры усилили её влияние: один удачный запрос может вернуть учётные данные.

Что ловит автоматика и что требует человека

КатегорияПокрытие автосканированиемЧто добавляет ручная проверка
A01 Контроль доступаОчень низкоеПроверка между ролями и клиентами с реальными учётками
A02 КриптографияЧастичное (протоколы, сертификаты)Проверка реального хранения и управления ключами
A03 ИнъекцииХорошееИнъекции второго порядка, контексты и обходимые фильтры
A04 Небезопасный дизайнОтсутствуетЗлоупотребление бизнес-потоком — единственный доступный метод
A05 КонфигурацияХорошееОценка реального влияния в контексте архитектуры
A06 Устаревшие компонентыОчень хорошееПодтверждение эксплуатируемости, а не только версии
A07 АутентификацияЧастичноеОбход MFA через альтернативные потоки, злоупотребление восстановлением
A08 ЦелостностьНизкоеАнализ цепочки поставки и десериализации
A09 ЛогированиеОтсутствуетИзмерение того, что реально обнаружено во время проверки
A10 SSRFЧастичноеРазворот к внутренним сервисам и метаданным облака
Как использовать список на практике: как структуру отчёта и общий язык между безопасностью и разработкой, а не как чек-лист. Приложение «без находок OWASP Top 10» всё ещё может иметь специфичный для бизнеса дефект логики, не попадающий ни в одну категорию.

Частые вопросы

Что такое OWASP Top 10?

Это список десяти важнейших категорий рисков безопасности веб-приложений, публикуемый Open Worldwide Application Security Project и периодически обновляемый по данным десятков тысяч реальных приложений. Это не перечень отдельных уязвимостей, а именно категории — поэтому он используется как структура отчётности и методологическая ссылка в договорах и системах соответствия.

Покрывает ли проверка «по OWASP Top 10» всё?

Нет, и это важно знать до подписания. Список покрывает самые частые категории, но не включает дефекты вашей бизнес-логики — повторяемый возврат средств или отсутствующий лимит не попадают ни в одну категорию. Хорошая проверка использует Top 10 как минимальную структуру и добавляет функциональную проверку потоков, которые двигают деньги или раскрывают данные.

Какая категория чаще всего встречается в реальных проверках?

Нарушение контроля доступа (A01) и ошибки конфигурации (A05). Первое — потому что авторизацию нужно проверять на каждом действии, а приложения растут быстрее своих правил; второе — потому что инфраструктура часто меняется, и каждое изменение что-то оставляет: открытый сервис, учётку по умолчанию, слишком широкие права в облаке. Обе относительно дёшево исправляются после обнаружения.

Как часто обновляется список?

Раз в несколько лет, по данным из реальных приложений и опросу сообщества. Редакция 2021 года принесла заметные изменения — появление категорий небезопасного дизайна и целостности ПО, перенос межсайтового скриптинга в инъекции и вход SSRF в Top 10. Указывая методологию в договоре, называйте редакцию, чтобы не было двусмысленности при аудите.

Есть ли аналогичный список для мобильных приложений и API?

Да. OWASP публикует отдельные списки для мобильных приложений и для безопасности API, а также более подробные руководства по проверке, например стандарт ASVS для веб-приложений. Для продукта с мобильным приложением и публичным API полная проверка использует все три — списки пересекаются лишь частично, а API часто наименее проверенная часть.

Связанные руководства

  • Сколько стоит пентест — что определяет цену, как оценивается трудоёмкость и что делает предложения сопоставимыми.
  • DORA и TLPT — цифровая операционная устойчивость в финансах и тестирование на основе угроз.
  • ISO 27001 и SOC 2 — какие меры требуют технической проверки и какие доказательства принимает аудитор.
  • Закон 48/2023 (Молдова) — национальная система кибербезопасности: на кого распространяется и какие обязанности вводит.
  • PCI DSS 4.0 — требования 11.3 и 11.4, проверка сегментации и что это значит для платёжных провайдеров.
  • Пентест против сканирования уязвимостей — что находит каждый, что упускает и что аудиторы принимают как доказательство.
  • Как подготовиться к пентесту — охват, доступы, правила взаимодействия и всё, что решается до первого дня.

Материал кратко излагает редакцию OWASP Top 10 2021 года в информационных целях. Список периодически обновляется OWASP; проверяйте действующую редакцию при ссылке в договоре или досье аудита.

Хотите проверить приложение по всем десяти?

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