时间:2017-11-15 来源:互联网 浏览量:
微软正在将机器学习和深度神经网络应用于其软件安全方法。作为黑客攻击的第二大首选目标,微软近日宣布了一项新的研究项目——neural fuzzing,旨在增强传统的模糊技术,发现漏洞并从过去的软件经验中学习。
该研究基于微软的安全风险检测工具,该工具包含人工智能技术来发现和检测软件错误。
模糊测试(Fuzzing)是一项体系完善的技术,能够定位软件的各种漏洞,可以说是0Day漏洞的挖掘利器。微软的研究人员写道,模糊测试涉及目标程序的恶意输入,旨在引起崩溃,缓冲区溢出,内存错误和异常。
一些模糊测试包括:依赖样本输入文件生成新输入的黑盒子模糊器,静态或动态分析目标程序以帮助搜索新输入的白盒模糊器,以及使用反馈循环指导搜索的灰盒模糊器。 据研究人员透露,微软的新项目neural fuzzing使用机器学习模型来学习灰盒模糊器的反馈回路。该团队表示,他们已经能够改进四种输入格式的代码覆盖率,代码路径和崩溃:ELF,PDF,PNG和XML。
微软提出了一种学习方式,使用神经网络从过去的模糊测试中学习输入文件的模式,以指导未来的模糊测试。研究人员写道,特别是神经模型学习了预测输入文件中好(坏)位置的功能,以根据过去的突变和相应的代码覆盖率信息来执行模糊突变。
根据微软安全风险检测工程团队William Blum的说法,这仅仅是将深度神经网络应用于模糊测试的开始。
微软也可以使用它来学习其他模糊参数,例如突变类型或应用策略。微软正在考虑机器学习模型的在线版本,其中Fuzzing可以不断地从持续迭代中学习。