微软用神经网络改进模糊测试

  微软研究团队致力采用深度神经网络改进模糊测试技术,初始测试表现良好。



 

模糊测试用于找出软件漏洞,尤其是内存崩溃漏洞,方法是向目标应用中输入格式不正确的数据。如果软件崩溃或行为异常,就表示可能存在安全漏洞。

模糊测试方法有3种:白盒模糊测试,测试源代码或反汇编代码;黑盒模糊测试,无需审查源代码;还有灰盒模糊测试,与黑盒类似,但使用之前执行的结果数据作为反馈。

微软的专家团队,试图采用被称为深度神经网络(DNN)的机器学习,来改进这一反馈环。神经网络是模仿人类大脑的一组算法,用于识别各种模式,辅助分类和聚类数据。

神经网络已被多家公司用于安全相关目的,包括垃圾邮件及恶意软件检测,甚至苹果新的Face ID功能也用到了神经网络。

微软的研究人员试图将神经网络作为一种依赖之前模糊迭代发现模式的学习技术,来指导之后的迭代。

  神经模型学习在输入文件中预测良性和恶性位置的方法,用以在过往变异及相应代码覆盖信息的基础上,执行模糊变异。

该方法已在谷歌开源模糊测试工具American Fuzzy Lop (AFL)中实现,并对ELF、PDF、PNG和XML文件格式的解析器做了测试。



 

测试显示,除PDF文件因太大而表现略差外,神经AFL取得的结果,普遍优于未加入神经网络功能的原版AFL。其改进在代码覆盖、不同代码路径及崩溃方面可见。

  该项目背后的团队认为,此方法可用于任意模糊测试工具,不局限于AFL。

  我们的神经模糊测试研究项目,仅仅触及深度神经网络在模糊测试应用上的冰山一角。目前,我们的模型仅学习模糊测试位置,但该模型也可用于学习其他模糊测试参数,比如变异的类型或要应用的策略。我们还在考虑开发本机器学习模型的在线版本,也就是模糊测试工具不断从在线模糊测试迭代中学习。

微软刚刚发布了一个基于云的模糊测试服务——“安全风险检测(Security Risk Detection)”。该服务采用人工智能来查找应用中的漏洞和缺陷。对神经网络应用于渗透测试的研究,有助于改善此服务。



 

微软的另一款新工具,用于发现内存崩溃漏的VulnScan,也将加入到“安全风险检测”服务中。

 

(责任编辑:安博涛)

分享到:

更多
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
  • 微笑/wx
  • 撇嘴/pz
  • 抓狂/zk
  • 流汗/lh
  • 大兵/db
  • 奋斗/fd
  • 疑问/yw
  • 晕/y
  • 偷笑/wx
  • 可爱/ka
  • 傲慢/am
  • 惊恐/jk
用户名: 验证码:点击我更换图片
资料下载专区
图文资讯

2016年软件即服务发展的五大主题

2016年软件即服务发展的五大主题

对于2016年软件即服务(SaaS)我并没有什么伟大的预言,也没有深邃的远见或是史诗般的猜...[详细]

从生产安全体系视角看数据安全

从生产安全体系视角看数据安全

互联网的发展一日千里,安全技术随着互联网的发展,出现的新场景、新技术、新名称都越...[详细]

RSA 2019大会最值得关注的10个网络安全趋势

RSA 2019大会最值得关注的10个网络安全趋势

RSA2019大会本周开幕,来自八家知名网络安全厂商的高官们谈到了他们期待在今年大会上...[详细]

Gartner:政府部门2019年将重点投资「数据

Gartner:政府部门2019年将重点投资「数据分析与网络安全」的技术

数字化转型时一场长期竞赛,2018年数字化转移面临的主要挑战是缺少用于支持数字化转型...[详细]

区块链正在应用于正在兴起的网络安全运动

区块链正在应用于正在兴起的网络安全运动

尽管有关加密货币和交易所的黑客和欺骗的新闻铺天盖地,但事实仍然是,真正的区块链在...[详细]

返回首页 返回顶部