CN116361795A - 基于语法基因片段覆盖分析的sql注入攻击检测方法 - Google Patents

基于语法基因片段覆盖分析的sql注入攻击检测方法 Download PDF

Info

Publication number
CN116361795A
CN116361795A CN202310293023.5A CN202310293023A CN116361795A CN 116361795 A CN116361795 A CN 116361795A CN 202310293023 A CN202310293023 A CN 202310293023A CN 116361795 A CN116361795 A CN 116361795A
Authority
CN
China
Prior art keywords
grammar
load
matching
sql
sql injection
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.)
Granted
Application number
CN202310293023.5A
Other languages
English (en)
Other versions
CN116361795B (zh
Inventor
饶金龙
马陈城
王菁
吴志勇
穆源
吴庆
高天峰
邱星硕
黄天纵
宋晓斌
朱怀东
俞仁涵
刘永刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
UNIT 61660 OF PLA
Original Assignee
UNIT 61660 OF PLA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by UNIT 61660 OF PLA filed Critical UNIT 61660 OF PLA
Priority to CN202310293023.5A priority Critical patent/CN116361795B/zh
Publication of CN116361795A publication Critical patent/CN116361795A/zh
Application granted granted Critical
Publication of CN116361795B publication Critical patent/CN116361795B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/425Lexical 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注入攻击是目前互联网上最为常见的攻击手段之一,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中所述符号序列权重值和的计算公式是:
Figure BDA0004142262860000081
即符号序列权重值为符号序列长度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 (10)

1.一种基于语法基因片段覆盖分析的SQL注入攻击检测方法,其特征在于,所述方法包括:
步骤S1、根据待检测载荷的载荷编码类型,对所述待检测载荷进行与所述载荷编码类型对应的解码处理,以分解所述待检测载荷的各个参数,获取所述各个参数的参数值;
步骤S2、基于确定有穷自动机DFA对所述各个参数的参数值进行词法分析,得到所述确定有穷自动机DFA的状态转移表,所述状态转移表用于获取所述确定有穷自动机DFA输出的符号序列;
步骤S3、对所述符号序列进行语法分析,依据以字典树结构组织的语法基因片段库执行多关键字匹配,得到包含匹配基因片段、匹配基因片段权重系数和匹配起始位置的结构列表;
步骤S4、利用所述结构列表对所述待检测载荷受到SQL注入攻击的可能性进行打分,当打分分数超过阈值时,判定所述待检测载荷受到SQL注入攻击;
其中,所述分数的计算方式为V1/(V1+V2),V1为所述匹配基因片段的权重值的总和,V2为未匹配基因片段的权重值的总和。
2.根据权利要求1所述的一种基于语法基因片段覆盖分析的SQL注入攻击检测方法,其特征在于,在所述步骤S1中,所述待检测载荷的载荷编码类型包括urlencode、序列化和json;对所述待检测载荷的各个参数进行逐个分离和逐层分解,直到不能分离和分解为止,以获取所述各个参数的参数值。
3.根据权利要求1所述的一种基于语法基因片段覆盖分析的SQL注入攻击检测方法,其特征在于,在所述步骤S3中,所述结构列表为List=[(p1,q1,s1),(p2,q2,s2),...(pn,qn,sn)],其中pi为所述匹配基因片段,qi为所述匹配基因片段权重系数,si为所述匹配起始位置,1≤i≤n,n表示全部匹配基因片段的数量。
4.根据权利要求3所述的一种基于语法基因片段覆盖分析的SQL注入攻击检测方法,其特征在于,在所述步骤S3中,所述以字典树结构组织的所述语法基因片段库的构建方式为:
遍历所述多种数据库的不同类型的SQL语句,基于确定有穷自动机DFA对所述所述多种数据库的不同类型的SQL语句进行词法分析,以获取所述多种数据库的不同类型的SQL语句的符号序列;
根据所述SQL注入攻击的载荷特点,将所述多种数据库的不同类型的SQL语句的符号序列分割成若干语法基因片断,累积形成所述以字典树结构组织的所述语法基因片段库;
其中,所述语法基因片断的权重系数的设定依据为:统计所述SQL注入攻击的载荷和正常SQL语句中相同语法基因片断的使用频度比,所述使用频度比越高,所述语法基因片断的权重系数越大。
5.根据权利要求1所述的一种基于语法基因片段覆盖分析的SQL注入攻击检测方法,其特征在于,在所述步骤S4中,所述匹配基因片段的权重值的计算方式为:所述匹配基因片段的符号长度与所述匹配基因片段权重系数的乘积。
6.一种基于语法基因片段覆盖分析的SQL注入攻击检测系统,其特征在于,所述系统包括:
第一处理单元,被配置为:根据待检测载荷的载荷编码类型,对所述待检测载荷进行与所述载荷编码类型对应的解码处理,以分解所述待检测载荷的各个参数,获取所述各个参数的参数值;
第二处理单元,被配置为:基于确定有穷自动机DFA对所述各个参数的参数值进行词法分析,得到所述确定有穷自动机DFA的状态转移表,所述状态转移表用于获取所述确定有穷自动机DFA输出的符号序列;
第三处理单元,被配置为:对所述符号序列进行语法分析,依据以字典树结构组织的语法基因片段库执行多关键字匹配,得到包含匹配基因片段、匹配基因片段权重系数和匹配起始位置的结构列表;
第四处理单元,被配置为:利用所述结构列表对所述待检测载荷受到SQL注入攻击的可能性进行打分,当打分分数超过阈值时,判定所述待检测载荷受到SQL注入攻击;
其中,所述分数的计算方式为V1/(V1+V2),V1为所述匹配基因片段的权重值的总和,V2为未匹配基因片段的权重值的总和。
7.根据权利要求6所述的一种基于语法基因片段覆盖分析的SQL注入攻击检测系统,其特征在于,所述待检测载荷的载荷编码类型包括urlencode、序列化和json;所述第一处理单元具体被配置为:对所述待检测载荷的各个参数进行逐个分离和逐层分解,直到不能分离和分解为止,以获取所述各个参数的参数值。
8.根据权利要求6所述的一种基于语法基因片段覆盖分析的SQL注入攻击检测系统,其特征在于,所述结构列表为List=[(p1,q1,s1),(p2,q2,s2),...(pn,qn,sn)],其中pi为所述匹配基因片段,qi为所述匹配基因片段权重系数,si为所述匹配起始位置,1≤i≤n,n表示全部匹配基因片段的数量。
9.根据权利要求8所述的一种基于语法基因片段覆盖分析的SQL注入攻击检测系统,其特征在于,所述以字典树结构组织的所述语法基因片段库的构建方式为:
遍历所述多种数据库的不同类型的SQL语句,基于确定有穷自动机DFA对所述所述多种数据库的不同类型的SQL语句进行词法分析,以获取所述多种数据库的不同类型的SQL语句的符号序列;
根据所述SQL注入攻击的载荷特点,将所述多种数据库的不同类型的SQL语句的符号序列分割成若干语法基因片断,累积形成所述以字典树结构组织的所述语法基因片段库;
其中,所述语法基因片断的权重系数的设定依据为:统计所述SQL注入攻击的载荷和正常SQL语句中相同语法基因片断的使用频度比,所述使用频度比越高,所述语法基因片断的权重系数越大。
10.根据权利要求6所述的一种基于语法基因片段覆盖分析的SQL注入攻击检测系统,其特征在于,所述匹配基因片段的权重值的计算方式为:所述匹配基因片段的符号长度与所述匹配基因片段权重系数的乘积。
CN202310293023.5A 2023-03-23 2023-03-23 基于语法基因片段覆盖分析的sql注入攻击检测方法 Active CN116361795B (zh)

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 true CN116361795A (zh) 2023-06-30
CN116361795B 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)

* Cited by examiner, † Cited by third party
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注入攻击的检测方法及系统、电子设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
MAO CHENYU 等: "Defending SQL Injection Attacks based-on Intention- Oriented Detection", THE 11TH INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE & EDUCATION (ICCSE 2016) *

Also Published As

Publication number Publication date
CN116361795B (zh) 2024-02-13

Similar Documents

Publication Publication Date Title
CN111428044B (zh) 多模态获取监管识别结果的方法、装置、设备及存储介质
CN106445998B (zh) 一种基于敏感词的文本内容审核方法及系统
CN111741023B (zh) 面向网络攻防试验平台的攻击研判方法、系统及介质
CN111431939B (zh) 基于cti的sdn恶意流量防御方法
CN110427754B (zh) 网络应用攻击检测方法、装置、设备及存储介质
CN112905421A (zh) 基于注意力机制的lstm网络的容器异常行为检测方法
CN106709345A (zh) 基于深度学习方法推断恶意代码规则的方法、系统及设备
Fang et al. WOVSQLI: Detection of SQL injection behaviors using word vector and LSTM
CN111031026A (zh) 一种dga恶意软件感染主机检测方法
CN110581864B (zh) 一种sql注入攻击的检测方法及装置
CN107220384B (zh) 一种基于相关性的搜索词处理方法、装置及计算设备
CN113194058A (zh) Web攻击检测方法、设备、网站应用层防火墙及介质
Zhang et al. Cross-site scripting (XSS) detection integrating evidences in multiple stages
Pan et al. Webshell detection based on executable data characteristics of php code
Wang et al. Improved N-gram approach for cross-site scripting detection in Online Social Network
CN110046501B (zh) 一种受生物基因启发的恶意代码检测方法
CN116361795B (zh) 基于语法基因片段覆盖分析的sql注入攻击检测方法
CN116192537B (zh) 一种apt攻击报告事件抽取方法、系统和存储介质
CN117056347A (zh) Sql语句永真式注入检测方法、装置、计算机设备及存储介质
CN113918948B (zh) 一种基于语义分析的无害化处理识别方法
CN107463845A (zh) 一种sql注入攻击的检测方法、系统和计算机处理设备
Jiang et al. Automatic recognition of Chinese unknown word for single-character and affix models
CN115118498B (zh) 基于关联性的漏洞数据分析方法和系统
KR102251467B1 (ko) 이상치 스코어 기반의 edr에서의 이상 징후 탐지 장치 및 방법
Haghighat et al. Hes: highly efficient and scalable technique for matching regex patterns

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