CN116361795B - 基于语法基因片段覆盖分析的sql注入攻击检测方法 - Google Patents
基于语法基因片段覆盖分析的sql注入攻击检测方法 Download PDFInfo
- Publication number
- CN116361795B CN116361795B CN202310293023.5A CN202310293023A CN116361795B CN 116361795 B CN116361795 B CN 116361795B CN 202310293023 A CN202310293023 A CN 202310293023A CN 116361795 B CN116361795 B CN 116361795B
- Authority
- CN
- China
- Prior art keywords
- grammar
- load
- matching
- sql
- gene
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 108090000623 proteins and genes Proteins 0.000 title claims abstract description 133
- 238000002347 injection Methods 0.000 title claims abstract description 66
- 239000007924 injection Substances 0.000 title claims abstract description 66
- 238000001514 detection method Methods 0.000 title claims abstract description 33
- 239000012634 fragment Substances 0.000 claims abstract description 51
- 238000000034 method Methods 0.000 claims abstract description 21
- 230000007704 transition Effects 0.000 claims description 13
- 238000010276 construction Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 5
- 230000007547 defect Effects 0.000 abstract description 2
- 239000000243 solution Substances 0.000 description 3
- 230000006399 behavior Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/425—Lexical analysis
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于语法基因片段覆盖分析的SQL注入攻击检测方法,属于网络安全技术领域。该方法通过多类型解码处理、DFA词法分析、语法基因片断覆盖分析和判定打分四个步骤,实现对载荷的SQL语义分析过程,通过语义分析判断是否为SQL注入攻击。其中,语法基因片断覆盖分析可大幅简化SQL语法分析复杂度,为语义分析过程的核心。本发明克服传统正则表达式匹配检测方法低效和易被绕过的缺点,不依赖于规则,对未知SQL注入攻击具备防护能力,并可显著提升SQL注入攻击检测的效率和检测率,大幅降低误报率。
Description
技术领域
本发明属于网络安全技术领域,尤其涉及一种基于语法基因片段覆盖分析的SQL注入攻击检测方法。
背景技术
SQL注入攻击是目前互联网上最为常见的攻击手段之一,SQL注入漏洞在OWASP(开放式Web应用程序安全项目)2013和2017中均排在首位,因此SQL注入攻击直接危害到Web应用系统及其数据库的安全性,但SQL注入漏洞却又是无法完全避免的,因此针对SQL注入攻击的防护能力直接影响到Web应用系统的安全性和可用性。
检测和防护SQL注入攻击的手段一般有入侵检测和Web应用防火墙等,其技术原理大多为根据各种不同类型或不同目标SQL注入攻击的特点,制定对应的检测规则,通过字符串或正则匹配来判定攻击行为。但SQL注入攻击灵活性极强,通过变换SQL语句和编码等方式可以有大量的不同攻击载荷来实现相同的攻击目的,若为保证检测率则会造成检测规则库极为庞大,严重影响检测系统的性能。另外,若规则设定过于严格则会产生大量的漏报,降低检测率,若规则设定过于宽松,则会产生大量的误报,影响正常业务的运行,检测率和误报率很难同时符合实际应用需求。
发明内容
针对上述技术问题,本发明公开了一种基于语法基因片段覆盖分析的SQL注入攻击检测方案。
本发明第一方面公开了一种基于语法基因片段覆盖分析的SQL注入攻击检测方法。所述方法包括:步骤S1、根据待检测载荷的载荷编码类型,对所述待检测载荷进行与所述载荷编码类型对应的解码处理,以分解所述待检测载荷的各个参数,获取所述各个参数的参数值;步骤S2、基于确定有穷自动机DFA对所述各个参数的参数值进行词法分析,得到所述确定有穷自动机DFA的状态转移表,所述状态转移表用于获取所述确定有穷自动机DFA输出的符号序列;步骤S3、对所述符号序列进行语法分析,依据以字典树结构组织的语法基因片段库执行多关键字匹配,得到包含匹配基因片段、匹配基因片段权重系数和匹配起始位置的结构列表;步骤S4、利用所述结构列表对所述待检测载荷受到SQL注入攻击的可能性进行打分,当打分分数超过阈值时,判定所述待检测载荷受到SQL注入攻击;其中,所述分数的计算方式为V1/(V1+V2),V1为所述匹配基因片段的权重值的总和,V2为未匹配基因片段的权重值的总和。
根据第一方面的方法,在优选实施例中,在所述步骤S1中,所述待检测载荷的载荷编码类型包括urlencode、序列化和json;对所述待检测载荷的各个参数进行逐个分离和逐层分解,直到不能分离和分解为止,以获取所述各个参数的参数值。
根据第一方面的方法,在优选实施例中,在所述步骤S3中,所述结构列表为List=[(p1,q1,s1),(p2,q2,s2),...(pn,qn,sn)],其中pi为所述匹配基因片段,qi为所述匹配基因片段权重系数,si为所述匹配起始位置,1≤i≤n,n表示全部匹配基因片段的数量。
根据第一方面的方法,在优选实施例中,在所述步骤S3中,所述以字典树结构组织的所述语法基因片段库的构建方式为:遍历所述多种数据库的不同类型的SQL语句,基于确定有穷自动机DFA对所述所述多种数据库的不同类型的SQL语句进行词法分析,以获取所述多种数据库的不同类型的SQL语句的符号序列;根据所述SQL注入攻击的载荷特点,将所述多种数据库的不同类型的SQL语句的符号序列分割成若干语法基因片断,累积形成所述以字典树结构组织的所述语法基因片段库;其中,所述语法基因片断的权重系数的设定依据为:统计所述SQL注入攻击的载荷和正常SQL语句中相同语法基因片断的使用频度比,所述使用频度比越高,所述语法基因片断的权重系数越大。
根据第一方面的方法,在优选实施例中,在所述步骤S4中,所述匹配基因片段的权重值的计算方式为:所述匹配基因片段的符号长度与所述匹配基因片段权重系数的乘积。
本发明第二方面公开了一种基于语法基因片段覆盖分析的SQL注入攻击检测系统。所述系统包括:第一处理单元,被配置为:根据待检测载荷的载荷编码类型,对所述待检测载荷进行与所述载荷编码类型对应的解码处理,以分解所述待检测载荷的各个参数,获取所述各个参数的参数值;第二处理单元,被配置为:基于确定有穷自动机DFA对所述各个参数的参数值进行词法分析,得到所述确定有穷自动机DFA的状态转移表,所述状态转移表用于获取所述确定有穷自动机DFA输出的符号序列;第三处理单元,被配置为:对所述符号序列进行语法分析,依据以字典树结构组织的语法基因片段库执行多关键字匹配,得到包含匹配基因片段、匹配基因片段权重系数和匹配起始位置的结构列表;第四处理单元,被配置为:利用所述结构列表对所述待检测载荷受到SQL注入攻击的可能性进行打分,当打分分数超过阈值时,判定所述待检测载荷受到SQL注入攻击;其中,所述分数的计算方式为V1/(V1+V2),V1为所述匹配基因片段的权重值的总和,V2为未匹配基因片段的权重值的总和。
根据第二方面的系统,在优选实施例中,所述待检测载荷的载荷编码类型包括urlencode、序列化和json;所述第一处理单元具体被配置为:对所述待检测载荷的各个参数进行逐个分离和逐层分解,直到不能分离和分解为止,以获取所述各个参数的参数值。
根据第二方面的系统,在优选实施例中,所述结构列表为List=[(p1,q1,s1),(p2,q2,s2),...(pn,qn,sn)],其中pi为所述匹配基因片段,qi为所述匹配基因片段权重系数,si为所述匹配起始位置,1≤i≤n,n表示全部匹配基因片段的数量。
根据第二方面的系统,在优选实施例中,所述以字典树结构组织的所述语法基因片段库的构建方式为:遍历所述多种数据库的不同类型的SQL语句,基于确定有穷自动机DFA对所述所述多种数据库的不同类型的SQL语句进行词法分析,以获取所述多种数据库的不同类型的SQL语句的符号序列;根据所述SQL注入攻击的载荷特点,将所述多种数据库的不同类型的SQL语句的符号序列分割成若干语法基因片断,累积形成所述以字典树结构组织的所述语法基因片段库;其中,所述语法基因片断的权重系数的设定依据为:统计所述SQL注入攻击的载荷和正常SQL语句中相同语法基因片断的使用频度比,所述使用频度比越高,所述语法基因片断的权重系数越大。
根据第二方面的系统,在优选实施例中,所述匹配基因片段的权重值的计算方式为:所述匹配基因片段的符号长度与所述匹配基因片段权重系数的乘积。
综上,本发明公开的技术方案不依赖于规则,对未知SQL注入攻击具备防护能力,并可显著提升SQL注入攻击检测的效率和检测率,大幅降低误报率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例的一种基于语法基因片段覆盖分析的SQL注入攻击检测方法的流程示意图;
图2为根据本发明实施例的构建语法基因片断库的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开了一种基于语法基因片段覆盖分析的SQL注入攻击检测方法。图1为根据本发明实施例的一种基于语法基因片段覆盖分析的SQL注入攻击检测方法的流程示意图;结合图1所示,所述方法包括:步骤S1、根据待检测载荷的载荷编码类型,对所述待检测载荷进行与所述载荷编码类型对应的解码处理,以分解所述待检测载荷的各个参数,获取所述各个参数的参数值;步骤S2、基于确定有穷自动机DFA对所述各个参数的参数值进行词法分析,得到所述确定有穷自动机DFA的状态转移表,所述状态转移表用于获取所述确定有穷自动机DFA输出的符号序列;步骤S3、对所述符号序列进行语法分析,依据以字典树结构组织的语法基因片段库执行多关键字匹配,得到包含匹配基因片段、匹配基因片段权重系数和匹配起始位置的结构列表;步骤S4、利用所述结构列表对所述待检测载荷受到SQL注入攻击的可能性进行打分,当打分分数超过阈值时,判定所述待检测载荷受到SQL注入攻击;其中,所述分数的计算方式为V1/(V1+V2),V1为所述匹配基因片段的权重值的总和,V2为未匹配基因片段的权重值的总和。
在优选实施例中,在所述步骤S1中,所述待检测载荷的载荷编码类型包括urlencode、序列化和json;对所述待检测载荷的各个参数进行逐个分离和逐层分解,直到不能分离和分解为止,以获取所述各个参数的参数值。
在优选实施例中,在所述步骤S3中,所述结构列表为List=[(p1,q1,s1),(p2,q2,s2),…(pn,qn,sn)],其中pi为所述匹配基因片段,qi为所述匹配基因片段权重系数,si为所述匹配起始位置,1≤i≤n,n表示全部匹配基因片段的数量。
在优选实施例中,在所述步骤S3中,所述以字典树结构组织的所述语法基因片段库的构建方式为(图2为根据本发明实施例的构建语法基因片断库的流程示意图;如图2所示):遍历所述多种数据库的不同类型的SQL语句,基于确定有穷自动机DFA对所述所述多种数据库的不同类型的SQL语句进行词法分析,以获取所述多种数据库的不同类型的SQL语句的符号序列;根据所述SQL注入攻击的载荷特点,将所述多种数据库的不同类型的SQL语句的符号序列分割成若干语法基因片断,累积形成所述以字典树结构组织的所述语法基因片段库;其中,所述语法基因片断的权重系数的设定依据为:统计所述SQL注入攻击的载荷和正常SQL语句中相同语法基因片断的使用频度比,所述使用频度比越高,所述语法基因片断的权重系数越大。
在优选实施例中,在所述步骤S4中,所述匹配基因片段的权重值的计算方式为:所述匹配基因片段的符号长度与所述匹配基因片段权重系数的乘积。
可见,本发明第一方面公开的一种基于语法基因片断覆盖分析的SQL注入攻击检测方法,通过多类型解码处理、DFA词法分析、语法基因片断覆盖分析和判定打分四个步骤,实现对载荷的SQL语义分析过程,通过语义分析判断是否为SQL注入攻击。
下面将此方法应用于Web应用防火墙检测SQL注入攻击的场景来进行说明,假设Web应用防火墙接收到如下url参数值:1%27%29%20AND%206137%3D%28SELECT%206137%20FROM%20PG_SLEEP%285%29%29%20AND%20%28%27pSwK%27%3D%27pSwK。
具体检测方法步骤如下:
步骤A:判断载荷编码类型为urlencode,先进行urldecode解码处理,解码后的载荷为1’)AND 6137=(SELECT 6137FROM PG_SLEEP(5))AND(’pSwK’=pSwK,无需继续分解载荷参数;
步骤B:采取基于确定有穷自动机(DFA)的方法对步骤A中解码的参数值进行词法分析,快速根据DFA状态转移表获得输出的符号序列为srcnmlunpflnrclsms;
步骤C:对步骤B形成的符号序列进行语法分析,依据字典树结构组织的语法基因片断库进行多关键字匹配,得到一个包含匹配基因片断、匹配基因片断权重系数、匹配起始位置等元素的结构列表List为:
[(″srcn″,3.13,0),(″srcnm″,2.44,0),(″nmlun″,1.02,3),(″unpfl″,1.29,6),(″npfln″,1.7,7),(″pflnr″,2.36,8),(″flnr″,1.67,9),(″flnrc″,1.41,9),(″nrcls″,2.02,11),(″clsms″,3.41,13),(″sms″,3.51,15)]
在步骤C中所述语法基因片断库构建流程如图2所示:遍历多种数据库的不同类型SQL语句,涵盖各种数据库SQL文法要求,将其经过步骤B中的符号化,得到符号序列,再根据SQL注入攻击载荷特点,将序列分割成语法基因片断,累积形成语法基因片断库;语法基因片断权重系数设定依据是:统计SQL注入攻击载荷和正常SQL语句中相同语法基因片断的使用频度比,比例越高,权重系数越大。
步骤D:处理步骤C得到的结构列表进行SQL注入攻击可能性判定打分,计算命中语法基因片断对应权重值和V1=107.98,未命中符号序列权重值和V2=0,计算载荷为SQL注入攻击的可能性打分为1,也就是说本方法能够完全确定该载荷为SQL注入攻击载荷。
步骤D中所述符号序列权重值和的计算公式是:即符号序列权重值为符号序列长度lenn(pi)乘以符号序列权重系数qi,权重值和为所有符号序列权重值累加。
可见,本发明第一方面公开的方法不依赖于规则,对未知SQL注入攻击具备防护能力,并可显著提升SQL注入攻击检测的效率和检测率,大幅降低误报率。
本发明第二方面公开了一种基于语法基因片段覆盖分析的SQL注入攻击检测系统。所述系统包括:第一处理单元,被配置为:根据待检测载荷的载荷编码类型,对所述待检测载荷进行与所述载荷编码类型对应的解码处理,以分解所述待检测载荷的各个参数,获取所述各个参数的参数值;第二处理单元,被配置为:基于确定有穷自动机DFA对所述各个参数的参数值进行词法分析,得到所述确定有穷自动机DFA的状态转移表,所述状态转移表用于获取所述确定有穷自动机DFA输出的符号序列;第三处理单元,被配置为:对所述符号序列进行语法分析,依据以字典树结构组织的语法基因片段库执行多关键字匹配,得到包含匹配基因片段、匹配基因片段权重系数和匹配起始位置的结构列表;第四处理单元,被配置为:利用所述结构列表对所述待检测载荷受到SQL注入攻击的可能性进行打分,当打分分数超过阈值时,判定所述待检测载荷受到SQL注入攻击;其中,所述分数的计算方式为V1/(V1+V2),V1为所述匹配基因片段的权重值的总和,V2为未匹配基因片段的权重值的总和。
根据第二方面的系统,在优选实施例中,所述待检测载荷的载荷编码类型包括urlencode、序列化和json;所述第一处理单元具体被配置为:对所述待检测载荷的各个参数进行逐个分离和逐层分解,直到不能分离和分解为止,以获取所述各个参数的参数值。
根据第二方面的系统,在优选实施例中,所述结构列表为List=[(p1,q1,s1),(p2,q2,s2),...(pn,qn,sn)],其中pi为所述匹配基因片段,qi为所述匹配基因片段权重系数,si为所述匹配起始位置,1≤i≤n,n表示全部匹配基因片段的数量。
根据第二方面的系统,在优选实施例中,所述以字典树结构组织的所述语法基因片段库的构建方式为:遍历所述多种数据库的不同类型的SQL语句,基于确定有穷自动机DFA对所述所述多种数据库的不同类型的SQL语句进行词法分析,以获取所述多种数据库的不同类型的SQL语句的符号序列;根据所述SQL注入攻击的载荷特点,将所述多种数据库的不同类型的SQL语句的符号序列分割成若干语法基因片断,累积形成所述以字典树结构组织的所述语法基因片段库;其中,所述语法基因片断的权重系数的设定依据为:统计所述SQL注入攻击的载荷和正常SQL语句中相同语法基因片断的使用频度比,所述使用频度比越高,所述语法基因片断的权重系数越大。
根据第二方面的系统,在优选实施例中,所述匹配基因片段的权重值的计算方式为:所述匹配基因片段的符号长度与所述匹配基因片段权重系数的乘积。
综上,本发明公开的技术方案通过多类型解码处理、DFA词法分析、语法基因片断覆盖分析和判定打分四个步骤,实现对载荷的SQL语义分析过程,通过语义分析判断是否为SQL注入攻击。其中,语法基因片断覆盖分析可大幅简化SQL语法分析复杂度,为语义分析过程的核心。本发明克服传统正则表达式匹配检测方法低效和易被绕过的缺点,不依赖于规则,对未知SQL注入攻击具备防护能力,并可显著提升SQL注入攻击检测的效率和检测率,大幅降低误报率。
请注意,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (6)
1.一种基于语法基因片段覆盖分析的SQL注入攻击检测方法,其特征在于,所述方法包括:
步骤S1、根据待检测载荷的载荷编码类型,对所述待检测载荷进行与所述载荷编码类型对应的解码处理,以分解所述待检测载荷的各个参数,获取所述各个参数的参数值;
步骤S2、基于确定有穷自动机DFA对所述各个参数的参数值进行词法分析,得到所述确定有穷自动机DFA的状态转移表,所述状态转移表用于获取所述确定有穷自动机DFA输出的符号序列;
步骤S3、对所述符号序列进行语法分析,依据以字典树结构组织的语法基因片段库执行多关键字匹配,得到包含匹配基因片段、匹配基因片段权重系数和匹配起始位置的结构列表;
步骤S4、利用所述结构列表对所述待检测载荷受到SQL注入攻击的可能性进行打分,当打分分数超过阈值时,判定所述待检测载荷受到SQL注入攻击;
其中,所述分数的计算方式为V1/(V1+V2),V1为所述匹配基因片段的权重值的总和,V2为未匹配基因片段的权重值的总和;
其中,在所述步骤S3中:
所述结构列表为List=[(p1,q1,s1),(p2,q2,s2),…(pn,qn,sn)],其中pi为所述匹配基因片段,qi为所述匹配基因片段权重系数,si为所述匹配起始位置,1≤i≤n,n表示全部匹配基因片段的数量;
所述以字典树结构组织的所述语法基因片段库的构建方式为:
遍历多种数据库的不同类型的SQL语句,基于确定有穷自动机DFA对所述所述多种数据库的不同类型的SQL语句进行词法分析,以获取所述多种数据库的不同类型的SQL语句的符号序列;
根据所述SQL注入攻击的载荷特点,将所述多种数据库的不同类型的SQL语句的符号序列分割成若干语法基因片断,累积形成所述以字典树结构组织的所述语法基因片段库;
其中,所述语法基因片断的权重系数的设定依据为:统计所述SQL注入攻击的载荷和正常SQL语句中相同语法基因片断的使用频度比,所述使用频度比越高,所述语法基因片断的权重系数越大。
2.根据权利要求1所述的一种基于语法基因片段覆盖分析的SQL注入攻击检测方法,其特征在于,在所述步骤S1中,所述待检测载荷的载荷编码类型包括urlencode、序列化和json;对所述待检测载荷的各个参数进行逐个分离和逐层分解,直到不能分离和分解为止,以获取所述各个参数的参数值。
3.根据权利要求1所述的一种基于语法基因片段覆盖分析的SQL注入攻击检测方法,其特征在于,在所述步骤S4中,所述匹配基因片段的权重值的计算方式为:所述匹配基因片段的符号长度与所述匹配基因片段权重系数的乘积。
4.一种基于语法基因片段覆盖分析的SQL注入攻击检测系统,其特征在于,所述系统包括:
第一处理单元,被配置为:根据待检测载荷的载荷编码类型,对所述待检测载荷进行与所述载荷编码类型对应的解码处理,以分解所述待检测载荷的各个参数,获取所述各个参数的参数值;
第二处理单元,被配置为:基于确定有穷自动机DFA对所述各个参数的参数值进行词法分析,得到所述确定有穷自动机DFA的状态转移表,所述状态转移表用于获取所述确定有穷自动机DFA输出的符号序列;
第三处理单元,被配置为:对所述符号序列进行语法分析,依据以字典树结构组织的语法基因片段库执行多关键字匹配,得到包含匹配基因片段、匹配基因片段权重系数和匹配起始位置的结构列表;
第四处理单元,被配置为:利用所述结构列表对所述待检测载荷受到SQL注入攻击的可能性进行打分,当打分分数超过阈值时,判定所述待检测载荷受到SQL注入攻击;
其中,所述分数的计算方式为V1/(V1+V2),V1为所述匹配基因片段的权重值的总和,V2为未匹配基因片段的权重值的总和;
其中,所述结构列表为List=[(p1,q1,s1),(p2,q2,s2),…(pn,qn,sn)],其中pi为所述匹配基因片段,qi为所述匹配基因片段权重系数,si为所述匹配起始位置,1≤i≤n,n表示全部匹配基因片段的数量;
其中,所述以字典树结构组织的所述语法基因片段库的构建方式为:
遍历多种数据库的不同类型的SQL语句,基于确定有穷自动机DFA对所述所述多种数据库的不同类型的SQL语句进行词法分析,以获取所述多种数据库的不同类型的SQL语句的符号序列;
根据所述SQL注入攻击的载荷特点,将所述多种数据库的不同类型的SQL语句的符号序列分割成若干语法基因片断,累积形成所述以字典树结构组织的所述语法基因片段库;
其中,所述语法基因片断的权重系数的设定依据为:统计所述SQL注入攻击的载荷和正常SQL语句中相同语法基因片断的使用频度比,所述使用频度比越高,所述语法基因片断的权重系数越大。
5.根据权利要求4所述的一种基于语法基因片段覆盖分析的SQL注入攻击检测系统,其特征在于,所述待检测载荷的载荷编码类型包括urlencode、序列化和json;所述第一处理单元具体被配置为:对所述待检测载荷的各个参数进行逐个分离和逐层分解,直到不能分离和分解为止,以获取所述各个参数的参数值。
6.根据权利要求4所述的一种基于语法基因片段覆盖分析的SQL注入攻击检测系统,其特征在于,所述匹配基因片段的权重值的计算方式为:所述匹配基因片段的符号长度与所述匹配基因片段权重系数的乘积。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310293023.5A CN116361795B (zh) | 2023-03-23 | 2023-03-23 | 基于语法基因片段覆盖分析的sql注入攻击检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310293023.5A CN116361795B (zh) | 2023-03-23 | 2023-03-23 | 基于语法基因片段覆盖分析的sql注入攻击检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116361795A CN116361795A (zh) | 2023-06-30 |
CN116361795B true CN116361795B (zh) | 2024-02-13 |
Family
ID=86935264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310293023.5A Active CN116361795B (zh) | 2023-03-23 | 2023-03-23 | 基于语法基因片段覆盖分析的sql注入攻击检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116361795B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291394A (zh) * | 2011-07-22 | 2011-12-21 | 网宿科技股份有限公司 | 基于网络加速设备的安全防御系统 |
CN114666078A (zh) * | 2020-12-08 | 2022-06-24 | 北京中科网威信息技术有限公司 | Sql注入攻击的检测方法及系统、电子设备及存储介质 |
-
2023
- 2023-03-23 CN CN202310293023.5A patent/CN116361795B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291394A (zh) * | 2011-07-22 | 2011-12-21 | 网宿科技股份有限公司 | 基于网络加速设备的安全防御系统 |
CN114666078A (zh) * | 2020-12-08 | 2022-06-24 | 北京中科网威信息技术有限公司 | Sql注入攻击的检测方法及系统、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
Defending SQL Injection Attacks based-on Intention- Oriented Detection;Mao Chenyu 等;The 11th International Conference on Computer Science & Education (ICCSE 2016);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116361795A (zh) | 2023-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109413028B (zh) | 基于卷积神经网络算法的sql注入检测方法 | |
CN111431939B (zh) | 基于cti的sdn恶意流量防御方法 | |
CN112905421A (zh) | 基于注意力机制的lstm网络的容器异常行为检测方法 | |
CN110427754B (zh) | 网络应用攻击检测方法、装置、设备及存储介质 | |
Fang et al. | WOVSQLI: Detection of SQL injection behaviors using word vector and LSTM | |
CN106709345A (zh) | 基于深度学习方法推断恶意代码规则的方法、系统及设备 | |
CN110581864B (zh) | 一种sql注入攻击的检测方法及装置 | |
CN106445998A (zh) | 一种基于敏感词的文本内容审核方法及系统 | |
CN105915555A (zh) | 网络异常行为的检测方法及系统 | |
CN111031026A (zh) | 一种dga恶意软件感染主机检测方法 | |
CN113194058B (zh) | Web攻击检测方法、设备、网站应用层防火墙及介质 | |
Pan et al. | Webshell detection based on executable data characteristics of php code | |
CN113179241A (zh) | 一种基于时序关联性分析的多步攻击表征方法 | |
CN110046501B (zh) | 一种受生物基因启发的恶意代码检测方法 | |
CN116361795B (zh) | 基于语法基因片段覆盖分析的sql注入攻击检测方法 | |
CN104685493A (zh) | 用于监视文本信息的字典创建装置、用于监视文本信息的字典创建方法和用于监视文本信息的字典创建程序 | |
CN115242441A (zh) | 一种基于特征选择和深度神经网络的网络入侵检测方法 | |
CN113918948A (zh) | 一种基于语义分析的无害化处理识别方法 | |
CN116192537B (zh) | 一种apt攻击报告事件抽取方法、系统和存储介质 | |
CN117056347A (zh) | Sql语句永真式注入检测方法、装置、计算机设备及存储介质 | |
CN115545019A (zh) | 日志模板提取方法、设备、存储介质及程序产品 | |
CN107463845A (zh) | 一种sql注入攻击的检测方法、系统和计算机处理设备 | |
Jiang et al. | Automatic recognition of Chinese unknown word for single-character and affix models | |
CN113691562A (zh) | 一种精确识别恶意网络通讯的规则引擎实现方法 | |
RU2500024C2 (ru) | Способ автоматизированного определения языка и (или) кодировки текстового документа |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |