[论文解读] Towards Learning Representations of Binary Executable Files for Security Tasks.
本文提出一种基于图卷积神经网络(GCN)的方法,通过从二进制可执行文件的低层结构构建计算图,学习其分布式表示。该方法在两项不同的安全任务——算法分类与漏洞发现——上均取得了当前最优性能,优于强基线模型和先前方法。
Tackling binary analysis problems has traditionally implied manually defining rules and heuristics. As an alternative, we are suggesting using machine learning models for learning distributed representations of binaries that can be applicable for a number of downstream tasks. We construct a computational graph from the binary executable and use it with a graph convolutional neural network to learn a high dimensional representation of the program. We show the versatility of this approach by using our representations to solve two semantically different binary analysis tasks -- algorithm classification and vulnerability discovery. We compare the proposed approach to our own strong baseline as well as published results and demonstrate improvement on the state of the art methods for both tasks.
研究动机与目标
- 通过实现自动化、数据驱动的表征学习,解决基于规则和启发式方法在二进制分析中的局限性。
- 开发一种适用于多种二进制安全任务的通用表征学习框架。
- 通过学习到的嵌入表示,提升二进制分析任务(如算法分类和漏洞发现)的性能。
- 展示基于图的表示在捕捉二进制文件语义与结构特征方面的通用性与有效性。
提出的方法
- 利用低层程序结构(如指令和控制流)从二进制可执行文件构建计算图。
- 应用图卷积神经网络(GCN)从计算图中学习高维分布式表示。
- 将学习到的表示作为下游二进制分析任务的输入特征。
- 端到端训练GCN以优化下游任务的性能。
- 利用GCN的结构归纳偏差,捕捉二进制代码中的语义与语法关系。
实验结果
研究问题
- RQ1基于图的神经网络能否有效学习二进制可执行文件的有意义表示?
- RQ2这些学习到的表示能否在多种多样的二进制分析任务中泛化?
- RQ3与基于规则和启发式的方法相比,该方法在准确性和鲁棒性方面表现如何?
- RQ4这些表示在算法分类与漏洞发现任务上的性能提升程度如何?
主要发现
- 所提出的基于GCN的方法在算法分类任务上取得了当前最优性能,优于先前方法。
- 与已发表的基线相比,该方法在漏洞发现任务上表现出显著改进。
- 学习到的表示在语义不同的二进制分析任务中均表现出有效性。
- 该方法在两项评估任务中均优于一个强大的定制基线模型。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。