Будущее исследований безопасности ИИ — не автономное, а усиленное человеком

Http Terminator ии контрабанда запросов уязвимости кибербезопасность Portswigger csoonline.com

ИИ-система HTTP Terminator под руководством человека взломала 700 сайтов, включая банки, и открыла новый класс уязвимостей “shared-parser confusion”. Узнайте, как сочетание эксперта и ИИ меняет подход к кибербезопасности.

Встречайте HTTP Terminator — новую ИИ-систему, которая выявила сотни сайтов, уязвимых для HTTP-контрабанды запросов, взломала их в реальном масштабе и даже обнаружила «действительно новый класс» уязвимостей, получивший название «shared-parser confusion» (путаница общего парсера).

Но она справилась не в одиночку: всё это время её направлял человек, и это, пожалуй, самый интересный вывод.

Исследователь из компании по безопасности PortSwigger использовал собственные методики для проектирования и создания ИИ — HTTP Terminator. Он ставил узкие, ценные вопросы, отсеивал слабые ответы, применял логику обнаружения аномалий, использовал детерминированный код для ограничения поведения агента и применял полученные результаты для последующих «каскадных» исследований.

«Это переворачивает принятое представление, показывая, что эксперт может стать мощным усилителем для исследовательской ИИ-системы, — объяснил Джеймс Кеттл, директор по исследованиям PortSwigger, в белой книге. — Человек в цикле всё ещё может добавлять значительную ценность, а не просто построить цикл и отойти в сторону».

Нарушение потока HTTP-запросов

HTTP desync-атаки, также известные как HTTP-контрабанда запросов, нарушают обработку HTTP-запросов от разных пользователей на веб-сайтах. В этой архитектуре пользователи отправляют запросы на фронтенд-сервер, который затем пересылает их на бэкенд-серверы.

Проблема кроется в изначально «слабой» изоляции запросов, указал Кеттл: фронтенд-сервер обычно отправляет несколько запросов одновременно по одному и тому же бэкенд-сетевому соединению для повышения производительности и эффективности.

«HTTP-запросы отправляются один за другим, и принимающий сервер должен определить, где заканчивается один запрос и начинается следующий, — объяснил он. — Но фронтенд- и бэкенд-системы должны “согласовывать”, где заканчивается каждый запрос; в противном случае злоумышленники могут отправлять неоднозначные сообщения, которые бэкенд интерпретирует как два запроса».

С помощью отравления ответов запросами (RQP) эти злоумышленники могут внедрять ложную информацию в последующие запросы или иным образом манипулировать потоками данных, чтобы системы теряли связь между тем, откуда пришли ответы. Затем они могут перехватывать ответы, предназначенные для других пользователей, которые иногда могут содержать конфиденциальную информацию, учётные данные или API-ключи.

Хотя контрабанда запросов обычно ассоциируется с HTTP/1 запросами, сайты, поддерживающие HTTP/2, также могут быть уязвимы в зависимости от их бэкенд-архитектуры, отметил Кеттл.

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

Методология HTTP Terminator

Кеттл построил HTTP Terminator на основе собственных исследовательских методик.

Начальная фаза — генерация идей: система автономно генерирует гипотетические проверяемые RQP-атаки, например, триггеры desync, шаблоны или методы вооружения.

Следующий шаг — оценка: гипотезы проверяются в крупном масштабе, чтобы выяснить, какие из них действительно работают. HTTP Terminator использовал живые сайты, которые разрешают тестирование безопасности через программы bug-bounty и программы раскрытия уязвимостей (VDP). Встроенный уровень обнаружения аномалий отмечал необычные ответы.

За этим следует фаза вооружения, которая определяет, имеют ли находки реальное влияние на практике.

В некоторых случаях это было так: HTTP Terminator первоначально сгенерировал 30 000 уникальных векторов атак, которые он непрерывно тестировал, и вскоре выявил 700 уязвимых целей, включая финансовые учреждения и государственную инфраструктуру. Система даже украла живой API-ключ у одного из этих банков, а другие бреши были связаны с недостатками в популярных корпоративных продуктах, таких как Apache Traffic Server, Citrix NetScaler и BeyondTrust.

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

Например: как можно обнаружить подобное поведение в других местах? И может ли это поведение позволить другие типы атак? По сути, каждая находка становится «семенем для следующей».

«Это может не выглядеть значительным, но создаёт петлю положительной обратной связи, которая может перерасти в каскад открытий, выводя вас за пределы предсказуемых находок в неизведанное», — сказал Кеттл.

В конечном итоге, «я понял, что противопоставление “автономный vs человек” — это неправильный подход, — объяснил он. — Лучше рассматривать дизайн системы как ИИ vs код vs человек».

Новый инструмент для команд безопасности

HTTP Terminator смог изобрести и доказать несколько новых триггеров desync, один новый шаблон desync и технику вооружения desync.

Примечательно, что он выявил новую технику «shared-parser confusion», которая позволяет злоумышленникам анализировать запросы и ответы, тем самым расширяя свою поверхность атаки.

«Само по себе это совершенно огромно, — сказал Кеттл. — Но, подчеркну, это открытие не было полностью автономным — HTTP Terminator предложил его, а я подтвердил. Никто из нас не смог бы обнаружить это в одиночку».

Кеттл опубликовал HTTP Terminator в открытом доступе вместе со своим исследовательским планом, чтобы другие команды безопасности могли «превратить собственные методики и интуицию в автономное исследовательское оружие».

Исследователь посоветовал разбивать задачи на четыре этапа: поставить цель, создать стратегию оценки, определить источники вдохновения и исследовать каскадные пути для новых открытий.

«Оценка — это первый конкретный шаг как для проектирования, так и для реализации, — сказал он, — потому что любые проблемы там сведут на нет весь проект».

Также важно «агрессивно» выявлять и устранять проблемы с качеством данных, так как их будет трудно исправить позже. Кроме того, задавайте ценные вопросы, не будучи слишком широкими; просматривайте результаты на начальных тестовых прогонах и используйте их для отсеивания малозначимых гипотез; и помните, что «каждое лишнее предложение в промпте рискует загрязнением контекста», — сказал Кеттл.

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

«Полностью автономные исследования реальны, — признал Кеттл. — Однако люди — это мощный усилитель для исследовательских ИИ-систем».

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

В тренде:


Похожие новости: