[发明专利]一种基于上下文无关文法的SQL注入语句变换方法在审
申请号: | 202111386230.2 | 申请日: | 2021-11-22 |
公开(公告)号: | CN114036509A | 公开(公告)日: | 2022-02-11 |
发明(设计)人: | 吴春明;曲振青;凌祥;陈双喜;张江瑜;吴至禹 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F21/55 | 分类号: | G06F21/55;G06F21/64 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 邱启旺 |
地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 上下文 无关 文法 sql 注入 语句 变换 方法 | ||
本发明公开了一种基于上下文无关文法的SQL注入语句变换方法,在进行网络安全攻防研究时,需要对SQL注入语句产生大量的语义等价变换。本发明基于改进的上下文无关文法,结合语义匹配等方法,可以根据单条SQL注入语句生成理论上无限多的等价替换,且语义等价,即保留其功能性和恶意性。本发明使用基于语义的方式来匹配替换生成的入口,在更加细粒度地处理SQL注入语句的同时,避免了正则匹配方法对其功能性的破坏。
技术领域
本发明属于网络安全技术领域,尤其涉及一种基于上下文无关文法的SQL注入语句变换方法。
背景技术
随着互联网的不断演进和全球部署,网络服务在日常生活中扮演着越来越重要的社会基础设施角色。但另一方面,它们也正面临来自不同地点、不同规模和通过不同方式的全球性威胁。常见的Web威胁包括SQL注入、跨站点脚本、跨站点请求伪造、分布式拒绝服务等。SQL(Structured Query Language)注入是最常见、最具威胁性的攻击方式之一,攻击者通过对数据库进行SQL查询来利用安全漏洞,从而直接访问未授权信息、创建或修改新用户权限或以其他方式操纵敏感信息。
SQL注入语句作为利用SQL注入漏洞的过程中最核心的内容,起到触发漏洞、窃取数据、篡改内容等作用。从安全研究的角度,无论是攻击还是防御SQL注入,对其注入语句的等价变换都是不可或缺的,传统方法主要集中基于正则匹配的替换,无法保证其功能性和恶意性,即修改后可能SQL注入无法正常触发。将其进行基于语义地等价替换,可以促进攻防研究,如防火墙对SQL注入拦截的优化等。
发明内容
本发明的目的在于针对现有技术的不足,提供了一种基于上下文无关文法的SQL注入语句变换方法。
本发明的目的是通过如下技术方案来实现的:一种基于上下文无关文法的SQL注入语句变换方法,包括以下步骤:
(1)构造上下文无关文法规则集G,包括非终结符集合V、终结符集合Σ、开始变量集合S、产生式集合R四部分,即G=(V,Σ,S,R)。
(1.1)构造非终结符集合V,用于扩大SQL注入语句的生成范围,代表中间状态,即潜在的生成目标。
(1.2)构造终结符集合Σ,指代生成的实际内容,如生成布尔表达式、等式、不等式等。
(1.3)构造开始变量集合S,即进行SQL注入语句变换时程序的入口,如类型为等式、数字、字母等。
(1.4)构造产生式集合R,R是从V到(V∩Σ)*的关系,*表示重复一次或多次,用于迭代地对S处理,以生成最终的SQL注入语句。
(2)将SQL注入语句按常见标点符号(如逗号、分号、空格等)进行分割,分割得到的内容均插入集合D中,D={di|i=1,2,…,N}。
(3)将D中每个元素di,按照语义(如等式、数字、字母等)匹配上下文无关文法规则集G中变量集合S的内容,并生成t项替换内容插入到集合Mi中,即|Mi=G(di)|=t,且M={Mi|i=1,2,…,N}。
(4)从M中每个子集合Mi内各随机取一项替换内容,按照i从小到大的顺序重新组合,得到最终的SQL注入语句变换结果。
与现有技术相比,本发明具有如下有益效果:
(1)本发明基于改进的上下文无关文法,可以根据单条SQL注入语句生成理论上无限多的替换,且语义等价,即保留其功能性和恶意性;
(2)本发明使用基于语义的方式来匹配替换生成的入口,在更加细粒度地处理SQL注入语句的同时,避免了正则匹配方法对其功能性的破坏。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111386230.2/2.html,转载请声明来源钻瓜专利网。