Новое исследование демонстрирует, как LLM становятся инструментом для вайб-кодинга в киберугрозах

В последние несколько лет большие языковые модели (LLM) стали предметом серьезного обсуждения из-за их возможного использования в области киберугроз, особенно в контексте создания вредоносного программного обеспечения.

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

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

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

Хотя многие онлайн-LLM не могут помочь пользователю в незаконной деятельности, существуют такие незащищенные проекты, как WhiteRabbitNeo, которые позволяют исследователям безопасности работать на равных с противниками.

Исследование, проведенное UNSW Sydney и CSIRO под названием «Хорошие новости для скрипт-кидди? Оценка больших языковых моделей для автоматизированной генерации эксплойтов», представляет собой первую систематическую оценку того, насколько эффективно эти модели могут генерировать работающие эксплойты при корректных запросах.

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

Для проверки возможности LLM в создании работающих эксплойтов исследователи разработали контролируемую среду с пятью лабораториями из SEED Labs, каждая из которых базируется на известных уязвимостях, таких как переполнение буфера, возврат к libc, атака Dirty COW и условия гонки.

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

В исследование была вовлечена вторая LLM: модель-атакующий, предназначенная для последовательного уточнения запросов к целевой модели на протяжении нескольких раундов. Для этой роли использовалась GPT-4o, управляемая скриптом, обеспечивающим возможность доработки до пятнадцати циклов до достижения максимального уточнения.

Целевыми моделями исследования стали GPT-4o, GPT-4o-mini, Llama 3 (8B), Dolphin-Mistral (7B) и Dolphin-Phi (2.7B), которые представляют как закрытые, так и открытые системы, включая модели с интегрированными механизмами защиты и те, которые были модифицированы для их обхода.

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

GPT-4o и GPT-4o-mini продемонстрировали наивысшие уровни сотрудничества, со средними значениями ответов 97 и 96 процентов соответственно по пяти категориям уязвимостей: переполнение буфера, возврат к libc, строка формата, условие гонки и Dirty COW.

Dolphin-Mistral и Dolphin-Phi следовали с небольшим отрывом, показав средние показатели сотрудничества 93 и 95 процентов. Llama 3 проявила наименьшую готовность к участию, с общим показателем лишь 27 процентов.

При анализе реальной производительности моделей был выявлен значительный разрыв между готовностью и эффективностью: GPT-4o выдала наименее количество ошибок с общим числом шести по пяти измененным лабораториям. GPT-4o-mini показала восемь ошибок, Dolphin-Mistral отлично справилась с оригинальными лабораториями, но значительно хуже работала с переработанным кодом, что может указывать на то, что она имела доступ к аналогичному контенту во время обучения. Dolphin-Phi допустила семнадцать ошибок, а Llama 3 — пятнадцать.

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

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

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

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

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

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

Источник