[发明专利]web应用测试数据流跟踪方法及系统有效
| 申请号: | 202010172809.8 | 申请日: | 2020-03-13 |
| 公开(公告)号: | CN111046396B | 公开(公告)日: | 2020-07-17 |
| 发明(设计)人: | 胡娇娇;万振华;王颉;李华;董燕;潘志祥 | 申请(专利权)人: | 深圳开源互联网安全技术有限公司 |
| 主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F11/36 |
| 代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 张艳美;赵贯杰 |
| 地址: | 518000 广东省深圳市龙华区龙华*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | web 应用 测试 数据流 跟踪 方法 系统 | ||
1.一种基于IAST测试平台的web应用测试数据流跟踪方法,其特征在于,包括:在被测应用程序所在服务器上安装代理程序,所述代理程序用于与运行所述应用程序的虚拟机沟通,所述应用程序启动后,通过所述代理程序和字节码插桩工具在所述应用程序的输入阶段、输出阶段、传播阶段以及编解码阶段中的关键函数内插入监测代码,插桩所述监测代码时,在所述监测代码中传入待插桩函数的类文件名、方法名、方法参数和返回值,通过所述监测代码得到污点数据在所述应用程序中的传播途径,进而检测出所述应用程序是否存在漏洞,所述污点数据为测试过程中用户输入的数据;
所述输入阶段、所述传播阶段、所述编解码阶段、所述输出阶段的关键函数分别定义为输入函数、传播函数、编解码函数、输出函数,通过所述监测代码获取所述污点数据的传播途径包括:
1)、当所述输入函数执行时,插桩到所述输入函数中的所述监测代码获取到所述输入函数的input返回值,然后存储该input返回值和所述输入阶段中的方法堆栈到集合容器中;
2)、当所述传播函数执行时,所述传播函数对所述污点数据进行处理,插桩到所述传播函数中的所述监测代码获取所述传播函数的process返回值,然后存储该process返回值和所述传播阶段中的方法堆栈至所述集合容器中;
3)、所述编解码函数包括编码函数和解码函数,当所述编码函数执行时,所述编码函数对所述污点数据进行安全编码,插桩到所述编码函数中的监测代码获取所述编码函数的encode返回值并对经过编码的污点数据打上编码标记,然后存储该encode返回值至所述集合容器中;当所述解码函数执行时,所述解码函数对相应的污点数据进行解码,插桩到所述解码函数中的监测代码获取所述解码函数的decode返回值并对经过解码的污点数据打上解码标记,然后存储该decode返回值到所述集合容器中;
4)、当所述输出函数执行时,所述输出函数根据所述解码函数的返回值进行数据库查询操作,插桩到所述输出函数中的监测代码执行下列操作:
获取所述输出函数的输入参数,所述输入参数为所述解码函数返回的污点数据;
查询所述输入参数在所述集合容器中是否存在,如果是,
查询所述输入参数是否带有解码标记,如果是,
存储所述输入参数和所述输出阶段中的方法堆栈至所述集合容器中;
从所述集合容器中依次取出所存入的污点数据和方法堆栈,形成所述污点数据的完整数据流。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳开源互联网安全技术有限公司,未经深圳开源互联网安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010172809.8/1.html,转载请声明来源钻瓜专利网。





