Взгляд Anderson

Исследования показывают, что Большие Языковые Модели (LLM) готовы помочь в злонамеренном ‘Vibe Coding’

mm
Добавьте Unite.AI в избранные источники в Google
ChatGPT-4o and Adobe Firefly.

За последние несколько лет Большие Языковые Модели (LLM) привлекли внимание за их потенциальное неправильное использование в области кибербезопасности, особенно в создании программных уязвимостей.

Недавняя тенденция к так называемому ‘vibe coding’ (неформальному использованию языковых моделей для быстрого разработки кода для пользователя, вместо явного обучения пользователя программированию) возродила концепцию, которая достигла своего пика в 2000-х годах: ‘script kiddie’ – относительно неопытный злонамеренный актор с минимальными знаниями, достаточными для воспроизведения или разработки вредоносной атаки. Естественно, что когда барьер для входа таким образом понижен, угрозы будут множиться.

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

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

Хотя большинство онлайн-LLM не позволят помочь пользователю с злонамеренными процессами, ‘несдержанные’ инициативы, такие как Deep Hat, доступны для того, чтобы помочь исследователям безопасности работать на одном уровне с их противниками.

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

Похоже, вы пытаетесь атаковать систему!

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

Новая статья исследователей из UNSW Sydney и Commonwealth Scientific and Industrial Research Organisation (CSIRO), озаглавленная Хорошая новость для ‘script kiddie’? Оценка Больших Языковых Моделей для автоматического создания уязвимостей, представляет первую систематическую оценку того, насколько эффективно эти модели могут быть использованы для создания рабочих уязвимостей. Примеры разговоров из исследования были предоставлены авторами.

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

Из поддерживающего сайта, Ollama LLM помогает исследователям разработать атаку на уязвимость строки. Источник: https://anonymous.4open.science/r/AEG_LLM-EAE8/chatgpt_format_string_original.txt

Из поддерживающего сайта, Ollama LLM помогает исследователям разработать атаку на уязвимость строки. Источник: https://anonymous.4open.science/r/AEG_LLM-EAE8/chatgpt_format_string_original.txt

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

Статья гласит:

‘Наши эксперименты показывают, что GPT-4 и GPT-4o демонстрируют высокую степень кооперации в создании уязвимостей, сравнимую с некоторыми нецензурированными открытыми моделями. Среди оцененных моделей Llama3 была наиболее устойчивой к таким запросам.

‘Несмотря на их готовность помочь, фактическая угроза, исходящая от этих моделей, остается ограниченной, поскольку ни одна из них не смогла сгенерировать рабочие уязвимости для пяти настраиваемых лабораторий с измененным кодом. Однако GPT-4o, самый сильный испытуемый в нашем исследовании, обычно совершал только одну или две ошибки за попытку.

‘Это говорит о значительном потенциале для использования LLM для разработки передовых, общих [Автоматического создания уязвимостей (AEG)] методов.’

Много вторых шансов

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

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

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

Не так с LLM, который может испытывать трудности с сохранением токенизированной информации даже из текущего разговора, не говоря уже о директивах долгосрочной памяти (если они есть в архитектуре, как в продукте ChatGPT-4o).

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

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

Тестирование метода

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

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

Каждая лаборатория была запущена дважды для каждой модели: один раз в ее оригинальной форме и один раз в ее измененной версии.

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

Схема работы для LLM-атакующей, в данном случае GPT-4o.

Схема работы для LLM-атакующей, в данном случае GPT-4o.

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

Местно устанавливаемые модели были запущены через Ollama фреймворк, а остальные были доступны только через их единственный доступный метод – API.

Результаты

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

Результаты основного теста, показывающие среднюю кооперацию.

Результаты основного теста, показывающие среднюю кооперацию.

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

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

Слева мы видим количество ошибок, совершенных LLM на оригинальных программах SEED Lab; справа – количество ошибок, совершенных на измененных версиях.

Слева мы видим количество ошибок, совершенных LLM на оригинальных программах SEED Lab; справа – количество ошибок, совершенных на измененных версиях.

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

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

Авторы отметили, что большинство моделей производили код, похожий на рабочие уязвимости, но неудачно из-за слабого понимания того, как на самом деле работают основные атаки – закономерность, которая была очевидна во всех категориях уязвимостей и которая говорила о том, что модели имитировали знакомые кодовые структуры, а не рассуждали о логике, связанной с ними (в случаях переполнения буфера, например, многие не смогли построить функционирующий NOP sled/slide).

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

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

Заключение

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

Авторы также признают, что более поздние и продвинутые ‘думующие’ модели, такие как GPT-o1 и DeepSeek-r1, которые не были доступны на момент проведения исследования, могут улучшить результаты, полученные в этом исследовании, и что это является еще одним указанием на необходимость будущей работы.

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

 

Опубликовано в понедельник, 5 мая 2025 года

Писатель о машинном обучении, специалист в области синтеза человеческого изображения. Бывший руководитель исследовательского контента в Metaphysic.ai, до его распада в DNEG's Brahma.ai.
Портфолио: martinanderson.ai
Контакт: martin@martinanderson.ai