背景
- 二进制代码相似性检测,其目的是在不访问源代码的情况下检测相似的二进制函数,是计算机安全的一项基本任务。
- 利用二进制代码的流程图来构建代码的语义的提取。
- 使用NLP模型提取二进制代码语义信息,tokens=word,块=句子。
- 本文贡献:
- 提出通用框架学习CFG的图嵌入,可以学习语义信息,结构信息和顺序信息。
- 语义感知建模使用BERT对带有掩码1语言模型任务和相邻节点预测的token和块的嵌入进行预训练。
- 顺序感知建模中,节点顺序有用,在邻接矩阵上采用CNN模型提取CFG的节点顺序信息。
- 四个数据集对两个任务(图的块包含和图的块分类)的实验表明,本模型性能更好。
正文
- 语义感知建模–BERT模型
- 可以处理4种任务类型
- 跨平台
- 跨级(tocken、块、图形)
- 完全基于CFG图
- 结构感知建模
- MPNN+全连接+GRU+全连接
- 顺序感知模型
- CNN模型可以学习节点顺序信息的准确性
- 也可适应不同大小的图
- 11个resnet