[发明专利]一种基于JAVA的WEB动态安全漏洞检测方法有效
申请号: | 201310631280.1 | 申请日: | 2013-11-29 |
公开(公告)号: | CN103699480A | 公开(公告)日: | 2014-04-02 |
发明(设计)人: | 吴卓群;刘志乐;范渊 | 申请(专利权)人: | 杭州安恒信息技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 杭州中成专利事务所有限公司 33212 | 代理人: | 周世骏 |
地址: | 310051 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 java web 动态 安全漏洞 检测 方法 | ||
1.一种基于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源码获得的函数;
步骤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。
2.根据权利要求1所述的一种基于JAVA的WEB动态安全漏洞检测方法,其特征在于,所述代理工具采用Proxy+Fuzzing工具,所述Proxy+Fuzzing工具在接收到代理请求后,原始请求正常代理,并生成测试POC发送到部署了web应用和Agent,jar的测试服务器。
3.根据权利要求1所述的一种基于JAVA的WEB动态安全漏洞检测方法,其特征在于,所述步骤C中,Agent.jar包中的程序记录关键流量的跟踪信息,触发相应漏洞的FUZZING规则,表明该功能流程存在缺陷,在代理工具中记录或输出威胁的相关日志。
4.根据权利要求1所述的一种基于JAVA的WEB动态安全漏洞检测方法,其特征在于,所述Agent.jar包在JAVA中间件的class首次加载时,实现对关键函数进行劫持:当发现需要劫持的代码后,动态修改字节码,并注入一段回调函数,当调用此被劫持的函数时,会进入到回调函数进行处理,处理完成后返回正常流程或者结束整个流程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州安恒信息技术有限公司,未经杭州安恒信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310631280.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:非易失性存储器的数据收集方法
- 下一篇:一种门铰链