Beyond Embeddings: Interpretable Feature Extraction for Binary Code Similarity

2509.23449v1 cs.AI, cs.CR, cs.SE 2025-10-01
Авторы:

Charles E. Gagnon, Steven H. H. Ding, Philippe Charland, Benjamin C. M. Fung

Резюме на русском

#### Контекст Binary code similarity detection является основной задачей в области обратной инженерии. Она используется для обнаружения вредоносных программ и изъянов в программном обеспечении путем выявления похожих фрагментов кода в разных контекстах. Ранее, эта задача решалась с помощью применения ручного энгенджеринга функций. Однако, такие приемы оказались слишком грубыми и недостаточно эффективными. В последнее время, появились методы, основанные на использовании векторных представлений кода. Они демонстрируют значительно более высокую точность, однако остаются непонятными для пользователя и недостаточно универсальными. Наша мотивация заключается в создании метода, который объединит точность и прозрачность. #### Метод Мы предлагаем агент, основанный на языковой модели, для проведения структурированного анализа ассемблерного кода. Этот агент извлекает человекочитаемые признаки, такие как входные и выходные типы, побочные эффекты, заметные константы и алгоритмическое намерение. Эти признаки являются более широкомасштабными и адаптивными, чем машинно-читаемые вектора. Данный агент использует непосредственно код как входной материал для вычислений. Наш алгоритм представляет собой новую архитектуру, которая объединяет семантический анализ и глубокий обученный подход к извлечению признаков. #### Результаты Мы провели эксперименты на различных реальных датасетах, содержащих код с различными архитектурами и оптимизациями. Наши результаты показали, что метод получает высокий уровень точности при распознавании похожих фрагментов кода. Например, в задаче кросс-архитектурного сравнения, метод показал рекорд @1 42%, что на 3% выше показателей технологий, основанных на глубоком обучении. Для задачи кросс-оптимизации результат составил 62%, что значительно превосходит результаты существующих систем. Эти результаты также демонстрируют, что наш метод обеспечивает сопоставимую точность со существующими подходами, но при этом обеспечивает читаемость и интерпретируемость результатов. #### Значимость Метод, который мы предлагаем, может быть применен в различных сферах, таких как обнаружение вредоносных программ, выявление уязвимостей в программном обеспечении и анализ кода в области обратной инженерии. Одним из основных преимуществ нашего подхода является то, что он объединяет в себе три ключевых фактора: точность, общительность и универсальность. Это делает нашу технологию более универсальной и привлекательной для практического применения. Мы также видим потенциал для дальнейшего расширения и улучшения нашего подхода в будущем, через развитие яз

Abstract

Binary code similarity detection is a core task in reverse engineering. It supports malware analysis and vulnerability discovery by identifying semantically similar code in different contexts. Modern methods have progressed from manually engineered features to vector representations. Hand-crafted statistics (e.g., operation ratios) are interpretable, but shallow and fail to generalize. Embedding-based methods overcome this by learning robust cross-setting representations, but these representations are opaque vectors that prevent rapid verification. They also face a scalability-accuracy trade-off, since high-dimensional nearest-neighbor search requires approximations that reduce precision. Current approaches thus force a compromise between interpretability, generalizability, and scalability. We bridge these gaps using a language model-based agent to conduct structured reasoning analysis of assembly code and generate features such as input/output types, side effects, notable constants, and algorithmic intent. Unlike hand-crafted features, they are richer and adaptive. Unlike embeddings, they are human-readable, maintainable, and directly searchable with inverted or relational indexes. Without any matching training, our method respectively achieves 42% and 62% for recall@1 in cross-architecture and cross-optimization tasks, comparable to embedding methods with training (39% and 34%). Combined with embeddings, it significantly outperforms the state-of-the-art, demonstrating that accuracy, scalability, and interpretability can coexist.

Ссылки и действия