CN113139180B - 注入攻击检测模型生成装置、注入攻击检测装置及方法 - Google Patents
注入攻击检测模型生成装置、注入攻击检测装置及方法 Download PDFInfo
- Publication number
- CN113139180B CN113139180B CN202010061880.9A CN202010061880A CN113139180B CN 113139180 B CN113139180 B CN 113139180B CN 202010061880 A CN202010061880 A CN 202010061880A CN 113139180 B CN113139180 B CN 113139180B
- Authority
- CN
- China
- Prior art keywords
- risk
- risk parameter
- time window
- injection
- attack detection
- 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
- 238000002347 injection Methods 0.000 title claims abstract description 129
- 239000007924 injection Substances 0.000 title claims abstract description 129
- 238000001514 detection method Methods 0.000 title claims abstract description 79
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000012544 monitoring process Methods 0.000 claims abstract description 16
- 230000001960 triggered effect Effects 0.000 claims abstract description 9
- 238000013136 deep learning model Methods 0.000 claims abstract description 8
- 238000012549 training Methods 0.000 claims abstract description 8
- 230000008569 process Effects 0.000 claims description 10
- 230000002776 aggregation Effects 0.000 claims description 5
- 238000004220 aggregation Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000000243 solution Substances 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/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供一种注入攻击检测模型生成装置、注入攻击检测装置及方法。通过对WAF注入告警日志进行处理,根据当前时间窗口内的每个源IP所触发的WAF注入告警次数n计算第一风险值和第一风险参数;记录当前时间窗口内的敏感数据表的查询次数g,根据查询次数g计算第二风险值和第二风险参数;对数据库的流量进行监测,根据当前时间窗口内的预设敏感字段查询次数q计算第三风险值和第三风险参数;根据当前时间窗口内的预设敏感字段出现次数p计算第四风险值和第四风险参数;利用第一至第四风险值、第一至第四风险参数对深度学习模型进行训练,以得到注入攻击检测模型,从而利用注入攻击检测模型进行二阶SQL注入攻击检测。
Description
技术领域
本公开涉及安全领域,特别涉及一种注入攻击检测模型生成装置、注入攻击检测装置及方法。
背景技术
传统的SQL(Structured Query Language,结构化查询语言)注入检测方式是将用户输入作为注入检测的关键点,对用户输入进行转义、替换、过滤和参数化,以便对用户输入进行特征比对、机器学习等检测措施。但对于数据库输出的数据则完全信任,而不做任何检测。
二阶SQL注入与传统的SQL注入不同,二阶SQL注入利用应用程序对数据库输出完全信任的机制,事先将恶意代码保存在数据库中,并在另一个请求里想办法让系统调用这个恶意代码,拼接成一个恶意的SQL语句并执行。因此,二阶SQL注入有阶段性和隐蔽性的特点。
由于二阶SQL注入漏洞的多阶段、隐式读写等特点,相对于传统一阶注入更难以防御。
发明内容
本公开提供一种注入攻击检测模型生成及注入攻击检测方案,有效解决了对现有的数据库输出过于信任、对二阶SQL注入攻击检测缺失的问题。
根据本公开实施例的第一方面,提供一种注入攻击检测模型生成方法,包括:对WAF注入告警日志进行处理,以便对相同源IP的数据进行汇聚,根据当前时间窗口内的每个源IP所触发的WAF注入告警次数n计算相应的第一风险值A,并根据所述WAF注入告警次数n和当前时间窗口内的全部WAF注入告警次数m确定第一风险参数α;记录当前时间窗口内的敏感数据表的查询次数g,根据所述查询次数g计算第二风险值B,并根据所述第一风险参数α、所述查询次数g和当前窗口周期内的敏感数据表平均查询次数F确定第二风险参数β;对数据库的流量进行监测,根据当前时间窗口内的预设敏感字段查询次数q计算第三风险值C,并根据所述第一风险参数α、第二风险参数β、查询次数q和当前窗口周期内的敏感字段平均查询次数Q确定第三风险参数γ;根据当前时间窗口内的预设敏感字段出现次数p计算第四风险值D,并根据所述第一风险参数α、第二风险参数β和第三风险参数γ确定第四风险参数δ;利用所述第一至第四风险值、第一至第四风险参数对深度学习模型进行训练,以得到注入攻击检测模型。
在一些实施例中,根据当前时间窗口内的每个源IP所触发的WAF注入告警次数n计算相应的第一风险值A包括:利用公式A=log(1+n)计算第一风险参数A;根据所述WAF注入告警次数n和当前时间窗口内的全部WAF注入告警次数m确定第一风险参数α包括:利用公式α=n/m计算第一风险参数α。
在一些实施例中,根据所述查询次数g计算第二风险值B包括:利用公式B=log(1+g)计算第二风险值B;根据所述第一风险参数α、所述查询次数g和当前窗口周期内的敏感数据表平均查询次数F确定第二风险参数β包括:利用公式β=(1-α)*((g-F)/F)计算第二风险参数β。
在一些实施例中,根据当前时间窗口内的预设敏感字段查询次数q计算第三风险值C包括:利用公式C=log(1+q)计算第三风险值C;根据所述第一风险参数α、第二风险参数β、查询次数q和当前窗口周期内的敏感字段平均查询次数Q确定第三风险参数γ包括:利用公式γ=(1-α-β)*((q-Q)/Q)计算第三风险参数γ。
在一些实施例中,根据当前时间窗口内的预设敏感字段出现次数p计算第四风险值D包括:利用公式D=log(1+p)计算第四风险值D;根据所述第一风险参数α、第二风险参数β和第三风险参数γ确定第四风险参数δ包括:利用公式δ=1-α-β-γ计算第四风险参数δ。
在一些实施例中,利用公式:
确定下一个窗口周期内的时间窗口个数r,其中当前窗口周期内包括R个时间窗口,αi为第i个时间窗口的第一风险参数。
在一些实施例中,利用公式
确定下一个窗口周期内的时间窗口大小t,其中T为当前窗口周期内的时间窗口大小,βi为第i个时间窗口的第二风险参数,γi为第i个时间窗口的第三风险参数,δi为第i个时间窗口的第四风险参数。
根据本公开实施例的第二方面,提供一种注入攻击检测模型生成装置,包括:第一风险估算模块,被配置为对WAF注入告警日志进行处理,以便对相同源IP的数据进行汇聚,根据当前时间窗口内的每个源IP所触发的WAF注入告警次数n计算相应的第一风险值A,并根据所述WAF注入告警次数n和当前时间窗口内的全部WAF注入告警次数m确定第一风险参数α;第二风险估算模块,被配置为记录当前时间窗口内的敏感数据表的查询次数g,根据所述查询次数g计算第二风险值B,并根据所述第一风险参数α、所述查询次数g和当前窗口周期内的敏感数据表平均查询次数F确定第二风险参数β;第三风险估算模块,被配置为对数据库的流量进行监测,根据当前时间窗口内的预设敏感字段查询次数q计算第三风险值C,并根据所述第一风险参数α、第二风险参数β、查询次数q和当前窗口周期内的敏感字段平均查询次数Q确定第三风险参数γ;第四风险估算模块,被配置为根据当前时间窗口内的预设敏感字段出现次数p计算第四风险值D,并根据所述第一风险参数α、第二风险参数β和第三风险参数γ确定第四风险参数δ;训练模块,被配置为利用所述第一至第四风险值、第一至第四风险参数对深度学习模型进行训练,以得到注入攻击检测模型。
在一些实施例中,第一风险估算模块被配置为利用公式A=log(1+n)计算第一风险参数A,利用公式α=n/m计算第一风险参数α。
在一些实施例中,第二风险估算模块被配置为利用公式B=log(1+g)计算第二风险值B,利用公式β=(1-α)*((g-F)/F)计算第二风险参数β。
在一些实施例中,第三风险估算模块被配置为利用公式C=log(1+q)计算第三风险值C,利用公式γ=(1-α-β)*((q-Q)/Q)计算第三风险参数γ。
在一些实施例中,第四风险估算模块被配置为利用公式D=log(1+p)计算第四风险值D,利用公式δ=1-α-β-γ计算第四风险参数δ。
在一些实施例中,上述装置还包括:窗口控制模块,被配置为利用公式:
确定下一个窗口周期内的时间窗口个数r,其中当前窗口周期内包括R个时间窗口,αi为第i个时间窗口的第一风险参数。
在一些实施例中,窗口控制模块被配置为利用公式
确定下一个窗口周期内的时间窗口大小t,其中T为当前窗口周期内的时间窗口大小,βi为第i个时间窗口的第二风险参数,γi为第i个时间窗口的第三风险参数,δi为第i个时间窗口的第四风险参数。
根据本公开实施例的第三方面,提供一种注入攻击检测模型生成装置,包括:存储器,被配置为存储指令;处理器,耦合到存储器,处理器被配置为基于存储器存储的指令执行实现如上述任一实施例所述的注入攻击检测模型生成方法。
根据本公开实施例的第四方面,提供一种注入攻击检测方法,包括:对WAF注入告警日志进行处理,以便对相同源IP的数据进行汇聚;对数据库的流量进行监控;根据汇聚结果和监控结果,利用上述任一实施例生成的注入攻击检测模型进行注入攻击检测。
根据本公开实施例的第五方面,提供一种注入攻击检测装置,包括:汇聚模块,被配置为对WAF注入告警日志进行处理,以便对相同源IP的数据进行汇聚;监控模块,被配置为对数据库的流量进行监控;检测模块,被配置为根据汇聚结果和监控结果,利用上述任一实施例生成的注入攻击检测模型进行注入攻击检测。
根据本公开实施例的第六方面,提供一种注入攻击检测装置,包括:存储器,被配置为存储指令;处理器,耦合到存储器,处理器被配置为基于存储器存储的指令执行实现如上述任一实施例所述的注入攻击检测方法。
根据本公开实施例的第七方面,提供一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如上述任一实施例涉及的方法。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1是根据本公开一个实施例的注入攻击检测模型生成方法的流程示意图;
图2是根据本公开一个实施例的注入攻击检测模型生成装置的结构示意图;
图3是根据本公开另一个实施例的注入攻击检测模型生成装置的结构示意图;
图4是根据本公开又一个实施例的注入攻击检测模型生成装置的结构示意图;
图5是根据本公开一个实施例的注入攻击检测方法的流程示意图;
图6是根据本公开一个实施例的注入攻击检测装置的结构示意图;
图7是根据本公开另一个实施例的注入攻击检测装置的结构示意图。
应当明白,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。此外,相同或类似的参考标号表示相同或类似的构件。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。对示例性实施例的描述仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。本公开可以以许多不同的形式实现,不限于这里所述的实施例。提供这些实施例是为了使本公开透彻且完整,并且向本领域技术人员充分表达本公开的范围。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、材料的组分和数值应被解释为仅仅是示例性的,而不是作为限制。
本公开中使用的“包括”或者“包含”等类似的词语意指在该词前的要素涵盖在该词后列举的要素,并不排除也涵盖其他要素的可能。
本公开使用的所有术语(包括技术术语或者科学术语)与本公开所属领域的普通技术人员理解的含义相同,除非另外特别定义。还应当理解,在诸如通用字典中定义的术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
图1是根据本公开一个实施例的注入攻击检测模型生成方法的流程示意图。在一些实施例中,下面的注入攻击检测模型生成方法步骤由注入攻击检测模型生成装置执行。
在步骤101,对WAF注入告警日志进行处理,以便对相同源IP的数据进行汇聚,根据当前时间窗口内的每个源IP所触发的WAF注入告警次数n计算相应的第一风险值A,并根据所述WAF注入告警次数n和当前时间窗口内的全部WAF注入告警次数m确定第一风险参数α。
这里需要说明的是,在二阶SQL注入攻击过程中,首先会探测WAF(WebApplication Firewall,Web应用防火墙)的拦截规则,通过构造绕过语句、猜解敏感表名称,例如user表。由此导致的结果是WAF注入告警异常增加。
为此,本申请以时间窗口为基准,对WAF注入告警日志进行预处理。例如每隔15分钟,对相同源IP的数据进行聚合。
在一些实施例中,利用公式(1)计算第一风险参数A。
A=log(1+n) (1)
利用公式(2)计算第一风险参数α。
α=n/m (2)
在步骤102,记录当前时间窗口内的敏感数据表的查询次数g,根据所述查询次数g计算第二风险值B,并根据所述第一风险参数α、所述查询次数g和当前窗口周期内的敏感数据表平均查询次数F确定第二风险参数β。
这里需要说明的是,在二阶SQL注入攻击过程中,在探测WAF(Web ApplicationFirewall,Web应用防火墙)的拦截规则后,还会不断查询敏感字段,探测敏感字段名称,例如password。由此导致的结果是敏感数据表的查询次数异常增加。
为此,通过记录时间窗口内敏感数据表的查询次数,若敏感数据表出现高于平均值的操作,例如每分钟50次,则可判断执行该操作的为机器人或脚本。
在一些实施例中,通过利用公式(3)计算第二风险值B。
B=log(1+g) (3)
利用公式(4)计算第二风险参数β。
β=(1-α)*((g-F)/F) (4)
在步骤103,对数据库的流量进行监测,根据当前时间窗口内的预设敏感字段查询次数q计算第三风险值C,并根据所述第一风险参数α、第二风险参数β、查询次数q和当前窗口周期内的敏感字段平均查询次数Q确定第三风险参数γ。
这里需要说明的是,在二阶SQL注入攻击过程中,在不断查询敏感字段以探测敏感字段名称后,还会进一步扩大字段查询范围,以尽可能多获取字段名称,例如user、phone、identity等。由此导致的结果是敏感字段的查询次数异常增加。
为此,通过设定数据库敏感字段,通过对数据库的流量进行持续监测,若时间窗口内的敏感字段的查询次数较多,则可判定为高风险。
在一些实施例中,通过利用公式(5)计算第三风险值C。
C=log(1+q) (5)
利用公式(6)计算第三风险参数γ。
γ=(1-α-β)* ((q-Q)/Q) (6)
在步骤104,根据当前时间窗口内的预设敏感字段出现次数p计算第四风险值D,并根据所述第一风险参数α、第二风险参数β和第三风险参数γ确定第四风险参数δ。
这里需要说明的是,在二阶SQL注入攻击过程中,在扩大字段查询范围,以尽可能多获取字段名称后,还会进一步构造脱库语句,以便将敏感信息下载下来。由此导致的结果是敏感字段的出现次数异常增加。
为此,通过对数据库的流量进行持续监测,若时间窗口内的敏感字段的出现次数较多,则可判定为高风险。
在一些实施例中,通过利用公式(7)计算第四风险值D。
D=log(1+p) (7)
利用公式(8)计算第四风险参数δ。
δ=1-α-β-γ (8)
在步骤105,利用所述第一至第四风险值、第一至第四风险参数对深度学习模型进行训练,以得到注入攻击检测模型。
在一些实施例中,深度学习模型可包括SVM(Support Vector Machine,支持向量机)或其它分类器模型。
在一些实施例中,在定义时间窗口时,可以根据二阶SQL注入多阶段的特点,采取自适应时间窗口的方式,有针对地调整时间窗口和时间周期的大小,从而快速准确地检测出二阶SQL注入攻击。
这里需要说明的是,攻击者在开始实施二阶SQL注入攻击时,因为不清楚系统的过滤规则,所以攻击者只能不断尝试SQL注入攻击,从而摸清规则,构造绕过负荷payload,在这个过程中,WAF会产生大量SQL注入告警。因此,可以定义R个时间窗口为当前时间窗口周期,r个时间窗口为下一个时间窗口周期。
在一些实施例中,通过利用公式(9)确定下一个窗口周期内的时间窗口个数r。
其中αi为第i个时间窗口的第一风险参数。
当攻击者成功构造出绕过payload时,会对敏感数据表和敏感字段进行查询操作,在此阶段中,时间窗口内的敏感字段出现的次数和数量会异常增加,敏感数据表也会被反复查询,。因此可以定义当前时间窗口大小为T,下一个时间窗口大小为t。
在一些实施例中,利用公式(10)确定下一个窗口周期内的时间窗口大小t。
其中βi为第i个时间窗口的第二风险参数,γi为第i个时间窗口的第三风险参数,δi为第i个时间窗口的第四风险参数。
图2是根据本公开一个实施例的注入攻击检测模型生成装置的结构示意图。如图2所示,注入攻击检测模型生成装置包括第一风险估算模块21、第二风险估算模块22、第三风险估算模块23、第四风险估算模块24和训练模块25。
第一风险估算模块21被配置为对WAF注入告警日志进行处理,以便对相同源IP的数据进行汇聚,根据当前时间窗口内的每个源IP所触发的WAF注入告警次数n计算相应的第一风险值A,并根据所述WAF注入告警次数n和当前时间窗口内的全部WAF注入告警次数m确定第一风险参数α。
在一些实施例中,第一风险估算模块21被配置为利用上述公式(1)计算第一风险参数A,利用上述公式(2)计算第一风险参数α。
第二风险估算模块22被配置为记录当前时间窗口内的敏感数据表的查询次数g,根据所述查询次数g计算第二风险值B,并根据所述第一风险参数α、所述查询次数g和当前窗口周期内的敏感数据表平均查询次数F确定第二风险参数β。
在一些实施例中,第二风险估算模块22被配置为利用上述公式(3)计算第二风险值B,利用上述公式(4)计算第二风险参数β。
第三风险估算模块23被配置为对数据库的流量进行监测,根据当前时间窗口内的预设敏感字段查询次数q计算第三风险值C,并根据所述第一风险参数α、第二风险参数β、查询次数q和当前窗口周期内的敏感字段平均查询次数Q确定第三风险参数γ。
在一些实施例中,第三风险估算模块23被配置为利用上述公式(5)计算第三风险值C,利用上述公式(6)计算第三风险参数γ。
第四风险估算模块24被配置为根据当前时间窗口内的预设敏感字段出现次数p计算第四风险值D,并根据所述第一风险参数α、第二风险参数β和第三风险参数γ确定第四风险参数δ。
在一些实施例中,第四风险估算模块24被配置为利用上述公式(7)计算第四风险值D,利用上述公式(8)计算第四风险参数δ。
训练模块25被配置为利用所述第一至第四风险值、第一至第四风险参数对深度学习模型进行训练,以得到注入攻击检测模型。
图3是根据本公开另一个实施例的注入攻击检测模型生成装置的结构示意图。图3与图2的不同之处在于,在图3所示实施例中,注入攻击检测模型生成装置还包括窗口控制模块26。
窗口控制模块26被配置为利用上述公式(9)确定下一个窗口周期内的时间窗口个数r,利用上述公式(10)确定下一个窗口周期内的时间窗口大小t。
图4是根据本公开又一个实施例的注入攻击检测模型生成装置的结构示意图。如图4所示,注入攻击检测模型生成装置包括存储器41和处理器42。
存储器41用于存储指令。处理器42耦合到存储器41。处理器42被配置为基于存储器存储的指令执行实现如图1中任一实施例涉及的方法。
如图4所示,该装置还包括通信接口43,用于与其它设备进行信息交互。同时,该装置还包括总线44,处理器42、通信接口43、以及存储器41通过总线44完成相互间的通信。
存储器41可以包含高速RAM(Random Access Memory,随机存取存储器),也可还包括NVM(Non-Volatile Memory,非易失性存储器)。例如至少一个磁盘存储器。存储器41也可以是存储器阵列。存储器41还可能被分块,并且块可按一定的规则组合成虚拟卷。
此外,处理器42可以是一个中央处理器,或者可以是ASIC(Application SpecificIntegrated Circuit,专用集成电路),或者是被配置成实施本公开实施例的一个或多个集成电路。
图5是根据本公开一个实施例的注入攻击检测方法的流程示意图。在一些实施例中,下面的注入攻击检测方法步骤由注入攻击检测装置执行。
在步骤501,对WAF注入告警日志进行处理,以便对相同源IP的数据进行汇聚。
在步骤502,对数据库的流量进行监控。
在步骤503,根据汇聚结果和监控结果,利用上述任一实施例生成的注入攻击检测模型进行注入攻击检测。
图6是根据本公开一个实施例的注入攻击检测装置的结构示意图。如图6所示,注入攻击检测装置包括汇聚模块61、监控模块62和检测模块63。
汇聚模块61被配置为对WAF注入告警日志进行处理,以便对相同源IP的数据进行汇聚。
监控模块62被配置为对数据库的流量进行监控。
检测模块63被配置为根据汇聚结果和监控结果,利用上述任一实施例生成的注入攻击检测模型进行注入攻击检测。
图7是根据本公开另一个实施例的注入攻击检测装置的结构示意图。如图7所示,注入攻击检测装置包括存储器71、处理器72、通信接口43和总线44。图7与图4的不同之处在于,在图7所示的实施例中,处理器72根据指令执行如图5中任一实施例所述的方法。
本公开还提供一种计算机可读存储介质。计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如图1、5中任一实施例涉及的方法。
在一些实施例中,上述功能模块可以实现为用于执行本公开所描述功能的通用处理器、可编程逻辑控制器(Programmable Logic Controller,简称:PLC)、数字信号处理器(Digital Signal Processor,简称:DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称:ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。
本公开有效解决了对现有的数据库输出过于信任、对二阶SQL注入攻击检测缺失的问题,实现了检测二阶SQL注入攻击的功能。并能够较好的与传统的SQL检测一起构成完整的注入检测。
至此,已经详细描述了本公开的实施例。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改或者对部分技术特征进行等同替换。本公开的范围由所附权利要求来限定。
Claims (19)
1.一种注入攻击检测模型生成方法,包括:
对WAF注入告警日志进行处理,以便对相同源IP的数据进行汇聚,根据当前时间窗口内的每个源IP所触发的WAF注入告警次数n计算相应的第一风险值A,并根据所述WAF注入告警次数n和当前时间窗口内的全部WAF注入告警次数m确定第一风险参数α;
记录当前时间窗口内的敏感数据表的查询次数g,根据所述查询次数g计算第二风险值B,并根据所述第一风险参数α、所述查询次数g和当前窗口周期内的敏感数据表平均查询次数F确定第二风险参数β;
对数据库的流量进行监测,根据当前时间窗口内的预设敏感字段查询次数q计算第三风险值C,并根据所述第一风险参数α、第二风险参数β、查询次数q和当前窗口周期内的敏感字段平均查询次数Q确定第三风险参数γ;
根据当前时间窗口内的预设敏感字段出现次数p计算第四风险值D,并根据所述第一风险参数α、第二风险参数β和第三风险参数γ确定第四风险参数δ;
利用所述第一至第四风险值、第一至第四风险参数对深度学习模型进行训练,以得到注入攻击检测模型。
2.根据权利要求1所述的方法,其中,根据当前时间窗口内的每个源IP所触发的WAF注入告警次数n计算相应的第一风险值A包括:
利用公式A=log(1+n)计算第一风险值A;
根据所述WAF注入告警次数n和当前时间窗口内的全部WAF注入告警次数m确定第一风险参数α包括:
利用公式α=n/m计算第一风险参数α。
3.根据权利要求2所述的方法,其中,根据所述查询次数g计算第二风险值B包括:
利用公式B=log(1+g)计算第二风险值B;
根据所述第一风险参数α、所述查询次数g和当前窗口周期内的敏感数据表平均查询次数F确定第二风险参数β包括:
利用公式β=(1-α)*((g-F)/F)计算第二风险参数β。
4.根据权利要求3所述的方法,其中,根据当前时间窗口内的预设敏感字段查询次数q计算第三风险值C包括:
利用公式C=log(1+q)计算第三风险值C;
根据所述第一风险参数α、第二风险参数β、查询次数q和当前窗口周期内的敏感字段平均查询次数Q确定第三风险参数γ包括:
利用公式γ=(1-α-β)*((q-Q)/Q)计算第三风险参数γ。
5.根据权利要求4所述的方法,其中,根据当前时间窗口内的预设敏感字段出现次数p计算第四风险值D包括:
利用公式D=log(1+p)计算第四风险值D;
根据所述第一风险参数α、第二风险参数β和第三风险参数γ确定第四风险参数δ包括:
利用公式δ=1-α-β-γ计算第四风险参数δ。
6.根据权利要求1-5中任一项所述的方法,还包括:
利用公式:
确定下一个窗口周期内的时间窗口个数r,其中当前窗口周期内包括R个时间窗口,αi为第i个时间窗口的第一风险参数。
7.根据权利要求6所述的方法,还包括:
利用公式
确定下一个窗口周期内的时间窗口大小t,其中T为当前窗口周期内的时间窗口大小,βi为第i个时间窗口的第二风险参数,γi为第i个时间窗口的第三风险参数,δi为第i个时间窗口的第四风险参数。
8.一种注入攻击检测模型生成装置,包括:
第一风险估算模块,被配置为对WAF注入告警日志进行处理,以便对相同源IP的数据进行汇聚,根据当前时间窗口内的每个源IP所触发的WAF注入告警次数n计算相应的第一风险值A,并根据所述WAF注入告警次数n和当前时间窗口内的全部WAF注入告警次数m确定第一风险参数α;
第二风险估算模块,被配置为记录当前时间窗口内的敏感数据表的查询次数g,根据所述查询次数g计算第二风险值B,并根据所述第一风险参数α、所述查询次数g和当前窗口周期内的敏感数据表平均查询次数F确定第二风险参数β;
第三风险估算模块,被配置为对数据库的流量进行监测,根据当前时间窗口内的预设敏感字段查询次数q计算第三风险值C,并根据所述第一风险参数α、第二风险参数β、查询次数q和当前窗口周期内的敏感字段平均查询次数Q确定第三风险参数γ;
第四风险估算模块,被配置为根据当前时间窗口内的预设敏感字段出现次数p计算第四风险值D,并根据所述第一风险参数α、第二风险参数β和第三风险参数γ确定第四风险参数δ;
训练模块,被配置为利用所述第一至第四风险值、第一至第四风险参数对深度学习模型进行训练,以得到注入攻击检测模型。
9.根据权利要求8所述的装置,其中,
第一风险估算模块被配置为利用公式A=log(1+n)计算第一风险值A,利用公式α=n/m计算第一风险参数α。
10.根据权利要求9所述的装置,其中,
第二风险估算模块被配置为利用公式B=log(1+g)计算第二风险值B,利用公式β=(1-α)*((g-F)/F)计算第二风险参数β。
11.根据权利要求10所述的装置,其中,
第三风险估算模块被配置为利用公式C=log(1+q)计算第三风险值C,利用公式γ=(1-α-β)*((q-Q)/Q)计算第三风险参数γ。
12.根据权利要求11所述的装置,其中,
第四风险估算模块被配置为利用公式D=log(1+p)计算第四风险值D,利用公式δ=1-α-β-γ计算第四风险参数δ。
13.根据权利要求8-12中任一项所述的装置,还包括:
窗口控制模块,被配置为利用公式:
确定下一个窗口周期内的时间窗口个数r,其中当前窗口周期内包括R个时间窗口,αi为第i个时间窗口的第一风险参数。
14.根据权利要求13所述的装置,其中,
窗口控制模块被配置为利用公式
确定下一个窗口周期内的时间窗口大小t,其中T为当前窗口周期内的时间窗口大小,βi为第i个时间窗口的第二风险参数,γi为第i个时间窗口的第三风险参数,δi为第i个时间窗口的第四风险参数。
15.一种注入攻击检测模型生成装置,包括:
存储器,被配置为存储指令;
处理器,耦合到存储器,处理器被配置为基于存储器存储的指令执行实现如权利要求1-7中任一项所述的方法。
16.一种注入攻击检测方法,包括:
对WAF注入告警日志进行处理,以便对相同源IP的数据进行汇聚;
对数据库的流量进行监控;
根据汇聚结果和监控结果,利用权利要求1-7中任一项生成的注入攻击检测模型进行注入攻击检测。
17.一种注入攻击检测装置,包括:
汇聚模块,被配置为对WAF注入告警日志进行处理,以便对相同源IP的数据进行汇聚;
监控模块,被配置为对数据库的流量进行监控;
检测模块,被配置为根据汇聚结果和监控结果,利用权利要求1-7中任一项生成的注入攻击检测模型进行注入攻击检测。
18.一种注入攻击检测装置,包括:
存储器,被配置为存储指令;
处理器,耦合到存储器,处理器被配置为基于存储器存储的指令执行实现如权利要求16所述的方法。
19.一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如权利要求1-7、16中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010061880.9A CN113139180B (zh) | 2020-01-20 | 2020-01-20 | 注入攻击检测模型生成装置、注入攻击检测装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010061880.9A CN113139180B (zh) | 2020-01-20 | 2020-01-20 | 注入攻击检测模型生成装置、注入攻击检测装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113139180A CN113139180A (zh) | 2021-07-20 |
CN113139180B true CN113139180B (zh) | 2023-12-01 |
Family
ID=76808964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010061880.9A Active CN113139180B (zh) | 2020-01-20 | 2020-01-20 | 注入攻击检测模型生成装置、注入攻击检测装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113139180B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8225402B1 (en) * | 2008-04-09 | 2012-07-17 | Amir Averbuch | Anomaly-based detection of SQL injection attacks |
CN108259449A (zh) * | 2017-03-27 | 2018-07-06 | 新华三技术有限公司 | 一种防御apt攻击的方法和系统 |
CN109885554A (zh) * | 2018-12-20 | 2019-06-14 | 顺丰科技有限公司 | 数据库安全审计方法、系统及计算机可读存储介质 |
CN110647749A (zh) * | 2019-09-20 | 2020-01-03 | 湖南大学 | 一种二阶sql注入攻击防御的方法 |
-
2020
- 2020-01-20 CN CN202010061880.9A patent/CN113139180B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8225402B1 (en) * | 2008-04-09 | 2012-07-17 | Amir Averbuch | Anomaly-based detection of SQL injection attacks |
CN108259449A (zh) * | 2017-03-27 | 2018-07-06 | 新华三技术有限公司 | 一种防御apt攻击的方法和系统 |
CN109885554A (zh) * | 2018-12-20 | 2019-06-14 | 顺丰科技有限公司 | 数据库安全审计方法、系统及计算机可读存储介质 |
CN110647749A (zh) * | 2019-09-20 | 2020-01-03 | 湖南大学 | 一种二阶sql注入攻击防御的方法 |
Non-Patent Citations (1)
Title |
---|
符天等.Web服务的SQL注入攻击及防御研究.《软件》.2018,(第04期),第44-47页. * |
Also Published As
Publication number | Publication date |
---|---|
CN113139180A (zh) | 2021-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240236129A9 (en) | Cognitive information security using a behavior recognition system | |
Fang et al. | Evading anti-malware engines with deep reinforcement learning | |
US10237289B2 (en) | Method and device for detecting network intrusion | |
US11269995B2 (en) | Chain of events representing an issue based on an enriched representation | |
US11960610B2 (en) | Detecting vulnerability change in software systems | |
US11405285B2 (en) | Cyber-physical system evaluation | |
Mahmood et al. | Intrusion detection system based on K-star classifier and feature set reduction | |
CN111869158A (zh) | 定量数字传感器 | |
US11989307B2 (en) | Detecting vulnerable software systems | |
Yuan et al. | Security in cyber-physical systems: Controller design against known-plaintext attack | |
US11989289B2 (en) | Remediating software vulnerabilities | |
Shah et al. | Reducing features of KDD CUP 1999 dataset for anomaly detection using back propagation neural network | |
WO2019144548A1 (zh) | 安全测试方法、装置、计算机设备和存储介质 | |
Gazzola et al. | Embedded techniques for choosing the parameter in Tikhonov regularization | |
EP2960665B1 (en) | Device and method for calibrating a digital sensor | |
WO2021025783A1 (en) | Automatic generation of detection alerts | |
WO2023047206A1 (en) | Techniques for enriching device profiles and mitigating cybersecurity threats using enriched device profiles | |
CN113139180B (zh) | 注入攻击检测模型生成装置、注入攻击检测装置及方法 | |
EP3550789A1 (en) | Method for protecting web applications by automatically generating application models | |
CN112291239B (zh) | 一种面向scada系统的网络物理模型及其入侵检测方法 | |
CN116881962B (zh) | 一种安全监控系统、方法、装置和存储介质 | |
Hu et al. | Cascaded machine learning model based dos attacks detection and classification in noc | |
Kershaw et al. | Anomaly-based network intrusion detection using outlier subspace analysis: A case study | |
CN117834236B (zh) | 基于goose流量特征的智能变电站网络攻击检测方法及装置 | |
CN109711194B (zh) | 一种数据处理方法及数据处理装置 |
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 |