Ученые из Иллинойского университета в Урбане-Шампейне (UIUC) пришли к выводу, что большая языковая модель (LLM) GPT-4 компании OpenAI может успешно эксплуатировать реальные уязвимости, если предварительно «прочтет» бюллетень безопасности об этой CVE, в котором описана проблема.
«Чтобы продемонстрировать это, мы собрали набор данных из 15 1-day уязвимостей, включая те, которые относятся к категории критических, — объясняют эксперты в своей статье. — В случае получения описания CVE GPT-4 способен эксплуатировать 87% этих уязвимостей по сравнению с 0% для всех остальных протестированных нами моделей (GPT-3.5 и LLM с открытым исходным кодом), а также опенсосрных сканеров уязвимостей (ZAP и Metasploit)».
Напомним, что термин «1-day уязвимость» обычно применяется к уязвимостям, информация о которых уже была обнародована, но сама проблема еще не исправлена. А под описанием CVE специалисты подразумевают бюллетени NIST (например, такой бюллетень с описанием проблемы CVE-2024-28859).
Упомянутые модели, которые не справились с задачей, это: GPT-3.5, OpenHermes-2.5-Mistral-7B, Llama-2 Chat (70B), LLaMA-2 Chat (13B), LLaMA-2 Chat (7B), Mixtral-8x7B Instruct, Mistral (7B) Instruct v0. 2, Nous Hermes-2 Yi 34B и OpenChat 3.5. При этом в исследовании не участвовали основные конкуренты GPT-4, то есть Claude 3 компании Anthropic и Gemini 1.5 Pro компании Google. Дело в том, что у специалистов UIUC не было к ним доступа, хотя ученые надеются протестировать их в будущем.
LLM-агент не смог эксплуатировать только два из 15 образцов уязвимостей: Iris XSS (CVE-2024-25640) и Hertzbeat RCE (CVE-2023-51653). В первом случае проблемы возникли из-за того, что веб-приложение Iris имеет сложный интерфейс, в котором агенту было трудно ориентироваться. Во втором случае подробное описание проблемы опубликовано на китайском языке, что, предположительно, сбило LLM с толку.
Отмечается, что одиннадцать из проверенных уязвимостей появились уже после окончания обучения GPT-4, то есть модель не получала никаких данных о них заранее, во время обучения. Коэффициент успешности для этих CVE оказался немного ниже — 82% (или 9 из 11).
Работа исследователей опирается на предыдущие выводы о том, что LLM могут использоваться для автоматизации атак на веб-сайты в среде песочницы.
Как эксперты рассказали изданию The Register, фактически GPT-4 способна автономно выполнять шаги для выполнения определенных эксплоитов, которые опенсорсные сканеры уязвимостей пока не могут обнаружить.
Исследователи ожидают, что вскоре агенты LLM, например, созданные путем подключения чат-бота к фреймворку для автоматизации ReAct, реализованному в LangChain, сделают эксплуатацию уязвимостей более простой задачей. Эти агенты смогут переходить по ссылкам с описанием CVE для получения дополнительной информации.
«Кроме того, если экстраполировать возможности GPT-5 и будущих моделей, то, скорее всего, они будут гораздо мощнее, чем те, к которым скрипт-кидди могут получить доступ сегодня», — предупреждают эксперты.
Специалисты подсчитали, что в среднем стоимость успешной атаки LLM-агента составляет всего 8,80 долларов за эксплоит, что примерно в 2,8 раза меньше, чем оплата пентестеру за 30 минут его работы.
При этом, если лишить агента LLM (GPT-4) доступа к соответствующему описанию CVE, то вероятность успешной эксплуатации бага резко снижается с 87% до 7%. Но авторы научной статьи полагают, что ограничение публичного доступа к информации об уязвимостях вряд ли станет действенным способом защиты от таких LLM-агентов. Дело в том, что принцип безопасность через неясность, по мнению ученых, совсем не работает.
Код описанного агента, по словам экспертов, состоит всего из 91 строки и 1056 токенов для запросов. В своей работе исследователи попросили OpenAI не публиковать их промпты, хотя они готовы предоставить их по запросу компании.