计算机领域国际权威学术顶会ACM CCS 2023于11月26日在丹麦哥本哈根开幕。腾讯安全大数据实验室团队论文《Hopper: Interpretative Fuzzing for Libraries》被大会收录,昨天,实验室研究员谢雨轩受邀出席大会进行主题分享。
该研究提出了一种解释性模糊测试的方法,展示了如何使用动态反馈来学习API内外的约束,以实现代码的自动化生成。通过这种方法,在没有任何外部专家知识的情况下,可以生成有效可用的代码调用方式,并利用这些代码挖掘漏洞。该研究方法的目标是解决模糊测试需要人工构造入口的问题,从而大大提高漏洞自动化挖掘的效率和应用范围
在过去几年中,模糊测试技术(Fuzzing)已被证明是一种非常有效的漏洞挖掘方法。该技术的主要原理是通过生成大量随机的输入来测试软件的处理能力,以此帮助开发人员自动化地发现软件中的缺陷。目前,模糊测试技术已经在开源软件和商业软件中得到广泛应用
然而,模糊测试依赖于开发人员手动构建测试入口(模糊驱动程序)来测试目标对象。编写逻辑正确且覆盖率高的测试入口需要开发人员对待测库有深入的理解,并且需要投入大量工作。由于门槛较高,目前仍有许多代码(包括项目、API等)尚未通过模糊测试进行覆盖,导致漏洞挖掘的“自动化”程度受到限制
腾讯安全大数据实验室提出了一种新的测试方法,名为解释性模糊测试。这种测试方法不需要开发人员编写测试入口,能够使Fuzzer直接生成待执行的程序,并实现对任意库API的完全自动化学习和测试。它完全打通了模糊测试的全自动化流程,大大提高了漏洞自动化挖掘的效率
基于这个方法,腾讯安全大数据实验室实现了漏洞自动化挖掘工具Hopper,并在11个开源的库文件中评估了Hopper的效果。结果表明,Hopper在其中三个库中覆盖率表现有显著优势,在其他库能取得跟人工构造的入口不相上下的效果。
Hopper在API覆盖率方面表现出了极高的水准,达到了93.52%。相比之下,人工编写的模糊测试入口只能覆盖大约15%-30%的API
此外,Hopper 推断的 API 内约束能够达到 96.51% 的准确率,极大提升了生成代码的成功率和效率
最后,实验中,Hopper直接借助执行的动态反馈来生成可以测试API的代码,在大大提升API测试覆盖率的同时,还成功地找出了一系列真实的软件缺陷,并提交给相关平台和开发者进行了修复。
研究人员将上述研究成果以论文方式发布,并被ACM CCS 2023收录。ACM CCS与IEEE S&P、USENIX Security、NDSS并称为计算机安全领域四大顶级会议,已有近30年的历史,并对计算机安全领域产生了重大深远的影响。该会议在计算机安全领域享有崇高的声誉,同时也被中国计算机学会(CCF)认定为网络与信息安全A类国际学术会议。
腾讯安全大数据实验室认为,网络安全面临的内外部技术都在不断发展,但网络安全的本质还是漏洞和攻防,因此,如何才能先于攻击者找到系统的漏洞是不变的主题。大模型时代, 腾讯安全也将持续探索如何让AI等新技术赋能于漏洞挖掘、提升效率。
以上是距离“全自动”漏洞挖掘又近了一步!腾讯安全大数据实验室论文入选ACM CCS 2023的详细内容。更多信息请关注PHP中文网其他相关文章!