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.
Ссылки и действия
Дополнительные ресурсы: