[发明专利]一种基于JAVA的WEB动态安全漏洞检测方法有效
申请号: | 201310631280.1 | 申请日: | 2013-11-29 |
公开(公告)号: | CN103699480A | 公开(公告)日: | 2014-04-02 |
发明(设计)人: | 吴卓群;刘志乐;范渊 | 申请(专利权)人: | 杭州安恒信息技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 杭州中成专利事务所有限公司 33212 | 代理人: | 周世骏 |
地址: | 310051 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 java web 动态 安全漏洞 检测 方法 | ||
技术领域
本发明是关于WEB应用安全测试,特别涉及一种基于JAVA的WEB动态安全漏洞检测方法。
背景技术
在WEB应用安全测试中,经常使用的检测方法通常为黑盒测试和白盒测试。但黑盒测试和白盒测试都有存在着不同的缺陷。
黑盒测试只有采用穷举输入信息的测试方式,把所有可能的输入信息都作为测试情况时考虑,才能查出程序中所有存在的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的信息输入,而且还要对那些不合法但可能的存在的信息输入进行测试。这样看来,完全测试结束是不可能的,所以我们要进行有针对性的安全漏洞测试,通过制定测试案例指导测试的实施,保证软件的测试有组织、有步骤、以及有计划地进行。黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体量化的方法之一。
白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,测试人员清楚盒子内部的东西以及盒子里面物体或系统是如何运作的。“白盒”测试法全面了解程序内部的逻辑结构、对所有的逻辑路径进行测试。“白盒”测试法是穷举路径测试。在使用这一方案时,测试者必须检查程序或系统的内部结构,从检查程序或系统的逻辑结构着手,得出准确的测试数据。
在安全测试中黑盒测试可以全局的测试可见的输入信息和输出信息,但黑盒测试无法关注到被测试程序或系统的具体内部逻辑、出现问题的代码位置、以及深层次的比较隐蔽的WEB安全漏洞。而白盒测试方法对于测试人员基本素质要求很高,在代码量巨大的情况下花费的测试成本非常高,并且可能无法清楚的了解所有的代码流情况。
发明内容
本发明的主要目的在于克服现有技术中的不足,提供一种能够快速准确地发现深层次WEB应用安全漏洞的方法。为解决上述技术问题,本发明的解决方案是:
提供一种基于JAVA的WEB动态安全漏洞检测方法,基于JAVA的WEB应用系统程序并非直接编译成机器码进行执行,而是编译成字节码,然后通过JAVA虚拟机运行程序,WEB应用系统程序采用JavaAgent启动或运行时进行代理,基于JAVA的WEB动态安全漏洞检测方法,对WEB应用系统进行安全漏洞检测包括以下步骤:
步骤A:修改JAVA中间件:将Agent.jar包当做一个JavaAgent附加到WEB应用系统程序中,Agent.jar包是劫持和判断漏洞的关键数据包,Agent.jar代码中使用Javassist动态修改目标测试程序及中间件的字节码,使用java agent方式启动Agent.jar,使其能在程序运行后动态进行目标修改,而不是直接修改文件;Agent.jar的代码中包含了所有需要劫持的关键函数,关键函数是通过分析WEB中间件及java源码获得的函数(包括queryString、PrepareStatement、JspWriter等);
步骤B:进行fuzzing测试,具体包括以下步骤:a)分别启动步骤A中修改过的JAVA中间件和一个进行代理fuzzing测试的代理工具,准备发送测试数据;b)将浏览器的代理设置到代理工具上,通过浏览器进行普通的功能测试,进行各个页面模块的普通访问;c)代理工具抓取到请求数据包后,生成预先设定的带有攻击测试向量POC的fuzzing数据,并发送到经过步骤A处理的JAVA中间件程序中,POC是指在漏洞测试中为能完成漏洞展现的数据包;
步骤C:动态漏洞跟踪,具体包括以下步骤:d)当步骤B中的fuzzing数据被JAVA中间件程序接收后,JAVA中间件程序发现请求中包含了攻击测试向量POC,Agent.jar包中的程序启动跟踪流程;e)Agent.jar包中的程序跟踪HTTP请求数据在关键函数中的流转,并确认fuzzing数据是否已到达任意一个关键的函数,如果已到达全部关键函数,结束处理,将请求释放,并在代理工具中记录跟踪信息;f)继续等待其他fuzzing测试,如果接收到新的fuzzing数据,则跳到步骤d。
作为进一步的改进,所述代理工具采用Proxy+Fuzzing工具,所述Proxy+Fuzzing工具在接收到代理请求后,原始请求正常代理,并生成测试POC发送到部署了web应用和Agent,jar的测试服务器。
作为进一步的改进,所述步骤C中,Agent.jar包中的程序记录关键流量的跟踪信息,触发相应漏洞的FUZZING规则,表明该功能流程存在缺陷,在代理工具中记录或输出威胁的相关日志。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州安恒信息技术有限公司,未经杭州安恒信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310631280.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:非易失性存储器的数据收集方法
- 下一篇:一种门铰链