论文标题
基于语义学习和仿真的跨平台二进制脆弱性寻求者
Semantic Learning and Emulation Based Cross-platform Binary Vulnerability Seeker
论文作者
论文摘要
克隆检测被广泛利用用于软件漏洞搜索。基于源代码分析的方法不能应用于二进制克隆检测,因为相同的源代码可以产生明显不同的二进制文件。在本文中,我们介绍了Binseeker,这是一个整合语义学习和仿真的跨平台二进制寻求者。借助标记的语义流图,Binseeker可以快速识别与目标二进制漏洞最相似的候选功能。 M的值相对较大,因此该语义学习过程实质上消除了那些不太可能具有脆弱性的功能。然后,对这些M候选者进行语义仿真,以获得其动态特征序列。通过比较签名序列,BINSEEKER产生的顶级N功能表现出与脆弱性最相似的行为。随着语义学习的快速过滤和语义仿真的准确比较,Binseeker恰好在几乎没有开销的情况下寻求脆弱性。在六个广泛使用的具有15个已知CVE漏洞的程序上的实验表明,Binseeker优于三个最先进的工具天才,Gemini和Cacompare。关于搜索准确性,BINSEEKER在目标程序中的MRR值为0.65,而Genius,Gemini和Cacompare的MRR值分别为0.17、0.07和0.42。如果我们考虑将TOP-5中有针对性漏洞的函数排名为准确,则BINSEEKER的准确性为93.33%,而其他三个工具的准确性仅为33.33、13.33%和53.33%。平均0.27可以确定目标二进制函数是否包含已知漏洞,其他三个工具的时间分别为1.57,0.15和0.98,可以实现这种准确性。
Clone detection is widely exploited for software vulnerability search. The approaches based on source code analysis cannot be applied to binary clone detection because the same source code can produce significantly different binaries. In this paper, we present BinSeeker, a cross-platform binary seeker that integrates semantic learning and emulation. With the help of the labeled semantic flow graph, BinSeeker can quickly identify M candidate functions that are most similar to the vulnerability from the target binary. The value of M is relatively large so this semantic learning procedure essentially eliminates those functions that are very unlikely to have the vulnerability. Then, semantic emulation is conducted on these M candidates to obtain their dynamic signature sequences. By comparing signature sequences, BinSeeker produces top-N functions that exhibit most similar behavior to that of the vulnerability. With fast filtering of semantic learning and accurate comparison of semantic emulation, BinSeeker seeks vulnerability precisely with little overhead. The experiments on six widely used programs with fifteen known CVE vulnerabilities demonstrate that BinSeeker outperforms three state-of-the-art tools Genius, Gemini and CACompare. Regarding search accuracy, BinSeeker achieves an MRR value of 0.65 in the target programs, whereas the MRR values by Genius, Gemini and CACompare are 0.17, 0.07 and 0.42, respectively. If we consider ranking a function with the targeted vulnerability in the top-5 as accurate, BinSeeker achieves the accuracy of 93.33 percent, while the accuracy of the other three tools is merely 33.33, 13.33 and 53.33 percent, respectively. Such accuracy is achieved with 0.27s on average to determine whether the target binary function contains a known vulnerability, and the time for the other three tools are 1.57s, 0.15s and 0.98s, respectively.