今天介绍由腾讯科恩实验室发表在AAAI 2020上的一篇文章。
链接:https://keenlab.tencent.com/en/whitepapers/Ordermatters.pdf
本文介绍了一个使用神经网络进行二进制代码相似度检测的工作。首先,对于二进制代码上基本块+控制流图的表示方式,作者首先提出了一个语义表示+结构表示(semantic-aware modeling, structural-aware modeling)的表示方法,对每一个基本块将其看成一个sentence,使用BERT对其训练以获得其向量表示,之后使用MPNN对整个CFG进行向量表示,并提出了四个task(masked language model task (MLM),adjacency node prediction task (ANP),block inside graph task (BIG),graph classification task (GC))对表示进一步优化。另外,作者还提出了CFG中控制结构的重要性,并使用CNN对CFG的邻接矩阵进行学习,并且这种节点的顺序信息也在实验中起到了很好的效果。