Application Vulnerability Manager

Application Vulnerability Manager #

Компонент Application Vulnerability Manager (AVM) — анализ защищённости веб-приложений.

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

Преимущества #

  • Работа с современными веб-приложениями, включая одностраничные.
  • Эффективный анализ компонентного состава и обнаружение точек ввода данных.
  • Обнаружение сложных классов недостатков, таких как DOM-based XSS и Prototype Pollution.
  • Масштабируемые конфигурации и гибкое регулирование нагрузки.
  • Управление через веб-интерфейс, CLI и API, интеграция в конвейер разработки.
  • Интеграция с SolidWall WAF и другими инструментами для повышения эффективности защиты.

Основные функции #

  • Сканирование веб-приложений и компонентов:

    • Выявление точек ввода данных (Data Entry Points, DEP) и обнаружение потенциальных уязвимостей.
    • Использование интеллектуальных алгоритмов для повышения вероятности обнаружения скрытых недостатков и снижения количества ложных срабатываний.
  • Динамический анализ безопасности приложений (DAST):

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

Этапы сканирования #

Сканирование выполняется в два прохода: сначала определяются точки ввода данных (Data Entry Points, DEP), затем в найденных точках выполняется поиск уязвимостей.

Для выявления точек ввода применяются:

  • статический краулер;
  • динамический краулер;
  • перебор директорий (Dirbuster);
  • импорт OpenAPI-спецификации;
  • FAST — импорт WAF HAR;
  • статико-динамический анализ JavaScript.

Статико-динамический анализ JavaScript применяет статические методы анализа к клиентскому JS-коду. Это позволяет находить точки ввода в современных приложениях, включая одностраничные (SPA), где обычный краулинг даёт сбой, — и делать это даже для неавторизованной сессии, если JS-код загружен.

Для API применяется механизм импорта OpenAPI-спецификации.

Для мобильных приложений применим FAST.

Применяемые методы выявления уязвимостей #

Метод Содержание
Переборные проверки Перебор паролей, перебор директорий
Сигнатурные Пассивный и активный сигнатурный анализ
Фаззеры SQLi, NoSQLi, XXE, Path Injection, Shell Injection, HTTP Smuggling, File Upload, Prototype Pollution, Reflected XSS, DOM Based XSS, SSTI, Insecure Deserialization

Что необходимо определить для сканирования #

Перечисленные ниже параметры требуется согласовать и задать до запуска — от них зависит полнота и корректность результатов.

Параметр Что определяет Пример
URL Границы обследования — адрес веб-приложения b2c.example.com
Лимит нагрузки Предельная интенсивность обращений на приложение 1000 RPS либо «ограничений нет»
Окно сканирования Интервал времени, в который разрешено сканирование 20:00 – 10:00 либо «ограничений нет»
OpenAPI-спецификация Описание API для целевого сканирования методов файл спецификации
Аутентификация Учётные данные и время жизни сессии, если сканирование выполняется с авторизацией логин/пароль
Исключения Методы API, которые не должны затрагиваться сканированием —

Ключевые функциональные возможности #

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

Сценарии использования #

Сценарий Минимизируемые риски
🔐 Анализ защищённости браузерных веб-приложений, включая статико-динамический анализ JavaScript-кода Уязвимости в JavaScript-коде, включая XSS, утечки данных через клиентскую сторону, небезопасное обращение к API.
📱 Анализ защищённости мобильных приложений и веб-сервисов Уязвимости в мобильных приложениях могут привести к компрометации пользовательских данных, обходу авторизации или внедрению вредоносного кода.
🔑 Проверка уязвимостей, связанных с авторизацией Обход механизмов аутентификации и авторизации, атаки на сессии и возможность перебора паролей (брутфорс).
⚠️ Проверка безопасности приложений в продуктивной эксплуатации Не выявленные на этапе разработки уязвимости могут быть использованы злоумышленниками в реальной эксплуатации.
📑 Инвентаризация компонентного состава веб-приложений, сканирование API-спецификаций (Swagger, Postman) Использование устаревших библиотек и компонентов с известными уязвимостями (CVE), недостаточная защита API-интерфейсов.
🛡️ Сканирование веб-приложений по категориям OWASP Top 10 Распространённые веб-уязвимости, такие как SQL-инъекции, XSS, XXE, небезопасные SSL/TLS-конфигурации, недостатки авторизации и десериализации, могут привести к утечке данных или компрометации системы.

Этапы работы #