За последние несколько лет большие языковые модели (LLM) привлекли пристальное внимание из-за потенциального злоупотребления в области наступательной кибербезопасности, особенно для создания вредоносного кода.
Недавняя тенденция к «вайб-кодингу» возродила концепцию, достигшую пика в 2000-х годах: «скрипт-кидди» – относительно неквалифицированных злоумышленников с минимальными знаниями, достаточными для воспроизведения или разработки вредоносных атак. Естественно предположить, что когда порог входа снижается, угрозы начинают множиться.
Все коммерческие LLM имеют защитные механизмы против использования в злонамеренных целях, хотя эти меры постоянно подвергаются атакам. Большинство моделей с открытым исходным кодом также выпускаются с аналогичной защитой, обычно для соответствия нормативным требованиям.
Однако сообщества пользователей регулярно дорабатывают официальные релизы моделей для получения более полной функциональности или используют LoRA для обхода ограничений и потенциального получения «нежелательных» результатов.
Хотя большинство онлайн-LLM не позволяют помогать пользователю с вредоносными процессами, существуют «нефильтрованные» инициативы, такие как WhiteRabbitNeo, помогающие исследователям безопасности действовать на равных условиях со своими оппонентами.
В новом исследовании от UNSW Sydney и CSIRO под названием «Хорошие новости для скрипт-кидди? Оценка больших языковых моделей для автоматизированной генерации эксплойтов» представлена первая систематическая оценка того, насколько эффективно эти модели могут создавать работающие эксплойты при правильных запросах.
Исследование сравнивает, как модели работали с оригинальными и модифицированными версиями известных лабораторий уязвимостей, помогая выявить, полагались ли они на запомненные примеры или испытывали трудности из-за встроенных ограничений безопасности.
Для проверки того, насколько LLM могут быть подтолкнуты к созданию работающих эксплойтов, авторы создали контролируемую среду, используя пять лабораторий из SEED Labs, каждая из которых построена на известных уязвимостях, включая переполнение буфера, return-to-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 процентов соответственно по пяти категориям уязвимостей: переполнение буфера, return-to-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 нагрузки часто включали неправильное заполнение или неправильно размещенные адреса функций, что приводило к результатам, которые выглядели действительными, но были непригодны для использования.
Хотя авторы описывают эту интерпретацию как спекулятивную, последовательность ошибок предполагает более широкую проблему, в которой модели не могут связать шаги эксплойта с их предполагаемым эффектом.
Исследование делает вывод, что большинство протестированных моделей могли бы создать работающие эксплойты, если бы они были способны на это. Их неспособность генерировать полностью функциональные выходные данные, по-видимому, не является результатом защитных механизмов, а указывает на реальное архитектурное ограничение — то, которое может уже быть уменьшено в более новых моделях или скоро будет.
При этом исследователи подтверждают, что в будущих итерациях этого исследования они хотели бы работать с реальными эксплойтами из мира; действительно новый и недавний материал с меньшей вероятностью будет подвержен «коротким путям» или другим запутывающим эффектам.
Источник
Источник новости: habr.com