Как работает DAST? Средства динамического тестирования безопасности приложений (DAST – от англ. dynamic application security testing) выполняют автоматическое сканирование, которое имитирует вредоносные внешние атаки с попытками эксплуатации распространенных уязвимостей. Их задача – обнаружить незапланированные результаты раньше, чем это сделают злоумышленники. Чтобы обнаружить уязвимости, средства DAST проверяют все точки доступа по HTTP, а также моделируют случайные действия и работу пользователей.
Хотя средства DAST не имеют доступа к исходному коду, они обнаруживают недостатки безопасности, атакуя приложение извне. BlackBox или тестирование с использованием черного ящика предполагает изучение средств управления безопасностью, защитных механизмов и дизайна приложения или системы извне с минимальным предварительным знанием их внутреннего устройства.
Поскольку средства DAST не проверяют код, при обнаружении уязвимости они не могут направить тестировщиков к конкретным строкам.
Что нужно знать? Развертыванием систем DAST часто занимаются специалисты по безопасности. Им приходится настраивать инструмент или разрабатывать тесты или настраивать инструмент, что требует глубокого понимания особенностей отслеживаемых приложений. Для правильного администрирования DAST нужно хорошо знать популярные веб-серверы, серверы приложений и СУБД, а также знать используемые операционные системы, уметь анализировать сетевой трафик и разбираться во множестве смежных технологий.
Каковы преимущества DAST? Поскольку во время динамического тестирования безопасности приложений имитируется злонамеренное поведение пользователя – это хороший способ продемонстрировать, как именно работают приложения в реальной среде. Своевременно обнаружив уязвимость, можно внести необходимые изменения для предотвращения реальной атаки. Этот метод помогает обнаруживать проблемы, которые команда разработчиков не рассматривала или считала трудными для решения.
Вы будете шокированы тем, как часто атаки оказываются успешными просто потому, что никто не подумал заблокировать проход.
Киберпреступники любят использовать слабые места в системе безопасности, сохраняя при этом молчание. Они могут месяцами скрытно хозяйничать в вашей сети, чтобы провести внезапную массированную атаку и нарушить работоспособность системы. Другой вариант – тихая кража данных, о которой никто даже не догадывается. К тому времени, когда вы обнаружите взлом, ущерб в любом случае будет уже нанесен.
DAST может обнаруживать недоступные другим типам тестирования проблемы, например, с архитектурой информационных систем или с аутентификацией, а также возникающие при работе пользователя с приложением ошибки. Метод DAST позволяет протестировать любое приложение и выявить пропущенные обычными тестами недостатки. Более того, DAST может помочь обеспечить соответствие продукта нормативной документации.
Инструменты для тестирования DAST: 1. Netsparker Отличное решение DAST, которое позволяет ИТ-персоналу отслеживать потенциальные векторы атак. Этот инструмент особенно полезен для организаций, которые должны продемонстрировать соответствие HIPAA или PCI DSS. Он устанавливается на Windows или Windows Server, а также может работать как облачная служба.
Версия Netsparker Standard доступна даже малым предприятиям без технического персонала. Ее можно использовать для проверки как пользовательских веб-приложений, так и готовых пакетов конструктора веб-сайтов и их компонентов.
2. GitLab Pro Это последняя версия GitLab – платформа для поддержки CI/CD в DevOps, которая включает механизм DAST, доступный по подписке в виде облачной службы. Система DAST GitLab поддерживает сканирование API и может быть развернута по запросу или по расписанию. Система также включает службу анализа кода SAST. Бесплатно доступна тридцатидневная пробная версия.
3. Acunetix Это панель автоматизированного динамического тестирования безопасности приложений, разработанная для использования ИТ-специалистами в средних и крупных компаниях. Поддерживаются Windows, macOS и Linux. Хотя функции панели инструментов чрезвычайно хорошо продуманы, цена на эту утилиту, вероятно, сделает ее недоступной небольшим организациям с ограниченным бюджетом. Это скорее инструмент для средних и крупных предприятий. Доступны три варианта продукта: Standard, Premium и Acunetix 360.
Самая дорогая версия предоставляет полное решение тестирования безопасности для DevOps. Все версии сканируют OSWAP Top 10 и очень эффективны для определения межсайтового скриптинга и SQL-инъекций.
4. Rapid7 InsightAppSec Облачное DAST-решение специализирующейся в области кибербезопасности компании. Rapid7 DAST тестирует OWASP TOP 10, а также другие уязвимости. Он сканирует более 95 уязвимостей, включая межсайтовые сценарии, подделку межсайтовых запросов и SQL-инъекции. Удаленное расположение системы делает ее идеальной внешнего обзора ресурсов, но оно может сканировать и внутренние приложения, в т.ч. на стадии разработки.
Из-за дороговизны этот вариант вряд ли подойдет малым предприятиям. Решение предназначено для тестирования безопасности большого количества веб-приложений. Еще одним важным преимуществом для крупных организаций является стандартная система отчетности Rapid7. В чем разница между DAST и SAST? В то время как система DAST имитирует враждебные атаки и другие действия внешних пользователей, решения SAST (Static Application Security Testing) подходит к тестированию с точки зрения разработчика, проверяя код и не требуя выполнения программы. В этом случае ищутся нарушения правил кодирования, которые приводят к появлению уязвимостей. Такой подход не требует наличия работающей сборки программы и экономит деньги, позволяя обнаружить ошибки на раннем этапе жизненного цикла приложения. Независимо от используемого языка программирования инструменты SAST являются отличным дополнением к DAST.
Ограничения DAST Методы динамического тестирования безопасности приложений могут помочь в поиске уязвимостей, но следует помнить и об их недостатках.
Сложно разработать полный набор тестов для каждого приложения. Методы DAST могут генерировать ложноположительные результаты, усложняя работ аналитика. Инструменты DAST могут только указать на наличие проблемы, но не могут обнаружить недостатки внутри кода. Кроме того, инструменты DAST сосредоточены на запросах и ответах, что может привести к значительному количеству ошибок в архитектурном проекте. DAST проходит медленно (обычно для тестирования требуются дни или недели. На поздних стадиях жизненного цикла приложения обнаруженные проблемы могут привести к возникновению большого количества задач для команд разработчиков, продлению сроков и увеличению затрат. В определенных ситуациях разработчикам может потребоваться вернуться и повторно ознакомиться со старым кодом, прежде чем вносить необходимые исправления.