跳到主要内容
10.1145/3611643.3616301acm会议文章/章节视图摘要出版物页面fse公司会议记录会议集合
研究论文
开放式访问

PEM:通过概率执行模型表示用于相似性分析的二进制程序语义

出版:2023年11月30日 出版历史
  • 获取引文提醒
  • 摘要

    二进制相似性分析确定两个二进制可执行文件是否来自同一源程序。现有技术利用静态和动态程序功能,并可能利用先进的深度学习技术。尽管他们已经展示了巨大的潜力,但社区相信,更有效的程序语义表示可以进一步改进相似性分析。本文提出了一种表示二进制程序语义的新方法。它基于一种新型的概率执行引擎,能够对主题二进制文件的输入空间和程序路径空间进行有效采样。更重要的是,它确保了所收集的样本在二进制文件中具有可比性,从而解决了输入规范的实质性变化。我们对9个具有35k功能的真实项目进行了评估,并与6种最先进的技术进行了比较,结果表明,在普通设置下,PEM可以达到96%的精度,比基线高出10-20%。

    补充材料

    视频 (fse23main-p539-p-video.mp4)
    “P4是软件定义网络(SDN)的主流语言数据平面。与以前的SDN协议相比,P4具有目标相关性、可行性和可配置性。然而,P4程序中可能会出现逻辑错误,导致数据包处理不当,从而可能导致严重的网络错误和信息泄漏。此外,P4程序包含许多分支,因此更难确保正确性。形式验证是一种验证P4程序正确性的强大技术。不幸的是,当前的P4验证研究缺乏基本的工具链,并且它们的中间语言表达能力不足。我们提出了P4b,一个从P4程序到Boogie的高效翻译程序,一个面向验证的中间表示。我们提供正式的翻译规则以确保翻译过程的正确性。翻译后的结果可以通过Boogie的工具链进行验证。我们对从GitHub收集到的170个P4程序进行了实验,实验结果表明我们的翻译器是实用的。屏幕广播可在以下网址获得:https://youtu.be/8_rEj3QFQeM。该工具位于https://github.com/Invincibleyc/P4B-译者。"

    工具书类

    [1]
    2022.了解体系结构-AArch64指令集体系结构。https://developer.arm.com/documentation/102374/latest/
    [2]
    Daniel Arp、Erwin Quiring、Feargus Pendlebury、Alexander Warnecke、Fabio Pierazzi、Christian Wressneger、Lorenzo Cavallaro和Konrad Rieck。2020年计算机安全中机器学习的注意事项。CoRR,abs/2010.09470(2020),arXiv:2010.09470。arxiv:2010.09470年
    [3]
    Tiffany Bao、Jonathan Burket、Maverick Woo、Rafael Turner和David Brumley。2014.BYTEWEIGHT:学习识别二进制代码中的函数。第23届USENIX安全研讨会(USENIX-Security 14)。845–860.
    [4]
    Leyla Bilge、Davide Balzarotti、William Robertson、Engin Kirda和Christopher Kruegel。2012.披露:通过大规模网络流分析检测僵尸网络命令和控制服务器。第28届年度计算机安全应用会议论文集。
    [5]
    2022.酶动力学BinDiff。https://www.zynamics.com/bindiff.html
    [6]
    Dong-Kyu Chae、Jiwoon Ha、Sang-Wook Kim、BooJoong Kang和Eul Gyu Im。2013.软件剽窃检测:基于图形的方法。第22届ACM信息与知识管理国际会议论文集。1577–1580.
    [7]
    Mahinthan Chandramohan、Yinxing Xue、Zhengzi Xu、Yang Liu、Chia Yuan Cho和Hee Beng Kuan Tan。2016.BinGo:跨架构跨OS二进制搜索。2016年FSE。计算机械协会,美国纽约州纽约市678–689。编号:9781450342186https://doi.org/10.1145/2950290.2950350
    [8]
    2022.Coreutils-GNU核心实用程序。https://www.gnu.org/software/coreutils/
    [9]
    Yaniv David、Nimrod Partush和Eran Yahav。2016年,二进制的统计相似性。第37届ACM SIGPLAN编程语言设计与实现会议记录(PLDI’16)。计算机械协会,美国纽约州纽约市266–280。国际标准化组织:9781450342612https://doi.org/10.1145/2908080.2908126
    [10]
    史蒂芬·H·H·丁(Steven H.H.Ding)、本杰明·C·M·冯(Benjamin C.M.Fung)和菲利普·查兰德(Philippe Charland)。2019.Asm2Vec:针对代码混淆和编译器优化,提高二进制克隆搜索的静态表示鲁棒性。2019年IEEE安全与隐私研讨会(SP)。472–489. https://doi.org/10.109/SP.2019.00003
    [11]
    岳端、李学子祥、王京翰和尹恒。DeepBinDiff:学习二进制差异的程序级代码表示。https://doi.org/10.14722/ndss.2020.24311
    [12]
    Manuel Egele、Maverick Woo、Peter Chapman和David Brumley。2014.一揽子执行:程序二进制文件和组件的动态相似性测试。第23届USENIX安全研讨会(SEC’14)会议记录。美国USENIX协会303–317。编号:9781931971157
    [13]
    钱峰、周润东、徐成成、姚成、布莱恩·泰斯塔和恒银。2016.固件映像的可缩放图形错误搜索。2016年ACM SIGSAC计算机和通信安全会议记录。480–491.
    [14]
    Yanick Fratantonio、Antonio Bianchi、William Robertson、Engin Kirda、Christopher Kruegel和Giovanni Vigna。2016年,触发示波器:致力于检测android应用程序中的逻辑炸弹。2016年IEEE安全与隐私(SP)研讨会。
    [15]
    高建、杨欣、傅莹、姜瑜和孙嘉光。2018年。VulSeeker:基于语义学习的跨平台二进制漏洞搜索器。美国纽约州纽约市计算机协会896–899。编号:9781450359375https://doi.org/10.1145/3238147.3240480
    [16]
    胡彦祖、张彦祖、李俊杰、王浩、李斌和顾德华。2018年。BinMatch:基于语义的二进制代码克隆分析混合方法。2018年IEEE国际软件维护与发展会议(ICSME)。IEEE计算机学会,美国加利福尼亚州洛斯阿拉米托斯104–114。https://doi.org/10.109/ICSME.2018.00019
    [17]
    N.L.Johnson和S.Kotz。1972.统计学中的分布:连续多元分布。约翰·威利,纽约,纽约。
    [18]
    亚历山德罗斯·卡普雷夫洛斯(Alexandros Kapravelos)、克里斯·格里尔(Chris Grier)、尼哈·查赫拉(Neha Chachra)、克里斯托弗·克鲁格尔(Christopher Kruegel)、乔瓦尼·维格纳(Giovanni Vigna)和。2014.绿巨人:在浏览器扩展中引发恶意行为。第23届USENIX安全研讨会(USENIX-Security 14)。
    [19]
    Chariton Karamitas和Athanasios Kehagias。2018.二进制可执行文件之间函数匹配的高效功能。2018年IEEE第25届软件分析、进化和重组国际会议(SANER)。335–345. https://doi.org/10.1109/SANER.2018.8330221
    [20]
    Ulf Kargén和Nahid Shahmehri,2017年。二进制代码的健壮指令级跟踪对齐。2017年第32届IEEE/ACM国际自动化软件工程会议(ASE)。342–352. https://doi.org/10.1109/ASE.2017.8115647
    [21]
    阿明·哈拉兹(Amin Kharraz)、威廉·罗伯逊(William Robertson)、大卫德·巴尔扎罗蒂(Davide Balzarotti)、莱拉·比尔奇(Leyla Bilge)和Engin Kirda。2015年,解决棘手的问题:勒索软件攻击背后的一幕。在入侵和恶意软件检测及脆弱性评估国际会议上。
    [22]
    Dongkwan Kim、Eunsoo Kim、Sang Kil Cha、Sooel Son和Yongdae Kim。2022.使用可解释特征工程和经验教训重新审视二进制代码相似性分析。IEEE软件工程汇刊,1–23。https://doi.org/10.109/TSE.2022.3187689
    [23]
    Geunwoo Kim、Sanghyun Hong、Michael Franz和Dokyung Song。2022.通过图形对齐使用表示学习改进跨平台二进制分析。第31届ACM SIGSOFT国际软件测试与分析研讨会(ISSTA 2022)会议记录。计算机协会,美国纽约州纽约市151–163。编号:9781450393799https://doi.org/10.1145/3533767.3534383
    [24]
    李宇佳、顾晨杰、托马斯·杜利恩、黄鹂酒和普希米特·科利。2019.用于学习图形结构对象相似性的图形匹配网络。CoRR,abs/1904.12787(2019),arXiv:1904.12787。arxiv:1904.12787年
    [25]
    刘炳昌、魏火、张超、李文超、李凤、朴爱华和邹伟。2018.aDiff:使用DNN进行交叉版本二进制代码相似性检测。计算机械协会,美国纽约州纽约市,667–678。编号:9781450359375https://doi.org/10.1145/3238147.3238199
    [26]
    2022.llvm项目。https://github.com/llvm/llvm-project/blob/release/12.x/llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    [27]
    罗兰南、蒋明、吴定浩、刘鹏和朱森存。2017.基于语义的模糊处理-弹性二进制代码与软件和算法剽窃检测应用程序的相似性比较。IEEE软件工程学报,43,12(2017),1157–1177。https://doi.org/10.109/TSE.2017.2655046
    [28]
    Andrea Marcelli、Mariano Graziano、Xabier Ugarte Pedrero、Yanick Fratantonio、Mohamad Mansouri和Davide Balzarotti。2022.机器学习是如何解决二元函数相似性问题的。在2022年8月10日至12日于美国马萨诸塞州波士顿举行的USENIX 2022年第31届USENIX-安全研讨会上,USENIX(编辑)。波士顿。
    [29]
    Ehsan Mashhadi和Hadi Hemmati。2021.应用CodeBERT自动修复Java简单错误。CoRR,abs/2103.11626(2021),arXiv:2103.11626。arxiv公司:2103.11626
    [30]
    卢卡·马萨雷利、朱塞佩·安东尼奥·迪卢纳、法比奥·彼得罗尼、莱昂纳多·奎尔佐尼和罗伯托·巴尔多尼。2018.SAF:用于二进制相似性的自关注函数嵌入。https://doi.org/10.48550/ARXIV.1811.05296
    [31]
    裴可欣、周璇、杨俊峰、苏曼·贾纳和白沙基·雷。2020年,Trex:从二进制相似性的微跟踪中学习执行语义。https://doi.org/10.48550/ARXIV.2012.08680
    [32]
    Fei Peng、Zui Deng、Xiangyu Zhang、Dongyan Xu、Zhiqiang Lin和Zhendong Su.2014年。X-Force:强制执行安全应用程序的二进制程序。第23届USENIX安全研讨会(SEC’14)会议记录。美国USENIX协会,美国829–844。编号:9781931971157
    [33]
    Jannik Pewny、Behrad Garmany、Robert Gawlik、Christian Rossow和Thorsten Holz。2015.二进制可执行文件中的跨体系结构错误搜索。2015年IEEE安全与隐私研讨会。709–724. https://doi.org/10.109/SP.2015.49
    [34]
    Jannik Pewny、Felix Schuster、Lukas Bernhard、Thorsten Holz和Christian Rossow。2014.利用语义签名在二进制程序中搜索错误。第30届计算机安全应用年会(ACSAC’14)会议记录。计算机械协会,美国纽约州纽约市406–415。编号:9781450330053https://doi.org/10.1145/2664243.2664269
    [35]
    2023.通用开源机器模拟器和虚拟机。https://www.qemu.org
    [36]
    任晓磊、何朝晖、江明、于磊和李丽。2021年。释放编译器优化对二进制代码差异的潜在影响:一项实证研究。美国纽约州纽约市计算机机械协会142–157。编号:9781450383912https://doi.org/10.1145/3453483.3454035
    [37]
    Seemanta Saha、Mara Downing、Tegan Brennan和Tevfik Bultan。2022.PREACH:概率可达性的启发式方法,用于识别难以到达的语句。2022年,IEEE/ACM第44届国际软件工程会议(ICSE)。1706–1717. https://doi.org/10.1145/3510003.3510227
    [38]
    Hitesh Sajnani、Vaibhav Saini、Jeffrey Svajlenko、Chanchal K.Roy和Cristina V.Lopes。2016年,SourcererCC:将代码克隆检测扩展到大代码。2016年IEEE/ACM第38届国际软件工程会议(ICSE)。1157–1168. https://doi.org/10.1145/2884781.2884877
    [39]
    Ridwan Salihin Shariffdeen、Shin Hwei Tan、Mingyuan Gao和Abhik Roychoudhury。2021.自动补丁移植。ACM事务处理。柔和。工程方法。,30,1(2021),第6条,12月,36页。发行编号:1049-331Xhttps://doi.org/10.1145/3412376
    [40]
    尤伊·丘尔·理查德·申(Eui Chul Richard Shin)、黎明之歌(Dawn Song)和雷扎·莫阿泽齐(Reza Moazezi)。2015.用神经网络识别二进制函数。第24届USENIX安全研讨会(USENIX-Security 15)。611–626.
    [41]
    阿什什·瓦斯瓦尼(Ashish Vaswani)、诺姆·沙泽尔(Noam Shazeer)、尼基·帕尔玛(Niki Parmar)、雅各布·乌斯科雷特(Jakob Uszkoreit)、利昂·琼斯(Llion Jones)、艾丹·戈麦斯(Aidan N.Gomez)、卢卡斯·凯泽(Lukas。2017年。关注是你所需要的。CoRR,abs/1706.03762(2017),arXiv:1706.03762。阿西夫:1706.03762
    [42]
    安德鲁·沃克(Andrew Walker)、托马斯·塞尔尼(Tomas Cerny)和恩格尔·宋(Eungee Song)。2020年。代码克隆检测的开源工具和基准:过去、现在和未来趋势。SIGAPP申请。计算。第19、4版(2020年),1月28日至39日。发行编号:1559-6915https://doi.org/10.1145/3381307.3381310
    [43]
    王帅和吴丁浩。2017.二进制代码相似性分析的内存模糊。第32届IEEE/ACM自动化软件工程国际会议论文集(ASE 2017)。IEEE出版社,319–330。国际标准号码:9781538626849
    [44]
    Xiangzhe Xu、Shiwei Feng、Yapeng Ye、Guangyu Shen、Zian Su、Siyuan Cheng、Guanhong Tao、Qingkai Shi、Zhoo Zhang和Xiangyu Zhang。2023.通过语义驱动的指令去加重来改进二进制代码相似性变换器模型。第32届ACM SIGSOFT国际软件测试与分析研讨会(ISSTA 2023)会议记录。计算机械协会,美国纽约州纽约市,1106–1118。编号:9798400702211https://doi.org/10.1145/3597926.3598121
    [45]
    徐晓军、刘畅、钱峰、恒音、乐松和黎明松。2017.基于神经网络的图形嵌入,用于跨平台二进制代码相似性检测。2017年ACM SIGSAC计算机和通信安全会议记录。ACM公司。https://doi.org/10.1145/3133956.3134018
    [46]
    徐向哲、周璇、冯世伟、程思源、叶亚鹏、石庆凯、陶冠宏、乐余、张卓瑜和张向瑜。2023年PEM。https://github.com/XZ-X/PEM.git
    [47]
    徐向哲、周璇、冯世伟、程思远、叶亚鹏、石庆凯、陶冠宏、乐宇、张卓和张向宇。PEM:通过概率执行模型表示二进制程序语义进行相似性分析。arxiv:2308.15449。
    [48]
    Xi Xu、郑庆华、范铭、贾昂和刘婷。2021.基于多级胎记模型的支持解释的软件重用检测。873–884. https://doi.org/10.109/ICSE43902.2021.00084
    [49]
    徐正子、陈碧欢、马欣丹、杨柳、傅松。2017年,西班牙:为了解疼痛和药物而进行的二进制安全补丁分析。2017年IEEE/ACM第39届国际软件工程会议(ICSE)。462–472. https://doi.org/10.109/ICSE.2017.49
    [50]
    贾阳、蔡富、刘晓阳、尹恒和潘舟。2022.代码:二进制代码搜索的张量嵌入方案。IEEE软件工程学报,48,7(2022),2224-2244。https://doi.org/10.109/TSE.2021.3056139
    [51]
    魏友、张卓、权永伟、尤斯拉·艾弗、费鹏、于实、卡森·哈蒙和张湘玉。2020年PMP:采用概率记忆预规划的成本效益强制执行。2020年IEEE安全与隐私研讨会(SP)。1121–1138. https://doi.org/10.109/SP40000.2020.00035
    [52]
    俞泽平、曹睿、唐启毅、聂森、黄军舟、施武。2020年。订单事项:用于二进制代码相似性检测的语义软件神经网络。《AAAI人工智能会议论文集》,34,01(2020),1145-1152年4月。https://doi.org/10.1609/aaai.v34i01.5466
    [53]
    张翔宇、尼拉姆·古普塔和拉吉夫·古普塔。2006.通过自动谓词切换定位故障。第28届国际软件工程会议(ICSE’06)论文集。计算机械协会,美国纽约州纽约市272–281。国际标准化组织:1595933751https://doi.org/10.1145/1134285.1134324
    [54]
    Zhoo Zhang、Yapeng Ye、Wei You、Guanhong Tao、Wen-Chuan Lee、Yonghwi Kwon、Yousra Aafer和Xiangyu Zhang。2021.OSPREY:通过剥离二进制的概率分析恢复变量和数据结构。第42届IEEE安全与隐私研讨会,SP 2021,美国加利福尼亚州旧金山,2021年5月24日至27日。IEEE,813–832。https://doi.org/10.109/SP40001.2021.00051
    [55]
    Zhoo Zhang、Wei You、Guanhong Tao、Guannan Wei、Yonghwi Kwon和Xiangyu Zhang。2019.BDA:通过无偏全程序路径采样和逐路径抽象解释对二进制可执行文件进行实际相关性分析。程序。ACM计划。Lang.,3,OOPSLA(2019),137:1–137:31。https://doi.org/10.1145/3360563

    索引术语

    1. PEM:通过概率执行模型表示用于相似性分析的二进制程序语义

      建议

      评论

      信息和贡献者

      问询处

      发布于

      封面图片ACM会议
      ESEC/FSE 2023:第31届ACM联合欧洲软件工程会议和软件工程基础研讨会会议记录
      2023年11月
      2215页
      国际标准图书编号:9798400703270
      DOI(操作界面):10.1145/3611643
      本作品根据Creative Commons Attribution International 4.0许可证授权。

      赞助商

      出版商

      计算机协会

      美国纽约州纽约市

      出版历史

      出版:2023年11月30日

      权限

      请求对此文章的权限。

      检查更新

      徽章

      作者标记

      1. 二元相似性分析
      2. 项目分析

      限定符

      • 研究文章

      资金来源

      • DARPA VSPELLS公司
      • IARPA特洛伊
      • 国家科学基金会
      • 安大略省

      会议

      ESEC/FSE’23
      赞助商:
      ESEC/FSE’23:第31届ACM联合欧洲软件工程会议和软件工程基础研讨会
      2023年12月3日至9日
      加利福尼亚州,旧金山,美国

      接受率

      总体接受率543份提交文件中的112份,21%

      即将召开的会议

      24年
      第32届ACM国际软件工程基础会议
      2024年7月15日至19日
      伊波朱卡(伯南布哥),巴西

      贡献者

      其他指标

      文献计量学和引文

      文献计量学

      文章指标

      • 0
        引文总数
      • 183
        总下载次数
      • 下载次数(过去12个月)183
      • 下载次数(最近6周)34

      其他指标

      引文

      视图选项

      查看选项

      PDF格式

      以PDF文件查看或下载。

      PDF格式

      电子阅读器

      使用联机查看电子阅读器.

      电子阅读器

      获取访问权限

      登录选项

      完全访问权限

      媒体

      数字

      其他

      桌子

      分享

      分享

      共享此出版物链接

      在社交媒体上分享