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-конфигурации, недостатки авторизации и десериализации, могут привести к утечке данных или компрометации системы. |