Новый автоматизированный сканер веб-приложений автономно понимает и выполняет задачи и рабочие процессы в веб-приложениях. Инструмент под названием YuraScanner использует мировые знания, хранящиеся в больших языковых моделях (LLM), для навигации по веб-приложениям так же, как это сделал бы человек-пользователь. Он способен последовательно работать с задачами, выполняя правильную последовательность шагов, как того требует, например, интернет-магазин.
YuraScanner был протестирован на 20 веб-приложениях, выявив 12 уязвимостей нулевого дня кросс-сайтового скриптинга (XSS). Методика YuraScanner, а также сам инструмент были разработаны в CISPA Helmholtz Center for Information Security.
Автоматизированные сканеры веб-приложений обычно используются для проверки безопасности онлайн-приложений, таких как, например, интернет-магазины, обучающие платформы или инструменты управления проектами. Обычно эти сканеры состоят из двух частей: компонента краулера, который сканирует веб-приложение на предмет пользовательских интерфейсов, и модуля атаки, который затем приступает к тестированию интерфейсов, идентифицированных краулером.
Исследователь CISPA Алексей Стафеев, работающий в исследовательской группе доктора Джанкарло Пеллегрино, подчеркивает важность компонента краулера для успешного проведения такого автоматизированного тестирования: «Одной из основных задач при тестировании безопасности является определение области действия веб-приложения и выявление его функциональных возможностей и рабочих процессов. Мы хорошо знаем, как обнаружить проблемы безопасности , но как нам определить все точки входа?» Стафеев и его коллеги из CISPA разработали YuraScanner с целью выявления как можно большей поверхности атаки.
YuraScanner: использование LLM для навигации по веб-приложениям
Главное новшество, которое предлагает YuraScanner, — это расширение охвата и производительности компонента сканера-краулера путем его использования в LLM. «LLM обучались на данных из Интернета, который богат документацией о том, как взаимодействовать с веб-сайтами. Мы используем эти знания, объединяя краулер и LLM, чтобы направлять исследование веб-приложения», — объясняет Стафеев.
Для целей своего исследования Стафеев и его коллеги использовали API OpenAI для установления связи между компонентом своего краулера и моделью OpenAI GPT-4. Модуль атаки на YuraScanner идентичен Black Widow, признанному современному сканеру межсайтового скриптинга.
Эта параллельная настройка позволила исследователям CISPA напрямую сравнить производительность двух компонентов краулера. Протестировав YuraScanner на 20 веб-приложениях , они фактически смогли обнаружить 12 ранее неизвестных уязвимостей XSS, по сравнению с тремя, обнаруженными Black Widow.
Вывод автоматизированного сканирования веб-приложений на более глубокий уровень
YuraScanner, управляемый LLM, работает в режиме, ориентированном на задачи, что позволяет ему получать доступ к более глубоким слоям тестируемого веб-приложения. Он не только может определять задачи, предлагаемые веб-приложением, но и выполнять их преднамеренно, выполняя последовательность шагов, необходимых для завершения поставленной задачи. Он действует вертикально, в то время как другие, уже известные сканеры, как правило, действуют горизонтально.
Стафеев объясняет: «Обычно инструменты тестирования не различают разные типы кнопок, они просто нажимают на то, что доступно. Главный недостаток этого заключается в том, что если есть какой-то очень специфический многошаговый рабочий процесс, как, например, в интернет-магазине, где вам нужно положить товар в корзину, перейти к оформлению заказа и заполнить форму, то шансы простого веб-сканера на успех в этом очень малы».