×

PBDiff:基于神经网络的二进制程序范围的差异化方法。 (英语) 兹伯利07513281

概要:程序范围二进制代码差异化在二进制分析领域中得到了广泛的应用,例如漏洞检测。包括BinDiff和TurboDiff在内的成熟工具使用不同版本、优化级别和架构的严格比较基础进行程序范围的比较,导致比较结果相对不准确。在本文中,我们提出了一种基于神经网络模型的程序级二进制差异化方法,可以跨版本、优化级别和体系结构进行差异化。我们分析了四种不同粒度的目标比较文件,并根据粒度的不同,采用自顶向下和自底向上两种方法实现了比较。自顶向下的过程旨在缩小比较范围,根据调用关系选择可能相似的候选函数。在自下而上的过程中,应用神经网络模型将候选函数的语义特征矢量化为矩阵,并计算相似度得分以获得待比较函数之间的对应关系。自下而上的过程提高了比较准确性,而自上而下的过程保证了效率。我们已经实现了一个原型PBDiff,并验证了其与最先进的BinDiff、Asm2vec和TurboDiff相比具有更好的性能。通过对真实固件文件中差异化和漏洞检测的案例研究,进一步说明了PBDiff的有效性。

MSC公司:

68倍 计算机科学

软件:

EMD公司github
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Synopsys 2020开源安全与风险分析报告,2020年。可从以下地址获得:<a href=“https://www.synopsys.com/software-integrity/resources/analyst-reports/2020-open-source-security-risk-analysis.html?cmp=pr-sig“target=”_blank“>https://www.synopsys.com/software-integrity/resources/analyst-reports/2020-open-source-security-risk-analysis.html?cmp=pr-信号</a>。
[2] 2020年,通过二进制分析消除第三方代码中的漏洞。可从以下地址获得:<a href=“https://codesonar.grammatech.com/eliminating-vulnerabilities-in-third-party-code-with-binary-analysis网站“target=”_blank“>https://codesonar.grammatech.com/eliminating-vulnerabilities-in-third-party-code-with-binary-analysis网站</a>。
[3] 分解mirai:2020年的bit ddos僵尸网络。可从以下地址获得:<a href=“https://www.imevea.com/blog/malware-analysis-mirai-ddos-botnet/“target=”_blank“>https://www.imevea.com/blog/malware-analysis-mirai-ddos-botnet/</a>。
[4] 迪帕拉,2020年。可从以下地址获得:<a href=“https://github.com/joxeankoret/diapora网站“target=”_blank“>https://github.com/joxeankoret/defora网站</a>。
[5] Zynamics bindiff,2020年。可从:<a href=“https://www.zynamics.com/bindiff.html“target=”_blank“>https://www.zynamics.com/bindiff.html</a>。
[6] Turbodiff,2020,可从<a href=“https://www.coresecurity.com/core-labs/open-source-tools/turbodiff-cs“target=”_blank“>https://www.coresecurity.com/core-labs/open-source-tools/turbodiff-cs</a>。
[7] Q.Feng,R.Zhou,C.Xu,Y.Cheng,B.Testa,H.Yin,固件图像的可缩放图形错误搜索,《2016年ACM SIGSAC计算机和通信安全会议论文集》,ACM,(2016),480-491<a href=“https://doi.org/10.1145/2976749.2978370“target=”_blank“>https://doi.org/10.1145/2976749.2978370</a>
[8] X.Xu,C.Liu,Q.Feng,H.Yin,L.Song,D.Song,基于神经网络的图形嵌入用于跨平台二进制代码相似性检测,收录于《2017年ACM SIGSAC计算机与通信安全会议论文集》,ACM,(2017),363-376<a href=“https://doi.org/10.1145/3133956.3134018“target=”_blank“>https://doi.org/10.1145/3133956.3134018</a>
[9] J.Gao,X.Yang,Y.Fu,Y.Jiang,J.Sun,Vulseeker:一种基于语义学习的跨平台二进制漏洞探索者,载于《第33届ACM/IEEE自动化软件工程国际会议论文集》,ACM,(2018),896-899<a href=“https://doi.org/10.1145/3238147.3240480“target=”_blank“>https://doi.org/10.1145/3238147.3240480</a>
[10] K.Redmond,L.Luo,Q.Zeng,《自然语言的跨体系结构指令嵌入模型》,预印本,arXiv:1812.09652。
[11] Z.Yu,R.Cao,Q.Tang,S.Nie,J.Huang,S.Wu,《秩序问题:用于二进制代码相似性检测的语义感知神经网络》,《AAAI人工智能会议论文集》,(2020),1145-1152<a href=“https://doi.org/10.1609/aaai.v34i01.5466“target=”_blank“>https://doi.org/10.1609/aaai.v34i01.5466</a>
[12] Y.Bai,H.Ding,K.Gu,Y.Sun,W.Wang,通过多尺度卷积集匹配进行基于学习的高效图形相似性计算,《AAAI人工智能会议论文集》,(2020),3219-3226<a href=“https://doi.org/10.1609/aaai.v34i04.5720“target=”_blank“>https://doi.org/10.1609/aaai.v34i04.5720</a>
[13] Y.Duan,X.Li,J.Wang,H.Yin,Deepbindiff:学习二进制差分的程序代码表示,收录于《网络与分布式系统安全研讨会》,2020年。
[14] S.H.Ding,B.C.Fung,P.Charland,Asm2vec:针对代码混淆和编译器优化提高二进制克隆搜索的静态表示鲁棒性,收录于2019年IEEE安全与隐私(SP)研讨会,IEEE,(2019),472-489<a href=“https://doi.org/10.109/SP.2019.00003“target=”_blank“>https://doi.org/10.109/SP.2019.00003</a>
[15] Z、 Codecmr:用于功能级二进制源代码匹配的跨模式检索,高级神经信息处理。系统。,33 (2020)
[16] Y.Rubner,C.Tomasi,L.J.Guibas,图像数据库应用的分布度量,第六届国际计算机视觉会议(IEEE分类号98CH36271),IEEE,(1998),59-66<a href=“https://doi.org/10.109/ICCV.1998.710701“target=”_blank“>https://doi.org/10.109/ICCV.1998.710701</a>
[17] D、 构造过程调用多重图,IEEE Trans。软件工程,16,483-487(1990)·doi:10.1109/32.54302
[18] U.P.Khedker,A.Sanyal,B.Karkare,《数据流分析:理论与实践》,CRC出版社,(2017)<a href=“https://doi.org/10.10201/9780849332517“target=”_blank“>https://doi.org/10.1201/9780849332517</a>·Zbl 1168.68010号
[19] L.Yu,Y.Shen,Z.Pan,基于渗流的函数调用网络结构分析,收录于《2018年第八届国际仪器仪表、计算机、通信与控制会议》,IEEE,(2018),350-354<a href=“https://doi.org/10.1109/IMCC.2018.0080“target=”_blank“>https://doi.org/10.109/IMCCC.2018.00080</a>
[20] R.Kiros,Y.Zhu,R.R.Salakhutdinov,R.Zemel,R.Urtasun,A.Torralba等人,《高级神经信息处理》中的跳过思维向量。系统</i> ,(2015),3294-3302。
[21] T.N.Kipf,M.Welling,变分图自动编码器,预打印,arXiv:1611.07308。
[22] J、 使用暹罗时间延迟神经网络进行签名验证,实习生。J.模式识别。Artif公司。智力。,7, 669-688 (1993) ·doi:10.1142/S021801493000339
[23] H.Flake,可执行对象的结构比较,摘自《入侵和恶意软件检测与漏洞评估》,DIMVA,(2004),161-173。
[24] D.Gao,M.K.Reiter,D.Song,《自动查找二进制程序中的语义差异》,收录于《信息与通信安全国际会议》,Springer,(2008),238-255<a href=“https://doi.org/10.1007/978-3-540-88625-9_16“target=”_blank“>https://doi.org/10.1007/978-3-540-88625-9_16</a>
[25] J.Ming,M.Pan,D.Gao,ibinhunt:《带过程间控制流的二进制搜索》,摘自《信息安全与密码学国际会议》,Springer(2012),92-109<a href=“https://doi.org/10.1007/978-3-642-37682-5-8“target=”_blank“>https://doi.org/10.1007/978-3-642-37682-5-8</a>
[26] Y、 可执行文件中基于Tracelet的代码搜索,Acm Sigplan Not。,49, 349-360 (2014) ·数字对象标识代码:10.1145/2666356.2594343
[27] L.Nouh,A.Rahimian,D.Mouheb,M.Debbabi,A.Hanna,Binsign:支持代码可执行文件自动分析的指纹二进制函数,收录于IFIP ICT系统安全和隐私保护国际会议,Springer,(2017),341-355<a href=“https://doi.org/10.1007/978-3-319-58469-0-23“target=”_blank“>https://doi.org/10.1007/978-3-319-58469-0-23</a>
[28] J.Pewny,B.Garmany,R.Gawlik,C.Rossow,T.Holz,二进制可执行文件中的跨体系结构错误搜索,收录于2015年IEEE安全与隐私研讨会,IEEE,(2015),709-724<a href=“https://doi.org/10.109/SP.2015.49“target=”_blank“>https://doi.org/10.109/SP.2015.49</a>
[29] A.J.P.Tixier,G.Nikolentzos,P.Meladianos,M.Vazirgiannis,用二维卷积神经网络进行图形分类,收录于《国际人工神经网络会议》,Springer,(2019),578-593<a href=“https://doi.org/10.1007/978-3-030-30493-5-54“target=”_blank“>https://doi.org/10.1007/978-3-030-30493-5-54</a>
[30] L.Wang,B.Zong,Q.Ma,W.Cheng,J.Ni,W.Yu,et al.,图结构对象的归纳和无监督表征学习,《学习表征国际会议》,2020年。
[31] S.Liu,M.F.Demirel,Y.Liang,N-图:图的简单无监督表示,及其在分子上的应用,预印本,arXiv:1806.09206。
[32] Y.Li,C.Gu,T.Dullien,O.Vinyals,P.Kohli,用于学习图形结构对象相似性的图形匹配网络,收录于国际机器学习会议,PMLR,(2019),3835-3845。
[33] R.Wang,J.Yan,X.Yang,学习用于深度图匹配的组合嵌入网络,《IEEE/CVF计算机视觉国际会议论文集》,(2019),3056-3065。
[34] B.Jiang,P.Sun,J.Tang,B.Luo,Glmnet:用于特征匹配的图形学习匹配网络,预打印,arXiv:1911.07681。
[35] H.Zhang,Z.Qian,《二进制文件的精确和准确补丁存在测试》,第27届USENIX安全研讨会,(2018),887-902。
[36] S.C.Wang,C.L.Liu,Y.Li,W.Y.Xu,Semdiff:基于angr的二进制程序中的表面差异,收录于ITM Web of Conferences(2017),03029<a href=“https://doi.org/10.1051/itmconf/20171203029“target=”_blank“>https://doi.org/10.1051/itmconf/20171203029</a>
[37] C.Yang,Z.Liu,D.Zhao,M.Sun,E.Chang,富文信息网络表征学习,第二十届国际人工智能联合会议,(2015),2111-2117。
[38] F.Zuo,X.Li,P.Young,L.Luo,Q.Zeng,Z.Zhang,神经机器翻译启发的二进制代码相似性比较超越函数对,预印本,arXiv:1808.04706。
[39] S、 Sigma:一种语义集成图匹配方法,用于识别二进制代码中的重用函数,Digital Invest。,12,S61-S71(2015)·doi:10.1016/j.diin.2015.01.011
[40] R、 使用深度神经网络定位二进制文件中的漏洞,Ieee Access,7134660-134676(2019)·doi:10.1109/ACCESS.2019.2942043
[41] Y、 基于语义的二进制代码相似性比较混合方法,IEEE Trans。软件工程,47,1241-1258(2021)·doi:10.1109/TSE.2019.2918326
[42] S.H.Ding,B.C.Fung,P.Charland,Kam1n0:基于Mapreduce的逆向工程装配克隆搜索,《第22届ACM SIGKDD国际知识发现和数据挖掘会议论文集》,(2016),461-470<a href=“https://doi.org/10.1145/2939672.2939719“target=”_blank“>https://doi.org/10.1145/2939672.2939719</a>
[43] Y.Li,J.Jang和X.Ou,用于有效控制流图相似性分析的拓扑感知散列,收录于通信系统安全与隐私国际会议,Springer,(2019),278-298<a href=“https://doi.org/10.1007/978-3-030-37228-6-14“target=”_blank“>https://doi.org/10.1007/978-3-030-37228-6-14</a>
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。