Сертификат AM Test Lab
Номер сертификата: 361
Дата выдачи: 28.11.2021
Срок действия: 28.11.2026
- Введение
- Функциональные возможности и архитектура Acunetix Premium
- 2.1. Технология SmartScan
- 2.2. Технология DeepScan
- 2.3. Технология AcuMonitor
- 2.4. Технология AcuSensor
- 2.5. Обнаружение вредоносного кода
- 2.6. Инкрементальное сканирование
- 2.7. Прочие полезные функции и особенности Acunetix
- 2.7.1. Подтверждение уязвимостей
- 2.7.2. Сканирование сети
- 2.7.3. Быстрый старт и результат
- 2.7.4. Модуль true-IAST
- 2.7.5. Интеграция с менеджерами задач
- 2.8. Дополнительные возможности старшей версии Acunetix 360
- Системные требования Acunetix Premium
- Сценарии использования Acunetix Premium
- Выводы
Введение
Современные веб-приложения (сайты, порталы услуг, интернет-магазины, сервисы, агрегаторы, социальные сети и т. д.) от версии к версии наращивают функциональные возможности, оптимизируются и делают нашу жизнь удобнее как в деловой рутине, так и в развлечениях. Это приводит к естественному усложнению кода, изобретению новых методов, подходов и общему переплетению различных информационных технологий.
В настоящее время программные веб-продукты состоят изо множества слоёв: клиентская часть может работать на JavaScript и усложняться фреймворками React, Vue, Angular, серверная — на Java, PHP, Ruby, здесь же появляется слой интерпретатора языка. Веб-сервером может выступать Apache или NGINX. Операционная система (Windows, Linux) устанавливается на виртуальную или физическую машину. При этом эксперты ИТ-отрасли отмечают ускорение цифровизации жизни и общий рост уровня входа в ИТ, что приводит к нехватке специалистов во всём мире, ухудшению качества кода и безопасности приложений, увеличению числа атак злоумышленников.
Приложения уязвимы по самым разным причинам: усталость и невнимательность программистов, ошибки, опечатки в коде, использование устаревших библиотек и технологий. Дополняют проблему недостаточные знания разработчиков в области ИБ, отсутствие инвентаризации приложений, контроля версий продуктов и в целом общей картины защищённости постоянно усложняющихся веб-продуктов, что повышает риски успешной атаки преступников. Увеличивается нагрузка и на специалистов по ИБ, которым приходится разбираться «со всем и во всём», что приводит к увеличению штата компании, дополнительным расходам бюджета, потребности в аутсорсинге и т. д.
Успешная атака на веб-приложение может нести самые неприятные последствия для компании: вывод из строя самого приложения, ИТ-инфраструктуры и целого бизнеса, кража и уничтожение данных, фишинговые рассылки по клиентам. При этом мотивацией атакующего может выступить банальный «спортивный интерес», из-за широкого распространения бесплатных инструментов для атаки. Если же мы имеем дело с APT-атакой, то уязвимость в веб-приложении может быть входной точкой для злоумышленников.
Рисунок 1. Сценарий атаки с использованием уязвимости в веб-приложении
Проведения только SAST (Static Application Security Testing, статической проверки защищённости) недостаточно: SAST инспектирует «сырой» код приложения и выявляет небезопасные инструкции при работе с памятью, различные распространённые ошибки программистов, что не учитывает бизнес-логику, настройку, особенности взаимодействия слоёв веб-приложения между собой и специфику работы с реальными данными. С обзором рынка средств статического тестирования защищённости приложений можно ознакомиться здесь.
Качественный с точки зрения SAST код может оказаться уязвимым после сборки и запуска приложения.
В настоящее время на рынке помимо SAST представлены ещё несколько подходов к тестированию программных веб-продуктов на безопасность. Это — DAST (Dynamic Application Security Testing, динамический анализ безопасности), IAST (Interactive Application Security Testing, интерактивная проверка) и MAST (Mobile Application Security Testing, тестирование безопасности мобильных приложений). Рынок DAST мы также изучали, предлагаем ознакомиться с соответствующим обзором по ссылке.
IAST- и DAST-средства работают не с «сырым» кодом, а с собранным приложением, которое запущено на сервере, полноценно взаимодействует с ОС, базой данных и т. д. Это позволяет выявить уязвимости, которые имеют потенциал практической эксплуатации. Бреши, которые обнаруживают DAST и IAST, могут быть следствием ошибок в коде, который не был проинспектирован SAST, но это совершенно необязательно: ошибки могут скрываться в особенностях работы с базой данных, быть связаны с форматированием при выводе на экран пользователю, настройками прав веб-сервера и т. д.
Компания Acunetix первой внедрила IAST, который работает в паре с DAST в продукте Acunetix Premium с 2008 года. Acunetix Premium — гибкая платформа, которая функционирует по принципу «одной кнопки», экономит время и ресурсы. Ключевая цель Acunetix Premium — максимальная автоматизация рутинных процессов проверки веб-приложения на уязвимости с контролем устранения последних.
В обзоре подробно рассмотрим возможности и практическую работу Acunetix Premium V14, а также представим старшую версию продукта — Acunetix 360, которая заинтересует компании со зрелыми процессами CI / CD (Continuous Integration / Continuous Deployment, непрерывная интеграция и непрерывное развёртывание программного продукта).
Функциональные возможности и архитектура Acunetix Premium
Общую суть работы Acunetix Premium можно описать в виде последовательности из нескольких шагов.
- Обнаружение веб-приложений: сразу после установки платформа обратится к DNS-серверам и найдёт все домены, которые как-либо связаны с именем компании, её основным доменом и IP-адресами. Список будет представлен с удобными инструментами для фильтрации, а также кнопкой для отправки найденных доменов в очередь на сканирование.
- Составление карты веб-приложений: аналогично тому, как поисковые роботы исследуют веб-сайты, Acunetix найдёт все страницы, ссылки, формы, подключённые сценарии и статические файлы, а в случае использования JavaScript-фреймворка проанализирует ViewState, открыв веб-приложение в виртуальном веб-браузере и нажимая по активным элементам виртуальной мышью. В случае если приложение представляет собой WEB-API, узнать список методов и параметров поможет подготовленная документация / схема такого API в любом подходящем формате: от SWAGGER и WSDL до обычного CSV.
- Каждый из собранных адресов (если в настройках не указано иное) будет просканирован на наличие известных уязвимостей: будут проверены параметры, файлы cookie, технические заголовки, отправка форм. Файлы внутри приложения также скачиваются и сканируются антивирусом ClamAV или Microsoft Defender, в зависимости от используемой операционной системы, чтобы убедиться, что веб-приложение не было уже заражено к моменту сканирования.
- Подготовка отчёта с рекомендациями для разработчиков и специалистов по ИБ. Отчет доступен в PDF, HTML, а также в виде задач, отсортированных по степени важности. Риск ложного срабатывания крайне низок — каждая уязвимость из отчёта безопасно проверяется на эксплуатируемость, чтобы не приходилось тратить время специалистов на проверку отчёта и можно было сразу отдать результаты в работу.
- Чтобы защитить веб-приложение на время, пока разработчики исправляют найденные уязвимости — со всеми тестами перед публикацией это может занять до нескольких недель, — Acunetix Premium предоставит отчёт в виде правил для WAF (AWS, ModSecurity, Citrix, F5 BIG-IP ASM, FortiWeb, Imperva SecureSphere и т. д.).
Acunetix проводит сканирование:
- Фронтенда (пользовательского интерфейса), т. е. видимой пользователю части веб-приложения — того, что открывается в браузере (сайты, блоги, интернет-магазины, поисковые системы, онлайн-банки, развлекательные порталы и т. д.).
- Бэкенда (серверной части), т. е. запросов, которые отправляются на сервер веб-приложения как из браузера, так и из мобильного приложения (мобильный банк, социальные сети, службы доставки, услуги такси и т. д.).
- Приложений представленных в виде программных веб-интерфейсов (WEB-API): новостные агрегаторы, сервисы прогноза погоды, службы оповещения, счётчики и аналитические механизмы, средства интеграции с CRM, ERP и т. д.
Рассмотрим применяемые технологии и наиболее интересные особенности Acunetix Premium и старшей версии Acunetix 360.
Технология SmartScan
Современные веб-приложения могут состоять из огромного числа страниц. Например, полное сканирование ресурса онлайн-банка или телеком-оператора с тестированием каждого параметра и заголовка может занимать более 14 дней.
Acunetix первым делом проводит сканирование уникальных страниц для вывода максимального числа уязвимостей: за 20 % времени сканирования обнаруживается до 80 % проблем. Это позволяет начать работать с результатами не дожидаясь окончания сканирования.
Рисунок 2. Схема работы технологии SmartScan в Acunetix Premium
Технология DeepScan
Acunetix автоматически распознаёт, какая именно технология используется в веб-приложении. В зависимости от фреймворка или языка программирования применяется оптимальный набор техник и методов (около 7000) для поиска уязвимостей.
Acunetix работает и с одностраничными приложениями: меняет состояние страницы, нажимает на кнопки, заполняет формы и имитирует другие действия пользователя, чтобы найти все доступные состояния веб-приложения для возможной последующей атаки.
Отметим некоторые особенности:
- DeepScan основан на ядре Chromium и позволяет исследовать веб-приложения на языках HTML5 и JavaScript эффективнее других сканеров.
- DeepScan автоматически распознаёт популярные фреймворки (Angular, Vue, React) и корректирует стратегию составления карты веб-приложения.
- DeepScan способен автоматически выполнять вход в закрытые части веб-приложения по паролю, ключам, токенам; для этого нужно предоставить подготовленные аккаунты или записать действия пользователя, необходимые для входа в закрытую часть.
Технология AcuMonitor
Позволяет выявлять и подтверждать уязвимости класса XSS, CSRF и т. д., применяя виртуальный браузер. Например, Acunetix имитирует переход на исследуемый ресурс по потенциально опасной ссылке для анализа реакции приложения: удалось ли передать данные на внешний сервер, загрузить и выполнить вредоносный сценарий? Тестируется внушительный набор методов эксплуатации XSS, в том числе с использованием переполнения буфера и загрузки сценариев со внешнего сервера («злой» сервер доступен из облака, включён в подписку), и если XSS-уязвимость действительно проэксплуатировалась успешно, Acunetix помещает её в отчёт.
Рисунок 3. Схема работы технологии AcuMonitor в Acunetix Premium
Технология AcuSensor
Выявляет скрытые уязвимости путём интерактивного сканирования: на бэкенд устанавливается IAST-модуль Acunetix (компонент для PHP, Java, Node.js и ASP.NET), который играет роль контролируемого бэкдора. IAST-модуль поставляет подробные данные о серверной части приложения, а также дополнительную информацию о реакции веб-приложения на внешние запросы от сканера Acunetix. Информация от модуля IAST дополняет отчёт уязвимостями, которые связаны с небезопасными настройками веб-сервера, базы данных и интерпретатора языка, а также помогает подтвердить результаты «слепых» атак: операции с файлами, инъекции кода, SQL-инъекции, RCE и т. д.
Несмотря на то что IAST-модуль защищён аутентификацией по длинному уникальному ключу, а атаки обычно не несут опасности для данных, вендор рекомендует проводить проверку на тестовой или стейдж-среде.
Рисунок 4. Схема работы технологии AcuSensor в Acunetix Premium
Обнаружение вредоносного кода
Acunetix проверяет все внешние ссылки веб-приложения через базы данных Google и Yandex. Если ссылка ведёт на вредоносный ресурс или загружает подозрительный файл, сканер включает это в отчёт. Все файлы, вложения и документы Acunetix проверяет с помощью соответствующих операционной системе антивирусов, о чём мы сказали выше.
Рисунок 5. Обнаружение вредоносного кода в Acunetix Premium
Инкрементальное сканирование
Позволяет экономить до 90 % времени сканирования: в первую очередь платформа проверит те части веб-приложения, которые были недавно изменены либо могут быть подвержены недавно добавленным в базу уязвимостям. Это наиболее полезно для объёмных ресурсов и сервисов, полное сканирование которых занимает сутки и больше.
Максимальный результат принесёт включение Acunetix в процесс CI / CD, чтобы проверка на уязвимости проходила сразу после сборки новой версии веб-приложения.
Рисунок 6. Схема инкрементального сканирования в Acunetix Premium
Прочие полезные функции и особенности Acunetix
Подтверждение уязвимостей
Acunetix подробно описывает, как именно была подтверждена уязвимость в веб-приложении: предоставляются HTTP-запрос и HTTP-ответ сервера, выделяется искомая часть ответа, демонстрируются данные и эффекты, которые удалось получить во время эксплуатации бреши. Карточка уязвимости дополняется оценкой риска и инструкцией по исправлению. Следует иметь в виду, что некоторые особенности могут быть нормальным поведением приложения и не являться уязвимостями. Подробнее мы рассмотрим это в разделе «Сценарии применения».
Сканирование сети
Для обогащения отчёта Acunetix Premium интегрируется со сканером сетевых уязвимостей OpenVAS, что удобно и полезно специалистам по ИБ для формирования более полной картины работы веб-приложения в периметре сети.
Быстрый старт и результат
Одной из основных особенностей Acunetix Premium и Acunetix 360 является то, что специалист может запустить сканирование и начать работать с результатами практически сразу после установки. Нет необходимости в обучении и сложной интеграции на старте. Продукт не требует высокой квалификации специалиста по информационной безопасности, рассчитан на средний уровень с минимальным опытом и общими знаниями ИТ.
Модуль true-IAST
Acunetix true-IAST функционирует только в паре с DAST. IAST анализирует настройки и поведение приложения на стороне сервера, обнаруживает серверные уязвимости и подтверждает результаты «слепых» атак. Корреляция данных, собранных модулями IAST и DAST, происходит автоматически в едином отчёте.
Модуль поставляется в виде серверного компонента для PHP, Java, Node.js и ASP.NET. DAST и true-IAST одинаково доступны в обеих версиях Acunetix.
Рисунок 7. Сравнительная схема работы Passive IAST, Active IAST и True IAST в Acunetix Premium
Отметим, что Acunetix может работать в связке с платформами SAST, RASP (Runtime Application Self-Protection, самозащита приложения в процессе его исполнения) и SCA (Software Composition Analysis, анализ состава веб-приложения), но сам не проводит эти типы сканирования.
Интеграция с менеджерами задач
Acunetix Premium может быть интегрирован в процесс разработки через популярные трекеры задач (Jira, Trello, GitLab и т. д.): в случае обнаружения уязвимости Acunetix ставит задачу разработчику, открывая сервисную заявку (тикет) с подробным описанием проблемы и инструкциями.
После выполнения задачи Acunetix проводит повторное сканирование. Если уязвимость исправлена, тикет закрывается. Если нет, то тикет отправляется на доработку с уведомлением всех ответственных лиц.
Все задачи фиксируются Acunetix и отражаются в виде положительного или отрицательного тренда на графике в обзорной панели мониторинга (дашборде).
Дополнительные возможности старшей версии Acunetix 360
Обе версии Acunetix одинаково эффективны, внешне различаясь только элементами инфографики и интерфейсом.
В Acunetix 360 добавлена двусторонняя интеграция со внешними сервисами: трекинг-системами, средствами управления проектами, CI / CD и т. д. Например, Acunetix 360 может быть интегрирован с Jenkins: управляя конвейером сборки и доставки, Jenkins в зависимости от настроек использует Acunetix в виде готового плагина или пайплайн-скрипта. Если на этапе тестирования Acunetix выявил уязвимости, то публикация веб-приложения может быть автоматически заблокирована (поведение настраивается).
Список поддерживаемых тикет-систем и инструментов автоматизации процессов разработки включает в себя более 30 наименований.
Можно использовать Acunetix как сервис внутри компании и взаимодействовать с платформой посредством скриптов: Bash, PowerShell, Python и т. д.
Acunetix имеет API и встроится в процесс разработки даже в случае использования экзотических инструментов или самописных решений.
Рисунок 8. Схема интеграций с инструментами безопасной разработки в Acunetix Premium и Acunetix 360
Важно подчеркнуть, что Acunetix оптимально внедряется в процесс разработки и подходит компаниям любого уровня зрелости.
Все интеграции доступны как в облачной версии Acunetix (под облачные конвейеры), так и в локальной.
Системные требования Acunetix Premium
Для удобства сравнения приведём минимальную конфигурацию оборудования для обеих версий Acunetix.
Таблица 1. Минимальные системные требования Acunetix Premium
Наименование | Acunetix Premium |
Процессор | 2 ГГц и мощнее |
Оперативная память | 2 ГБ и больше |
Жёсткий диск | 1 ГБ + 20–50 МБ на результаты каждого сканирования |
Операционная система | • Microsoft Windows 8.1, 2012 R2 и новее; • macOS Catalina и Big Sur; • Ubuntu Desktop / Server 18.0.4 LTS и новее; • Suse Linux Enterprise Server 15; • openSUSE Leap 15.0 и 15.1; • Kali Linux 2019.1 и 2020.1; • CentOS 8, CentOS Stream Server, Workstation (требуется отключить SELinux); • RedHat 8 (требуется отключить SELinux). |
Acunetix Premium проводит не более 25 параллельных сканирований за раз в базовой настройке. Потребление ресурсов зависит от объёма сканируемых веб-приложений.
Чтобы производить больше параллельных сканирований, потребуется установить дополнительные ядра Acunetix Scanning Engine — по одному на каждые 25 сканирований. Количество таких ядер, как и проводимых сканирований, лицензией не ограничивается.
Технические требования для Acunetix Scanning Engine — те же, что и для Acunetix Premium.
Таблица 2. Минимальные системные требования компонентов Acunetix 360
Наименование | Агент | Сервер приложений | Сервер БД | Верификатор аутентификации |
Процессор | 1 ядро 2 ГГц и мощнее | 2 ядра по 2 ГГц и мощнее | 2 ГГц и мощнее | 2 ГГц и мощнее |
Оперативная память | 4 ГБ и больше | 8 ГБ и больше | 4 ГБ и больше | 4 ГБ и больше |
Жёсткий диск | 5 ГБ | 20 ГБ | 6 ГБ + 20–50 МБ на каждое сканирование | 5 ГБ и больше |
Операционная система | Windows Server 2016 и новее с .NET Framework 4.7.2 | Windows Server 2016 и новее с ролью IIS и .NET Framework 4.7.2 | Microsoft SQL Server 2012 и новее | Windows Server 2012 R2 (и новее) с .NET Framework 4.7.2 |
Сервер БД возможно установить на машину с сервером приложений Acunetix 360.
Серверная часть продукта включает в себя один агент Acunetix 360. Каждый агент выполняет одно параллельное сканирование. Для большего числа параллельных сканирований требуется установить больше агентов, их количество лицензией не ограничивается.
Верификатор аутентификации Acunetix 360 — служебное приложение, которое нужно для проведения сканирований с авторизацией через формы входа. Если в целевом веб-приложении нет такой функциональности, то этот компонент можно не устанавливать.
Процесс развёртывания платформы Acunetix Premium крайне прост, подробно описан в базе знаний на сайте вендора и занимает несколько минут.
Установка выполняется путём запуска исполняемого файла или Bash-скрипта в командной строке в зависимости от операционной системы. Перед запуском сканирования требуется ввести лицензионный ключ.
Сценарии использования Acunetix Premium
После установки специалист незамедлительно может получить первые результаты сканирования ресурса: конфигурации Acunetix по умолчанию достаточно, чтобы приступить к работе.
Рисунок 9. Вид раздела «Dashboard» в Acunetix Premium
В общей панели Acunetix Premium обзорно отражены все результаты сканирований с применением интерактивной инфографики. Можно быстро перейти в соответствующий раздел или отчёт. В отдельный список выведены наиболее критически важные уязвимости и ресурсы, отсортированные по степени угрозы.
Здесь же можно контролировать количество сканирований выполняемых в настоящий момент, сканирований в очереди, видеть общее число произведённых сканирований, число незакрытых уязвимостей и количество целей.
На временной шкале отображается тренд по открытым уязвимостям соответствующего уровня угрозы в виде графика: высокий и средний уровни.
Рисунок 10. Вид подраздела «Dashboard» в Acunetix 360
В дашборде старшей версии Acunetix 360 специалист видит статистику только по своей группе ресурсов, в соответствии с настройками ролевого доступа.
Рисунок 11. Работа с фильтрами в разделе «Vulnerabilities» Acunetix Premium
В разделе «Vulnerabilities» доступен полный список всех когда-либо обнаруженных брешей с удобным фильтром, который по умолчанию настроен показывать только неисправленные уязвимости.
В этот раздел можно попасть, например, при нажатии на «SQL Injections» в дашборде, при этом фильтр будет автоматически составлен так, чтобы показать все обнаруженные SQL-инъекции.
Фильтр можно настроить более точно, используя следующие параметры: статус «заархивирована», опасность для бизнеса, уровень доверия результату (вычисленный на основании проверки уязвимости на эксплуатируемость), веб-приложение или группа веб-приложений, временной интервал, важность.
Для фильтрации и сортировки также доступен статус уязвимости: открытая, исправленная, проигнорированная, перепроверенная, ложное срабатывание, все остальные.
Необходимые колонки в сводной таблице добавляются или удаляются нажатием на иконку справа от поля ввода, каждая колонка может участвовать в сортировке списка.
Рисунок 12. Карта конкретной уязвимости в разделе «Vulnerabilities» Acunetix Premium
При нажатии на уязвимость из списка в панели справа открывается карта выбранной уязвимости. Специалист видит, что уязвимость была проэксплуатирована и подтверждена Acunetix. Здесь же — разбор эксплуатации уязвимости, содержание HTTP-запроса и HTTP-ответа, которые помогут программисту быстрее предположить, в какой части кода следует искать причину уязвимости.
Кроме того, выдаются рекомендации по устранению уязвимости и приводится CVE-классификация согласно внешним международным базам данных. Если «уязвимость» на самом деле является нормальным поведением приложения, то специалист может пометить её флагом «Игнорировать». При следующем сканировании эта уязвимость будет отмечена таким статусом автоматически и не повлияет на общий графический тренд в дашборде. Соответствующие флаги можно выставлять и убирать для каждой уязвимости вручную.
Из этой же карточки можно запросить перепроверку наличия уязвимости или отправить последнюю в трекер задач. Acunetix автоматически создаст тикет и будет его отслеживать, а после его обработки перепроверит, действительно ли разработчики устранили уязвимость. При положительном результате тикет будет закрыт автоматически и тренд графика в дашборде пойдёт вниз.
Рисунок 13. Опции экспорта уязвимостей в разделе «Vulnerabilities» Acunetix Premium
Здесь же можно выбрать несколько уязвимостей и группой экспортировать, например, готовые правила WAF, тем самым заблокировав опасные запросы к веб-приложению до момента исправления.
Рисунок 14. Экспорт отчёта об уязвимости в разделе «Vulnerabilities» Acunetix Premium
Отчёты формируются по международным стандартам, в формате общего списка, а также в удобных для автоматической обработки форматах CSV и XML. В зависимости от выбранного стандарта отчёт будет содержать только те уязвимости, которые не проходят на соответствие, например, стандарту PCI DSS. Разделы в отчёте, которым веб-приложение не соответствует, будут выделены шрифтом красного цвета.
Рисунок 15. Фильтры и работа с ними в разделе «Targets» Acunetix Premium
В разделе «Targets» виден список добавленных в Acunetix веб-приложений с уже знакомым нам фильтром. Здесь фильтрация доступна по следующим параметрам: адрес или описание, непрерывность сканирования, отладочный режим, статус лицензии, отсутствие сканирований, уровень угрозы, тип (в нашем случае — «Demo»).
В примере заданы две цели — это два разных веб-приложения. Здесь же есть информация по количеству и уровню значимости уязвимостей для каждой цели. Рассмотрим создание цели сканирования подробнее.
Рисунок 16. Добавление цели сканирования в разделе «Targets» Acunetix Premium
Чтобы создать новую цель сканирования, вводим адрес ресурса в сети, если необходимо просканировать его полностью. Мы также можем указать URL конкретной страницы и проверить только её.
Можно ограничить сканирование: установить флаг «Network Scans only», и тогда Acunetix выполнит поиск только сетевых уязвимостей с помощью интеграции с OpenVAS.
Для загрузки большого списка адресов веб-приложений поддерживается импорт списка URL из CSV-файла; такой список можно создать из логов веб- или прокси-сервера, DNS-записей, отчёта по инвентаризации.
Более тонкая настройка цели сканирования позволяет указать множество важных параметров, рассмотрим их ниже.
Рисунок 17. Настройка скорости сканирования в разделе «Targets» Acunetix Premium
Путём указания количества запросов к приложению от Acunetix настраивается скорость, с которой будет производиться тестирование.
Выбор оптимальной скорости зависит ото многих факторов: от архитектуры веб-приложения, от оборудования, от физической и сетевой инфраструктур, от времени суток и т. д. Например, сканирование на слепые SQL-инъекции может занимать много ресурсов со стороны серверной части приложения, в ночное время нагрузка на приложение может быть ниже, и т. д.
Все подобные нюансы учитываются, выбирается оптимальный режим, который может быть изменён перед следующим сканированием.
Рисунок 18. Настройки авторизации при сканировании в разделе «Targets» Acunetix Premium
Acunetix может проводить тестирование формы авторизации в приложении методом брутфорса на стандартные логины и пароли. Для отключения опции требуется выставить флаг «Не тестировать формы авторизации».
Авторизация в веб-приложении может включать в себя более сложную последовательность действий пользователя.
Рисунок 19. Запись последовательности действий при сложном входе в веб-приложение в разделе «Targets» Acunetix Premium
При выборе этой опции открывается окно встроенного в Acunetix браузера, где можно пройти процесс авторизации в веб-приложении, а Acunetix запишет все действия специалиста. После сохранения сценария платформа будет применять записанную последовательность при дальнейшем тестировании, попадая тем самым в скрытые формы авторизации.
Рисунок 20. Настройка входа в приложение через сторонний сервис в разделе «Targets» Acunetix Premium
Поддерживается авторизация и через сторонние сервисы, такие как OAuth, OpenID и др.
Рисунок 21. Подраздел «Crawling» в разделе «Targets» Acunetix Premium
В подразделе «Crawling» задаются параметры того, как именно Acunetix будет исследовать структуру сайта: выбирается значение заголовка User-Agent, определяется, учитывать ли верхний регистр в URL или нет. Здесь же можно исключить определённые URL, в том числе по маске, чтобы, например, вывести из-под тестирования формы авторизации, поле обратной связи и т. д.
Если в приложении нет пользовательского интерфейса и взаимодействие происходит через API, то специалист может импортировать список путей и параметров изо внешних сервисов в форматах JSON, YAML, XML, WSDL, SWAGGER и т. д.
В этом же поле можно активировать флаг «Ограничить сканирование». Тогда Acunetix будет исследовать приложение только по списку URL из импортированного файла, даже если в процессе тестирования узнает об иных методах и адресах.
Рисунок 22. Настройка авторизации по HTTP и по сертификату в разделе «Targets» Acunetix Premium
Поддерживается HTTP-авторизация по заданному URL (Basic, Digest, NTLM, Kerberos). Здесь же можно прописать параметры авторизации по сертификату клиента и указать прокси-сервер при необходимости.
Для сканирования веб-приложения, которое опубликовано во внутренней сети организации, вместо использования прокси-сервера рекомендуется установить специализированный агент (Acunetix Scanning Engine), который будет получать задания на сканирование от основной установки Acunetix.
Рассмотрим расширенные настройки цели сканирования.
Рисунок 23. Расширенные настройки сканирования в разделе «Targets» Acunetix Premium
В поле «Technologies» специалист указывает, какие именно технологии использует приложение. Это позволит Acunetix более точно определить список подходящих проверок и сократить время сканирования.
Ниже можно задать специфические заголовки.
Рисунок 24. Настройки «Custom Headers», «Custom Cookies», «Issue Tracker» в разделе «Targets» Acunetix Premium
Индивидуализированные заголовки бывают полезны для удобства чтения собранных логов и событий из других систем обеспечения ИБ (SIEM, SOAR, XDR и т. д.).
Активировать применение пользовательских файлов cookie можно здесь же, указав URL и значение.
В поле «Issue Tracker» выбирается привязанная к Acunetix тикет-система, в которую будут отправляться задачи разработчикам. Для каждого приложения можно указать свой трекер, что полезно, когда разные команды занимаются отдельными веб-приложениями и имеют свои инфраструктуры, процессы и тикет-системы.
Рисунок 25. Настройки «Allowed Hosts», «Knowledge Base», «Excluded Hours» в разделе «Targets» Acunetix Premium
В поле «Allowed Hosts» можно зафиксировать домены или хосты, которые будут проверяться Acunetix. Это важно в том случае, когда одно приложение запущено на многих доменах.
«Knowledge Base» позволяет создать базу знаний по каждой цели сканирования. База содержит все когда-либо найденные уязвимости в веб-приложении, используемые им технологии, обнаруженную структуру, ссылки и прочее. Это помогает отслеживать эволюцию и сканировать не весь ресурс, а только новые модули или внесённые изменения. База знаний понадобится при сканировании 24×7 и в случае инкрементального тестирования.
«Excluded Hours» — предварительно настроенные профили времени сканирования: в рабочие часы, в ночное время, в выходные дни и т. д. Можно задать часы и дни сканирования в свободном формате в отдельном разделе.
Scanning Engine представляет собой агент платформы Acunetix, который, как было указано выше, можно установить, например, в отдельный сегмент сети и проводить сканирование размещённых там веб-приложений без усложнения правил брандмауэра. Количество агентов (и прочих подключаемых внешних модулей, тикет-систем и т. д.) в рамках лицензии не ограничено. Лицензией ограничивается только количество целей сканирования (веб-приложений).
Запуск сканирования производится щелчком по кнопке «Scan».
Рисунок 26. Раздел «Discovery» в Acunetix Premium
Как только в Acunetix добавляется новый домен или хост, автоматически производится разведка на наличие субдоменов, потерянных, забытых или склеенных доменов. Вся найденная информация отражается в разделе «Discovery». Это полезно для инвентаризации веб-приложений компании.
Здесь же мы можем отфильтровать список по IP-адресу, домену, организации, субдомену, домену верхнего уровня, по исключённым доменам.
Выделив домен или их группу галочкой, специалист в одно нажатие создаёт цель сканирования. В этом же разделе интерфейса домены удаляются или исключаются из списка.
Рисунок 27. Настройки обнаружения доменов в разделе «Discovery» Acunetix Premium
В настройках обнаружения можно вручную указать, какие методы поиска субдоменов будет применять Acunetix: совпадение по адресу электронной почты, по веб-приложению, обратная проверка по IP-адресу, по названию организации, только по зарегистированным доменам.
Рисунок 28. Ручное добавление и исключение доменов в разделе «Discovery» Acunetix Premium
Специалист может как добавить, так и исключить домен в ручном режиме, указав необходимые параметры: IP-адрес, название организации, верхний и второй уровни домена.
Рисунок 29. Раздел «Users» в Acunetix Premium
В разделе «Пользователи» можно добавлять учётные записи и назначать соответствующие роли: администратор платформы, технический администратор, тестировщик или аудитор.
В старшей версии Acunetix 360 можно создать группы пользователей, назначить им разные цели, и тогда каждая группа будет управлять своими веб-приложениями.
Разграничение доступа поддерживает контроль безопасности при работе непосредственно с платформой Acunetix.
Рисунок 30. Настройки аккаунта пользователя платформы в разделе «Users» в Acunetix Premium
В настройках аккаунта пользователя выдвигаются требования к паролю, активируется двухфакторная аутентификация.
Можно прописать таймауты сессий и ограничения на попытки ввода пароля.
Рисунок 31. Раздел «Scan Profiles» в Acunetix Premium
Для сканирования предлагаются как предварительно настроенные профили, так и возможность создания персонального профиля под конкретный проект или задачу.
Поставляемые вендором профили оптимальны для быстрого старта сканирования по определённому вектору: вредоносный код, SQL-инъекции, критические уязвимости, полное сканирование и т. д.
Индивидуализированный профиль полезен для проведения более аккуратного анализа — например, для уже запущенного в производство приложения. Около 7000 уязвимостей сгруппированы по типам. Быстрый поиск по дереву разделов позволяет быстро настроить нужный профиль практически под любую задачу.
На первых этапах более глубокой интеграции платформы Acunetix вендор предоставляет поддержку и помощь, чтобы сформировать оптимальный персонализированный профиль сканирования под проект заказчика.
Профили сканирования универсальны и не привязываются к конкретному веб-приложению — можно создать собственный стандартный набор проверок в организации, которым будут пользоваться все специалисты.
Рисунок 32. Раздел «Network Scanner» в Acunetix Premium
В разделе «Network Scanner» происходит привязка сканера OpenVAS, который дополняет отчёт Acunetix информацией о сетевых уязвимостях сканируемых веб-серверов.
Рисунок 33. Раздел «Issue Tracker» в Acunetix Premium
Привязать любой популярный трекер задач к Acunetix можно в несколько щелчков мышью. Достаточно выбрать тикет-систему из доступных в списке и прописать данные для авторизации или ключи. Поддерживаются GitLab, Jira, Azure DevOps и т. д.
Здесь же можно задать группы целей сканирования и параметры проксирования при необходимости.
Рисунок 34. Раздел «WAFs» в Acunetix Premium
Если применяется WAF от AWS, то Acunetix способен не только генерировать правила в рамках отчёта, но и полностью автоматически настраивать такой WAF по результатам сканирования.
Экспорт правил в иные WAF доступен в ручном режиме (загрузка отчёта) или через API платформы Acunetix.
Рисунок 35. Раздел «Email Settings» в Acunetix Premium
Доступны классические настройки оповещений о различных событиях посредством электронной почты.
Acunetix может докладывать о результатах сканирования, о вышедших обновлениях, об общем статусе платформы и т. д. Гибкая настройка оповещений позволяет отслеживать обнаруженные проблемы в режиме 24×7.
Рисунок 36. Раздел «Excluded Hours» в Acunetix Premium
Настройки времени сканирования добавляются в разделе «Excluded Hours». Специалист визуально выбирает день недели и время, когда проводить сканирование, путём исключения часов из таблицы (тёмное поле). В нашем примере сканирование будет доступно каждый день с 13:00 до 02:00, а также во вторник в 08:00 утра.
По умолчанию сканирование запускается в любое время и в любой день недели.
В разделе «Proxy Settings» прописываются данные для работы панели управления Acunetix через прокси-сервер: IP-адрес, порт и данные для аутентификации.
Рисунок 37. Раздел «General Settings» в Acunetix Premium
Основные настройки платформы позволяют задать количество дней, в течение которого будет храниться отчёт. Также в поле «Scan Data Retention» задаётся количество хранимых результатов сканирований. Это важно для экономии места на жёстком диске: результаты одного сканирования занимают примерно 20 МБ.
Можно настроить хранение только отчётов в формате PDF, если нет необходимости хранить все данные сканирования в рамках Acunetix.
Компонент AcuSensor Bridge связывает модуль AcuSensor с Acunetix. Для связки необходимо указать IP-адрес и порт. В этом же разделе указывается время хранения логов сканирования и системных журналов Acunetix.
Рисунок 38. Страница пользователя платформы в Acunetix Premium
В нашем примере показана страница профиля администратора платформы. Доступны стандартные настройки: имя, фамилия, часовой пояс.
Часовой пояс каждый сотрудник выбирает самостоятельно в зависимости от местоположения. Это крайне полезно при широко распределённой инфраструктуре компании или при наличии дистанционно работающих сотрудников в разных городах, потому что помогает не потеряться во времени: Acunetix будет автоматически пересчитывать все события на выбранный часовой пояс.
Здесь же администратору доступны данные о текущей лицензии. Можно сгенерировать API-ключ и работать с Acunetix от своего имени через скрипты и прочие программные решения. Все подобные взаимодействия с платформой Acunetix подробно журналируются.
Выводы
Acunetix Premium 14 — мощная зрелая платформа для автоматизированного контроля безопасности разработки современных веб-приложений. Продукт Acunetix написан на языке С++, что позволяет ему эффективно использовать мощности «железа» при сканировании самых сложных современных веб-ресурсов.
Продукт существует на рынке более 13 лет и используется как организациями любых масштабов, так и частными аудиторами.
В России продуктам Acunetix доверяет более 150 клиентов: банки, торговые площадки, финансовые организации. Вендор допускает сертификацию ФСТЭК России под проект заказчика.
Старшая версия Acunetix 360 оптимальна для крупных корпораций с полностью сформированным процессом CI / CD. Она встраивается в конвейер разработки и проводит тестирование веб-продукта на уязвимости полностью автоматически в режиме 24×7, запуская сканирование при появлении каждой новой сборки веб-приложения.
Достоинства:
- Глубокое сканирование DAST + IAST выявляет все известные типы уязвимостей как со стороны бэкенда, так и на фронтенде веб-приложения. Достигаются высокие скорость и точность сканирования, а каждая найденная уязвимость подтверждается эксплуатацией, гарантируя минимальное число ложных срабатываний.
- Высокая производительность и поддержка популярных ОС за счёт кодовой базы на языке С++; надёжность и масштабируемость «из коробки».
- Интуитивно понятный интерфейс и информативная визуализация данных, гибкая настройка системы оповещений. Простая установка и быстрый старт по принципу «одной кнопки» обеспечивают доступность для специалистов с минимальным опытом.
- Готовые к экспорту правила WAF для временного закрытия найденных уязвимостей и рекомендации разработчикам.
- Подробная отчётность согласно международным стандартам (HIPAA, PCI DSS, ISO/IEC 27001).
- Интеграция со всеми популярными менеджерами задач и процессами автоматизации безопасной разработки CI / CD.
- Максимальная автоматизация рутинных процессов ИБ-подразделения крупной или малой компании, связанных с инвентаризацией и безопасностью веб-приложений.
- Техническая поддержка и помощь в интеграции на русском языке от партнёров и дистрибьютора в России.
Недостатки:
- Нет прямой интеграции с решениями классов SAST, RAST и SCA.
- Лицензируется по подписке (нет бессрочной лицензии).
- Отсутствует русскоязычный интерфейс (ожидается в 2022 году).