Пожалуйста, обратите внимание, что пользователь заблокирован
DeGPT: Optimizing Decompiler Output with LLM
Описание
Обратное проектирование имеет важное значение для анализа вредоносных программ, обнаружения уязвимостей и т. д. Декомпиляторы помогают обратному проектированию, переводя сборку на язык программирования высокого уровня, что значительно повышает понимание двоичного кода. Однако декомпиляторы страдают от таких проблем, как бессмысленные имена переменных, избыточные переменные и отсутствие комментариев, описывающих назначение кода. Предыдущие исследования показали многообещающую производительность при уточнении результатов декомпилятора путем обучения моделей на огромных наборах данных, содержащих различные выходные данные декомпилятора. Однако даже наборы данных, создание которых занимает много времени, охватывают ограниченное количество двоичных файлов в реальном мире. Производительность сильно снижается при двоичной миграции.
В этой статье мы представляем DeGPT, комплексную структуру, призванную оптимизировать выходные данные декомпилятора, чтобы улучшить его читаемость и простоту, а также помочь разработчикам обратного проектирования лучше понять двоичные файлы. Модель большого языка (LLM) может смягчить снижение производительности благодаря своим исключительным возможностям, обеспечиваемым большим размером модели и обучающим набором, содержащим богатые мультимодальные данные. Однако его потенциал сложно раскрыть за один раз. Таким образом, мы предлагаем трехролевой механизм, который включает в себя рефери (R_ref), советника (R_adv) и оператора (R_ope), чтобы адаптировать LLM к нашим задачам оптимизации. В частности, R_ref предоставляет схему оптимизации для выходных данных целевого декомпилятора, в то время как R_adv предоставляет меры по исправлению на основе этой схемы, а R_ope проверяет, меняет ли оптимизация исходную семантику функции, и выносит окончательный вердикт о том, следует ли принимать оптимизацию. Мы оцениваем DeGPT на наборах данных, содержащих результаты декомпиляции различного программного обеспечения, такого как практические инструменты командной строки, вредоносные программы, библиотеки для обработки звука и реализации алгоритмов. Результаты эксперимента показывают, что даже на выходе текущего декомпилятора верхнего уровня (Ghidra) DeGPT может снизить когнитивную нагрузку на понимание результатов декомпилятора на 24,4% и предоставить комментарии, из которых 62,9% могут предоставить практическую семантику для реверс-инженеров. чтобы помочь в понимании двоичных файлов. Наши опросы пользователей также показывают, что оптимизации могут значительно упростить код и добавить полезную семантическую информацию (имена переменных и комментарии), способствуя быстрому и точному пониманию двоичного файла.
DeGPT: Optimizing Decompiler Output with LLM - NDSS Symposium
www.ndss-symposium.org
Подробнее тут
Исходники
GitHub - PeiweiHu/DeGPT: (NDSS 2024) Optimizing Decompiler Output with LLM
(NDSS 2024) Optimizing Decompiler Output with LLM. Contribute to PeiweiHu/DeGPT development by creating an account on GitHub.