CN109194677A - 一种sql注入攻击检测方法、装置及设备 - Google Patents

一种sql注入攻击检测方法、装置及设备 Download PDF

Info

Publication number
CN109194677A
CN109194677A CN201811108548.2A CN201811108548A CN109194677A CN 109194677 A CN109194677 A CN 109194677A CN 201811108548 A CN201811108548 A CN 201811108548A CN 109194677 A CN109194677 A CN 109194677A
Authority
CN
China
Prior art keywords
sample
training sample
detected
url
url parameter
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.)
Pending
Application number
CN201811108548.2A
Other languages
English (en)
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201811108548.2A priority Critical patent/CN109194677A/zh
Publication of CN109194677A publication Critical patent/CN109194677A/zh
Pending legal-status Critical Current

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
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种SQL注入攻击检测方法、装置、设备及计算机可读存储介质,该方法包括:获取训练样本集,训练样本集包括由url作为的训练样本、以一一对应的关系表示每个训练样本中是否存在SQL注入攻击的类别标签;提取每个训练样本的url参数,得到分别与每个训练样本对应的url参数集合;使用HMM算法对每个训练样本对应的url参数集合及类别标签进行训练,得到检测模型;获取未知其类别标签的待检测样本,提取待检测样本中的url参数得到对应的url参数集合,并将提取到的url参数集合输入至检测模型,由检测模型输出的检测结果确定待检测样本是否存在SQL注入攻击。大大提高了检测速度及检测效率。

Description

一种SQL注入攻击检测方法、装置及设备
技术领域
本发明涉及web安全技术领域,更具体地说,涉及一种SQL注入攻击检测方法、装置、设备及计算机可读存储介质。
背景技术
随着web应用的不断发展,web安全问题也日益突出。SQL注入漏洞是web安全问题中最常见的漏洞,成功利用SQL注入可导致数据库信息泄漏、数据库被恶意操作,甚至远程控制服务器,执行任意操作等,其危害也极其严重。对于SQL注入攻击的检测,通常是由工作人员实现的,但是由于工作人员的人力局限性,导致这种实现方式存在检测速度慢、效率低的问题。
综上所述,现有技术中用于实现SQL注入攻击检测的技术方案存在检测速度较慢、检测效率较低的问题。
发明内容
本发明的目的是提供一种SQL注入攻击检测方法、装置、设备及计算机可读存储介质,能够解决现有技术中用于实现SQL注入攻击检测的技术方案存在的检测速度较慢、检测效率较低的问题。
为了实现上述目的,本发明提供如下技术方案:
一种SQL注入攻击检测方法,包括:
获取训练样本集,所述训练样本集包括由url作为的训练样本、以一一对应的关系表示每个所述训练样本中是否存在SQL注入攻击的类别标签;
提取每个所述训练样本的url参数,得到分别与每个所述训练样本对应的url参数集合;
使用HMM算法对每个所述训练样本对应的url参数集合及类别标签进行训练,得到检测模型;
获取未知其类别标签的待检测样本,提取所述待检测样本中的url参数得到对应的url参数集合,并将提取到的url参数集合输入至所述检测模型,由所述检测模型输出的检测结果确定所述待检测样本是否存在SQL注入攻击。
优选的,提取所述训练样本和所述待检测样本的url参数,包括:
对所述训练样本和所述待检测样本依次进行url解码、url参数泛化处理及词法分割处理,得到对应的url参数集合。
优选的,对所述训练样本及所述待检测样本进行url参数泛化处理,包括:
对于所述训练样本及所述待检测样本中的任一样本,将该任一样本中包含的位于url参数之前的部分替换成第一预设字符,将该任一样本中包含的数字替换成第二预设字符,并将该任一样本中包含的注释部分删除,完成对该任一样本的url参数泛化处理。
优选的,对所述训练样本及所述待检测样本进行词法分割处理,包括:
对于所述训练样本及所述待检测样本中的任一样本,按照该任一样本包含的空格两侧为不同的url参数、该任一样本包含的等式中等号和该等号左边的url参数为一个参数的原则,对所述训练样本及所述待检测样本进行词法分割处理。
优选的,获取所述训练样本集之后,以及得到分别与每个所述训练样本对应的url参数集合之后,还包括:
对所述训练样本集中的训练样本及与每个训练样本对应的url参数集合进行去重操作。
优选的,由所述检测模型输出的检测结果确定所述待检测样本是否存在SQL注入攻击,包括:
确定所述检测结果中携带的表示所述待检测样本不存在SQL注入攻击的概率值,如果该概率值低于概率阈值,则确定所述待检测样本存在SQL注入攻击,否则,则确定所述待检测样本不存在SQL注入攻击。
优选的,获取训练样本集,包括:
利用Python爬虫工具由指定网站中爬取得到训练样本,并获取外界输入的与每个所述训练样本对应的类别标签,得到训练样本集。
一种SQL注入攻击检测装置,包括:
获取模块,用于:获取训练样本集,所述训练样本集包括由url作为的训练样本、以一一对应的关系表示每个所述训练样本中是否存在SQL注入攻击的类别标签;
处理模块,用于:提取每个所述训练样本的url参数,得到分别与每个所述训练样本对应的url参数集合;
训练模块,用于:使用HMM算法对每个所述训练样本对应的url参数集合及类别标签进行训练,得到检测模型;
检测模块,用于:获取未知其类别标签的待检测样本,提取所述待检测样本中的url参数得到对应的url参数集合,并将提取到的url参数集合输入至所述检测模型,由所述检测模型输出的检测结果确定所述待检测样本是否存在SQL注入攻击。
一种SQL注入攻击检测设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一项所述SQL注入攻击检测方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述SQL注入攻击检测方法的步骤。
本发明提供了一种SQL注入攻击检测方法、装置、设备及计算机可读存储介质,其中该方法包括:获取训练样本集,所述训练样本集包括由url作为的训练样本、以一一对应的关系表示每个所述训练样本中是否存在SQL注入攻击的类别标签;提取每个所述训练样本的url参数,得到分别与每个所述训练样本对应的url参数集合;使用HMM算法对每个所述训练样本对应的url参数集合及类别标签进行训练,得到检测模型;获取未知其类别标签的待检测样本,提取所述待检测样本中的url参数得到对应的url参数集合,并将提取到的url参数集合输入至所述检测模型,由所述检测模型输出的检测结果确定所述待检测样本是否存在SQL注入攻击。本申请公开的技术方案中,首先获取包括有存在SQL注入攻击及不存在SQL注入攻击的训练样本及对应类别标签的训练样本集,进而提取各训练样本的URL参数集合后,使用HMM算法对各URL参数集合及对应类别标签训练得到检测模型,进而基于检测模型实现待检测样本是否存在SQL注入攻击的检测,从而基于机器学习算法检测模型的生成,然后直接调用现成的检测模型对未知是否存在SQL注入攻击的待检测样本进行检测,相比于人工检测,大大提高了检测速度及检测效率。并且,利用机器学习算法通过样本学习建立的检测模型准确度高、模糊判断能力强,进而使得SQL注入攻击的检测精度较高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种SQL注入攻击检测方法的流程图;
图2为本发明实施例提供的一种SQL注入攻击检测装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明实施例提供的一种SQL注入攻击检测方法的流程图,可以包括:
S11:获取训练样本集,训练样本集包括由url作为的训练样本、以一一对应的关系表示每个训练样本中是否存在SQL注入攻击的类别标签。
本发明实施例提供的一种SQL注入攻击检测方法的执行主语可以为对应的装置。其中,SQL注入就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。本申请中对于SQL注入攻击的检测即为对于SQL注入的检测,也即本申请中默认为SQL注入攻击与SQL注入表达相同的含义。需要说明的是,训练样本集中的训练样本具体可以包括黑样本及白样本,黑样本即为存在SQL注入攻击的url(Uniform Resource Locator,统一资源定位符),白样本即为不存在SQL注入攻击的url,并且各训练样本均具有对应的类别标签,由该类别标签可以确定对应训练样本是黑样本还是白样本,也即确定对应训练样本是否存在SQL注入攻击。另外,训练样本的数量越多,包含的sql注入攻击的类型越全面,基于其建立的检测模型越准确。
S12:提取每个训练样本的url参数,得到分别与每个训练样本对应的url参数集合。
需要说明的是,由每个训练样本中提取url参数可以得到与每个训练样本对应的url参数集合,即url参数集合与训练样本一一对应,还可以设置一个词集合,该词集合中包含所有的url参数集合,方便管理。其中,url参数与现有技术中对应概念的含义相同,一般位于url中“?”之后的即为url参数,如“http://www.test.com?id=1”中“id=1”即为url参数,“http://www.test.com?id=’1’or‘1’=’1’”中“id=’1’or‘1’=’1’”即为url参数。S13:使用HMM算法对每个训练样本对应的url参数集合及类别标签进行训练,得到检测模型。
其中,HMM(Hidden Markov Model,隐马尔可夫模型)是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。本申请中利用HMM算法实现机器学习,得到能够用于确定待检测样本是否包含SQL注入攻击的检测模型。具体来说,hmmlearn是python下的一个HMM实现,是从scikit-learn独立出来的一个项目,本申请中可以将上述全部url参数集合组成的词集合M及表示每个url参数集合的长度(包含的url参数的数量)的长度矩阵输入上述项目即可得到检测模型,本申请中需要输入M_len的原因是每个训练样本对应url参数集合的长度可能不一致,所以需要单独输入。
S14:获取未知其类别标签的待检测样本,提取待检测样本中的url参数得到对应的url参数集合,并将提取到的url参数集合输入至检测模型,由检测模型输出的检测结果确定待检测样本是否存在SQL注入攻击。
获取未知其类别标签的待检测样本,即未知其是否存在SQL注入攻击的url,提取待检测样本的url参数集合,进而将该url参数集合输入至检测模型,即可由检测模型输出的检测结果确定出待检测样本是否存在SQL注入攻击。需要说明的是,由于url参数集合的长度可能不一致,在利用上述hmmlearn实现检测模型的训练时,输入待检测样本的url参数集合的同时还需输入该url参数的长度,以实现其检测。
本申请公开的技术方案中,首先获取包括有存在SQL注入攻击及不存在SQL注入攻击的训练样本及对应类别标签的训练样本集,进而提取各训练样本的URL参数集合后,使用HMM算法对各URL参数集合及对应类别标签训练得到检测模型,进而基于检测模型实现待检测样本是否存在SQL注入攻击的检测,从而基于机器学习算法检测模型的生成,然后直接调用现成的检测模型对未知是否存在SQL注入攻击的待检测样本进行检测,相比于人工检测,大大提高了检测速度及检测效率。并且,利用机器学习算法通过样本学习建立的检测模型准确度高、模糊判断能力强,进而使得SQL注入攻击的检测精度较高。
本发明实施例提供的一种SQL注入攻击检测方法,提取训练样本和待检测样本的url参数,可以包括:
对训练样本和待检测样本依次进行url解码、url参数泛化处理及词法分割处理,得到对应的url参数集合。
需要说明的是,为了有效实现训练样本及待检测样本的URL参数提取,本申请中需要对训练样本及待检测样本依次进行url解码、url参数泛化处理及词法分割处理。
其中,基于对样本(包括训练样本及待检测样本)的分析可知有的样本可能经过了一重或多重编码,因此需要进行一次或者多次url解码,从而提高url参数提取的准确性,url解码可通过Python中unquote等函数实现。例如如下SQL注入语句明显经过了url编码:
SELECT%201%20FROM%20jobs%20WHERE%20id%20%3D%20%271%27%20OR%20%271%27%20%3D%20%271%27;
解码之后得到以下语句:
SELECT 1FROM jobs WHERE id='1'OR'1'='1'。
并且,由于url的路径结构基本一致,虽然具体路径信息不同,但是均由字母数字特殊字符来表示,因此可对其进行泛化处理,具体来说,对训练样本及待检测样本进行url参数泛化处理,可以包括:对于训练样本及待检测样本中的任一样本,将该任一样本中包含的位于url参数之前的部分替换成第一预设字符,将该任一样本中包含的数字替换成第二预设字符,并将该任一样本中包含的注释部分删除,完成对该任一样本的url参数泛化处理。其中,注释部分与现有技术中对应概念的含义相同,一般采用“#”作为注释符合,位于url中“#”之后的即为注释部分,如“http://www.test.com?id=1union select1,2,3,4#tette”中“tette”就是注释部分,“http://www.test.com?name=zhangsan or1=1#andpasswd=xxx“中”and passwd=xxx“就是注释部分。
需要说明的是,通过泛化处理可以减少占用空间,提高计算速度及计算效率,其中,第一预设字符及第二预设字符均可以根据实际需要进行设定,而注释部分与现有技术中对应概念的含义相同,如可以将url参数之前的部分替换成U,url中的数字0-9全部替换成O,注释部分直接去掉。当然还可以根据实际需要进行其他设定,均在本发明的保护范围之内。
另外,样本的不同url参数之间存在空格分割,因此本申请中以空格进行参数提取较简单方便。具体来说,对训练样本及待检测样本进行词法分割处理,可以包括:对于训练样本及待检测样本中的任一样本,按照该任一样本包含的空格两侧为不同的url参数、该任一样本包含的等式中等号和该等号左边的url参数为一个参数的原则,对训练样本及待检测样本进行词法分割处理。
通过词法分割处理,可以得到对应的url参数集合(或者说url参数序列),具体的对url进行参数提取,由于其不同参数之间存在空格实现分割,因此可以通过空格区分不同的参数,对于等式的划分,可以规定等号和左边的参数划分为一个参数,也可以根据实际需要进行其他设定,均在本发明的保护范围之内。
本发明实施例提供的一种SQL注入攻击检测方法,获取训练样本集之后,以及得到分别与每个训练样本对应的url参数集合之后,还可以包括:
对训练样本集中的训练样本及与每个训练样本对应的url参数集合进行去重操作。
考虑到数据重复性,为了提高数据可用性并且提高数据处理效率,可以对训练样本及url参数集合进行去重操作,即相同的训练样本及相同的url参数集合均只保留一个,从而通过简单去重达到上述目的。
本发明实施例提供的一种SQL注入攻击检测方法,由检测模型输出的检测结果确定待检测样本是否存在SQL注入攻击,可以包括:
确定检测结果中携带的表示待检测样本不存在SQL注入攻击的概率值,如果该概率值低于概率阈值,则确定待检测样本存在SQL注入攻击,否则,则确定待检测样本不存在SQL注入攻击。
需要说明的是,本申请中概率阈值可以根据实际需要进行设定,将待检测样本对应url参数集合输入至检测模型后,输出的检测结果为一概率值,该概率值表示待检测样本正常(即不存在SQL注入攻击)的概率,因此如果该概率值低于概率阈值,表示待检测样本正常的可能性很小,此时确定待检测样本存在SQL注入攻击,否则则认为待检测样本不存在SQL注入攻击,从而通过这种判断方式以简单有效的方式确定出待检测样本是否存在SQL注入攻击,进一步提高了检测效率。
本发明实施例提供的一种SQL注入攻击检测方法,获取训练样本集,可以包括:
利用Python爬虫工具由指定网站中爬取得到训练样本,并获取外界输入的与每个训练样本对应的类别标签,得到训练样本集。
需要说明的是,训练样本中的黑样本可以通过Python爬虫工具从weblog中爬取以及由工作人员基于日常积累得到后输入获取,白样本可以通过Python爬虫工具爬取正常的网站(即不存在SQL注入攻击的网站)获得。从而利用已有的工具,快速方便的获取到所需的训练样本。
本发明实施例还提供了一种SQL注入攻击检测装置,如图2所示,可以包括:
获取模块11,用于:获取训练样本集,训练样本集包括由url作为的训练样本、以一一对应的关系表示每个训练样本中是否存在SQL注入攻击的类别标签;
处理模块12,用于:提取每个训练样本的url参数,得到分别与每个训练样本对应的url参数集合;
训练模块13,用于:使用HMM算法对每个训练样本对应的url参数集合及类别标签进行训练,得到检测模型;
检测模块14,用于:获取未知其类别标签的待检测样本,提取待检测样本中的url参数得到对应的url参数集合,并将提取到的url参数集合输入至检测模型,由检测模型输出的检测结果确定待检测样本是否存在SQL注入攻击。
本发明实施例提供的一种SQL注入攻击检测装置,处理模块可以包括:
处理单元,用于:对训练样本和待检测样本依次进行url解码、url参数泛化处理及词法分割处理,得到对应的url参数集合。
本发明实施例提供的一种SQL注入攻击检测装置,处理单元可以包括:
泛化子单元,用于:对于训练样本及待检测样本中的任一样本,将该任一样本中包含的位于url参数之前的部分替换成第一预设字符,将该任一样本中包含的数字替换成第二预设字符,并将该任一样本中包含的注释部分删除,完成对该任一样本的url参数泛化处理;
分割子单元,用于:对于训练样本及待检测样本中的任一样本,按照该任一样本包含的空格两侧为不同的url参数、该任一样本包含的等式中等号和该等号左边的url参数为一个参数的原则,对训练样本及待检测样本进行词法分割处理。
本发明实施例提供的一种SQL注入攻击检测装置,还可以包括:
去重模块,用于:获取训练样本集之后,以及得到分别与每个训练样本对应的url参数集合之后,对训练样本集中的训练样本及与每个训练样本对应的url参数集合进行去重操作。
本发明实施例提供的一种SQL注入攻击检测装置,检测模块可以包括:
确定单元,用于:确定检测结果中携带的表示待检测样本不存在SQL注入攻击的概率值,如果该概率值低于概率阈值,则确定待检测样本存在SQL注入攻击,否则,则确定待检测样本不存在SQL注入攻击。
本发明实施例提供的一种SQL注入攻击检测装置,获取模块可以包括:
获取单元,用于:利用Python爬虫工具由指定网站中爬取得到训练样本,并获取外界输入的与每个训练样本对应的类别标签,得到训练样本集。
本发明实施例还提供了一种SQL注入攻击检测设备,可以包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上任一项SQL注入攻击检测方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可以实现如上任一项SQL注入攻击检测方法的步骤。
需要说明的是,本发明实施例提供的一种SQL注入攻击检测装置、设备及计算机存储介质中相关部分的说明请参见本发明实施例提供的一种SQL注入攻击检测方法中对应部分的详细说明,在此不再赘述。另外本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种SQL注入攻击检测方法,其特征在于,包括:
获取训练样本集,所述训练样本集包括由url作为的训练样本、以一一对应的关系表示每个所述训练样本中是否存在SQL注入攻击的类别标签;
提取每个所述训练样本的url参数,得到分别与每个所述训练样本对应的url参数集合;
使用HMM算法对每个所述训练样本对应的url参数集合及类别标签进行训练,得到检测模型;
获取未知其类别标签的待检测样本,提取所述待检测样本中的url参数得到对应的url参数集合,并将提取到的url参数集合输入至所述检测模型,由所述检测模型输出的检测结果确定所述待检测样本是否存在SQL注入攻击。
2.根据权利要求1所述的方法,其特征在于,提取所述训练样本和所述待检测样本的url参数,包括:
对所述训练样本和所述待检测样本依次进行url解码、url参数泛化处理及词法分割处理,得到对应的url参数集合。
3.根据权利要求2所述的方法,其特征在于,对所述训练样本及所述待检测样本进行url参数泛化处理,包括:
对于所述训练样本及所述待检测样本中的任一样本,将该任一样本中包含的位于url参数之前的部分替换成第一预设字符,将该任一样本中包含的数字替换成第二预设字符,并将该任一样本中包含的注释部分删除,完成对该任一样本的url参数泛化处理。
4.根据权利要求3所述的方法,其特征在于,对所述训练样本及所述待检测样本进行词法分割处理,包括:
对于所述训练样本及所述待检测样本中的任一样本,按照该任一样本包含的空格两侧为不同的url参数、该任一样本包含的等式中等号和该等号左边的url参数为一个参数的原则,对所述训练样本及所述待检测样本进行词法分割处理。
5.根据权利要求4所述的方法,其特征在于,获取所述训练样本集之后,以及得到分别与每个所述训练样本对应的url参数集合之后,还包括:
对所述训练样本集中的训练样本及与每个训练样本对应的url参数集合进行去重操作。
6.根据权利要求5所述的方法,其特征在于,由所述检测模型输出的检测结果确定所述待检测样本是否存在SQL注入攻击,包括:
确定所述检测结果中携带的表示所述待检测样本不存在SQL注入攻击的概率值,如果该概率值低于概率阈值,则确定所述待检测样本存在SQL注入攻击,否则,则确定所述待检测样本不存在SQL注入攻击。
7.根据权利要求6所述的方法,其特征在于,获取训练样本集,包括:
利用Python爬虫工具由指定网站中爬取得到训练样本,并获取外界输入的与每个所述训练样本对应的类别标签,得到训练样本集。
8.一种SQL注入攻击检测装置,其特征在于,包括:
获取模块,用于:获取训练样本集,所述训练样本集包括由url作为的训练样本、以一一对应的关系表示每个所述训练样本中是否存在SQL注入攻击的类别标签;
处理模块,用于:提取每个所述训练样本的url参数,得到分别与每个所述训练样本对应的url参数集合;
训练模块,用于:使用HMM算法对每个所述训练样本对应的url参数集合及类别标签进行训练,得到检测模型;
检测模块,用于:获取未知其类别标签的待检测样本,提取所述待检测样本中的url参数得到对应的url参数集合,并将提取到的url参数集合输入至所述检测模型,由所述检测模型输出的检测结果确定所述待检测样本是否存在SQL注入攻击。
9.一种SQL注入攻击检测设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述SQL注入攻击检测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述SQL注入攻击检测方法的步骤。
CN201811108548.2A 2018-09-21 2018-09-21 一种sql注入攻击检测方法、装置及设备 Pending CN109194677A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811108548.2A CN109194677A (zh) 2018-09-21 2018-09-21 一种sql注入攻击检测方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811108548.2A CN109194677A (zh) 2018-09-21 2018-09-21 一种sql注入攻击检测方法、装置及设备

Publications (1)

Publication Number Publication Date
CN109194677A true CN109194677A (zh) 2019-01-11

Family

ID=64909479

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811108548.2A Pending CN109194677A (zh) 2018-09-21 2018-09-21 一种sql注入攻击检测方法、装置及设备

Country Status (1)

Country Link
CN (1) CN109194677A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110581864A (zh) * 2019-11-11 2019-12-17 北京安博通科技股份有限公司 一种sql注入攻击的检测方法及装置
CN110855676A (zh) * 2019-11-15 2020-02-28 腾讯科技(深圳)有限公司 网络攻击的处理方法、装置及存储介质
CN111353151A (zh) * 2020-02-27 2020-06-30 腾讯云计算(北京)有限责任公司 一种网络应用的漏洞检测方法和装置
CN111526136A (zh) * 2020-04-15 2020-08-11 优刻得科技股份有限公司 基于云waf的恶意攻击检测方法、系统、设备和介质
CN111783132A (zh) * 2020-05-27 2020-10-16 平安科技(深圳)有限公司 基于机器学习的sql语句安全检测方法、装置、设备及介质
CN111917788A (zh) * 2020-08-07 2020-11-10 四川长虹电器股份有限公司 基于hmm模型的sql注入攻击检测方法
CN112069498A (zh) * 2020-09-21 2020-12-11 全球能源互联网研究院有限公司 一种sql注入检测模型构建方法及检测方法
CN113965377A (zh) * 2021-10-21 2022-01-21 北京天融信网络安全技术有限公司 一种攻击行为检测方法及装置
CN114168938A (zh) * 2021-10-29 2022-03-11 四川大学 一种基于少量异常标签的半监督sql注入攻击检测方法
CN114553550A (zh) * 2022-02-24 2022-05-27 京东科技信息技术有限公司 请求检测方法、装置、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101267357A (zh) * 2007-03-13 2008-09-17 北京启明星辰信息技术有限公司 一种sql注入攻击检测方法及系统
CN105516196A (zh) * 2016-01-19 2016-04-20 国家计算机网络与信息安全管理中心江苏分中心 基于http报文数据的并行化网络异常检测方法与系统
US20160277442A1 (en) * 2014-09-12 2016-09-22 AO Kaspersky Lab System and method for detection of targeted attack based on information from multiple sources

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101267357A (zh) * 2007-03-13 2008-09-17 北京启明星辰信息技术有限公司 一种sql注入攻击检测方法及系统
US20160277442A1 (en) * 2014-09-12 2016-09-22 AO Kaspersky Lab System and method for detection of targeted attack based on information from multiple sources
CN105516196A (zh) * 2016-01-19 2016-04-20 国家计算机网络与信息安全管理中心江苏分中心 基于http报文数据的并行化网络异常检测方法与系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨连群等: "基于隐马尔可夫模型的新型SQL注入攻击检测方法", 《信息网络安全》 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110581864A (zh) * 2019-11-11 2019-12-17 北京安博通科技股份有限公司 一种sql注入攻击的检测方法及装置
CN110855676B (zh) * 2019-11-15 2021-08-31 腾讯科技(深圳)有限公司 网络攻击的处理方法、装置及存储介质
CN110855676A (zh) * 2019-11-15 2020-02-28 腾讯科技(深圳)有限公司 网络攻击的处理方法、装置及存储介质
CN111353151A (zh) * 2020-02-27 2020-06-30 腾讯云计算(北京)有限责任公司 一种网络应用的漏洞检测方法和装置
CN111526136A (zh) * 2020-04-15 2020-08-11 优刻得科技股份有限公司 基于云waf的恶意攻击检测方法、系统、设备和介质
CN111783132A (zh) * 2020-05-27 2020-10-16 平安科技(深圳)有限公司 基于机器学习的sql语句安全检测方法、装置、设备及介质
WO2021135919A1 (zh) * 2020-05-27 2021-07-08 平安科技(深圳)有限公司 基于机器学习的sql语句安全检测方法、装置、设备及介质
CN111917788A (zh) * 2020-08-07 2020-11-10 四川长虹电器股份有限公司 基于hmm模型的sql注入攻击检测方法
CN112069498A (zh) * 2020-09-21 2020-12-11 全球能源互联网研究院有限公司 一种sql注入检测模型构建方法及检测方法
CN112069498B (zh) * 2020-09-21 2023-11-21 全球能源互联网研究院有限公司 一种sql注入检测模型构建方法及检测方法
CN113965377A (zh) * 2021-10-21 2022-01-21 北京天融信网络安全技术有限公司 一种攻击行为检测方法及装置
CN114168938A (zh) * 2021-10-29 2022-03-11 四川大学 一种基于少量异常标签的半监督sql注入攻击检测方法
CN114168938B (zh) * 2021-10-29 2023-04-07 四川大学 一种基于少量异常标签的半监督sql注入攻击检测方法
CN114553550A (zh) * 2022-02-24 2022-05-27 京东科技信息技术有限公司 请求检测方法、装置、存储介质及电子设备
CN114553550B (zh) * 2022-02-24 2024-02-02 京东科技信息技术有限公司 请求检测方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
CN109194677A (zh) 一种sql注入攻击检测方法、装置及设备
CN106131071B (zh) 一种Web异常检测方法和装置
CN107437038B (zh) 一种网页篡改的检测方法及装置
CN105072214B (zh) 基于域名特征的c&c域名识别方法
CN111897962B (zh) 一种物联网资产标记方法及装置
CN109005145A (zh) 一种基于自动特征抽取的恶意url检测系统及其方法
CN112541476B (zh) 一种基于语义特征提取的恶意网页识别方法
CN112989348B (zh) 攻击检测方法、模型训练方法、装置、服务器及存储介质
CN105224600B (zh) 一种样本相似度的检测方法及装置
CN110175851B (zh) 一种作弊行为检测方法及装置
CN108718306A (zh) 一种异常流量行为判别方法和装置
CN104765882B (zh) 一种基于网页特征字符串的互联网网站统计方法
CN110138794A (zh) 一种仿冒网站识别方法、装置、设备及可读存储介质
CN113779481A (zh) 诈骗网站的识别方法、装置、设备及存储介质
CN108600172A (zh) 撞库攻击检测方法、装置、设备及计算机可读存储介质
CN106874760A (zh) 一种基于层次式SimHash的Android恶意代码分类方法
CN106446124A (zh) 一种基于网络关系图的网站分类方法
CN107209834A (zh) 恶意通信模式提取装置、恶意通信模式提取系统、恶意通信模式提取方法及恶意通信模式提取程序
CN110020161B (zh) 数据处理方法、日志处理方法和终端
US20160283582A1 (en) Device and method for detecting similar text, and application
CN111431883B (zh) 一种基于访问参数的web攻击检测方法及装置
CN112257076A (zh) 一种基于随机探测算法和信息聚合的漏洞检测方法
CN108920955B (zh) 一种网页后门检测方法、装置、设备及存储介质
CN109347873A (zh) 一种命令注入攻击的检测方法、装置及计算机设备
CN111190873A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190111