计算机领域国际权威学术顶会ACM CCS 2023于11月26日在丹麦哥本哈根开幕。腾讯保险平安大数据实验室团队论文《Hopper: Interpretative Fuzzing for Libraries》被大会收录,昨天,实验室研究员谢雨轩受邀出席大会进行主题分享。
该论文提出了解释性朦胧尝试(Interpretative Fuzzing)方法,展示了如何基于动态反馈来学习API内外的约束进行代码自动化生成,从而在没有任何外部专家知识的前提下生成有效可用的代码调用方式,并且根据这些代码来发掘毛病。该研究方法的出现旨在解决朦胧尝试需求野生机关进口的问题,有望极大地晋升毛病自动化发掘的效益和应用范围。
朦胧尝试技巧(Fuzzing)最近几年被证明是最有效的毛病发掘手段,它的主要机制是通过机关大量的随机输入来尝试软件是否能过正确的处理这些输入,从而帮助开发人员自动化地发现软件缺陷。目前,朦胧尝试技巧在开源软件和商业软件上被广泛使用。
但是,朦胧尝试依赖于开发人员给目标对象野生机关尝试进口(Fuzz Driver) ,而编写出逻辑正确且覆盖率高的尝试进口既需求开发者对待测的库有深入的理解,也需求耗费较大的工作量。在居高不下的门槛之下,目前仍有非常多的代码(包括项目、API等等)没有被朦胧尝试所覆盖,毛病发掘的“自动化”程度有限。
腾讯保险平安大数据实验室提出的解释性朦胧尝试改变了这一现状。解释性朦胧尝试不需求开发人员编写尝试进口,让Fuzzer可以直接生成待执行的程序,从而实现完全零野生地学习和尝试任意库API,打通朦胧尝试全自动化的流程,极大地晋升毛病自动化发掘的效益。
基于这个方法,腾讯保险平安大数据实验室实现了毛病自动化发掘工具Hopper,并在11个开源的库文件中评估了Hopper的效果。结果表明,Hopper在其中三个库中覆盖率表现有显著优势,在其他库能取得跟野生机关的进口不相上下的效果。
在API覆盖率上,Hopper能达到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等新技巧赋能于毛病发掘、晋升效益。