Уязвимости веб-приложений — главный вектор атак на любой бизнес, работающий в интернете. По данным ежегодных отчётов российских аналитических центров Positive Technologies и Solar 4RAYS, подавляющее большинство исследованных веб-приложений содержат хотя бы одну критичную уязвимость, а в значительной части случаев эксперты успешно получают доступ к данным или функциям системы. Для российских организаций, подпадающих под приказы ФСТЭК №117, №21 и №239, контроль безопасности веб-приложений — не опция, а обязанность. В этой обзорной статье — базовое понимание того, что такое уязвимости веб-приложений, как их классифицируют три основные системы (OWASP, CWE и БДУ ФСТЭК) и как SGRC-платформа КиберОснова связывает эти данные с реестром активов и автоматизирует работу.
TL;DR: Три главные системы классификации уязвимостей веб-приложений: OWASP Top 10 (категории рисков), CWE (типы программных ошибок, MITRE) и БДУ ФСТЭК (юридически значимый российский реестр). Методы поиска: SAST (статический анализ), DAST (динамический), SCA (анализ компонентов), ScanOVAL для ФСТЭК-compliance. Приказы ФСТЭК №117, №21 и №239 обязывают выполнять анализ уязвимостей веб-приложений для ГИС, ИСПДн и значимых объектов КИИ.
Материал рассчитан на тех, кто только погружается в тему безопасности веб-приложений: руководителей ИТ, владельцев веб-сервисов, начинающих специалистов ИБ и разработчиков. Глубокие технические разборы отдельных классов уязвимостей вынесены в специализированные статьи — на них даны ссылки. Если вы уже знакомы с OWASP Top 10 и ищете подробный разбор с примерами кода, сразу переходите в пилларную статью OWASP Top 10 на русском. Если нужна работа с конкретными уязвимостями в формате реестра — используйте реестр БДУ ФСТЭК.
Что такое уязвимость веб-приложения
Уязвимость веб-приложения — это ошибка в коде, конфигурации или архитектуре сайта либо веб-сервиса, которую злоумышленник может использовать для несанкционированных действий. Уязвимости отличаются от багов: обычный баг ломает функциональность для всех пользователей, уязвимость открывает атакующему возможность нарушить конфиденциальность, целостность или доступность данных.
Где возникают уязвимости
Уязвимости веб-приложений в коде появляются на всех уровнях технологического стека:
- Фронтенд — неэкранированный вывод пользовательских данных в HTML, небезопасные вызовы innerHTML, утечка токенов через localStorage.
- Бэкенд — конкатенация SQL-запросов, использование
evalилиsystem, десериализация недоверенных данных, неправильная проверка прав доступа. - База данных — избыточные привилегии учётных записей, отсутствие шифрования, хранение паролей в plain text.
- Инфраструктура — устаревшие версии веб-серверов, открытые порты, отсутствие HTTPS, неправильные HTTP-заголовки (CORS, CSP).
- Зависимости — использование npm-, pip- или Maven-библиотек с известными уязвимостями из БДУ ФСТЭК и CVE.
Почему уязвимости веб-приложений критичны для бизнеса
Веб-приложения — самая доступная часть инфраструктуры: они работают через браузер из любой точки мира. Это делает их приоритетной целью атак. Последствия успешной эксплуатации уязвимости веб-приложения — кража персональных данных клиентов, подмена контента, вывод сервиса из строя, шифрование данных с требованием выкупа. Для организаций, подпадающих под 152-ФЗ и приказ ФСТЭК №117, утечка персональных данных грозит оборотными штрафами до 3% выручки по закону 420-ФЗ.
Отдельный класс рисков — ответственность перед регулятором. ФСТЭК через группу мер АНЗ (анализ уязвимостей) требует непрерывного мониторинга записей БДУ ФСТЭК и их устранения в установленные сроки. Несоблюдение этих требований фиксируется при проверках и становится основанием для предписаний.
Три системы классификации уязвимостей веб-приложений
Чтобы систематизировать работу с уязвимостями, международное и российское сообщество использует три дополняющих друг друга классификации: OWASP Top 10, CWE (MITRE) и БДУ ФСТЭК. Каждая отвечает на свой вопрос.
OWASP Top 10 — международный рейтинг рисков
OWASP (Open Worldwide Application Security Project) — международная некоммерческая организация, которая с 2003 года публикует рейтинг десяти самых критичных классов уязвимостей веб-приложений. Актуальная версия — OWASP Top 10 2021. Рейтинг составлен на основе анализа более 500 000 приложений и данных о сотнях тысяч реальных инцидентов.
OWASP Top 10 отвечает на вопрос «какие классы рисков самые опасные прямо сейчас». Это не исчерпывающий список, а приоритизированный перечень: если организация закрывает все 10 категорий, она снимает 80–90% поверхности атаки на прикладном уровне. OWASP бесплатен, распространяется под открытой лицензией и признан стандартом де-факто во всех странах, включая Россию. Подробный разбор каждой из 10 категорий с примерами кода, CWE-маппингом и мерами ФСТЭК доступен в пилларной статье OWASP Top 10 на русском.
Помимо основного Top 10, OWASP публикует специализированные рейтинги: OWASP API Security Top 10 (для REST и GraphQL API), OWASP Top 10 for LLM Applications (для приложений на основе языковых моделей), OWASP Mobile Top 10. Для большинства задач по безопасности веб-приложений достаточно основного OWASP Top 10.
CWE — каталог типов уязвимостей от MITRE
CWE (Common Weakness Enumeration) — каталог программных уязвимостей, который ведёт MITRE Corporation при поддержке CISA (США). В CWE более 900 записей, каждая — это стандартизированный тип ошибки с уникальным идентификатором вида CWE-89 (SQL-инъекция), CWE-79 (XSS), CWE-287 (нарушение аутентификации), CWE-862 (отсутствие авторизации).
CWE отвечает на вопрос «какие именно бывают уязвимости в коде». Если OWASP Top 10 — это десять обобщённых категорий, то CWE — детализированная таксономия из сотен конкретных паттернов. Одна категория OWASP обычно включает десятки CWE: например, A03 (Injection) покрывает CWE-89, CWE-79, CWE-78, CWE-94, CWE-90, CWE-643 и другие.
Значение CWE для российских организаций особое: именно CWE-идентификаторы используются в БДУ ФСТЭК для классификации каждой записи. Это делает CWE мостом между международной практикой и российским регулированием. Полный каталог CWE с описаниями на русском и привязкой к БДУ доступен на странице CWE в КиберОснова.
БДУ ФСТЭК — российский государственный реестр
БДУ ФСТЭК (Банк данных угроз безопасности информации) — официальный российский реестр уязвимостей, который ведёт Федеральная служба по техническому и экспортному контролю России с 2015 года. На апрель 2026 года реестр содержит более 85 000 записей: каждая уязвимость описывает конкретную проблему в конкретном продукте с привязкой к CWE-идентификатору, CVSS-оценке, описанию на русском и рекомендациями по устранению.
БДУ ФСТЭК отвечает на вопрос «какие уязвимости зафиксированы в используемом мной ПО». Это тот уровень, на котором работает специалист ИБ в своей повседневной практике: он получает уведомления о новых записях, сопоставляет их с реестром активов организации и запускает процесс устранения.
В отличие от OWASP и CWE, БДУ ФСТЭК имеет юридический статус: её данные являются обязательными к учёту при аудите государственных информационных систем (ГИС), информационных систем персональных данных (ИСПДн) и значимых объектов КИИ. Бесплатный онлайн-реестр БДУ ФСТЭК с фильтрацией по CWE, CVSS и ПО доступен на странице реестра БДУ в КиберОснова.
Как три системы работают вместе
На практике три классификации используются одновременно. Аудитор ИБ сначала смотрит OWASP Top 10 — чтобы понять, какие категории рисков закрыты в приложении. Затем проверяет покрытие конкретных CWE — чтобы оценить качество реализации защитных мер. И наконец, сверяет список установленного ПО с реестром БДУ ФСТЭК — чтобы найти известные уязвимости, уже задокументированные регулятором. Один инцидент — например, эксплуатация SQL-инъекции в CMS — одновременно относится к OWASP A03 (Injection), CWE-89 (SQL Injection) и конкретной записи в БДУ ФСТЭК типа BDU:2024-XXXXX.
Основные виды уязвимостей веб-приложений: топ-10
Ниже — базовый обзор десяти самых распространённых категорий уязвимостей веб-приложений по версии OWASP Top 10 2021. Каждый пункт дан коротко — для глубокого разбора с примерами кода и мерами защиты переходите в специализированные статьи.
1. Injection — инъекции (SQL, Command, LDAP)
Атакующий внедряет вредоносный код в поля ввода, который интерпретируется движком — базой данных, ОС, LDAP-сервером. Самые распространённые подтипы: SQL-инъекции (CWE-89), OS Command Injection (CWE-78), LDAP Injection (CWE-90), NoSQL Injection. В БДУ ФСТЭК — более 7 000 записей по CWE-89, что делает его одним из самых массовых типов уязвимостей веб-приложений в коде. Глубокий разбор с защитными техниками — в статье Защита от SQL-инъекций CWE-89.
2. Broken Access Control — нарушение контроля доступа (CWE-862, CWE-285)
Пользователь может получить доступ к данным или функциям, не предназначенным для его роли: просматривать чужие записи через подмену идентификатора в URL, эскалировать привилегии до администратора, обходить проверки на фронтенде. На первом месте OWASP Top 10 2021 — встречается в 94% приложений. Меры защиты: проверка авторизации на сервере на каждом запросе, принцип минимальных привилегий, DENY BY DEFAULT, контроль доступа по ролям (RBAC) или атрибутам (ABAC).
3. Cryptographic Failures — криптографические ошибки (CWE-327, CWE-331)
Слабая криптография или её отсутствие: передача паролей и токенов по HTTP, использование устаревших алгоритмов (MD5, SHA-1, DES), хранение паролей без хеширования или с неподходящими алгоритмами, утечка ПДн через логи. Для российских организаций дополнительно требуется использование сертифицированных СКЗИ (КриптоПро, ViPNet) в системах, обрабатывающих ПДн и государственную тайну.
4. Insecure Design — небезопасная архитектура
Уязвимости, заложенные на уровне проектирования, а не кода. Например, восстановление пароля через секретный вопрос без ограничения попыток, платёжная логика без идемпотентности, отсутствие лимитов на регистрацию. Защита — Threat Modeling на раннем этапе, Security Design Review, эшелонированные проверки бизнес-логики.
5. Security Misconfiguration — ошибки конфигурации (CWE-16)
Открытые порты администрирования, дефолтные учётные записи, расширенные сообщения об ошибках с трассировкой стека, отсутствие HTTP-заголовков безопасности (CSP, HSTS, X-Frame-Options), открытые CORS-политики, незакрытые debug-режимы. По статистике OWASP, встречается в 90% приложений.
6. Vulnerable and Outdated Components — уязвимые компоненты (CWE-1104, CWE-937)
Использование npm-, pip-, Maven-, NuGet-библиотек, в которых уже опубликованы уязвимости в CVE и БДУ ФСТЭК. Типичный пример: устаревшая версия log4j (Log4Shell, 2021), за которой последовали тысячи эксплуатаций по всему миру. Защита — инструменты SCA (Software Composition Analysis): OWASP Dependency-Check, Snyk, для российских организаций — ScanOVAL ФСТЭК.
7. Identification and Authentication Failures — ошибки аутентификации (CWE-287)
Слабые пароли без политики сложности, отсутствие защиты от brute force, небезопасное восстановление пароля, хранение сессионных токенов в JWT без верификации подписи, отсутствие 2FA для администраторов. В БДУ ФСТЭК — тысячи записей по CWE-287 и CWE-307 (недостаточная защита от перебора).
8. Software and Data Integrity Failures — нарушение целостности (CWE-502)
Десериализация недоверенных данных, автоматическое обновление ПО без проверки подписи, использование CI/CD без защиты pipeline. Классический пример — атака SolarWinds 2020 года: подмена обновлений в сборочной инфраструктуре поставщика.
9. Security Logging and Monitoring Failures (CWE-778)
Отсутствие логирования подозрительных событий, невозможность провести расследование инцидента post-factum, отсутствие SIEM-интеграции. ФСТЭК требует реализации группы мер РСБ (регистрация событий безопасности). На практике это означает централизованный сбор логов, их хранение не менее года и мониторинг в реальном времени.
10. Server-Side Request Forgery (SSRF, CWE-918)
Приложение принимает от пользователя URL и делает запрос от своего имени — атакующий получает доступ к внутренним сервисам и облачным метаданным. Массовый пример — атака Capital One 2019 года: через SSRF в AWS украдены данные 100 миллионов клиентов.
Для каждого класса в БДУ ФСТЭК зафиксированы тысячи записей. Глубокий разбор с CWE-маппингом, примерами кода и мерами защиты по приказам ФСТЭК доступен в пилларной статье OWASP Top 10 на русском, где каждая категория рассмотрена отдельно. Отдельно — защита от XSS (CWE-79) как частный случай инъекций в клиентский код.
Нужен централизованный учёт уязвимостей веб-приложений? КиберОснова SGRC ведёт реестр всех уязвимостей с привязкой к ИТ-активам, автоматически рассчитывает SLA по приказу ФСТЭК №117 и сопоставляет каждую запись с категориями OWASP Top 10 и типами CWE. Запросить демо →
Методы поиска уязвимостей веб-приложений
Анализ уязвимостей веб-приложений строится на пяти методах, которые дополняют друг друга. Ни один не заменяет остальные — вместе они формируют «эшелонированную» систему обнаружения.
SAST — статический анализ кода
SAST (Static Application Security Testing) анализирует исходный код без запуска приложения. Инструменты ищут в коде опасные конструкции: конкатенацию SQL-запросов, использование eval, незащищённый вывод в HTML, захардкоженные пароли и ключи. SAST работает ещё на этапе разработки и интегрируется в CI/CD.
Популярные инструменты: PT Application Inspector (российский, сертифицирован ФСТЭК), SonarQube, Checkmarx, Svace (Институт системного программирования РАН), Semgrep. Плюсы: находит уязвимости до продакшена. Минусы: много ложных срабатываний, не видит runtime-ошибок и проблем конфигурации.
DAST — динамический анализ
DAST (Dynamic Application Security Testing) тестирует работающее приложение «снаружи», как обычный атакующий: отправляет запросы, анализирует ответы, пробует известные паттерны эксплуатации. Находит то, что невидимо в коде: ошибки конфигурации, проблемы runtime, SSL/TLS-уязвимости.
Популярные инструменты: OWASP ZAP (бесплатный), Burp Suite, Acunetix, PT BlackBox, MaxPatrol WASS. Плюсы: тестирует реальное поведение, не зависит от языка разработки. Минусы: не видит кода, может пропустить уязвимости с нестандартным триггером, даёт нагрузку на тестируемое приложение.
SCA — анализ состава
SCA (Software Composition Analysis) проверяет зависимости проекта — npm-, pip-, Maven-, NuGet-пакеты — на известные уязвимости в CVE и БДУ ФСТЭК. Современные веб-приложения состоят на 80–90% из сторонних библиотек, и устаревшие версии — один из самых массовых источников проблем.
Популярные инструменты: OWASP Dependency-Check (бесплатный), Snyk, Dependabot (GitHub), Mend. Для российских организаций — ScanOVAL ФСТЭК. SCA встраивается в CI/CD и блокирует сборки с критическими уязвимостями.
Pentest — ручное тестирование
Pentest (penetration testing) — ручной аудит приложения экспертом или командой. Пентестер использует комбинацию автоматических инструментов и ручных техник, чтобы найти уязвимости, которые пропускают сканеры: логические ошибки, сложные цепочки эксплуатации, race conditions. Результат — отчёт с детальным описанием находок и рекомендациями.
По приказу ФСТЭК №239 тестирование на проникновение обязательно для значимых объектов КИИ не реже одного раза в год. Для ГИС и ИСПДн — рекомендовано, но не всегда обязательно.
ScanOVAL ФСТЭК
ScanOVAL — бесплатный сканер уязвимостей от ФСТЭК, который проверяет установленное на компьютерах ПО на соответствие записям БДУ ФСТЭК. Это обязательный инструмент для организаций, подпадающих под приказы №21, №17, №239. Подробный обзор инструмента — в статье ScanOVAL ФСТЭК.
Модель оценки уязвимостей веб-приложений в большинстве организаций строится как комбинация: SAST и SCA в CI/CD, DAST на staging-окружении еженедельно, Pentest ежегодно, ScanOVAL — для инфраструктуры. Результаты всех источников сводятся в SGRC-платформу, которая приоритизирует находки по CVSS и SLA из приказа №117.
Уязвимости веб-приложений в российском регулировании
Российское регулирование не ссылается на OWASP Top 10 напрямую, но три ключевых приказа ФСТЭК фактически требуют реализации мер, покрывающих те же риски.
Приказ ФСТЭК №117 — новый стандарт для ГИС
Приказ №117, вступивший в силу 1 марта 2026 года, заменил приказ №17 и ужесточил требования к защите государственных информационных систем. Ключевые нормы в части веб-приложений:
- Мониторинг БДУ ФСТЭК — ежедневная сверка новых записей с используемым ПО.
- SLA на устранение — критические уязвимости (CVSS 9.0+) за 24 часа, высокие — за 7 дней, средние — за 30 дней.
- Группы мер — АНЗ (анализ уязвимостей), ЗИС (защита информационной системы), ОЦЛ (обеспечение целостности), УПД (управление доступом).
Приказ ФСТЭК №21 — для ИСПДн
Приказ №21 регулирует защиту информационных систем персональных данных (ИСПДн). В части веб-приложений применяются те же группы мер, что и в №117, но с учётом уровня защищённости (УЗ-1, УЗ-2, УЗ-3, УЗ-4), определённого по постановлению правительства №1119. Для веб-интерфейсов ИСПДн обязательна защита от OWASP A01, A02, A03, A05, A07 на уровне УЗ-1 и УЗ-2.
Приказ ФСТЭК №239 — для значимых объектов КИИ
Приказ №239 регулирует защиту значимых объектов критической информационной инфраструктуры. Помимо мер из №117, для КИИ обязательно: тестирование на проникновение не реже одного раза в год, непрерывный мониторинг событий безопасности, уведомление НКЦКИ об инцидентах в течение 3 часов.
Таблица соответствий: OWASP ↔ CWE ↔ ФСТЭК ↔ КиберОснова
| OWASP 2021 | Ключевые CWE | Группа мер ФСТЭК | Модуль КиберОснова |
|---|---|---|---|
| A01: Broken Access Control | CWE-862, CWE-285, CWE-287 | УПД (управление доступом) | Риски, Активы |
| A02: Cryptographic Failures | CWE-327, CWE-331, CWE-798 | ЗИС, ЗНИ | Учёт СКЗИ |
| A03: Injection | CWE-89, CWE-79, CWE-78 | ОЦЛ, ЗИС, АНЗ | БДУ ФСТЭК |
| A04: Insecure Design | CWE-209, CWE-256, CWE-501 | ПЛН (планирование) | Риски |
| A05: Security Misconfiguration | CWE-16, CWE-611 | ОПС (обеспечение ПО) | Инвентаризация |
| A06: Vulnerable Components | CWE-1104, CWE-937 | АНЗ (анализ уязвимостей) | БДУ ФСТЭК + ScanOVAL |
| A07: Auth Failures | CWE-287, CWE-307, CWE-522 | ИАФ (идентификация) | Активы |
| A08: Integrity Failures | CWE-502, CWE-494 | ОЦЛ (целостность) | БДУ ФСТЭК |
| A09: Logging Failures | CWE-778, CWE-117 | РСБ (события безопасности) | Задачи ИБ |
| A10: SSRF | CWE-918 | ЗИС (защита ИС) | БДУ ФСТЭК |
Таблица показывает, что покрытие OWASP Top 10 в коде автоматически означает выполнение значительной части требований ФСТЭК на прикладном уровне. Обратная связь тоже верна: если в SGRC-платформе закрыты все меры АНЗ, ЗИС, ОЦЛ и УПД, то все 10 категорий OWASP охвачены.
Как КиберОснова автоматизирует работу с уязвимостями веб-приложений
SGRC-платформа КиберОснова связывает три системы классификации — OWASP, CWE и БДУ ФСТЭК — в единый процесс управления уязвимостями. Вместо разрозненных таблиц Excel и ручного мониторинга сайтов ФСТЭК специалист ИБ получает единое рабочее место.
Ежедневная синхронизация с БДУ ФСТЭК автоматически подтягивает новые записи с CWE-классификацией, которая маппится на категории OWASP Top 10. Платформа сопоставляет каждую запись с реестром ИТ-активов: если на сервере установлена уязвимая версия Nginx, PHP или Bitrix, система автоматически создаёт задачу с CVSS-оценкой, рассчитывает SLA по приказу №117 и назначает ответственного.
Интеграции с SAST-, DAST- и SCA-сканерами позволяют собирать все находки в одном backlog. Модуль задач ИБ отслеживает сроки устранения и уведомляет о нарушении SLA. Модуль отчётности формирует документы для руководства, аудиторов и регулятора — в формате, соответствующем требованиям ФСТЭК.
Для организаций, только начинающих выстраивать процесс управления уязвимостями, КиберОснова предлагает готовый сценарий: реестр активов, подключение БДУ ФСТЭК, маппинг мер защиты из приказов №117, №21 и №239, набор шаблонов ОРД. Это ускоряет запуск в несколько раз по сравнению с самостоятельной настройкой.
Следующие шаги
- Если вы только погружаетесь в тему — перейдите в пилларную статью OWASP Top 10 на русском, где каждая из 10 категорий разобрана с примерами кода и мерами защиты.
- Если нужны конкретные уязвимости в используемом ПО — откройте реестр БДУ ФСТЭК и найдите записи по CWE, CVSS или названию продукта.
- Если требуется глубокий разбор отдельного класса — читайте специализированные статьи: защита от SQL-инъекций CWE-89 и защита от XSS CWE-79.
- Если нужен бесплатный инструмент для инвентаризации ПО — используйте ScanOVAL ФСТЭК.
- Если нужна автоматизация полного цикла — запишитесь на демонстрацию КиберОснова SGRC.
Безопасность веб-приложений — не разовый проект, а непрерывный процесс. OWASP Top 10 даёт приоритеты, CWE — детализированный словарь типов уязвимостей, БДУ ФСТЭК — реестр конкретных уязвимостей с юридическим статусом. Комбинация всех трёх систем, усиленная инструментами SAST, DAST, SCA и процессами SGRC, закрывает большинство рисков и закрывает требования приказов ФСТЭК №117, №21 и №239.