CN113489713A - 网络攻击的检测方法、装置、设备及存储介质 - Google Patents
网络攻击的检测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113489713A CN113489713A CN202110745055.5A CN202110745055A CN113489713A CN 113489713 A CN113489713 A CN 113489713A CN 202110745055 A CN202110745055 A CN 202110745055A CN 113489713 A CN113489713 A CN 113489713A
- Authority
- CN
- China
- Prior art keywords
- request
- detected
- information
- attack
- primary screening
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Abstract
本申请涉及人工智能技术领域,提供一种网络攻击的检测方法、装置、设备及存储介质,网络攻击的检测方法包括:接收终端设备发送的待检测请求,根据待检测请求确认函数调用信息;当函数调用信息包含预设函数时,调用探针函数获取待检测请求及初筛异常请求集合中每一初筛异常请求对应的关键属性信息;根据关键属性信息分别得到第一行为特征及第二行为特征;根据第一行为特征和第二行为特征确定待检测请求是否为攻击请求。以在攻击请求还未与服务器发生交互时便可进行识别,进而对攻击请求进行拦截,有效地防止无文件落地的木马对服务器造成损害。且通过对待检测请求和初筛异常请求集合进行综合分析,提高了攻击检测的准确性。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种网络攻击的检测方法、装置、设备及存储介质。
背景技术
内存马是无文件攻击的一种常用手段,通过向网络(web)服务器中写入恶意后门和恶意代码,使入侵者可通过浏览器直接访问webshell以得到命令执行环境,进而通过该webshell在被入侵的web服务器中上传或下载文件、修改文件内容、查看数据库、执行任意程序命令等。
由于webshell与web服务器网站目录下正常的网页脚本文件混在—起,具有极强的隐蔽性,不易被发现。且如果攻击者未产生进一步的动作以触发该webshell文件中恶意代码,则该恶意代码会一直作为普通文件代码存储在被攻击者的设备中。因此,通过现有的方式很难识别出webshell文件。
发明内容
本申请提供了一种网络攻击的检测方法、装置、设备及存储介质,旨在解决难以有效地识别web服务器上无文件落地的网络攻击的问题。
第一方面,本申请提供一种网络攻击的检测方法,包括:
接收终端设备发送的待检测请求,根据待检测请求确认函数调用信息;当函数调用信息包含预设函数时,获取预设时间段内接收到的所有请求信息,并根据待检测请求及请求信息的相似度,识别请求信息中的初筛异常请求,以获取初筛异常请求集合;调用探针函数获取待检测请求,以及初筛异常请求集合中每一初筛异常请求对应的关键属性信息;根据关键属性信息确定待检测请求对应的第一行为特征和初筛异常请求集合中,每一初筛异常请求对应的第二行为特征;根据第一行为特征和第二行为特征确定待检测请求是否为攻击请求。
第二方面,本申请还提供一种网络攻击的检测装置,包括:
调用信息获取模块,用于接收终端设备发送的待检测请求,根据待检测请求确认函数调用信息;初筛异常请求获取模块,当函数调用信息包含预设函数时,获取预设时间段内接收到的所有请求信息,并根据待检测请求及请求信息的相似度,识别请求信息中的初筛异常请求,以获取初筛异常请求集合;关键属性信息获取模块,用于调用探针函数获取待检测请求,以及初筛异常请求集合中每一初筛异常请求对应的关键属性信息;行为特征获取模块,用于根据关键属性信息确定待检测请求对应的第一行为特征和初筛异常请求集合中,每一初筛异常请求对应的第二行为特征;结果获取模块,用于根据第一行为特征和第二行为特征确定待检测请求是否为攻击请求。
第三方面,本申请还提供一种计算机设备,包括存储器和处理器;存储器用于存储计算机程序;处理器用于执行的计算机程序并在执行的计算机程序时实现本申请实施例提供的任一项的网络攻击的检测方法。
第四方面,本申请还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时使处理器实现本申请实施例提供的任一项的网络攻击的检测方法。
本申请实施例公开的网络攻击的检测方法、装置、设备及存储介质,通过接收终端设备发送的待检测请求,根据待检测请求确认函数调用信息;当函数调用信息包含预设函数时,获取预设时间段内接收到的所有请求信息,以获取初筛异常请求集合;调用探针函数获取待检测请求,以及初筛异常请求集合中每一初筛异常请求对应的关键属性信息;根据关键属性信息确定待检测请求对应的第一行为特征和初筛异常请求集合中,每一初筛异常请求对应的第二行为特征;根据第一行为特征和第二行为特征确定待检测请求是否为攻击请求。通过对服务器接收的待检测请求的函数调用信息进行监测,当预设函数被调用时,对该待检测请求进行检测,得到对应的检测结果,以在攻击请求还未与服务器发生交互时便可进行识别,进而对攻击请求进行拦截,有效地防止无文件落地的木马对服务器造成损害。同时,通过对待检测请求和预设时间段内的所有请求信息进行综合分析,提高了攻击检测的准确性。
附图说明
为了更清楚地说明本申请实施例技术申请,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的网络攻击的检测系统的结构示意图;
图2是本申请实施例提供的网络攻击的检测方法的流程图;
图3是本申请实施例提供的网络攻击的检测装置的示意性框图;
图4是本申请实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术申请进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。另外,虽然在装置示意图中进行了功能模块的划分,但是在某些情况下,可以以不同于装置示意图中的模块划分。
在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请实施例提供一种网络攻击的检测方法,用于对服务器接收到的请求的函数调用信息进行监测,当预设函数被调用时,将该请求作为待检测请求进行检测,得到对应的检测结果,以在攻击请求还未与服务器发生交互时便可进行识别,进而对攻击请求进行拦截,有效地防止无文件落地的木马对服务器造成损害。
请参阅图1,图1为本申请实施例提供的网络攻击的检测系统,包括终端设备10、及服务器20。
终端设备10可以是具有显示屏并且支持网页浏览的各种计算设备,包括但不限于智能手机、平板电脑、及台式计算机等。
服务器20用于提供各种服务,例如对终端设备10所浏览的网站提供支持的后台管理服务器,后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果反馈给终端设备设备。服务器20可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
终端设备10以及服务器20可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限定。
下面结合附图,对本申请的一些实施方式作详细说明,在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图2,图2为本申请实施例提供的网络攻击的检测方法的流程图。该网络攻击的检测方法具体包括步骤S1-S5,可以理解的是,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
步骤S1、接收终端设备发送的待检测请求,根据所述待检测请求确认函数调用信息。
终端设备向服务器发送请求信息,服务器接收到的任意请求信息均可作为待检测请求,以根据该待检测请求获取对应的函数调用信息,进而根据函数调用信息调用对应的函数。
如图1所示,示例性地,服务器包括三个组件,分别为监听器(Listener)组件、过滤器(Filter)组件、及伺服器(Servlet)组件。监听器组件用于监听终端设备的请求、服务器的操作等,通过监听器,可以自动出发一些动作,比如监听在线的用户数量,统计网站访问量、网站访问监控等。过滤器组件用于管理的所有web资源,如权限访问控制、过滤敏感词汇、压缩响应信息等。伺服器组件用于处理终端设备的请求,并根据请求生成相应的返回信息给终端设备。
终端设备发起的待检测请求会依次经过服务器的监听器组件、过滤器组件以及伺服器组件。
可以理解的是,服务器接收的待检测请求包括正常请求和攻击请求,通过获取待检测请求的函数调用信息可以获取对应的行为信息,进而分辨该待检测请求为正常请求或攻击请求。
在一些实施方式中,根据待检测请求确认函数调用信息之前,还包括:
分别获取监听器组件、过滤器组件以及伺服器组件中的至少一个预设函数;分别对所述预设函数设置对应的探针函数。
具体地,通过对OpenRASP进行再次开发,以向预设函数设置对应的探针函数。OpenRASP通过直接注入到被保护应用的服务中提供函数级别的实时防护,可以在不更新策略以及不升级被保护应用代码的情况下检测或防护未知漏洞。
探针函数具体为hook函数,因为待检测请求会依次经过服务器的监听器组件、过滤器组件以及伺服器组件,因此,分别对监听器组件、过滤器组件以及伺服器组件中的至少一个预设函数设置对应的探针函数,以对服务器各组件进行全面的保护。当预设函数被调用时,通过探针函数获取对应的待检测请求的关键属性信息,以对关键属性信息进行分析,从而得到该待检测请求的行为数据。
通过hook函数,在服务器根据函数调用信息调用对应函数之前,hook函数就先捕获该消息,以得到控制权,这时hook函数既可以改变该函数的执行行为,还可以强制结束消息的传递。
在一些实施方式中,分别获取监听器组件、过滤器组件以及伺服器组件中的至少一个预设函数,具体包括:
获取设定时间段内的历史攻击请求数据和历史正常请求数据;根据所述历史攻击请求数据获取攻击函数调用信息,并根据历史正常请求数据获取正常函数调用信息;根据所述攻击函数调用信息和所述正常函数调用信息,分别获取监听器组件、过滤器组件以及伺服器组件中的至少一个函数为预设函数。
服务器记录有历史攻击请求数据和历史正常请求数据,可以通过人工进行记录,也可以通过应用程序自动记录,上述历史攻击请求数据可以包括历史的某段时间内,对服务器产生过攻击请求的数据,其中可以包括发出攻击请求的源地址、攻击时间、函数调用等信息。历史正常请求数据可以包括历史的某段时间内,对服务器产生过正常请求的数据,其中可以包括发出正常请求的源地址、请求时间、函数调用等信息。
其中,服务器记录的历史攻击请求数据和历史正常请求数据在预设的时间段内会进行更新,以增加这段时间内新的访问记录,其中预设的时间段,可以是半天或者一天,以保证数据的有效性。
通过对历史攻击请求数据及历史正常请求数据进行分析,可以得到历史攻击请求数据中的攻击函数调用信息和历史正常请求中的正常函数调用信息,以根据攻击函数调用信息和正常函数调用信息获取预设函数。
示例性地,根据函数被调用的次数对攻击函数调用信息中的函数进行第一标记,并根据函数被调用的次数对正常函数调用信息中的函数进行第二标记。将第一标记的标记值减去第二标记的标记值,得到每个函数对应的最终分值,并根据函数的来源进行分类,以分别得到监听器组件、过滤器组件以及伺服器组件的函数数据。选取监听器组件的函数数据中最终分值最大的函数作为第一预设函数;选取过滤器组件的函数数据中最终分值最大的函数作为第二预设函数;选取伺服器组件的函数数据中最终分值最大的函数作为第三预设函数。通过将历史攻击请求数据中调用率高的函数且历史正常请求数据中调用率低的函数作为预设函数,保证了对攻击行为检测的准确性。
步骤S2、当所述函数调用信息包含预设函数时,获取预设时间段内接收到的所有请求信息,并根据所述待检测请求及所述请求信息的相似度,识别所述请求信息中的初筛异常请求,以获取初筛异常请求集合。
在攻击行为中,攻击终端通过向服务器发送攻击请求,攻击请求中包含有webshell文件,以将webshell文件上传至服务器。将webshell文件上传至服务器后,攻击终端通过对该webshell文件发起请求,以实现对该服务器的入侵。
通过对历史攻击请求数据及历史正常请求数据中分析得到,攻击请求在向服务器写入webshell文件时,包括但不限于会调用监听器组件、过滤器组件以及伺服器组件中的部分函数,且该函数在正常请求中基本不会被调用。因此,将这类函数作为预设函数。
当预设函数被调用时,该待检测请求为攻击请求的概率较大,且在攻击终端对服务器进行网络攻击时,一般会在一段时间内进行多次攻击,这些攻击往往具有上下文关系。因此,为了对待检测请求进行全面分析,并准确地检测出预设时段段内是否存在具有上下文关系的其他可疑请求,则获取预设时间段内服务器接收到的所有请求信息,进而得到初筛异常请求集合。
在一些实施方式中,获取预设时间段内接收到的所有请求信息,以得到初筛异常请求集合,包括:
获取所述请求信息的第一字段信息;根据所述第一字段信息获取所述待检测请求的第二字段信息;计算所述第一字段信息和所述第二字段信息的相似度;当所述相似度大于阈值时,将所述请求信息作为初筛异常请求,以得到初筛异常请求集合。
可以按照预设时间段设置时间窗口,然后按照时间窗口得到服务器接收的请求信息,时间窗口的时长范围可以根据网络中的数据流量的大小来确定。服务器可以对接收到的请求信息及待检测请求进行相似度分析,从中筛选出和待检测请求相似度高的请求信息,以得到初筛异常请求。其中,相似度分析可以为判断请求信息与待检测请求之间各字段的相似度。
具体地,获取请求信息的第一字段信息,并对应获取待检测请求的第二字段信息,第一字段信息及第二字段信息包括但不限于,源IP地址、目的IP地址、网络协议、端口信息、用户名称、访问网址、域名等字段的信息,可以理解的是,第一字段信息及第二字段信息可以包括多个字段的信息。
示例性地,通过分析请求信息与待检测请求的相似度,将这些请求信息按照对应关系排列起来。例如,将与待检测请求具有相同或相应源IP地址和目的IP地址的请求信息分成一组,以形成相应的初筛异常请求集合。
通过比对第一字段信息及第二字段信息,以得到对应的相似度,当相似度大于阈值时,则表明该请求信息同样为可疑请求的概率较大。因此,将相似度大于阈值所对应的请求信息作为初筛异常请求,以初筛异常请求集合,以将初筛异常请求集合和待检测请求进行综合分析,使得到的分析结果更加准确,避免了错误识别的情况。
步骤S3、调用探针函数获取所述待检测请求,以及所述初筛异常请求集合中每一所述初筛异常请求对应的关键属性信息。
调用探针函数分别去获取待检测请求及所有初筛异常请求对应的关键属性信息,关键属性信息为在攻击请求中,与正常请求差异较大的数据,如请求信息中代码执行、函数调用、类的创建与方法调用及访问的URL等字段信息。
例如,监听器组件的预设函数可以为registerMapping函数,根据registerMapping函数获取待检测请求对应的requestMappingInfo类及controller类,进而根据requestMappingInfo类及controller类的进行反射调用,获取到该待检测请求的关键属性信息可以包括controller访问的地址(Uniform Resource Locator,简称URL)和controller的类名。
例如,过滤器组件的预设函数可以为registerFilter函数,可以根据requestMapping函数获取到待检测请求对应的Filter名称、Filter类名及Filter访问的URL,以得到该待检测请求的关键属性信息。
例如,伺服器组件的预设函数可以为addWrapper函数,可以根据addWrapper函数获取到待检测请求对应的servlet访问的URL及Wrapper类,以通过对Wrapper类进行反射调用,获取到servlet的名称及servlet的类名,将servlet访问的URL、servlet的名称及servlet的类名作为该待检测请求的关键属性信息。可以理解的是,因为伺服器组件的版本不同,则addWrapper函数的函数签名信息不同,针对不同版本采用对应的关键属性信息获取。
因此,通过探针函数获取待检测请求及初筛异常请求集合中,每一初筛异常请求对应的关键属性信息,进而根据关键属性信息进行检测分析。且可以理解的是,当攻击终端的攻击方式发送变化时,则攻击请求对应的函数调用的情况也可能会发生变化,因此,预设函数及关键属性信息的具体选择可由本领域技术人员根据历史攻击请求数据灵活选择,本申请在此不做限制。
步骤S4、根据所述关键属性信息确定所述待检测请求对应的第一行为特征和所述初筛异常请求集合中,每一所述初筛异常请求对应的第二行为特征。
可选的,将待检测请求及初筛异常请求集合中,每一初筛异常请求对应的关键属性信息的特征维度进行整理,确定与各个特征维度相对应的数据,进而将与各个特征维度相对应的数据按预设转换规则转换成对应的特征值。然后按预先设置的各特征维度的顺序,拼接多个特征维度的特征值,得到对应的行为特征。可以理解的是,第一行为特征及第二行为特征实质上是一组向量。
在一些实施方式中,步骤S4具体包括:
根据所述待检测请求对应的关键属性信息中每个字段的字符分布特征,提取所述第一行为特征;根据所述初筛异常请求对应的关键属性信息中每个字段的字符分布特征,提取所述第二行为特征。
待检测请求及初筛异常请求对应的关键属性信息包括有的代码执行、函数调用、类的创建与方法调用及访问的URL等字段信息,根据各字段的字符的分布情况,获取各字段对应的特征值,并将各特征值进行拼接,以得到第一行为特征及第二行为特征。其中,关键属性信息对应的字段信息具体可以根据使用情况进行选择,本申请实施例对此不做限制。
示例性地,获取访问的URL的特征值,可以包括:对URL的文本信息进行过滤处理,以得到关键信息。如URL为“http://a-b.com/d1/e1”,对URL的文本信息去除URL中的协议字段,以进行过滤,得到过滤后的文本信息为“a-b/d1/e1”。然后,对过滤后的URL的文本信息进行切分处理,得到对应的单词数据为“a-b、d1、e1”。最后,将URL的单词数据进行编码表示,以得到对应的子特征向量,进而将每个单词数据的子特征向量进行拼接,以得到该URL所对应的特征值。其中,编码表示的编码方式包括但不限于one-hot编码、词袋模型编码等方式,具体可以根据使用情况进行选择,本申请实施例对此不做限制。
得到各个字段对应的特征值后,对各个特征值进行拼接。示例性地,确定各个特征值的多个维度、以及分别对应每个维度的标量。然后将各个特征值所包含的每个维度进行叠加,并在叠加后的维度中填充对应维度的标量,以获得拼接后对应的行为特征,即,分别得到第一行为特征及第二行为特征。
步骤S5、根据所述第一行为特征和所述第二行为特征确定所述待检测请求是否为攻击请求。
在一些实施方式中,步骤S5具体包括:
融合所述第一行为特征及所述第二行为特征,以得到整体行为特征;计算所述整体行为特征与攻击特征数据库的第一相似度、及与正常特征数据库的第二相似度;当所述第一相似度大于第一阈值或所述第二相似度小于第二阈值时,则所述待检测请求为攻击请求。
得到第一行为特征及第二行为特征后,可以对第一行为特征及第二特征进行融合处理,以得到整体行为特征。根据整体行为特征对待检测请求进行分析,以判断该待检测请求在调用了预设函数后,是否具有成为webshell的风险。
在一种实现方式中,对第一行为特征及第二行为特征进行融合可以为:对第一行为特征和第二行为特征进行加权运算,得到融合后的整体行为特征,需要说明的是,第一行为特征所占的权重与第二行为特征所占的权重可以根据具体使用情况进行选择,本申请实施例对此不做限制。
在一种实现方式中,对第一行为特征及第二行为特征进行融合还可以为:确定第一行为特征的多个维度、以及分别对应每个维度的标量,确定第二行为特征的多个维度、以及分别对应每个维度的标量。然后将第一行为特征及第二行为特征所包含的每个维度进行叠加,并在叠加后的维度中填充对应维度的标量,以获得拼接后对应的整体行为特征。
得到整体行为特征后,可以将整体行为特征和攻击特征数据库进行对比,以得到与每个攻击特征数据的相似度。其中,攻击特征数据库根据历史攻击请求数据得到,通过对攻击请求进行如上述步骤S4的特征值获取方法,以得到每个历史攻击请求对应的特征值,进而得到对应的攻击特征数据库。可以理解的是,整体行为特征和攻击特征数据库进行对比时,可以得到多个相似度,选取相似度最大的作为第一相似度。
同时,将整体行为特征和正常特征数据库进行对比,以得到与每个正常特征数据的相似度。其中,正常特征数据库根据历史正常请求数据得到,通过对正常请求进行如上述步骤S4的特征值获取方法,以得到每个历史正常请求对应的特征值,进而得到对应的正常特征数据库。可以理解的是,整体行为特征和正常特征数据库进行对比时,可以得到多个相似度,选取相似度最小的作为第二相似度。
示例性地,可以通过计算整体行为特征与攻击特征数据库中的每个攻击特征数据及正常特征数据库中的每个正常特征数据的向量距离,并将得到的距离值映射到0至1的区间中,以得到最终的相似度。其中,向量距离包括但不限于欧几里得距离、曼哈顿距离、及马氏距离等。
判断第一相似度与第一阈值的关系,并判断第二相似度与第二阈值的关系。可以理解的是,第一相似度越大,则表明当前的待检测请求及对应的初筛异常请求集合包含的初筛异常请求为攻击请求的概率越大;第二相似度越大,则表明当前的待检测请求及对应的初筛异常请求集合包含的初筛异常请求为正常请求的概率越大。
具体地,当第一相似度大于第一阈值或第二相似度小于第二阈值时,则输出攻击检测结果。攻击检测结果表明当前的待检测请求及对应的初筛异常请求集合包含的初筛异常请求为攻击请求的概率较大,或为正常请求的概率较小。
在一些实施方式中,根据攻击检测结果对待检测请求及初筛异常请求集合对应的初筛异常请求进行拦截,并生成对应的预警信息。预警信息包含有待检测请求及初筛异常请求集合对应的初筛异常请求的详细信息,及对应的异常情况。
示例性地,服务器设有拦截接口,通过调用拦截接口,中断待检测请求及对应的初筛异常请求集合包含的初筛异常请求的执行流程,以避免恶意代码进入服务器。其中,服务器设有服务器管理端,可以为向服务器管理端发送对应的预警信息,以使管理员根据预警信息对服务器进行漏洞修复。
例如,当待检测请求为攻击请求时,攻击请求通过动态注册一个新的Filter或者向Filter中注入恶意代码,以使Filter允许攻击者访问到服务器中的数据。其中,攻击请求在注册Filter或向Filter中注入恶意代码时,调用了过滤器组件的预设函数registerFilter函数,服务器通过探针函数得到该攻击请求的控制权,获取该攻击请求对应的关键属性信息,并获取预设时间段内接收到的所有请求信息,以得到与该攻击请求相似度高的初筛异常请求集合。
获取该攻击请求对应的关键属性信息及初筛异常请求集合的整体行为特征,当该整体行为特征与攻击特征数据库中的攻击特征数据A的相似度大于第一阈值时,则表明当前的待检测请求与攻击特征数据A对应的历史攻击请求数据均属于同一类攻击请求,则对该攻击请求及初筛异常请求集合包含的初筛异常请求进行拦截,防止恶意数据进入服务器。
在一些实施方式中,可以根据第一相似度及第二相似度的大小对待检测请求进行打分,以通过分值大小表明待检测请求的危险程度的高低。根据不同的危险程度,生成对应的预警信息,以使管理员可以优先对危险程度高的预警信息进行分析。
在一些实施例中,服务器设有网络安全等级,根据当前的网络安全等级选择对应的第一阈值或第二阈值。
例如,当网络安全等级越高级时,则第一阈值越小或第二阈值越大,服务器对接收的请求的拦截率越高。当网络安全等级越低级时,则第一阈值越大或第二阈值越小,服务器对接收的请求的拦截率越低。根据服务器不同的使用场景选择不同的网络安全等级,如,对服务器的安全要求越高,则选择越高等级的网络安全等级。
在一些实施例中,当确认待检测请求为攻击请求之后,还包括:根据待检测请求确定对应的攻击终端设备信息,将攻击终端设备信息与历史攻击终端设备信息进行匹配并保存。
可选地,为了对攻击终端设备的信息进行统一管理,可以预先设置一个用于存储各个历史攻击终端设备信息的数据列表。该数据列表中的每条数据记录分别对应唯一的攻击终端设备标识。攻击终端设备标识指的是,在该列表中,无论一条数据记录中包含多少个信息项,这些信息项所关联的攻击终端设备标识均相同,即攻击终端设备标识是能够唯一地标识一个攻击终端设备的信息项,包括但不限于木马上线地址、后门登录密码。
具体地,获取该待检测请求对应的攻击终端设备信息,攻击终端设备信息包括但不限于社交账号、木马上线地址、后门登录密码、浏览器版本等信息。判断数据列表中是否存储有与该攻击终端设备信息相匹配的数据记录。若是,则根据攻击终端设备信息更新数据列表中存储的与该攻击终端设备信息相匹配的数据记录,并结合该攻击终端设备列表中存储的与该攻击终端设备信息相匹配的数据记录定位该攻击终端设备。若否,为该攻击终端设备信息设置对应的攻击终端设备标识,将该攻击终端设备信息与该攻击终端设备标识存储至数据列表中。
其中,在判断数据列表中是否存储有与攻击终端设备信息相匹配的数据记录时,分别针对数据列表中的每条数据记录,确定该数据记录与攻击终端设备信息的相似度,当相似度大于阈值时,则确定该数据记录与攻击终端设备信息相匹配。
通过数据列表记录确定对应的攻击终端设备的相关信息,以定位攻击终端设备,实现溯源防护等操作。
本申请实施例公开的网络攻击的检测方法,通过对服务器接收到的待检测请求的函数调用信息进行监测,当预设函数被调用时,将该请求作为待检测请求进行检测,得到对应的检测结果,以在攻击请求还未与服务器发生交互时便可进行识别,进而对攻击请求进行拦截,有效地防止无文件落地的木马对服务器造成损害。同时,通过对目标函数和预设时间段内的所有请求信息进行综合分析,提高了攻击检测的准确性。
请参阅图3,图3是本申请一实施例提供的一种网络攻击的检测装置的示意框图,该网络攻击的检测装置可以配置于服务器或计算机设备中,用于执行前述的网络攻击的检测方法。
如图3所示,该检测装置200包括:调用信息获取模块201、初筛异常请求获取模块202、关键属性信息获取模块203、行为特征获取模块204和结果获取模块205。
调用信息获取模块201,用于接收终端设备发送的待检测请求,根据所述待检测请求确认函数调用信息。
初筛异常请求获取模块202,用于当所述函数调用信息包含预设函数时,获取预设时间段内接收到的所有请求信息,并根据所述待检测请求及所述请求信息的相似度,识别所述请求信息中的初筛异常请求,以获取初筛异常请求集合。
关键属性信息获取模块203,用于调用探针函数获取所述待检测请求,以及所述初筛异常请求集合中每一所述初筛异常请求对应的关键属性信息。
行为特征获取模块204,用于根据所述关键属性信息确定所述待检测请求对应的第一行为特征和所述初筛异常请求集合中,每一所述初筛异常请求对应的第二行为特征。
结果获取模块205,用于根据所述第一行为特征和所述第二行为特征确定所述待检测请求是否为攻击请求。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请的方法、装置可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
示例性地,上述的方法、装置可以实现为一种计算机程序的形式,该计算机程序可以在如图4所示的计算机设备上运行。
请参阅图4,图4是本申请实施例提供的一种计算机设备的示意图。该计算机设备可以是服务器或终端。
如图4所示,该计算机设备300包括通过系统总线302连接的处理器301、存储器和网络接口304,其中,存储器可以包括非易失性存储介质和内存储器303。
非易失性存储介质可存储操作系统305和计算机程序306。该计算机程序306包括程序指令,该程序指令被执行时,可使得处理器301执行任意一种网络攻击的检测方法。
处理器301用于提供计算和控制能力,支撑整个计算机设备300的运行。
内存储器303为非易失性存储介质中的计算机程序306的运行提供环境,该计算机程序306被处理器301执行时,可使得处理器301执行任意一种网络攻击的检测方法。
该网络接口304用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,该计算机设备300的结构,仅仅是与本申请相关的部分结构的框图,并不构成对本申请所应用于其上的计算机设备300的限定,具体地计算机设备300可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器301可以是中央处理单元(Central Processing Unit,CPU),该处理器301还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器301可以是微处理器或者该处理器301也可以是任何常规的处理器等。
其中,在一些实施方式中,处理器301用于运行存储在存储器中的计算机程序306,以实现如下步骤:
接收终端设备发送的待检测请求,根据所述待检测请求确认函数调用信息;当所述函数调用信息包含预设函数时,获取预设时间段内接收到的所有请求信息,并根据所述待检测请求及所述请求信息的相似度,识别所述请求信息中的初筛异常请求,以获取初筛异常请求集合;调用探针函数获取所述待检测请求,以及所述初筛异常请求集合中每一所述初筛异常请求对应的关键属性信息;根据所述关键属性信息确定所述待检测请求对应的第一行为特征和所述初筛异常请求集合中,每一所述初筛异常请求对应的第二行为特征;根据所述第一行为特征和所述第二行为特征确定所述待检测请求是否为攻击请求。
在一些实施方式中,根据所述待检测请求及所述请求信息的相似度,识别所述请求信息中的初筛异常请求,以获取初筛异常请求集合,包括:获取所述请求信息的第一字段信息;根据所述第一字段信息获取所述待检测请求的第二字段信息;计算所述第一字段信息和所述第二字段信息的相似度;当所述相似度大于阈值时,将所述请求信息作为初筛异常请求,以得到初筛异常请求集合。
在一些实施方式中,根据所述关键属性信息确定所述待检测请求对应的第一行为特征和所述初筛异常请求集合中,每一所述初筛异常请求对应的第二行为特征,包括:根据所述待检测请求对应的关键属性信息中每个字段的字符分布特征,提取所述第一行为特征;根据所述初筛异常请求对应的关键属性信息中每个字段的字符分布特征,提取所述第二行为特征。
在一些实施方式中,根据所述第一行为特征和所述第二行为特征确定所述待检测请求是否为攻击请求,包括:融合所述第一行为特征及所述第二行为特征,以得到整体行为特征;计算所述整体行为特征与攻击特征数据库的第一相似度、及与正常特征数据库的第二相似度;当所述第一相似度大于第一阈值或所述第二相似度小于第二阈值时,则所述待检测请求为攻击请求。
在一些实施方式中,输出攻击检测结果之后,方法还包括:对所述待检测请求,以及所述初筛异常请求集合对应的初筛异常请求进行拦截,并生成对应的预警信息。
在一些实施方式中,根据待检测请求确认函数调用信息之前,还包括:分别获取监听器组件、过滤器组件以及伺服器组件中的至少一个预设函数;分别对预设函数设置对应的探针函数。
在一些实施方式中,分别获取监听器组件、过滤器组件以及伺服器组件中的至少一个预设函数,包括:获取设定时间段内的历史攻击请求数据和历史正常请求数据;根据历史攻击请求数据获取攻击函数调用信息,并根据历史正常请求数据获取正常函数调用信息;根据攻击函数调用信息和正常函数调用信息,分别获取监听器组件、过滤器组件以及伺服器组件中的至少一个函数为预设函数。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序中包括程序指令,程序指令被执行时实现本申请实施例提供的任一种网络攻击的检测方法。
其中,计算机可读存储介质可以是前述实施例的计算机设备的内部存储单元,例如计算机设备的硬盘或内存。计算机可读存储介质也可以是计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种网络攻击的检测方法,其特征在于,所述方法包括:
接收终端设备发送的待检测请求,根据所述待检测请求确认函数调用信息;
当所述函数调用信息包含预设函数时,获取预设时间段内接收到的所有请求信息,并根据所述待检测请求及所述请求信息的相似度,识别所述请求信息中的初筛异常请求,以获取初筛异常请求集合;
调用探针函数获取所述待检测请求,以及所述初筛异常请求集合中每一所述初筛异常请求对应的关键属性信息;
根据所述关键属性信息确定所述待检测请求对应的第一行为特征和所述初筛异常请求集合中,每一所述初筛异常请求对应的第二行为特征;
根据所述第一行为特征和所述第二行为特征确定所述待检测请求是否为攻击请求。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待检测请求及所述请求信息的相似度,识别所述请求信息中的初筛异常请求,以获取初筛异常请求集合,包括:
获取所述请求信息的第一字段信息;
根据所述第一字段信息获取所述待检测请求的第二字段信息;
计算所述第一字段信息和所述第二字段信息的相似度;
当所述相似度大于阈值时,将所述请求信息作为初筛异常请求,以得到初筛异常请求集合。
3.根据权利要求1所述的方法,其特征在于,所述根据所述关键属性信息确定所述待检测请求对应的第一行为特征和所述初筛异常请求集合中,每一所述初筛异常请求对应的第二行为特征,包括:
根据所述待检测请求对应的关键属性信息中每个字段的字符分布特征,提取所述第一行为特征;
根据所述初筛异常请求对应的关键属性信息中每个字段的字符分布特征,提取所述第二行为特征。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一行为特征和所述第二行为特征确定所述待检测请求是否为攻击请求,包括:
融合所述第一行为特征及所述第二行为特征,以得到整体行为特征;
计算所述整体行为特征与攻击特征数据库的第一相似度与正常特征数据库的第二相似度;
当所述第一相似度大于第一阈值或所述第二相似度小于第二阈值时,则所述待检测请求为攻击请求。
5.根据权利要求1至4任一项所述的方法,其特征在于,当所述待检测请求为攻击请求时,所述方法还包括:
对所述待检测请求和所述初筛异常请求集合对应的初筛异常请求进行拦截,并生成对应的预警信息。
6.根据权利要求1所述的方法,其特征在于,所述根据所述待检测请求确认函数调用信息之前,还包括:
分别获取监听器组件、过滤器组件以及伺服器组件中的至少一个预设函数;
分别对所述预设函数设置对应的探针函数。
7.根据权利要求6所述的方法,其特征在于,所述分别获取监听器组件、过滤器组件以及伺服器组件中的至少一个预设函数,包括:
获取设定时间段内的历史攻击请求数据和历史正常请求数据;
根据所述历史攻击请求数据获取攻击函数调用信息,并根据历史正常请求数据获取正常函数调用信息;
根据所述攻击函数调用信息和所述正常函数调用信息,分别获取监听器组件、过滤器组件以及伺服器组件中的至少一个函数为预设函数。
8.一种网络攻击的检测装置,其特征在于,包括:
调用信息获取模块,用于接收终端设备发送的待检测请求,根据所述待检测请求确认函数调用信息;
初筛异常请求获取模块,用于当所述函数调用信息包含预设函数时,获取预设时间段内接收到的所有请求信息,并根据所述待检测请求及所述请求信息的相似度,识别所述请求信息中的初筛异常请求,以获取初筛异常请求集合;
关键属性信息获取模块,用于调用探针函数获取所述待检测请求,以及所述初筛异常请求集合中每一所述初筛异常请求对应的关键属性信息;
行为特征获取模块,用于根据所述关键属性信息确定所述待检测请求对应的第一行为特征和所述初筛异常请求集合中,每一所述初筛异常请求对应的第二行为特征;
结果获取模块,用于根据所述第一行为特征和所述第二行为特征确定所述待检测请求是否为攻击请求。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述的计算机程序并在执行所述的计算机程序时实现如权利要求1至7中任一项所述的检测方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至7中任一项所述的检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110745055.5A CN113489713B (zh) | 2021-06-30 | 2021-06-30 | 网络攻击的检测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110745055.5A CN113489713B (zh) | 2021-06-30 | 2021-06-30 | 网络攻击的检测方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113489713A true CN113489713A (zh) | 2021-10-08 |
CN113489713B CN113489713B (zh) | 2022-10-25 |
Family
ID=77939112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110745055.5A Active CN113489713B (zh) | 2021-06-30 | 2021-06-30 | 网络攻击的检测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113489713B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114710338A (zh) * | 2022-03-24 | 2022-07-05 | 四维创智(北京)科技发展有限公司 | 一种基于mitm的交互式劫持方法、装置、电子设备及介质 |
CN114726631A (zh) * | 2022-04-12 | 2022-07-08 | 中国电信股份有限公司 | 一种标识解析体系架构的安全防护方法及相关设备 |
CN114785542A (zh) * | 2022-03-10 | 2022-07-22 | 安芯网盾(北京)科技有限公司 | 一种木马检测方法、系统、电子设备和存储介质 |
CN115174192A (zh) * | 2022-06-29 | 2022-10-11 | 中国电信股份有限公司 | 应用安全防护方法及装置、电子设备和存储介质 |
CN116232875A (zh) * | 2023-05-09 | 2023-06-06 | 北京拓普丰联信息科技股份有限公司 | 一种远程办公方法、装置、设备和介质 |
CN116723059A (zh) * | 2023-08-10 | 2023-09-08 | 湖南润科通信科技有限公司 | 一种针对网络信息的安全分析系统 |
CN116886445A (zh) * | 2023-09-05 | 2023-10-13 | 苏州浪潮智能科技有限公司 | 过滤结果的处理方法及装置、存储介质、电子设备 |
CN114567480B (zh) * | 2022-02-28 | 2024-03-12 | 天翼安全科技有限公司 | 有效攻击告警识别的方法、装置、安全网络及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108040036A (zh) * | 2017-11-22 | 2018-05-15 | 江苏翼企云通信科技有限公司 | 一种行业云Webshell安全防护方法 |
CN109598124A (zh) * | 2018-12-11 | 2019-04-09 | 厦门服云信息科技有限公司 | 一种webshell检测方法以及装置 |
CN110610088A (zh) * | 2019-09-12 | 2019-12-24 | 北京升鑫网络科技有限公司 | 一种基于php的webshell检测方法 |
CN111628990A (zh) * | 2020-05-22 | 2020-09-04 | 北京金山云网络技术有限公司 | 识别攻击的方法、装置和服务器 |
US20210012021A1 (en) * | 2019-07-12 | 2021-01-14 | Jeff Pickhardt | Interposed secure function calls |
CN112651025A (zh) * | 2021-01-20 | 2021-04-13 | 广东工业大学 | 一种基于字符级嵌入编码的webshell检测方法 |
-
2021
- 2021-06-30 CN CN202110745055.5A patent/CN113489713B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108040036A (zh) * | 2017-11-22 | 2018-05-15 | 江苏翼企云通信科技有限公司 | 一种行业云Webshell安全防护方法 |
CN109598124A (zh) * | 2018-12-11 | 2019-04-09 | 厦门服云信息科技有限公司 | 一种webshell检测方法以及装置 |
US20210012021A1 (en) * | 2019-07-12 | 2021-01-14 | Jeff Pickhardt | Interposed secure function calls |
CN110610088A (zh) * | 2019-09-12 | 2019-12-24 | 北京升鑫网络科技有限公司 | 一种基于php的webshell检测方法 |
CN111628990A (zh) * | 2020-05-22 | 2020-09-04 | 北京金山云网络技术有限公司 | 识别攻击的方法、装置和服务器 |
CN112651025A (zh) * | 2021-01-20 | 2021-04-13 | 广东工业大学 | 一种基于字符级嵌入编码的webshell检测方法 |
Non-Patent Citations (1)
Title |
---|
管军霖等: "基于系统日志等隐蔽方式加载Webshell 及其安全防护研究", 《中国高新科技》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114567480B (zh) * | 2022-02-28 | 2024-03-12 | 天翼安全科技有限公司 | 有效攻击告警识别的方法、装置、安全网络及存储介质 |
CN114785542A (zh) * | 2022-03-10 | 2022-07-22 | 安芯网盾(北京)科技有限公司 | 一种木马检测方法、系统、电子设备和存储介质 |
CN114710338A (zh) * | 2022-03-24 | 2022-07-05 | 四维创智(北京)科技发展有限公司 | 一种基于mitm的交互式劫持方法、装置、电子设备及介质 |
CN114726631A (zh) * | 2022-04-12 | 2022-07-08 | 中国电信股份有限公司 | 一种标识解析体系架构的安全防护方法及相关设备 |
CN114726631B (zh) * | 2022-04-12 | 2023-10-03 | 中国电信股份有限公司 | 一种标识解析体系架构的安全防护方法及相关设备 |
CN115174192A (zh) * | 2022-06-29 | 2022-10-11 | 中国电信股份有限公司 | 应用安全防护方法及装置、电子设备和存储介质 |
CN116232875A (zh) * | 2023-05-09 | 2023-06-06 | 北京拓普丰联信息科技股份有限公司 | 一种远程办公方法、装置、设备和介质 |
CN116723059A (zh) * | 2023-08-10 | 2023-09-08 | 湖南润科通信科技有限公司 | 一种针对网络信息的安全分析系统 |
CN116723059B (zh) * | 2023-08-10 | 2023-10-20 | 湖南润科通信科技有限公司 | 一种针对网络信息的安全分析系统 |
CN116886445A (zh) * | 2023-09-05 | 2023-10-13 | 苏州浪潮智能科技有限公司 | 过滤结果的处理方法及装置、存储介质、电子设备 |
CN116886445B (zh) * | 2023-09-05 | 2024-01-19 | 苏州浪潮智能科技有限公司 | 过滤结果的处理方法及装置、存储介质、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113489713B (zh) | 2022-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113489713B (zh) | 网络攻击的检测方法、装置、设备及存储介质 | |
CN108881294B (zh) | 基于网络攻击行为的攻击源ip画像生成方法以及装置 | |
US10609079B2 (en) | Application of advanced cybersecurity threat mitigation to rogue devices, privilege escalation, and risk-based vulnerability and patch management | |
US11218510B2 (en) | Advanced cybersecurity threat mitigation using software supply chain analysis | |
CN110798472B (zh) | 数据泄露检测方法与装置 | |
CN110417778B (zh) | 访问请求的处理方法和装置 | |
CN109376078B (zh) | 移动应用的测试方法、终端设备及介质 | |
CN111274583A (zh) | 一种大数据计算机网络安全防护装置及其控制方法 | |
CN112003838B (zh) | 网络威胁的检测方法、装置、电子装置和存储介质 | |
CN108664793B (zh) | 一种检测漏洞的方法和装置 | |
CN112491602B (zh) | 行为数据的监控方法、装置、计算机设备及介质 | |
US10505986B1 (en) | Sensor based rules for responding to malicious activity | |
CN108256322B (zh) | 安全测试方法、装置、计算机设备和存储介质 | |
US11916964B2 (en) | Dynamic, runtime application programming interface parameter labeling, flow parameter tracking and security policy enforcement using API call graph | |
CN109067794B (zh) | 一种网络行为的检测方法和装置 | |
CN111404937B (zh) | 一种服务器漏洞的检测方法和装置 | |
CN115600201A (zh) | 一种电网系统软件的用户账户信息安全处理方法 | |
KR102420884B1 (ko) | 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체 | |
CN115643044A (zh) | 数据处理方法、装置、服务器及存储介质 | |
CN112699369A (zh) | 一种通过栈回溯检测异常登录的方法及装置 | |
Bo et al. | Tom: A threat operating model for early warning of cyber security threats | |
CN111291044A (zh) | 敏感数据识别方法、装置、电子设备及存储介质 | |
CN116094847B (zh) | 蜜罐识别方法、装置、计算机设备和存储介质 | |
CN111614675B (zh) | 请求执行方法、设备、系统及介质 | |
KR102437376B1 (ko) | 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체 |
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 |