Ключевая технология обзор

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

Во время анализа безопасности методом «черного ящика» доступен только код на стороне клиента. Анализ серверной части возможен только при взаимодействии с точками входа интерфейса.

Тестирование уязвимостей методом «черного ящика» обычно включает три этапа:

Icon

Перечисление поверхности атаки: поиск доступных точек входа на стороне сервера (точек входа API);

Icon

Отправка запросов с векторами атаки к обнаруженным точкам входа;

Icon

Анализ результатов.

Продвинутый краулинг с учетом безопасности

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

Существует несколько способов обнаружения точек входа HTTP сервера в среде черного ящика:

Icon

Вывод их, определяя, какие запросы могут быть отправлены со стороны клиента;

Icon

Снятие отпечатков программного обеспечения, работающего на сервере, и использование предварительно известных точек входа, специфичных для него (например, известные точки входа WordPress);

Icon

Фаззинг сервера запросами, созданными с использованием словаря, и анализ ответов — техника, известная как дирбастинг.

Статический анализ JavaScript для перечисления API

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

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

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

С нашей технологией продвинутого краулинга мы можем:

Icon

Обнаруживать серверные точки входа из мертвого, недоступного или закомментированного кода на стороне клиента;

Icon

Обнаруживать серверные точки входа из кода на стороне клиента, активного только для авторизованной клиентской области или области администратора;

Icon

Использовать спецификации OpenAPI/Swagger API и другие источники информации о точках входа в качестве стартовых точек для анализа и сканирования.

Это дает нам лучшее перечисление поверхности атаки на рынке.

Подводные камни традиционного динамического краулинга

Наиболее важной метрикой качества поиска точек входа является полнота.

Дирбастинг и снятие отпечатков, как правило, не могут выявить все точки входа, особенно для нестандартного, специально написанного программного обеспечения.

Способность выводить точки входа сервера со стороны клиента имеет решающее значение для того, чтобы сканер методом черного ящика мог достичь адекватного покрытия точек входа.

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

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

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

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

Решите проблемы безопасности вашего приложения с помощью нашего продукта уже сегодня

Зарегистрироваться Запросить демо