CN117118752B - 一种信息抗攻击的方法、***、装置及介质 - Google Patents

一种信息抗攻击的方法、***、装置及介质 Download PDF

Info

Publication number
CN117118752B
CN117118752B CN202311372158.7A CN202311372158A CN117118752B CN 117118752 B CN117118752 B CN 117118752B CN 202311372158 A CN202311372158 A CN 202311372158A CN 117118752 B CN117118752 B CN 117118752B
Authority
CN
China
Prior art keywords
sql
module
request
sql request
attack
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
Application number
CN202311372158.7A
Other languages
English (en)
Other versions
CN117118752A (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.)
Shandong Love Bookren Family Education Technology Co ltd
Original Assignee
Shandong Love Bookren Family Education Technology Co ltd
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 Shandong Love Bookren Family Education Technology Co ltd filed Critical Shandong Love Bookren Family Education Technology Co ltd
Priority to CN202311372158.7A priority Critical patent/CN117118752B/zh
Publication of CN117118752A publication Critical patent/CN117118752A/zh
Application granted granted Critical
Publication of CN117118752B publication Critical patent/CN117118752B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种信息抗攻击的方法、***、装置及介质,涉及***安全的技术领域,其中信息抗攻击的方法包括执行SQL请求、警戒对比、报警、SQL请求分析、SQL请求内容分析、怀疑度分析、终止SQL请求、数据留观等步骤;信息抗攻击***包括输入模块、数据库、SQL接收模块、SQL执行模块、数据统计模块I、对比模块、报警模块、数据统计模块II、SQL分析模块、SQL终止模块、延时模块等模块。本发明能够在服务器线程耗尽前自动剔除SQL注入攻击,降低了服务器崩溃的概率,提高了用户的使用体验。

Description

一种信息抗攻击的方法、***、装置及介质
技术领域
本发明涉及***安全的技术领域,尤其是涉及一种信息抗攻击的方法、***、装置及介质。
背景技术
所谓SQL注入攻击,就是通过向有SQL查询的WEB程序提交一个精心构造的请求,从而突破最初的SQL查询限制,以实现未授权的访问或存取,最终可能获取、篡改、控制网站服务器端数据库中的内容。因此,SQL注入攻击是入侵者最常用的入侵方式之一。
随着预编译以及参数化查询的应用,SQL注入攻击变的不再如以前一样简单;但是由于有些查询语句(例如order by语句)不能兼容预编译功能,使得SQL注入攻击仍然有发挥的空间。而随着查询权限的使用以及数据加密的使用,使得攻击者难以获取到数据库中的信息,即使获得了信息也难以对信息进行解密;而操作权限的应用又使得攻击者难以对数据库进行篡改和删除。
这些操作使得SQL注入攻击的发挥空间越来越小,但是仍有漏网之鱼,例如锁表攻击。由于锁表攻击无法获取信息,也无法对信息进行篡改,因此锁表攻击对于信息安全来讲无伤大雅。但是锁表攻击会使得其它用户无法查询到相关信息,这样就会使用户长时间占用线程,后随着时间的推移,越来越多的用户需要查询信息,此时数据库连接线程便可能耗尽,进而导致服务器崩溃,最终给用户带来了不好的使用体验。
发明内容
为了解决遭受SQL注入攻击时,服务器崩溃进而导致用户体验感下降的问题,本发明提供一种信息抗攻击的方法、***、装置及介质。
第一方面,本发明提供的一种信息抗攻击的方法,采用如下的技术方案:
一种信息抗攻击的方法,包括以下步骤:
执行SQL请求:获得SQL请求数据包,统计正在执行的SQL请求数量N,并执行所有SQL请求;
警戒对比:将正在执行的SQL请求数量N与服务器允许同时执行的警戒线程数CTw进行对比,若正在执行的SQL请求数量N大于警戒线程数CTw,则执行报警步骤以及SQL请求分析步骤;其中,服务器允许同时执行的警戒线程数CTw小于服务器允许同时执行的最大线程数CT;
报警:发出报警,提示数据库管理员介入管理;
SQL请求分析:对SQL请求进行分析,进而判断正在执行的SQL请求中是否存在注入攻击;SQL请求分析步骤包括SQL请求内容分析步骤以及怀疑度分析步骤;
SQL请求内容分析:对正在执行的N个SQL请求进行分析,获得第n个SQL请求的执行时长nt、第n个SQL请求的字符串数量nl以及第n个SQL请求的敏感词数量nx,n∈[1,N];
怀疑度分析:根据第n个SQL请求的执行时长nt、第n个SQL请求的字符串数量nl以及第n个SQL请求的敏感词数量nx,确定第n个SQL请求的怀疑指数dn,怀疑指数dn的计算模型如下:
式中,[Nl]为所有正在执行的SQL请求的字符串数量nl的集合;
终止SQL请求:,结束第n个SQL请求;
数据留观:设定留观时间T,在经过留观时间T后,再次执行警戒对比步骤。
通过采用上述技术方案,服务器不断接收SQL请求,并对SQL请求进行执行,并不断对正在执行的SQL请求进行计数;当正在执行的SQL请求数量N超过警戒线程数CTw时,证明数据库可能受到了SQL注入攻击,且SQL注入攻击隐藏在正在执行的SQL请求中,因此对正在执行的SQL请求进行分析,同时发出报警,以提示数据库管理员密切关注服务器的状态。
在对SQL请求进行分析时,现统计所有正在执行的SQL请求的执行时长、字符串数量以及敏感词数量,进而获得了所有正在执行的SQL请求基本信息,之后对正在执行的SQL请求危险程度(即怀疑指数)进行分析;正在执行的SQL请求的怀疑指数越高,则证明该SQL请求为SQL注入攻击的可能性越大,此时结束该SQL请求,并观察一段时间。
若一段时间后,正在执行的SQL请求数量N仍然超过警戒线程数CTw,则证明SQL注入攻击未被清除,并再次执行SQL请求分析,进而结束怀疑指数第二高的SQL请求,并依次类推;若一段时间后,正在执行的SQL请求数量N小于超过警戒线程数CTw,则证明SQL注入攻击被清除。如此,可以自动剔除SQL注入攻击,降低了数据库被长时间锁定的概率,提高了用户的使用体验。
可选地,所述怀疑度分析步骤中,还确定第n个SQL请求中已经被预编译的敏感词数量nx p,并根据nx p对怀疑指数进行优化;优化后的怀疑指数dn的计算模型如下:
通过采用上述技术方案,敏感词数量在字符串数量中的占比越多,则SQL请求的怀疑指数越高,但是并不是所有的敏感词均会对数据库产生影响。当部分敏感词已经被预编译处理后,则可将该部分敏感词划归为可以信任的敏感词,以降低正常的SQL请求被误判为SQL注入的概率。
可选地,所述警戒对比步骤中,统计所有已执行完毕的SQL请求的平均执行时长T1以及单位时间内接收SQL请求的平均数量j,警戒线程数CTw与T1以及j的关系为如下:
CTw>2jT1
最大线程数CT与警戒线程数CTw的关系如下:
CT>CTw+jT1
在数据留观步骤中,留观时间T等于所有已执行完毕的SQL请求的平均执行时长T1
通过采用上述技术方案,在遇到SQL注入攻击时,能够降低在留观时间内服务器崩溃的概率;同时,能够最低限度的缩短留观时间,进而快速确定SQL注入攻击是否被解除,以便于判断下一步是否需要对SQL请求再次进行分析。
可选地,所述怀疑度分析步骤中,还对SQL请求的文本进行转译,之后再对转译后的SQL请求文本进行字符串数量nl以及敏感词数量nx的统计。
通过采用上述技术方案,某些SQL注入攻击为精心设计的,通过直接扫描SQL请求时难以确定SQL请求中字符串的数量以及敏感词的数量,通过转译的方式将SQL注入攻击文本转译为其它格式的数据,之后再对SQL注入攻击文本进行分析,能够提高统计字符串数量以及敏感词数量时的准确率,进而提高怀疑度分析时的准确率。
可选地,所述警戒对比步骤中,若正在执行的SQL请求数量N小于等于警戒线程数CTw,则执行SQL注入攻击统计步骤;
SQL注入攻击统计:将终止SQL请求步骤中结束的第n个SQL请求录入至SQL注入攻击数据库中。
通过采用上述技术方案,在确定了SQL注入攻击后,将与SQL注入攻击对应的SQL请求录入至数据库中,以便于数据库管理员维护和更新代码。
第二方面,本发明提供了一种信息抗攻击***,采用如下的技术方案:
一种信息抗攻击***,包括以下模块:
输入模块:用于输入警戒线程数CTw、最大线程数CT以及留观时间T;以及用于输入敏感词信息;
数据库:输入端与输入模块的输出端连接,用于储存敏感词信息;
SQL接收模块:用于接收SQL请求数据包;
SQL执行模块:输入端与SQL接收模块的输出端连接,用于执行SQL请求;
数据统计模块I:输入端与SQL执行模块的输出端连接,用于统计正在执行的SQL请求数量N;
对比模块:输入端与数据统计模块I以及输入模块的输出端连接,用于将请求数量N以及警戒线程数CTw进行对比;
报警模块:输入端与对比模块的输出端连接,用于发出报警;
数据统计模块II:输入端与SQL执行模块以及数据库的输出端连接,用于获得第n个SQL请求的执行时长nt以及第n个SQL请求的字符串数量nl,并判别第n个SQL请求中已经被预编译的敏感词数量nx p以及第n个SQL请求的敏感词数量nx
SQL分析模块:输入端与SQL执行模块以及数据统计模块II的输出端连接,用于计算怀疑指数dn,并取dn中的最大值;
SQL终止模块:输入端与SQL分析模块的输出端连接,用于终止怀疑指数dn最大时对应的SQL请求;
延时模块:输入端与SQL终止模块以及输入模块的输出端连接,输出端与对比模块的输出端连接,用于在留观时间T后激活对比模块。
通过采用上述技术方案,SQL接收模块不断接收SQL请求数据包,SQL执行模块不断置信SQL请求;当数据库受到SQL注入攻击时,SQL接收模块仍然可以不断接收SQL请求数据包,但是SQL执行模块无法正常执行SQL请求,进而导致正在执行的SQL请求数量上升,当正在执行的SQL请求数量超过警戒线程数CTw时,报警模块发出报警,进而提示数据库管理员监控服务器的运行情况,并开始对正在执行的SQL请求的基本数据进行统计,之后根据正在执行的SQL请求的基本数据计算怀疑指数,之后将怀疑指数最高的SQL请求判断为SQL注入攻击并将该SQL请求终止,之后触发延时模块,延时一段时间后重新判断正在执行的SQL请求数量是否超过警戒线程数CTw,若正在执行的SQL请求数量仍然超过警戒线程数CTw,则证明终止的SQL请求并非SQL注入攻击,需要重新对正在执行的SQL请求进行判断;若正在执行的SQL请求数量不再警戒线程数CTw,证明SQL注入攻击被消灭,数据库可正常被查阅。
可选地,还包括数据转译模块,
数据转译模块:输入端与SQL执行模块的输出端连接,输出端与数据统计模块II的输入端连接,用于将SQL请求文本转译成其它格式的文本。
通过采用上述技术方案,通过转译的方式将SQL注入攻击文本转译为其它格式的数据,之后再通过数据统计模块对SQL注入攻击文本进行分析统计,能够提高统计字符串数量以及敏感词数量时的准确率,进而提高怀疑度分析时的准确率。
可选地,还包括记录模块,
记录模块:输入端与SQL终止模块以及对比模块的输出端连接,输出端与数据库连接,用于向数据库中输出SQL注入攻击的文本信息。
通过采用上述技术方案,在确定SQL注入攻击被消灭后,将SQL注入攻击的文明输入至数据库中储存,以便于数据库管理员后续维护和更新代码。
第三方面,本发明提供了一种装置,采用如下的技术方案:
一种装置,包括处理器及存储器,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述装置执行如第一方面所述的方法。
第四方面,本发明提供的一种介质,采用如下的技术方案:
一种介质,其上存储有计算机程序;所述计算机程序被处理器执行时实现如第一方面所述的方法。
综上所述,本发明包括以下至少一种有益技术效果:
1. 通过SQL请求内容分析步骤以及怀疑度分析步骤的设置,可以较为精准的找出SQL注入攻击所对应的SQL请求,之后通过终止SQL请求步骤将SQL注入攻击抹除,进而保护信息。
2. 通过在警戒对比步骤中,将CTw设置为大于2jT1,将CT设置为大于CTw+jT1,在数据留观步骤中,将留观时长T设置为所有已执行完毕的SQL请求的平均执行时长T1,提高了服务器在崩溃前便剔除SQL注入攻击的概率,提高了用户的使用体验。
3. 通过SQL注入攻击统计步骤的设置,在剔除一个SQL注入攻击后,将该SQL注入攻击统计值数据库中,为后续数据库管理员升级代码提供参考。
附图说明
图1是实施例1的流程示意图;
图2是实施例2的***图;
图3是实施例3的总线通信结构示意图。
具体实施方式
以下结合图1-图3对本发明作进一步详细说明。
实施例1:本实施例公开了一种信息抗攻击的方法,参照图1,信息抗攻击的方法包括以下步骤:
S1:执行SQL请求:获得SQL请求数据包,统计正在执行的SQL请求数量N,并执行所有SQL请求。该步骤为连续执行的,即连续的获取SQL请求数据包,并将获得的SQL请求投入执行。正在执行的SQL请求会占用服务器线程,执行完毕的SQL请求会被回收,进而不再占用服务器线程,因此正在执行的SQL请求数量即等于占用服务器线程的数量。
S2:警戒对比:将正在执行的SQL请求数量N与服务器允许同时执行的警戒线程数CTw进行对比;在设置警戒线程数CTw时,先统计所有已执行完毕的SQL请求的平均执行时长T1以及单位时间内接收SQL请求的平均数量j,警戒线程数CTw与T1以及j的关系为如下:
CTw>2jT1
服务器允许同时执行的警戒线程数CTw小于服务器允许同时执行的最大线程数CT,最大线程数CT与警戒线程数CTw的关系如下:
CT>CTw+jT1
若正在执行的SQL请求数量N大于警戒线程数CTw,则执行报警步骤S3以及SQL请求分析步骤S4;
若正在执行的SQL请求数量N小于等于警戒线程数CTw,则执行SQL注入攻击统计步骤S7;
S3:报警:发出报警,提示数据库管理员介入管理。
S4:SQL请求分析:对SQL请求进行分析,进而判断正在执行的SQL请求中是否存在注入攻击。SQL请求分析步骤包括SQL请求内容分析步骤S4-1以及怀疑度分析步骤S4-2;
S4-1:SQL请求内容分析:对正在执行的N个SQL请求进行分析,获得第n个SQL请求的执行时长nt以及第n个SQL请求的字符串数量nl;并对SQL请求的文本进行转译,之后再对转译后的SQL请求文本进行字符串数量nl、敏感词数量nx的统计以及已经被预编译的敏感词数量nx p进行统计,其中n∈[1,N]。
由于SQL请求中可能会出现类似于“--”这种注释符,进而导致服务器无法识别注释符后的字符串,因此在对SQL请求的文本进行转译时,可以将SQL请求文本转译为二进制数,如此便可识别SQL请求文本中的各个字符串,进而获得SQL请求中的字符串数量。
在对敏感词进行统计时,可先设定敏感词库,并将敏感词库中的敏感词转译成二进制数后与转译后的SQL请求文本进行对比,进而获知SQL请求中敏感词的数量。
在SQL请求中,并不是所有的敏感词均会带来风险,某些敏感词在经过预编译后便可消除风险;而且在遇到拼接的SQL语句时,便可能出现部分SQL语句可以被预编译,而部分SQL语句不能被预编译的情况;此时可现设定预编译库,并对预编译库中的预编译后文本转译成二进制数后与转译后的SQL请求文本进行对比,进而获知SQL请求中已经被预编译的敏感词的数量。
S4-2:怀疑度分析:根据第n个SQL请求的执行时长nt、第n个SQL请求的字符串数量nl、第n个SQL请求的敏感词数量nx以及第n个SQL请求中已经被预编译的敏感词数量nx p,确定第n个SQL请求的怀疑指数dn,怀疑指数dn的计算模型如下:
式中,[Nl]为所有正在执行的SQL请求的字符串数量nl的集合。
在一个SQL请求中,由于单位字符串长度中,未被预编译的敏感词数量越多,则该SQL请求为SQL注入攻击的概率越大,而SQL请求执行的时间越长,SQL请求为SQL注入攻击的概率呈指数增加,由此可以得出相对准确的怀疑指数dn
S5:终止SQL请求:,结束第n个SQL请求。
S6:数据留观:设定留观时间T,在经过留观时间T后,再次执行警戒对比步骤;留观时间T等于所有已执行完毕的SQL请求的平均执行时长T1
S7:SQL注入攻击统计:将终止SQL请求步骤中结束的第n个SQL请求录入至SQL注入攻击数据库中,并删除结束第n个SQL请求的命令。
本实施例信息抗攻击的方法的实施原理为:
服务器连续不断的获取SQL请求,获取后执行SQL请求,并对正在执行的SQL请求进行计数,正在执行的SQL请求会占用服务器线程,执行完毕的SQL请求会被回收,进而不再占用服务器线程;当正在执行的SQL请求数量N大于服务器允许同时执行的警戒线程数CTw时,开始对正在执行的SQL请求进行分析,进而判断哪个SQL请求为SQL注入攻击。
在对正在执行的SQL请求进行分析时,先获得第n个SQL请求的执行时长nt以及第n个SQL请求的字符串数量nl;并对SQL请求的文本进行转译,之后再对转译后的SQL请求文本进行字符串数量nl、敏感词数量nx的统计以及已经被预编译的敏感词数量nx p进行统计,以提高统计的准确率;之后根据第n个SQL请求的执行时长nt、第n个SQL请求的字符串数量nl、第n个SQL请求的敏感词数量nx以及第n个SQL请求中已经被预编译的敏感词数量nx p,确定第n个SQL请求的怀疑指数dn,并将怀疑指数dn中最大值所对应的SQL请求判定为SQL注入攻击,之后终止该SQL请求。
终止对应的SQL请求后,留观一段时间,由于留观时间T、警戒线程数CTw、所有已执行完毕的SQL请求的平均执行时长T1、单位时间内接收SQL请求的平均数量j以及服务器允许同时执行的最大线程数CT之间强相关,使得服务器可以以最快的时间最精准的判断所结束的SQL请求是否为SQL注入攻击。
若被结束的SQL请求为SQL注入攻击,则对SQL注入攻击的SQL请求录入至SQL注入攻击数据库中,进而便于后续数据库管理员查阅并更新代码。若被结束的SQL请求不为SQL注入攻击,则对SQL请求进行再一次筛选,进而在提高了服务器在崩溃前便剔除SQL注入攻击的概率,提高了用户的使用体验。
实施例2:本实施例公开了一种信息抗攻击***,参照图2,信息抗攻击***包括以下模块:
输入模块:用于输入警戒线程数CTw、最大线程数CT以及留观时间T;以及用于输入敏感词信息。
数据库:输入端与输入模块的输出端连接,用于储存敏感词信息。
SQL接收模块:用于接收SQL请求数据包。
SQL执行模块:输入端与SQL接收模块的输出端连接,用于执行接收的SQL请求。
数据统计模块I:输入端与SQL执行模块的输出端连接,用于统计正在执行的SQL请求数量N。
对比模块:输入端与数据统计模块I以及输入模块的输出端连接,用于将请求数量N以及警戒线程数CTw进行对比。
报警模块:输入端与对比模块的输出端连接,当请求数量N大于警戒线程数CTw时,发出报警。
数据转译模块:输入端与SQL执行模块的输出端连接,用于将SQL请求文本转译成其它格式的文本;若在输入模块中输入的敏感词信息为文本信息,则数据转译模块的输入端还可与数据库的输出端连接,用于将数据库中的敏感词信息转译成其它格式的文本。
数据统计模块II:输入端与数据转译模块以及数据库的输出端连接,用于获得第n个SQL请求的执行时长nt以及第n个SQL请求的字符串数量nl,并判别第n个SQL请求中已经被预编译的敏感词数量nx p以及第n个SQL请求的敏感词的总数量nx
SQL分析模块:输入端与SQL执行模块以及数据统计模块II的输出端连接,用于计算怀疑指数dn,并取dn中的最大值。
SQL终止模块:输入端与SQL分析模块的输出端连接,用于终止怀疑指数dn最大时对应的SQL请求。
延时模块:输入端与SQL终止模块以及输入模块的输出端连接,输出端与对比模块的输出端连接,用于在留观时间T后激活对比模块。
记录模块:输入端与SQL终止模块以及对比模块的输出端连接,输出端与数据库连接,当请求数量N小于等于警戒线程数CTw时,用于向数据库中输出SQL注入攻击的文本信息。
本实施例信息抗攻击***的实施原理为:
SQL接收模块连续不断的获取SQL请求,获取后输送至SQL执行模块执行SQL请求,数据统计模块I对正在执行的SQL请求进行计数。之后对比模块将正在执行的SQL请求数量N与服务器允许同时执行的警戒线程数CTw进行比对。当正在执行的SQL请求数量N大于服务器允许同时执行的警戒线程数CTw时,数据转译模块开始对正在执行的SQL请求进行转译;之后数据统计模块II对转译后的SQL请求进行分析,得到第n个SQL请求的执行时长nt以及第n个SQL请求的字符串数量nl,并判别第n个SQL请求中已经被预编译的敏感词数量nx p以及第n个SQL请求的敏感词的总数量nx
之后SQL分析模块根据第n个SQL请求的执行时长nt、第n个SQL请求的字符串数量nl、第n个SQL请求的敏感词数量nx以及第n个SQL请求中已经被预编译的敏感词数量nx p,确定第n个SQL请求的怀疑指数dn;之后SQL终止模块将怀疑指数dn中最大值所对应的SQL请求进行终止。之后延时模块启动,留观一段时间,并再次触发对比模块。当正在执行的SQL请求数量N小于等于服务器允许同时执行的警戒线程数CTw时,记录模块将怀疑指数dn最大时对应的SQL请求录入数据库。
实施例3:本实施例公开了一种信息抗攻击装置,参照图3,信息抗攻击装置包括:
储存器,用于储存计算机程序;
处理器,用于执行储存器储存的计算机程序,进而实现实施例1中所述的方法。
储存器可以包括用于储存数据或指令的大容量储存器。举例来说而非限制,储存器可以包括硬盘、软盘、闪存、光盘、磁光盘、磁带或者两个或更多个以上这些的组合。在合适的情况下,储存器可包括可移除或不可移除(或固定)的介质。在合适的情况下,储存器可在数据处理装置的内部或外部。在特定实施例中,储存器是非易失性固态储存器。在特定实施例中,储存器包括只读储存器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或者两个或更多个以上这些的组合。
实施例4:本实施例公开了一种信息抗攻击的计算机储存介质,其中,该计算机储存介质存储有程序,该程序执行时能够实现实施例1中所记载的方法的部分或全部步骤。
以上均为本发明的较佳实施例,并非依此限制本发明的保护范围,故:凡依本发明的结构、形状、原理所做的等效变化,均应涵盖于本发明的保护范围之内。

Claims (10)

1.一种信息抗攻击的方法,其特征在于:包括以下步骤:
执行SQL请求:获得SQL请求数据包,统计正在执行的SQL请求数量N,并执行所有SQL请求;
警戒对比:将正在执行的SQL请求数量N与服务器允许同时执行的警戒线程数CTw进行对比,若正在执行的SQL请求数量N大于警戒线程数CTw,则执行报警步骤以及SQL请求分析步骤;其中,服务器允许同时执行的警戒线程数CTw小于服务器允许同时执行的最大线程数CT;
报警:发出报警,提示数据库管理员介入管理;
SQL请求分析:对SQL请求进行分析,进而判断正在执行的SQL请求中是否存在注入攻击;SQL请求分析步骤包括SQL请求内容分析步骤以及怀疑度分析步骤;
SQL请求内容分析:对正在执行的N个SQL请求进行分析,获得第n个SQL请求的执行时长nt、第n个SQL请求的字符串数量nl以及第n个SQL请求的敏感词数量nx,n∈[1,N];
怀疑度分析:根据第n个SQL请求的执行时长nt、第n个SQL请求的字符串数量nl以及第n个SQL请求的敏感词数量nx,确定第n个SQL请求的怀疑指数dn,怀疑指数dn的计算模型如下:
式中,[Nl]为所有正在执行的SQL请求的字符串数量nl的集合;
终止SQL请求:,结束第n个SQL请求;
数据留观:设定留观时间T,在经过留观时间T后,再次执行警戒对比步骤。
2.根据权利要求1所述的一种信息抗攻击的方法,其特征在于:所述怀疑度分析步骤中,还确定第n个SQL请求中已经被预编译的敏感词数量nx p,并根据nx p对怀疑指数进行优化;优化后的怀疑指数dn的计算模型如下:
3.根据权利要求1所述的一种信息抗攻击的方法,其特征在于:所述警戒对比步骤中,统计所有已执行完毕的SQL请求的平均执行时长T1以及单位时间内接收SQL请求的平均数量j,警戒线程数CTw与T1以及j的关系为如下:
CTw>2jT1
最大线程数CT与警戒线程数CTw的关系如下:
CT>CTw+jT1
在数据留观步骤中,留观时间T等于所有已执行完毕的SQL请求的平均执行时长T1
4.根据权利要求1所述的一种信息抗攻击的方法,其特征在于:所述怀疑度分析步骤中,还对SQL请求的文本进行转译,之后再对转译后的SQL请求文本进行字符串数量nl以及敏感词数量nx的统计。
5.根据权利要求1所述的一种信息抗攻击的方法,其特征在于:所述警戒对比步骤中,若正在执行的SQL请求数量N小于等于警戒线程数CTw,则执行SQL注入攻击统计步骤;
SQL注入攻击统计:将终止SQL请求步骤中结束的第n个SQL请求录入至SQL注入攻击数据库中。
6.一种信息抗攻击***,用于应用权利要求1-5中任意一种所述的信息抗攻击的方法,其特征在于:包括以下模块:
输入模块:用于输入警戒线程数CTw、最大线程数CT以及留观时间T;以及用于输入敏感词信息;
数据库:输入端与输入模块的输出端连接,用于储存敏感词信息;
SQL接收模块:用于接收SQL请求数据包;
SQL执行模块:输入端与SQL接收模块的输出端连接,用于执行SQL请求;
数据统计模块I:输入端与SQL执行模块的输出端连接,用于统计正在执行的SQL请求数量N;
对比模块:输入端与数据统计模块I以及输入模块的输出端连接,用于将请求数量N以及警戒线程数CTw进行对比;
报警模块:输入端与对比模块的输出端连接,用于发出报警;
数据统计模块II:输入端与SQL执行模块以及数据库的输出端连接,用于获得第n个SQL请求的执行时长nt以及第n个SQL请求的字符串数量nl,并判别第n个SQL请求中已经被预编译的敏感词数量nx p以及第n个SQL请求的敏感词数量nx
SQL分析模块:输入端与SQL执行模块以及数据统计模块II的输出端连接,用于计算怀疑指数dn,并取dn中的最大值;
SQL终止模块:输入端与SQL分析模块的输出端连接,用于终止怀疑指数dn最大时对应的SQL请求;
延时模块:输入端与SQL终止模块以及输入模块的输出端连接,输出端与对比模块的输出端连接,用于在留观时间T后激活对比模块。
7.根据权利要求6所述的一种信息抗攻击***,其特征在于:还包括数据转译模块,
数据转译模块:输入端与SQL执行模块的输出端连接,输出端与数据统计模块II的输入端连接,用于将SQL请求文本转译成其它格式的文本。
8.根据权利要求7所述的一种信息抗攻击***,其特征在于:还包括记录模块,
记录模块:输入端与SQL终止模块以及对比模块的输出端连接,输出端与数据库连接,用于向数据库中输出SQL注入攻击的文本信息。
9.一种信息抗攻击装置,包括处理器及存储器,所述存储器用于存储计算机程序,其特征在于:所述处理器用于执行所述存储器存储的计算机程序,以使所述装置执行如权利要求1-5中任意一项所述的方法。
10.一种信息抗攻击介质,其上存储有计算机程序;其特征在于:所述计算机程序被处理器执行时实现如权利要求1-5中任意一项所述的方法。
CN202311372158.7A 2023-10-23 2023-10-23 一种信息抗攻击的方法、***、装置及介质 Active CN117118752B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311372158.7A CN117118752B (zh) 2023-10-23 2023-10-23 一种信息抗攻击的方法、***、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311372158.7A CN117118752B (zh) 2023-10-23 2023-10-23 一种信息抗攻击的方法、***、装置及介质

Publications (2)

Publication Number Publication Date
CN117118752A CN117118752A (zh) 2023-11-24
CN117118752B true CN117118752B (zh) 2024-01-09

Family

ID=88809504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311372158.7A Active CN117118752B (zh) 2023-10-23 2023-10-23 一种信息抗攻击的方法、***、装置及介质

Country Status (1)

Country Link
CN (1) CN117118752B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045319A (zh) * 2009-10-21 2011-05-04 ***通信集团山东有限公司 Sql注入攻击检测方法及其装置
CN107563197A (zh) * 2017-08-30 2018-01-09 杭州安恒信息技术有限公司 一种针对数据库层的拖库撞库攻击防御方法
KR101949338B1 (ko) * 2018-11-13 2019-02-18 (주)시큐레이어 기계 학습 모델에 기반하여 페이로드로부터 sql 인젝션을 탐지하는 방법 및 이를 이용한 장치
CN110855676A (zh) * 2019-11-15 2020-02-28 腾讯科技(深圳)有限公司 网络攻击的处理方法、装置及存储介质
CN110933105A (zh) * 2019-12-13 2020-03-27 中国电子科技网络信息安全有限公司 一种Web攻击检测方法、***、介质和设备
CN112199677A (zh) * 2020-11-03 2021-01-08 安徽中安睿御科技有限公司 一种数据处理方法和装置
CN112261050A (zh) * 2020-10-23 2021-01-22 新华三信息安全技术有限公司 一种sql注入攻击的检测方法及装置
CN112650769A (zh) * 2020-12-29 2021-04-13 山石网科通信技术股份有限公司 Sql语句注入攻击的检测方法及装置
CN113055399A (zh) * 2021-03-31 2021-06-29 深信服科技股份有限公司 注入攻击的攻击成功检测方法、***及相关装置
WO2022249399A1 (ja) * 2021-05-27 2022-12-01 日本電信電話株式会社 サービス妨害攻撃検出装置、方法およびプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8051486B2 (en) * 2007-05-24 2011-11-01 Oracle International Corporation Indicating SQL injection attack vulnerability with a stored value
US8010522B2 (en) * 2007-12-07 2011-08-30 International Business Machines Corporation System, method and program product for detecting SQL queries injected into data fields of requests made to applications
WO2016186975A1 (en) * 2015-05-15 2016-11-24 Virsec Systems, Inc. Detection of sql injection attacks
US10419451B2 (en) * 2015-11-09 2019-09-17 Salesforce.Com Identifying attack patterns in requests received by web applications

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045319A (zh) * 2009-10-21 2011-05-04 ***通信集团山东有限公司 Sql注入攻击检测方法及其装置
CN107563197A (zh) * 2017-08-30 2018-01-09 杭州安恒信息技术有限公司 一种针对数据库层的拖库撞库攻击防御方法
KR101949338B1 (ko) * 2018-11-13 2019-02-18 (주)시큐레이어 기계 학습 모델에 기반하여 페이로드로부터 sql 인젝션을 탐지하는 방법 및 이를 이용한 장치
CN110855676A (zh) * 2019-11-15 2020-02-28 腾讯科技(深圳)有限公司 网络攻击的处理方法、装置及存储介质
CN110933105A (zh) * 2019-12-13 2020-03-27 中国电子科技网络信息安全有限公司 一种Web攻击检测方法、***、介质和设备
CN112261050A (zh) * 2020-10-23 2021-01-22 新华三信息安全技术有限公司 一种sql注入攻击的检测方法及装置
CN112199677A (zh) * 2020-11-03 2021-01-08 安徽中安睿御科技有限公司 一种数据处理方法和装置
CN112650769A (zh) * 2020-12-29 2021-04-13 山石网科通信技术股份有限公司 Sql语句注入攻击的检测方法及装置
CN113055399A (zh) * 2021-03-31 2021-06-29 深信服科技股份有限公司 注入攻击的攻击成功检测方法、***及相关装置
WO2022249399A1 (ja) * 2021-05-27 2022-12-01 日本電信電話株式会社 サービス妨害攻撃検出装置、方法およびプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SQL注入攻击与检测技术研究;张博;;信息安全与通信保密(第05期);全文 *
基于敏感字符的SQL注入攻击防御方法;张慧琳;丁羽;张利华;段镭;张超;韦韬;李冠成;韩心慧;;计算机研究与发展(第10期);全文 *

Also Published As

Publication number Publication date
CN117118752A (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
US10686829B2 (en) Identifying changes in use of user credentials
CN105072089B (zh) 一种web恶意扫描行为异常检测方法与***
Denning et al. Requirements and model for IDES-a real-time intrusion-detection expert system
US7032114B1 (en) System and method for using signatures to detect computer intrusions
CN111382434B (zh) 用于检测恶意文件的***和方法
US7065657B1 (en) Extensible intrusion detection system
US6826697B1 (en) System and method for detecting buffer overflow attacks
US8578490B2 (en) System and method for using timestamps to detect attacks
US11436358B2 (en) Data based web application firewall
US20120180137A1 (en) System and method for data mining and security policy management
US10097569B2 (en) System and method for tracking malware route and behavior for defending against cyberattacks
CN107851155A (zh) 用于跨越多个软件实体跟踪恶意行为的***及方法
WO2001016664A1 (en) System and method for detecting computer intrusions
WO2015109326A1 (en) Sol query constraint solving
Liu et al. Intrusion confinement by isolation in information systems
CN110602029A (zh) 一种用于识别网络攻击的方法和***
WO2014103115A1 (ja) 不正侵入検知装置、不正侵入検知方法、不正侵入検知プログラム及び記録媒体
CN111740946B (zh) Webshell报文的检测方法及装置
US9582662B1 (en) Sensor based rules for responding to malicious activity
CN109409113A (zh) 一种电网数据安全防护方法和分布式电网数据安全防护***
CN113067792A (zh) 一种xss攻击识别方法、装置、设备及介质
EP3550789A1 (en) Method for protecting web applications by automatically generating application models
CN113596044A (zh) 一种网络防护方法、装置、电子设备及存储介质
CN117118752B (zh) 一种信息抗攻击的方法、***、装置及介质
Sahin et al. An efficient firewall for web applications (EFWA)

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