论文部分内容阅读
随着人工智能的不断发展,人工智能也伴随着手机,汽车,扫地机器人等智能设备的广泛应用,开始走入千家万户,人们在享受着人工智能带来的巨大的便利的同时,也会受到人工智能自身的风险带来的一些威胁,由代码实现导致的缓冲区溢出等漏洞会对各种搭载人工智能的设备造成巨大的威胁。因此,针对人工智能二进制程序进行漏洞挖掘研究具有相当重要的现实意义和研究价值。传统的漏洞挖掘技术往往会生成大量的无效测试用例,存在缺乏针对性,盲目性大,漏洞触发能力弱的问题。为了解决这些问题,研究人员提出了多种技术,其中混合执行技术具备误报率低,覆盖率高的优点,得到了广泛的应用。基于以上背景,本文重点研究了如何将混合执行技术更好的应用于人工智能二进制程序漏洞挖掘。本文的工作可归纳如下:1.深入研究并完成人工智能算法安全风险分析,分析了人工智能算法在不同的功能模块中可能存在的不同类型的漏洞。同时分析了将传统漏洞挖掘技术应用于人工智能二进制程序挖掘此类漏洞时,面临的技术问题:①.传统测试用例生成方式效率低下,②.路径覆盖反馈以及路径选择算法效果不明显,③.无法挖掘人工智能程序中特有的漏洞。2.本论文提出基于混合执行的人工智能二进制程序漏洞挖掘方案。针对传统测试用例生成方式效率低下的问题,该方案采取基于动态符号执行技术的输入集格式分析方法,通过动态符号执行技术提取程序输入集的字段信息,指导测试用例生成,减少无效输入集的生成。针对路径覆盖反馈以及路径选择算法提升效果不明显的问题,本方案使用自定义变异策略替代传统混合执行过程中路径约束搜集和路径选择算法部分,提升效率并提高漏洞触发能力。3.针对传统漏洞挖掘技术无法解决人工智能程序中特有漏洞的问题,本论文提出了基于图片相似度算法的图片渲染异常漏洞挖掘方案和基于正则表达式的精度异常漏洞挖掘方案。基于图片相似度算法的图片渲染异常漏洞挖掘方案使用多种平台下的图片渲染程序对图片进行渲染,采用截图工具截图,随后通过图片相似度算法,判断渲染是否存在异常,解决图片渲染异常漏洞挖掘的问题。基于正则表达式的精度异常漏洞挖掘方案在没有源码的情况下,首先对二进制程序进行反汇编,获取比较清晰的逆向伪代码,接着使用正则表达式,提取其中可能存在精度异常漏洞的代码,供技术人员进一步分析,解决精度异常漏洞挖掘的问题。4.本论文针对上文提出来的漏洞挖掘方案,基于SpringBoot设计并实现了基于Web的人工智能漏洞挖掘原型系统。该系统主要包括3个子系统,10大模块。最后,搭建测试环境,对整个系统进行测试和分析。测试阶段,论文先后对自主设计的人工智能程序以及跨平台计算机视觉库OpenCV4.1.0进行了测试。成功检测到了 OpenCV中3个CVE漏洞,包括 CVE-2019-5064,CVE-2019-5063,CVE-2019-15939。针对OpenCV的图片渲染模块的测试中,成功发现OpenCV中图片渲染异常漏洞。测试结果表明,本论文提出的人工智能二进制漏洞挖掘在实际应用中具有一定的使用价值。