[发明专利]一种基于主动IAST的SQL注入漏洞检测方法、系统有效
申请号: | 202110576992.2 | 申请日: | 2021-05-26 |
公开(公告)号: | CN113158197B | 公开(公告)日: | 2022-05-17 |
发明(设计)人: | 张涛;宁戈;牛伟颖;刘恩炙 | 申请(专利权)人: | 北京安普诺信息技术有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F21/56;G06F16/242;G06F16/28 |
代理公司: | 北京万象新悦知识产权代理有限公司 11360 | 代理人: | 贾晓玲 |
地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 主动 iast sql 注入 漏洞 检测 方法 系统 | ||
本申请提供一种基于主动IAST的SQL注入漏洞检测方法、系统,并涉及计算机软件安全测试技术领域。该方法包括:通过在服务端,对目标程序中的调用SQL语句对象的函数插桩探针,和使预先插桩的探针在模拟攻击时准确采集相应SQL执行语句,以及采集模拟攻击的Payload;根据采集的Payload和SQL执行语句,判断判断目标程序中潜藏了与之相应的SQL注入漏洞。较之现有技术,该方案,能够通过对目标程序插桩探针以感知目标程序的内部逻辑结构,作出更为准确的判断,以降低SQL注入漏洞检测的误报可能,且能够准确地定位检出漏洞的位置。
技术领域
本公开的实施例主要涉及计算机软件安全测试领域,并且更具体地,涉及一种基于主动IAST的SQL注入漏洞检测方法、系统。
背景技术
结构化查询语言(Structured Query Language),简称SQL,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。在软件设计开发过程中,SQL通常被用来作为网页的应用数据和后台数据库中的数据进行交互时所采用的语言。然而,SQL注入攻击,也是攻击者对数据库进行攻击的常用手段之一。攻击者通过在HTTP请求中输入含有恶意构造且语法合法的SQL语句进行SQL攻击,一旦应用程序中没有对外部输入做严格的处理,那么就存在触发SQL注入漏洞危险。目前,主流的网络后端技术和主流数据库相结合的Web应用程序都发现有SQL注入漏洞。
SQL注入漏洞,不仅可能广泛存在Web应用程序中,注入点隐蔽在HTTP请求中;而且攻击者一旦得逞,往往会对数据库信息安全造成严重威胁,甚至对整个系统安全造成影响;更遭的是,SQL注入攻击简单易学,攻击过程简单,极容易被不同层次的攻击者作为破坏计算机软件安全的武器。因此,在Web应用程序交付前,必须进行应用安全检测,检出潜藏的SQL注入漏洞并修复。
现有的SQL注入漏洞检测技术,无论是动态检测,还是静态检测,都存在其缺陷:动态检测通过响应报文判断往往使得SQL注入漏洞检测误报率、漏报率都居高不下;而静态检测则依赖对源代码的特征扫描,工作量大且效率低。
发明内容
根据本公开的示例实施例,提供一种基于主动IAST的SQL注入漏洞检测的方案。
在本公开的第一方面中,提供一种基于主动IAST的SQL注入漏洞检测的方法。该方法包括:在服务端,对目标程序中的调用SQL语句对象的函数插桩探针;在扫描端,使携带有攻击SQL注入漏洞的Payload的HTTP请求攻击服务端的目标程序;以及在服务端,接收所述HTTP请求,从所述HTTP请求的数据报文中提取所述Payload的原始输入,并在处理所述HTTP请求的数据流执行到预先插桩的探针时,使所述探针获取所述探针插桩函数的SQL执行语句;根据提取的所述Payload的原始输入和所述SQL执行语句,判断是否有所述Payload或与所述Payload构造相似的数据进入所述SQL执行语句;如是,则判断目标程序中潜藏了与所述Payload相应的SQL注入漏洞。
在本公开的第二方面中,提供一种基于主动IAST的SQL注入漏洞检测的系统。该系统包括:插桩单元、采集单元、分析单元、扫描单元;其中,插桩单元,被部署在服务端;插桩单元,被配置得能够执行用于对目标程序中的调用SQL语句对象的函数插桩探针的操作;采集单元,被部署在服务端,包括上述的被插桩的探针;采集单元,被配置得能够执行用于从模拟攻击的HTTP请求的数据报文中提取其携带的攻击SQL注入漏洞的Payload的原始输入的操作,和用于使所述探针在处理所述HTTP请求的数据流执行到该探针时获取该探针插桩的函数的SQL执行语句的操作;分析单元,被配置得能够执行用于根据提取的所述Payload和所述SQL执行语句判断目标程序中是否潜藏了与所述Payload相应的SQL注入漏洞的操作;具体地,分析单元,被配置得能够根据提取的所述Payload的原始输入和所述SQL执行语句,判断是否有所述Payload或与所述Payload构造相似的数据进入所述SQL执行语句;如是,判断目标程序中潜藏了相应的SQL注入漏洞;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京安普诺信息技术有限公司,未经北京安普诺信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110576992.2/2.html,转载请声明来源钻瓜专利网。