[2022.10.21] [S&P 2022] BEACON: Directed Grey-Box Fuzzing with Provable Path Pruning

Source: https://ieeexplore.ieee.org/abstract/document/9833751 Authors: Heqing Huang; Yiyuan Guo; Qingkai Shi; Peisen Yao; Rongxin Wu; Charles Zhang Download Note: https://jbox.sjtu.edu.cn/l/j1GAAq Contributor: lt Overview 缘起 从测试用例的占比来看,导向型灰盒模糊测试所生成的“有效”测试用例,占比极低,即,绝大部分测试用例的执行路径无法抵达目标点。 剪去某些“无效”测试用例,可以显著地提高导向型灰盒模糊测试的效率。 方法:通过静态分析生成一些前置条件,使得无法抵达目标点的测试用例及时地在前置条件处结束运行。 实验:与 AFL, AFL++, Mopt, AFLGo, and Hawkeye 相比,评估 BEACON 的性能(速度和“剪枝”比例);多因素的消融实验;分析了 BEACON 的插桩开销。 Observation:从测试用例的占比来看,导向型灰盒模糊测试所生成的“有效”测试用例,占比极低,即,绝大部分测试用例的执行路径无法抵达目标点。剪去某些“无效”测试用例,可以显著地提高导向型灰盒模糊测试的效率。 Methodology:通过静态分析生成一些前置条件,使得无法抵达目标点的测试用例及时地在前置条件处结束运行。 Experiment:与 AFL, AFL++, Mopt, AFLGo, and Hawkeye 相比,评估 BEACON 的性能(速度和“剪枝”比例);多因素的消融实验;分析了 BEACON 的插桩开销。

[2023.02.10] [NDSS 2021] JMPscare: Introspection for Binary-Only

Source: https://www.ndss-symposium.org/ndss-paper/auto-draft-154/ Authors:Dominik Maier, Lukas Seidel Note: https://jbox.sjtu.edu.cn/l/919eOR Contributer: lt Overview 研究者为了(模糊)测试某个目标程序,需要花费数小时甚至数天添加harness(若将被测程序比作一匹马,被测程序的harness则是马鞍)。研究者运行种子队列,观察测试效果。但研究者关于被测程序的的理解对模糊测试器帮助不大,因为模糊测试的行为相当于一个黑盒。为了覆盖未被执行过的边,JMPscare让研究者发现模糊测试过程的瓶颈,并克服它们。JMPscare可以高效地分析数千个queue entry(种子队列的种子数),定位瓶颈。这使得人机交互可以提升模糊测试器、变异器和harness的性能。在ARM的固件上,JMPscare进行了评估。实验表明,JMPscare可以有效地提高模糊测试的覆盖率。

[2022.11.18] [CCS 2022] SymLM: Predicting Function Names in Stripped Binaries via Context-Sensitive Execution-Aware Code Embeddings

作者:Xin Jin, Kexin Pei, Jun Yeon Won, Zhiqiang Lin 单位:The Ohio State University, Columbia University 出处:CCS 2022 原文:https://dl.acm.org/doi/pdf/10.1145/3548606.3560612 Contributor: FRH 笔记:https://jbox.sjtu.edu.cn/l/h14FR3 预测被去除符号信息的二进制文件(stripped binary)中的函数名对许多具体的安全应用都有帮助,包括恶意软件分析、漏洞识别、二进制代码加固等。作为具体的例子,Mandiant等安全公司投入大量资源开发各种逆向工具用于符号恢复、函数标注、二进制代码匹配等,从而帮助开发人员更高效地分析恶意软件的功能,并进一步追溯其来源。然而,构建有意义的函数名是非常有挑战的任务。函数名提供了函数行为的高层次总结,预测函数名需要理解函数的具体操作,并将其组合、映射到自然语言中。然而,不同的编译器方言(idioms)、优化、混淆以及不同操作系统的ABIs、不同架构的硬件规格导致相同语义的代码存在多样的二进制表示,为预测带来困难。这篇文章中,作者提出SYMLM(Symbol name prediction and binary Language Modeling)这一框架,利用神经网络技术,通过对调用上下文和指令的联合建模来理解函数语义,最终实现预测。作者在27个流行开源项目(1,431,169个函数)上针对4种不同的架构(x64、x86、ARM和MIPS)、4种优化(O0-O3)、4种混淆进行实验。SYMLM相较于SOTA工具在精度、召回率和F1-score上分别有15.4%、59.6%和35.0%的提升。同时,作者的消融实验证明其框架各个组件的必要性。最后,作者进行案例分析,进一步证明了SYMLM可以用于分析实际的固件。

[2022.09.16] [TSE 2021] Research on Third-Party Libraries in Android Apps: A Taxonomy and Systematic Literature Review

作者:Xian Zhan, Tianming Liu, Lingling Fan, Li Li, Sen Chen, Xiapu Luo, and Yang Liu 单位:The Hong Kong Polytechnic University, Nankai University, Monash University, Tianjin University, Nanyang Technological University 出处:TSE 2021 原文:https://ieeexplore.ieee.org/document/9542854 Contributor: FRH 笔记:https://jbox.sjtu.edu.cn/l/J19G8N 三方库在安卓应用中的使用非常广泛,在提升应用功能的同时也带来了一些安全威胁,因而受到学术界大量的关注。目前还没有系统性的研究对已有的工作进行总结,为此,这篇文章对安卓三方库研究进行了第一次系统性的文献综述。作者收集了2012到2020年发表的74篇安卓三方库相关的论文,对这些研究进行了分类,总结了目前三方库分析的解决方案、限制、挑战以及未来可能的研究方向。