返回
Cross-Architecture Software Vulnerability Analysis in Binary Code
DOI:10.1109/tifs.2026.3723092.png)
摘要
En 中文
软件安全一直是工业界和学术界长期且突出的话题。然而,随着智能设备在各种架构上的部署日益增多,现在对跨架构软件的需求显著增加。例如,Heartbleed漏洞(CVE-2014-0160),被归类为CWE-125(越界读取),并在2014年披露于OpenSSL库中,是广泛部署的软件漏洞的一个典型例子,由于OpenSSL的广泛应用,该漏洞能够影响不同计算环境中的系统。更广泛地看,内存相关漏洞仍然是持续且重大的威胁,在近年报告的CVE中占相当大的比例。此外,在二进制代码上执行跨架构静态漏洞分析面临着特殊挑战,因为不同架构的指令集存在差异。在本文中,我们提出了一种名为BinCros的全新静态方法,用于在二进制代码中识别不同优化级别和CPU架构下的已知漏洞。它主要包括三个阶段:1)基于领域知识从二进制代码生成地面真实中间表示(IR)数据。为解决跨架构问题,我们考虑IR,它是一组较小的、低级指令,能够分解、描述并捕获来自标准架构(如x86、ARM和MIPS)的指令的所有效果;2)基于跨架构地面真实数据集学习良好嵌入。我们采用代码-代码学习方法来捕获语义差异并最大化易受攻击和非易受攻击样本之间的分布差异;3)基于高级特征表示构建预测模型。为证明BinCros的有效性,我们使用了一系列基线进行实验,包括基于单架构的技术、基于跨架构的技术等。实验结果表明,在几乎所有情况下,BinCros在F1度量上比基线至少高出15%。我们相信这项工作将启发其他研究人员考虑使用自然语言处理相关技术进行跨架构软件漏洞检测。
Keyword:
Software security
binary code
deep learning
期刊
IF:
8
论文数:
5.3K
被引数:
2.3W

