南科大联合UIUC团队利用AI升级软件安全测试技术,性能强于SOTA近43%,并节省计算资源
source link: https://www.mittrchina.com/news/detail/10431
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
模糊测试(fuzz testing)是一项关键软件安全测试技术,其本质在于制定模糊策略,在给定的时间内充分发挥计算能力,生成能够尽可能扩大程序执行覆盖率的测试用例,以发现存在的程序漏洞和错误。
近年来,随着人工智能尤其是深度学习的发展,科学家取得了许多模糊测试技术的研究成果,如众多具有优化计算能力的模糊策略。然而,当前还鲜有对这些模糊策略特征及作用的探索与思考,这潜在地阻碍了模糊测试技术的进一步发展。
因此,中国南方科技大学的张煜群课题组联合美国伊利诺伊大学厄巴纳-香槟分校张令明课题组,对深度神经网络在模糊测试中的作用进行研究,并提出了相应的优化技术。
相关论文以《评估和改进基于神经程序平滑的模糊测试》(Evaluating and Improving Neural Program-Smoothing-based Fuzzing)为题发表在第 44 届软件工程国际会议(International Conference on Software Engineering,简称 ICSE)上[1]。
现有基于深度学习的模糊测试技术,如美国哥伦比亚大学团队提出的 Neuzz 和 MTFuzz,是通过深度神经网络来产生给定输入到输出的梯度,再根据梯度对输入的程序字节进行优先度排序,梯度更高的字节能获得更多的计算资源,以生成变异测试用例。
为验证梯度优先度排序的有效性,张煜群团队将计算资源导入到梯度更小的字节来变异产生测试用例。研究发现,在一些基准测试项目上,梯度逆序的表现强于原始策略,这说明原始策略在计算资源还是有未知的浪费。
那么,深度神经网络的预测能力究竟如何在模糊测试中起作用?通过比较研究不同深度神经网络模型对最终性能的影响,合作团队发现,模型的不同并不会带来性能上的显著差别。换句话说,深度神经网络的预测能力并不能为模糊测试带来性能上的提升。
这意味着,使用最简单直接的全连接神经网络就足以在模糊测试中奏效。根据这一结论,他们使用轻量分析方法提前记录每个分支的访问情况,且在测试过程中只对已访问分支数低于特定阈值的程序分支求梯度,避免计算资源的浪费。
那么,除了发挥“字典”的作用,人工智能技术在模糊测试过程中是否还能进一步帮助做决策呢?
对此,两个课题组继续展开合作研究,对模糊测试中广泛采用的随机变异策略 havoc 进行探索,并提出了能够有效提升 havoc 的轻量级方法。近日,相关论文以《一种解决所有问题的模糊策略》(One Fuzzing Strategy to Rule Them All)为题发表在第 44 届 ICSE 上[2]。
随后,张煜群团队想到,人工智能既然能以“字典”的方式快速解析出模糊测试想要的信息,又能帮助模糊测试决策,那能不能将两者组合在一起呢?因此,他们将深度神经网络模型和 havoc 测试策略结合,带来一种深度学习优化模糊测试技术。该技术取得了极佳的效果,比 SOTA 的性能整整好了 43%。
众所周知在人工智能时代,人类面临无穷的的可能性。经过精心的设计,人工智能技术能够基于不同的方法论,在需要严谨逻辑的软件分析场景中发挥更强的作用。今后,我们或将在越来越多行业里见到更多人工智能带来的惊喜。
-End-
参考:
1. Evaluating and Improving Neural Program-Smoothing-based Fuzzing. Mingyuan Wu, Ling Jiang, Jiahong Xiang, Yuqun Zhang, Guowei Yang, Huixin Ma, Sen Nie, Shi Wu, Heming Cui, and Lingming Zhang. Proceedings of the 44th IEEE International Conference on Software Engineering (ICSE 2022), full paper, to appear, May 2022.
2. One Fuzzing Strategy to Rule Them All. Mingyuan Wu, Ling Jiang, Jiahong Xiang, Yanwei Huang, Heming Cui, Lingming Zhang, and Yuqun Zhang, Proceedings of the 44th IEEE International Conference on Software Engineering (ICSE 2022), full paper, to appear, May 2022.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK