Обзор ключевых технологий

Тестирование приложений методом "черного ящика"

Во время анализа методом "черного ящика" инструменту доступен только интерфейс приложения. Анализ серверной части возможен только через взаимодействие с конечными точками интерфейса.
Тестирование методом "черного ящика" обычно состоит из трех этапов:
Выявление поверхности атаки: поиск доступных серверных точек доступа и API;
Отправка запросов с векторами атаки к обнаруженным серверным точкам доступа;
Анализ результатов.

Интеллектуальный обход приложения для анализа безопасности

Наша передовая технология краулинга специально разработана для автоматического обнаружения всех доступных серверных точек доступа.
Существует несколько способов обнаружения серверных HTTP точек доступа методом "черного ящика":
Выявление серверных точек доступа на основе анализа программного кода клиентской стороны приложения для определения, какие HTTP запросы технически возможно отправить со стороны клиента;
Идентификация ПО сервера по отпечаткам стандартного ПО (фреймворков), работающего на сервере и использующего заранее известные для него конечные точки (например, известные серверные точки доступа WordPress);
Фаззинг сервера с помощью запросов, сгенерированных с использованием словаря, и анализ ответов - техника, известная как дирбастинг.

Статический анализ клиентского JavaScript для выявления серверного API

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

Продвинутый краулинг

С помощью нашей продвинутой технологии краулинга мы можем:
Определять серверные точки доступа из мертвого, недоступного или закомментированного клиентского кода;
Определять серверные точки доступа из клиентского кода, который активен только для авторизованной клиентской области или области администратора;
Использовать спецификации API OpenAPI/Swagger и другие источники информации о серверных точках доступа в качестве отправной точки для анализа и обхода.
Это дает нам лучшую технологию выявления поверхности атаки их доступных на рынке.

Ограничения традиционного динамического краулинга

Самая важная метрика качества поиска серверных точек доступа - это полнота.
Дирбастинг и анализ отпечатков ПО, в общем случае, не могут определить все серверные точки доступа, особенно для нестандартного программного обеспечения, написанного на заказ.
Способность выводить серверные точки доступа из клиентской части является крайне важным для black-box сканера, чтобы обеспечить достаточное покрытие серверных точек доступа.

Динамический краулинг

Динамический краулинг это автоматизированное взаимодействие с элементами интерфейса веб-страницы с использованием управляемого браузера, имитирующего действия пользователя и наблюдающего отправляемые запросы серверу.
Хотя динамический краулинг обычно работает хорошо, есть случаи, когда он не может обнаружить некоторые серверные точки доступа. Интерфейс пользователя иногда слишком сложен для полного краулинга. Выполнение всех возможных действий пользователя может потребовать слишком много времени. В таких случаях поисковый робот остановится до завершения, вероятно, пропустив некоторые конечные точки.
Кроме того, иногда JavaScript-код, обращающийся к конечной точке, невозможно запустить из пользовательского интерфейса вообще - по сути, это мертвый код. Такой код по-прежнему представляет интерес для сканера и может обращаться к работающим частям сервера. Мы называем такие конечные точки скрытыми.

Начните улучшать эффективность вашего тестирования безопасности приложений вместе с нами уже сегодня