[发明专利]一种基于Golang语言的IAST安全测试方法和系统在审
| 申请号: | 202110886735.9 | 申请日: | 2021-08-03 |
| 公开(公告)号: | CN113590489A | 公开(公告)日: | 2021-11-02 |
| 发明(设计)人: | 陈路 | 申请(专利权)人: | 杭州默安科技有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/57 |
| 代理公司: | 杭州裕阳联合专利代理有限公司 33289 | 代理人: | 王贞利 |
| 地址: | 311100 浙江省杭州市余杭*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 golang 语言 iast 安全 测试 方法 系统 | ||
本发明公开了一种基于Golang语言的IAST安全测试方法和系统,所述方法包括:获取应用Golang源码,并在所述源码中添加编译参数;解析所述源码,获取AST语法树;在所述AST语法树中编入IAST安全测试逻辑代码,生成修改后的Golang源码;将所述修改后的Golang源码进行编译,生成执行文件;启动应用,所述执行文件收集应用的环境数据和第三方库数据,并执行IAST安全测试逻辑,获取应用漏洞信息。所述方法和系统通过修改go应用源码,并在go应用源码中编入IAST安全测试逻辑,从而实现go应用可以实现IAST功能。
技术领域
本发明涉及软件漏洞检测技术领域,特别涉及一种基于Golang语言的IAST安全测试方法和系统。
背景技术
目前市场上软件测试方法主要有3种一种是DAST(动态应用安全测试,黑盒),一种是SAST(静态应用安全测试,白盒),另外一种是IAST(交互式应用安全测试),现有技术中IAST(交互式应用安全测试)的实现方案需基于字节码的插桩,该技术方案只实现方式适用于JAVA语言,然而对于Golang语言尚无IAST的实现方式。
发明内容
本发明其中一个发明目的在于提供一种基于Golang语言的IAST安全测试方法和系统,所述方法和系统通过修改go应用源码,并在go应用源码中编入IAST安全测试逻辑,从而实现go应用可以实现IAST功能。
本发明另一发明目的在于提供一种基于Golang语言的IAST安全测试方法和系统,所述方法和系统采用加载agent_tool解析go源码中的AST语法树,并在AST语法树指定位置位置中添加漏洞检测逻辑实现IAST安全测试。
本发明另一发明目的在于提供一种基于Golang语言的IAST安全测试方法和系统,所述方法和系统在go应用启动时就运行编入IAST安全测试逻辑,从而可以实现快速安全测试。
为了实现至少一个上述发明目的,本发明进一步提供一种基于Golang语言的IAST安全测试方法,所述方法包括:
获取应用Golang源码,并在所述源码中添加编译参数;
解析所述源码,获取AST语法树;
在所述AST语法树中编入IAST安全测试逻辑代码,生成修改后的Golang源码;
将所述修改后的Golang源码进行编译,生成执行文件;
启动应用,执行IAST安全测试逻辑,所述执行文件收集应用的环境数据和第三方库数据,获取应用漏洞信息。
根据本发明其中一个较佳实施例,在述源码中添加toolexec编译参数,且在添加所述toolexec编译参数后加载agent_tool工具,通过所述agent_tool工具对所述Golang源码进行分析,以获取所述AST语法树。
根据本发明另一个较佳实施例,在获取所述AST语法树后,在所述AST语法树的指定节点编入agent代码,所述agent代码包括IAST安全测试逻辑,其中所述指定节点包括表达式类型节点、语句节点和声明节点中的任意至少一种。
根据本发明另一个较佳实施例,所述Golang源码的分解析方法包括:
采用agent_tool工具中的词法分析器对源码进行词法分析,生成token;
采用agent_tool工具中的语法分析器检索所述token,进一步生成AST语法树。
根据本发明另一个较佳实施例,所述Golang源码包括Golang应用源码,第三方库Golang源码和Golang语言自身源码。
根据本发明另一个较佳实施例,在所述指定节点编入agent代码后,生成修改后的Golang源码文件,并将所述修改后的源码文件存放在指定编译目录中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州默安科技有限公司,未经杭州默安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110886735.9/2.html,转载请声明来源钻瓜专利网。





