免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2920 | 回复: 0
打印 上一主题 下一主题

漏洞检测神器XDiFF给你,拿走不谢! [复制链接]

论坛徽章:
2
15-16赛季CBA联赛之辽宁
日期:2017-12-11 10:02:3415-16赛季CBA联赛之吉林
日期:2017-12-19 11:36:37
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2017-12-14 17:52 |只看该作者 |倒序浏览
E安全12月13日,网络安全公司IOActive高级安全顾问费尔南多·阿纳博迪上周在欧洲2017黑帽大会上发布的一项研究结果显示,几款目前热门的编程语言中存在漏洞,可允许黑客入侵这些语言构建的应用程序。


阿纳博迪使用模糊测试(Fuzzing)技术分析了几个热门编程语言,包括Java、Perl、PHP、Python和Ruby。
模糊测试 (Fuzzing,Fuzz testing)是一种软件测试技术,其核心思想是自动或半自动化生成随机数据输入到一个程序中,并监控程序异常,如崩溃,断言(assertion)失败,以发现可能的程序错误,比如内存泄漏。模糊测试常常用于检测软件或计算机系统的安全漏洞。
这项研究背后的想法是,安全开发的应用程序也可能受底层编程语言的漏洞所影响。谷歌专家曾使用Fuzzing技术发现热门软件OpenSSL和Linux组件中存在的许多漏洞。
阿纳博迪利用Fuzzing技术测试的编程语言如下图:


阿纳博迪开发了一款专门测试编程语言结构的自定义差异化模糊测试工具“XDiFF”(Extended Differential Fuzzing Framework,扩展性差异化模糊测试框架)。这名研究人员将XDiFF发布在开源GitHub上,链接见: https://github.com/IOActive/XDiFF
阿纳博迪确定了这些编程语言的大多数基本功能,并利用XDiFF Fuzzer进行测试。阿纳博迪在研究论文中写到,执行之前,XDiFF会在函数和Payload之间执行置换(Permutation),从而生成所有可能的测试用例。测试用例此时将编程语言的一个函数与不同的Payload组合。
阿纳博迪解释称,发现漏洞完全取决于选择正确的输入。在这项测试中,不到30个原始值(例如数字、字母等)与特殊Payload组合。这些特殊的Payload经过定义,以帮助识别软件何时试图访问外部资源。


阿纳博迪经过分析发现这些编程语言中存在的漏洞如下:
Python包含用于OS命令执行的未公开方法和本地环境变量。
Perl包含像ev al ()那样执行代码的typemaps函数。
NodeJS输出可能会暴露部分文件内容的错误信息。
JRuby会在非远程代码执行功能上加载并执行远程代码。
PHP常量名称能被用来执行远程命名。
阿纳博迪指出,这些漏洞可能是因为错误所致,也可能是试图简化软件开发带来的结果。这些漏洞最终会使受影响解释器解析的常规应用程序受到影响。攻击者可利用这些漏洞攻击安全性最高的应用程序。
阿纳博迪表示,软件开发人员可能会不知不觉地将代码添加到应用程序中,而这些代码可能会以设计人员未预见的方式被利用。一些行为可能会给安全开发的应用程序带来风险。

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP