本文研究的是二进制差异分析(binary diffing),该技术用于检测两段二进制代码之间的差异,是漏洞分析、补丁分析、恶意代码演化追踪等安全任务的基础。现有研究已经证明,如果能在两个二进制之间找到足够多且细粒度的指令对齐作为锚点,就能显著提升整体比对准确率。然而,现有方法在准确、高效地识别锚点方面仍存在诸多限制:基于语法(syntax)的方法容易受到激进编译器优化的干扰;基于语义(semantic)的方法要么计算成本极高,要么代码覆盖率低。作者重新审视了动态分析方法,试图解决上述局限。核心洞察是:并非所有动态语义对于识别有效指令对齐都是必要或同等有效的,因此可以有策略地分配动态执行资源,只部分揭示那些能有效推导指令对齐的运行时值。基于这一思想,作者提出 BARRACUDA,一种利用强制执行(forced execution)提取部分指令语义,从而进行高置信度指令对齐的技术。作者实现了 BARRACUDA 并进行了广泛实验。结果表明,BARRACUDA 能以 92.1% 的高精度检测出比现有基线多 24.0% 的指令对齐锚点。在多种二进制比对场景下,BARRACUDA 检测到的锚点能显著增强最先进的二进制差异分析工具 DEEPBINDIFF 和 SIGMADIFF,使它们的 F1 分数分别提升 12.3 至 42.7 个百分点和 2.2 至 4.1 个百分点。该研究主要面向二进制分析、漏洞研究、恶意代码分析等领域的研究者与安全工具开发者,提供了一种提高指令对齐准确性和覆盖度的新思路,有望推动二进制差异分析技术在实际安全任务中的效果提升。
💡 推荐理由: 二进制差异分析是补丁比对、漏洞定位和恶意代码追踪的关键技术。BARRACUDA 的高置信度指令对齐方法能显著提升现有工具的准确率,有助于蓝队更快分析补丁和漏洞根因,值得安全研究者和工具开发者关注。
🎯 建议动作: 研究跟进