CN114006706A - 网络安全检测方法、系统、计算机装置及可读存储介质 - Google Patents

网络安全检测方法、系统、计算机装置及可读存储介质 Download PDF

Info

Publication number
CN114006706A
CN114006706A CN202010668473.4A CN202010668473A CN114006706A CN 114006706 A CN114006706 A CN 114006706A CN 202010668473 A CN202010668473 A CN 202010668473A CN 114006706 A CN114006706 A CN 114006706A
Authority
CN
China
Prior art keywords
server
asset information
flow
attack
response data
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
CN202010668473.4A
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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202010668473.4A priority Critical patent/CN114006706A/zh
Publication of CN114006706A publication Critical patent/CN114006706A/zh
Pending legal-status Critical Current

Links

Images

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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • 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
    • H04L63/1416Event detection, e.g. attack signature detection

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)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种网络安全检测方法、系统、计算机装置及可读存储介质,用于降低攻击流量检测时的性能开销。本发明实施例方法包括:获取服务器发送的响应数据包;根据所述响应数据表,确定所述服务器的资产信息;基于与所述服务器的资产信息对应的流量攻击检测引擎检测所述服务器的上传流量是否为攻击流量。

Description

网络安全检测方法、系统、计算机装置及可读存储介质
技术领域
本发明涉及网络安全检测技术领域,尤其涉及一种网络安全检测方法、系统、计算机装置及计算机可读存储介质。
背景技术
网络攻击程序,是黑客对服务器进行渗透的重要工具,黑客在入侵进入服务器的时候,一般先将网络攻击程序通过流量上传的方式上传到服务器,以控制服务器。比如,WebShell是一种以网页文件形式存在的命令执行程序,也称为后门文件,是黑客对服务器进一步渗透的重要工具,黑客在没有入侵进入服务器的时候,一般会将WebShell通过文件上传的方式上传到服务器,以进一步控制服务器,实现文件读写、数据库查询、内网嗅探等非法操作。
因此,如何检测上传至服务器的流量是否为攻击流量是保证网络安全的关键问题。
为消除此种攻击,为实现对不同类型攻击的全面覆盖,从而避免漏检,服务器往往会采用不同的流量攻击检测引擎来对上传流量进行检测。比如,对于WebShell上传流量,由于该上传流量可以采用不同的编程语言(比如php或者aspx等),因此,为了保证避免漏检,会采用支持不同编程语言的流量攻击检测模型来检测上传流量是否为WebShell上传流量。
显然,现有技术的此种流量检测方法,对于某一个固定的上传流量来说,该上传流量需要经过多个流量攻击检测引擎,性能开销会比较大。
有鉴于此,有必要提出新的网络安全检测方法。
发明内容
本发明实施例提供了一种网络安全检测方法、系统、计算机装置及可读存储介质,用于攻击流量检测时的性能开销。
本发明实施例第一方面提供了一种网络安全检测方法,可包括:
获取服务器发送的响应数据包;
根据所述响应数据表,确定所述服务器的资产信息;
基于与所述服务器的资产信息对应的流量攻击检测引擎检测所述服务器的上传流量是否为攻击流量。
可选的,所述服务器的资产信息包括所述服务器中网页的资产信息;所述基于与所述服务器的资产信息对应的流量攻击检测引擎检测所述服务器的上传流量是否为攻击流量,包括:
基于与所述服务器的资产信息对应的流量攻击检测引擎检测所述服务器的上传流量是否为对所述网页的攻击。
可选的,作为一种可能的实施方式,本发明实施例中,所述根据所述响应数据表,确定所述服务器的资产信息,可以包括:
提取所述响应数据包中预设字段的字段值;
将所述预设字段的字段值与预设指纹库中的Web指纹进行匹配,若匹配到目标Web指纹,则将所述目标Web指纹确定为所述服务器中网页的资产信息;其中,所述目标Web指纹用于体现所述服务器中网页的资产信息。
可选的,作为一种可能的实施方式,本发明实施例中的网络安全检测方法,若所述预设字段的字段值不能匹配到目标Web指纹,所述根据所述响应数据表,确定所述服务器的资产信息还可以包括:
采用预设的学习算法模型识别所述响应数据包中的服务器的资产信息,其中,该资产信息中包括所述服务器中网页的资产信息。
可选的,作为一种可能的实施方式,本发明实施例中,所述服务器中网页的资产信息包括:所述服务器中所述网页支持的语言类型;
与所述服务器的资产信息对应的流量攻击检测引擎为能够对所述网页支持的语言进行检测的语法引擎;
所述基于与所述服务器的资产信息对应的流量攻击检测引擎检测所述服务器的上传流量是否为对所述网页的攻击,可以包括:
检测所述服务器的上传流量中的程序语言是否符合与所述语法引擎的语法规则;
若不符合所述语法规则,则进一步检测所述服务器的上传流量中的程序语言是否会触发预设操作,若会触发预设操作,则判定对应的上传流量为对所述网页的攻击。
可选的,作为一种可能的实施方式,本发明实施例中,当所述服务器的资产信息对应多个流量攻击检测引擎时,则分别采用所述多个流量攻击检测引擎检测所述服务器的上传流量。
可选的,作为一种可能的实施方式,本发明实施例中,所述获取服务器发送的响应数据包,可以包括:每间隔预设时间段,获取服务器发送的响应数据包。
本发明实施例第二方面提供了一种网络安全检测系统,可包括:
获取模块,用于获取服务器发送的响应数据包;
确定模块,用于根据所述响应数据表,确定所述服务器的资产信息;
检测模块,基于与所述服务器的资产信息对应的流量攻击检测引擎检测所述服务器的上传流量是否为攻击流量。
可选的,作为一种可能的实施方式,本发明实施例中的网络安全检测系统中,所述服务器的资产信息包括所述服务器中网页的资产信息;所述检测模块,可包括:
检测单元,基于与所述服务器的资产信息对应的流量攻击检测引擎检测所述服务器的上传流量是否为对所述网页的攻击。
可选的,作为一种可能的实施方式,本发明实施例中的网络安全检测系统中,所述确定模块可以包括:
提取单元,用于提取所述响应数据包中预设字段的字段值;
匹配单元,用于将所述预设字段的字段值与预设指纹库中的Web指纹进行匹配,若匹配到目标Web指纹,则将所述目标Web指纹确定为所述服务器中网页的资产信息;其中,所述目标Web指纹用于体现所述服务器中网页的资产信息。
可选的,作为一种可能的实施方式,本发明实施例中,所述确定模块还可以包括:
识别单元,若所述预设字段的字段值不能匹配到目标Web指纹,采用预设的学习算法模型识别所述响应数据包中的服务器的资产信息,其中,该资产信息中包括所述服务器中网页的资产信息。
可选的,作为一种可能的实施方式,本发明实施例中,所述服务器中网页的资产信息包括:所述服务器中所述网页支持的语言类型;与所述服务器的资产信息对应的流量攻击检测引擎为能够对所述网页支持的语言进行检测的语法引擎;所述检测模块可以包括:
第一检测单元,用于检测所述服务器的上传流量中的程序语言是否符合所述语法引擎的语法规则;
第二检测单元,若不符合所述语法规则,则进一步检测所述服务器的上传流量中的程序语言是否会触发预设操作,若会触发预设操作,则判定对应的上传流量为对所述网页的攻击。
可选的,作为一种可能的实施方式,本发明实施例中,当所述服务器的资产信息对应多个流量攻击检测引擎时,则分别采用所述多个流量攻击检测引擎检测所述服务器的上传流量。
可选的,作为一种可能的实施方式,本发明实施例中,所述获取模块可以包括:
获取单元,每间隔预设时间段,获取服务器发送的响应数据包。
本发明实施例第三方面提供了一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如第一方面及第一方面中任意一种可能的实施方式中的步骤。
本发明实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面及第一方面中任意一种可能的实施方式中的步骤。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,网络安全检测系统可以获取服务器发送的响应数据包,并根据响应数据包确定服务器的资产信息,为了实现对服务器的攻击,攻击流量的类型往往与服务器的资产信息相匹配的,因此,本申请基于与服务器的资产信息对应的攻击检测引擎检测服务器的上传流量是否合法,对于与服务器资产信息不匹配的攻击检测引擎,不再使用。因此,相对于现有技术,无需遍历每一个攻击检测引擎,只需要使用与服务器的资产信息对应的攻击检测引擎检测服务器的上传流量即可,所以,能够在一定程度上降低了系统资源开销,提高了网络安全检测效率。
附图说明
图1为本发明实施例中一种网络安全检测方法的一个实施例示意图;
图2为本发明实施例中一种网络安全检测方法的另一个实施例示意图;
图3为本发明实施例中一种网络安全检测方法的一个具体应用实施例示意图;
图4为本发明实施例中一种网络安全检测系统的一个实施例示意图;
图5为本发明实施例中一种计算机装置的一个实施例示意图。
具体实施方式
本发明实施例提供了一种网络安全检测方法、系统、计算机设备及计算机可读存储介质,用于降低系统资源开销,提高网络安全检测效率。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
针对现有技术中的服务器流量检测方案的不足,本发明实施例提出了一种结合网络空间测绘技术的网络安全检测方法,该网络安全检测方法可以用于WebShell检测机制。采用网络空间测绘技术,可以扫描出服务器的资产信息(比如,使用的组件类型,组件版本,网页语言支持类型以及操作系统等信息)。利用一些获取到的信息,可以自适应地选择特定的攻击检测引擎,而无需开启所有的引擎。本发明实施例能够大幅提升性能,同时降低误报率。
为了便于理解,下面对本发明实施例中的具体流程进行描述,请参阅图1,本发明实施例中一种网络安全检测方法的一个实施例可包括:
101、获取服务器发送的响应数据包;
102、根据响应数据表,确定服务器的资产信息;
本发明实施例中基于流量攻击检测引擎对发往服务器的流量数据进行检测,其中流量攻击检测引擎通常是通过提取上传流量的特征,然后通过机器学习或者规则检测网络攻击程序。由于上传流量的脚本语言繁多,每种语言还存在不同的后台服务器配置,为保证覆盖率,需要为每种语言以及每种配置设计一个流量攻击检测引擎。但是多种流量攻击检测引擎会带来两个问题:1)误判高,流量需要经过多个流量攻击检测引擎,只要有一个引擎误报,就会造成误报;2)性能开销大,每个流量都会被多个流量攻击检测引擎检测。
为提高检测效率,申请人建立每个流量攻击检测引擎与服务器的资产信息的映射关系,基于服务器适配的服务器的资产信息开启对应的流量攻击检测引擎。
具体的服务器的资产信息可以包括但不限于服务器网页支持的语言类型、网页支持的语言类型的版本、基于网页支持语言类型的后台配置、html页面的版本信息等。
103、基于与服务器的资产信息对应的流量攻击检测引擎检测服务器的上传流量是否为攻击流量。
本发明实施例中,网络安全检测系统可以获取服务器发送的响应数据包,并根据响应数据包确定服务器的资产信息,然后基于与服务器的资产信息对应的流量攻击检测引擎检测服务器的上传流量是否为攻击流量。相对于现有技术,无需遍历每一个检测规则,只需要开启服务器的资产信息对应的流量攻击检测引擎检测服务器的上传流量,降低了系统资源开销,提高了网络安全检测效率。
在上述图1所示的实施例的基础上,可选的,本发明实施例中所述服务器的资产信息可以包括所述服务器中网页的资产信息,进而基于与所述服务器的资产信息对应的流量攻击检测引擎检测所述服务器的上传流量是否为对所述网页的攻击。通常情况下,针对网页的攻击需要与服务器网页的资产信息相适配,否则无法实现对网页的攻击,因此,本申请首先获取网页的资产信息,然后根据网页的资产信息,确定流量攻击检测引擎,进而检测上传流量是否为对网页的攻击。
可以理解的是,实际运用中,服务器的资产信息还可以包括应用程序的资产信息,具体的服务器的资产信息可以根据需求进行合理的设置,此处不做限定。
在上述图1所示的实施例的基础上,可选的,本发明实施例中可以采用Web指纹体现服务器中网页的资产信息,可以采用能够对与服务器中网页支持的语言进行检测的语法引擎检测上传流量是否为该网页的攻击。具体的可以先建立服务器的Web指纹与流量攻击检测引擎的映射关系,基于服务器适配的Web指纹开启对应的流量攻击检测引擎。为了确定服务器适配的Web指纹,本发明实施例中的网络安全检测系统可以周期性或根据预设的触发操作,获取服务器发送的响应数据包,并提取响应数据包中预设字段的字段值,以提取到的字段值作为适配Web指纹依据。
在提取到字段值之后,可以将预设字段的字段值与预设指纹库中的Web指纹进行匹配,若匹配到目标Web指纹,则采用目标Web指纹对应的流量攻击检测引擎检测服务器的上传流量是否为攻击流量。
本发明实施例中可以预先设置指纹库,在指纹库中保存多个Web指纹,具体的Web指纹中包含的字段可以根据用户的需求进行设置,具体此处不做限定。
当响应数据包中预设字段的字段值之后,网络安全检测系统可以将预设字段的字段值与预设指纹库中的Web指纹进行匹配,若匹配到目标Web指纹,则采用目标Web指纹对应的流量攻击检测引擎检测服务器的上传流量。
本发明实施例中,网络安全检测系统可以获取服务器发送的响应数据包,并提取响应数据包中预设字段的字段值,然后将预设字段的字段值与预设指纹库中的Web指纹进行匹配,若匹配到目标Web指纹,则采用目标Web指纹对应的流量攻击检测引擎检测服务器的上传流量。相对于现有技术,无需遍历每一个检测规则,只需要开启目标Web指纹对应的流量攻击检测引擎检测服务器的上传流量,降低了系统资源开销,提高了网络安全检测效率。
基于Web指纹匹配的网络空间测绘技术,只能识别已在指纹库里面的资产信息,对于一些新的框架,系统或语言版本没有办法识别。为了解决这一弊端,本发明实施例提出了学习算法模型实现网络空间测绘,可以通过提取响应包Header字段信息、html标签信息、文档的结构信息等构建一个多维度的学习算法模型,能有效识别一些不在Web指纹库里面的资产信息,弥补传统网络空间测绘模块Web指纹库不全以及无法识别未知的资产信息的缺陷。请参阅图2,本发明实施例中的一种网络安全检测方法的另一个实施例可包括:
201、获取服务器发送的响应数据包,并提取响应数据包中预设字段的字段值;
示例性的,可以基于以下几种方式提取响应数据包中预设字段的字段值,具体如下:
1.meta标签识别:html中一般会通过<meta>元素为当前页面提供的相应的元信息,比如当前所属Web应用系统的名称,当前页作者名,版权信息等。这些本身不属于展示页面的文档内容,只是为了给展示页面提供相应的介绍。本发明可以通过爬虫技术,获取服务器html页面的信息。然后,将html网页解析成DOM树,并从DOM树中提取meta标签,从而获取到组件信息以及相应的版本信息;
2.请求头信息关键字匹配:服务器响应包的header字段往往会附带一些服务器信息,比如X-Powered-By字段表明用于支持当前网页应用程序的技术,sever字段表明当前服务器上安装的HTTP服务器应用程序的信息,Set-Cookie字段中包含PHPSSIONID说明是php、包含JSESSIONID说明是java、包含ASP.NET_SessionId说明是aspx等。为利用此类信息,网络空间测绘模块预先设定几个头部字段关键词(如PHPSEESIONID等),然后用这些关键词去匹配响应包的头部字段。
3.intext识别:intext是输出在展示页面的,一般在页面的最底部,用来表明当前应用系统的版本框架,比如Discuz框架在html页面的<a>标签里面可能有Powered byDiscuz标识。类似地,本发明预设特定关键词,然后匹配响应包中的HTML页面。
4.Robots.txt文件识别:robots协议也称为爬虫协议,是”网络爬虫排除标准”的简称,此文件会告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,但是同时也会附带上一些框架信息,比如如果是Discus框架,会有类似于#robot.txt for Discuz!X3之类的标识,根据这些标识获取我们需要的字段值。
可以理解的是,以上字段值的提取方式仅仅是示例性的,还有一些收集来源比如特定文件md5,报错页面信息,url关键字等作为字段值,还可以从多个方面可以收集到服务器使用的中间件,操作系统,框架语言,框架版本等字段的字段值。具体的字段值的设置及提取方式,此处不做限定。
202、判断预设字段的字段值与预设指纹库中的Web指纹是否匹配成功;
在获取到预设字段的字段值之后,可以先将预设字段的字段值与预设指纹库中的Web指纹匹配,若成功匹配到Web指纹作为目标Web指纹,将该目标Web指纹确定为所述服务器中网页的资产信息,执行步骤204。其中,所述目标Web指纹用于体现所述服务器中网页的资产信息。否则执行步骤203。
203、采用预设的学习算法模型提取响应数据包中的服务器的资产信息;
若不能提取响应数据包中预设字段的字段值,或提取到的预设字段的字段值不能匹配到目标Web指纹,则采用预设的学习算法模型提取响应数据包所体现的资产信息。
本发明实施例中可以自动提取响应数据包中的数据特征,然后将提取到的数据特征输入预设的学习算法模型提取对应的资产信息,示例性的,具体可以包括如下步骤:
1.训练数据收集和清洗:可以通过web爬虫收集网上已有的响应报文(可为http响应报文),同时通过正则匹配和人工标记的方式对这类数据进行分类打标签,去掉人工无法识别的脏数据。
2.特征提取:特征提取可以主要来自于两个方面,header字段值和html中的特定标签和属性。其中,header有几个字段是比较有可能存在资产信息的,比如cookie,set-cookie,etag,server等,提取这些数据的字符级特征,例如在apacha服务的响应包中,header部位的etag字段值(例:409ed-183-53c5f732641c0)基本是由字母和数字组成的,且字符串通常是由”-”分割为3部分,且较多以0结尾,那么这里可以提取的特征就有可以为:1)以“-”分割的每个字符串的长度;2)是否由数字和字母组成;3)是否以0结尾;4)以“-”分割成几部分等。html除了meta标签,a标签之类的存在一些资产信息标识外,还可以从标签属性里面提取一些特征信息,比如joomla框架返回的html回包中,标签中的src属性很多都是“/media/jui/js/xxx.js”,那么这种模式的存在与否也可以作为一个特征。
3.模型训练:将特征输入到学习算法模型中进行训练或资产识别。
可以理解的是,本发明实施例中,并不限定响应数据特征的提取实现方式以及学习算法模型的具体实现。模型的选择实现既可以是机器学习算法比如SVM(支持向量机,Support Vector Machine),GBDT(Gradient Boosting Decision Tree,迭代决策树算法),RF(随机森林,RandomForest)等,也可以是深度学习模型如CNN(卷及神经网络,Convolutional Neural Network),RNN(循环神经网络,Recurrent Neural Network),LSTM(长短期记忆,long short-term memory)等,也可以使用机器学习和深度学习模型的组合,本发明包括但不限于具体的算法或算法组合。
204、采用资产信息对应的流量攻击检测引擎检测服务器的上传流量是否为攻击流量。
当获取到资产信息之后,可以采用资产信息对应的流量攻击检测引擎检测服务器的上传流量是否为攻击。可以理解的是,资产信息可以对应一个或多个流量攻击检测引擎。当资产信息对应多个流量攻击检测引擎时,则分别采用多个流量攻击检测引擎检测服务器的上传流量,若其中任一个流量攻击检测引擎判定上传流量不合法,则确定该上传流量不合法。
可选的,作为一种可能的实施方式,所述服务器中网页的资产信息包括:所述服务器中所述网页支持的语言类型;
与所述服务器的资产信息对应的流量攻击检测引擎为能够对所述网页支持的语言进行检测的语法引擎;
相应地,所述基于与所述服务器的资产信息对应的流量攻击检测引擎检测所述服务器的上传流量是否为对所述网页的攻击,包括:
检测服务器的上传流量中的程序语言是否所述语法引擎对应的语法规则;若不符合语法规则,则检测服务器的上传流量中的程序语言是否会触发预设操作,若会触发预设操作,则判定对应的上传流量不合法。语法规则检测,可以检测程序在结构上是否正确,程序的结构是否有上下文无关文法描述,具体的语法规则检测此处不做限定。
为了便于理解,请参阅图3,下面将结合具体的运用实施例对本发明实施例中的网络安全检测方法进行描述。在附图3所示的例子中,我们以检测“WebShell上传流量”为例说明。
WebShell是一种以网页文件形式存在的命令执行程序,也称为后门文件,是黑客对服务器中的网页进一步渗透的重要工具,其可以实现对服务器中网页的攻击。黑客在入侵进入服务器的时候,一般先将WebShell通过文件上传的方式上传到服务器,以控制服务器实现文件读写、数据库查询、内网嗅探等非法操作。为消除此种攻击,可以检测上传流量并拦截掉上传WebShell的请求。目前,检测WebShell上传的技术主要是基于规则匹配。具体过程如下:通过分析公开的WebShell样本,提取出WebShell的特征,设置规则库,匹配网络流量,如果命中,则认为存在WebShell上传行为。基于规则匹配的方法比较简单,但是规则的事先设置需要耗费大量的人力成本。
此外,WebShell上传流量检测也可以采用现有的流量攻击检测引擎,但是由于不同的WebShell上传流量往往不同(比如,程序语言类型不同),因此,为了避免漏报,会遍历每一个流量攻击检测引擎,导致检测效率低下。
有鉴于此本发明实施例提供了一种网络安全检测方法降低系统资源开销,提高网络安全检测效率,具体的工作流程如下:
1.基于字符串匹配的网络空间测绘引擎模块,对流量中的预设字段的字段值进行资产信息提取识别,若能提取到资产信息(预设字段的字段值)则表示可以识别到资产信息,并将资产信息(预设字段的字段值)发送给语法引擎模块。这里相当于上述的Web指纹匹配。附图3所示的资产信息包括服务器中网页支持的语言类型。
2.基于机器学习的网络空间测绘引擎模块,对不能提取到预设字段的字段值的流量进行特征提取,并将获取到的资产信息(预设字段的字段值)发送给语法引擎模块。
3.根据获取到的资产信息有选择的开启语法引擎。资产信息可以对应一个或多个语法引擎。当对应多个语法引擎时,则分别采用多个语法引擎检测服务器的上传流量,若其中任一个语法引擎判定上传流量不合法,则确定该上传流量不合法。
本申请相对于现有技术中的全引擎扫描的检测形式,这种扫描方式可以大大提升引擎的性能,降低计算机资源的使用率。
示例性的,具体的语法引擎的执行过程可以采用如下方式:
A1.在执行之前需要进行合法程序文件收集:及针对网页支持的不同语言,以及不同语言的不同版本,获取各个官方词法文件和语法文件;
A2.词法分析:根据相应的词法文件,将输入的字符流分割成一个个不可再分割的单词序列。
A3.语法分析:在词法分析的基础上将单词序列组合成各类语法短语,如“程序”、“语句”、“表达式”等,语法分析程序判断源程序在结构上是否正确,源程序的结构是否有上下文无关文法描述。
A4.设计判黑条件:数据流量业务众多,如果只是根据是否符合语法就判定为黑,很容易造成误报。本发明在判定符合语法后还会进一步匹配判黑规则(如含有危险的操作)。只有既符合语法又满足判黑规则才拦截,否则放过。
本实施例中,首先利用网络空间测绘技术,扫描客户暴露在公网的设备主机,从而获取客户的资产信息(如操作系统型号,网页支持的语言类型)。由于已知客户环境,本发明无需开启各种语言的用于WebShell检测的语法引擎,而是能够根据后台配置,自适应地选择特定语言的引擎。因此,本发明能够提升WebShell上传检测的性能及准确率。此方案可适用于Web攻击检测等场景,应用于防火墙和安全态势感知等产品。
请参阅图4,本发明实施例还提供了一种网络安全检测系统,可包括:
获取模块401,用于获取服务器发送的响应数据包;
确定模块402,用于根据所述响应数据表,确定所述服务器的资产信息;
检测模块403,基于与所述服务器的资产信息对应的流量攻击检测引擎检测所述服务器的上传流量是否为攻击流量。
可选的,作为一种可能的实施方式,本发明实施例中的网络安全检测系统中,所述服务器的资产信息包括所述服务器中网页的资产信息;所述检测模块,可包括:
检测单元,基于与所述服务器的资产信息对应的流量攻击检测引擎检测所述服务器的上传流量是否为对所述网页的攻击。
可选的,作为一种可能的实施方式,本发明实施例中的网络安全检测系统中,所述确定模块可以包括:
提取单元,用于提取所述响应数据包中预设字段的字段值;
匹配单元,用于将所述预设字段的字段值与预设指纹库中的Web指纹进行匹配,若匹配到目标Web指纹,则将所述目标Web指纹确定为所述服务器中网页的资产信息;其中,所述目标Web指纹用于体现所述服务器中网页的资产信息。
可选的,作为一种可能的实施方式,本发明实施例中,所述确定模块还可以包括:
识别单元,若所述预设字段的字段值不能匹配到目标Web指纹,采用预设的学习算法模型识别所述响应数据包中的服务器的资产信息,其中,该资产信息中包括所述服务器中网页的资产信息。
可选的,作为一种可能的实施方式,本发明实施例中,所述服务器中网页的资产信息包括:所述服务器中所述网页支持的语言类型;与所述服务器的资产信息对应的流量攻击检测引擎为能够对所述网页支持的语言进行检测的语法引擎;所述检测模块可以包括:
第一检测单元,用于检测所述服务器的上传流量中的程序语言是否符合所述语法引擎的语法规则;
第二检测单元,若不符合所述语法规则,则进一步检测所述服务器的上传流量中的程序语言是否会触发预设操作,若会触发预设操作,则判定对应的上传流量为对所述网页的攻击。
可选的,作为一种可能的实施方式,本发明实施例中,当所述服务器的资产信息对应多个流量攻击检测引擎时,则分别采用所述多个流量攻击检测引擎检测所述服务器的上传流量。
可选的,作为一种可能的实施方式,本发明实施例中,所述获取模块可以包括:
获取单元,每间隔预设时间段,获取服务器发送的响应数据包。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上面从模块化功能实体的角度对本发明实施例中的网图表编辑器进行了描述,请参阅图5,下面从硬件处理的角度对本发明实施例中的计算机装置进行描述:
该计算机装置1可以包括存储器11、处理器12和输入输出总线13。处理器11执行计算机程序时实现上述图1所示的网络安全检测方法实施例中的步骤,例如图1所示的步骤101至103。或者,处理器执行计算机程序时实现上述各装置实施例中各模块或单元的功能。
本发明的一些实施例中,处理器具体用于实现如下步骤:
获取服务器发送的响应数据包;
根据所述响应数据表,确定所述服务器的资产信息;
基于与所述服务器的资产信息对应的流量攻击检测引擎检测所述服务器的上传流量是否为攻击流量。
可选的,所述服务器的资产信息包括所述服务器中网页的资产信息;作为一种可能的实施方式,处理器还可以用于实现如下步骤:
基于与所述服务器的资产信息对应的流量攻击检测引擎检测所述服务器的上传流量是否为对所述网页的攻击。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
提取响应数据包中预设字段的字段值;
将预设字段的字段值与预设指纹库中的Web指纹进行匹配,若匹配到目标Web指纹,则将目标Web指纹确定为服务器中网页的资产信息;其中,目标Web指纹用于体现服务器中网页的资产信息。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:若预设字段的字段值不能匹配到目标Web指纹,根据响应数据表,采用预设的学习算法模型识别响应数据包中的服务器的资产信息,其中,该资产信息中包括所述服务器中网页的资产信息。
可选的,所述服务器中网页的资产信息包括:所述服务器中所述网页支持的语言类型;与所述服务器的资产信息对应的流量攻击检测引擎为能够对所述网页支持的语言进行检测的语法引擎;作为一种可能的实施方式,处理器还可以用于实现如下步骤:
检测服务器的上传流量中的程序语言是否符合与服务器的资产信息对应的语法引擎的语法规则;
若不符合语法规则,则进一步检测服务器的上传流量中的程序语言是否会触发预设操作,若会触发预设操作,则判定对应的上传流量为对所述网页的攻击。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:当服务器的资产信息对应多个语法引擎时,则分别采用多个语法引擎检测服务器的上传流量。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:每间隔预设时间段,获取服务器发送的响应数据包。
其中,存储器11至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是计算机装置1的内部存储单元,例如该计算机装置1的硬盘。存储器11在另一些实施例中也可以是计算机装置1的外部存储设备,例如计算机装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括计算机装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于计算机装置1的应用软件及各类数据,例如计算机程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行计算机程序01等。
该输入输出总线13可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。
进一步地,计算机装置还可以包括有线或无线网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该计算机装置1与其他电子设备之间建立通信连接。
可选地,该计算机装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的,用户接口还可以包括标准的有线接口、无线接口。可选的,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在计算机装置1中处理的信息以及用于显示可视化的用户界面。
图5仅示出了具有组件11-14以及计算机程序01的计算机装置1,本领域技术人员可以理解的是,图5示出的结构并不构成对计算机装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,可以实现如下步骤:
获取服务器发送的响应数据包;
根据所述响应数据表,确定所述服务器的资产信息;
基于与所述服务器的资产信息对应的流量攻击检测引擎检测所述服务器的上传流量是否为攻击流量。
可选的,所述服务器的资产信息包括所述服务器中网页的资产信息;作为一种可能的实施方式,处理器还可以用于实现如下步骤:
基于与所述服务器的资产信息对应的流量攻击检测引擎检测所述服务器的上传流量是否为对所述网页的攻击。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
提取响应数据包中预设字段的字段值;
将预设字段的字段值与预设指纹库中的Web指纹进行匹配,若匹配到目标Web指纹,则将目标Web指纹确定为服务器中网页的资产信息;其中,目标Web指纹用于体现服务器中网页的资产信息。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:若预设字段的字段值不能匹配到目标Web指纹,根据响应数据表,采用预设的学习算法模型识别响应数据包的资产信息,其中,该资产信息中包括所述服务器中网页的资产信息。
可选的,所述服务器中网页的资产信息包括:所述服务器中所述网页支持的语言类型;与所述服务器的资产信息对应的流量攻击检测引擎为能够对所述网页支持的语言进行检测的语法引擎;作为一种可能的实施方式,处理器还可以用于实现如下步骤:
检测服务器的上传流量中的程序语言是否符合与服务器的资产信息对应的语法引擎的语法规则;
若不符合语法规则,则进一步检测服务器的上传流量中的程序语言是否会触发预设操作,若会触发预设操作,则判定对应的上传流量为对所述网页的攻击。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:当服务器的资产信息对应多个语法引擎时,则分别采用多个语法引擎检测服务器的上传流量。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:每间隔预设时间段,获取服务器发送的响应数据包。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种网络安全检测方法,其特征在于,包括:
获取服务器发送的响应数据包;
根据所述响应数据表,确定所述服务器的资产信息;
基于与所述服务器的资产信息对应的流量攻击检测引擎检测所述服务器的上传流量是否为攻击流量。
2.如权利要求1所述的方法,其特征在于,所述服务器的资产信息包括所述服务器中网页的资产信息;
相应地,所述基于与所述服务器的资产信息对应的流量攻击检测引擎检测所述服务器的上传流量是否为攻击流量,包括:
基于与所述服务器的资产信息对应的流量攻击检测引擎检测所述服务器的上传流量是否为对所述网页的攻击。
3.如权利要求2所述的方法,其特征在于,所述根据所述响应数据表,确定所述服务器的资产信息,包括:
提取所述响应数据包中预设字段的字段值;
将所述预设字段的字段值与预设指纹库中的Web指纹进行匹配,若匹配到目标Web指纹,则将所述目标Web指纹确定为所述服务器中网页的资产信息;其中,所述目标Web指纹用于体现所述服务器中网页的资产信息。
4.根据权利要求3所述的方法,其特征在于,若所述预设字段的字段值不能匹配到目标Web指纹,所述根据所述响应数据表,确定所述服务器的资产信息还包括:
采用预设的学习算法模型识别所述响应数据包中的所述服务器的资产信息,其中,所述资产信息中包括所述服务器中网页的资产信息。
5.根据权利要2所述的方法,其特征在于,所述服务器中网页的资产信息包括:所述服务器中所述网页支持的语言类型;
与所述服务器的资产信息对应的流量攻击检测引擎为能够对所述网页支持的语言进行检测的语法引擎;
相应地,所述基于与所述服务器的资产信息对应的流量攻击检测引擎检测所述服务器的上传流量是否为对所述网页的攻击,包括:
检测所述服务器的上传流量中的程序语言是否符合所述语法引擎的语法规则;
若不符合所述语法规则,则进一步检测所述服务器的上传流量中的程序语言是否会触发预设操作,若会触发预设操作,则判定对应的上传流量为对所述网页的攻击。
6.根据权利要求1至5任一项所述的方法,其特征在于,当所述服务器的资产信息对应多个流量攻击检测引擎时,则分别采用所述多个流量攻击检测引擎检测所述服务器的上传流量。
7.根据权利要求1至5任一项所述的方法,其特征在于,所述获取服务器发送的响应数据包,包括:
每间隔预设时间段,获取服务器发送的响应数据包。
8.一种网络安全检测系统,其特征在于,包括:
获取模块,用于获取服务器发送的响应数据包;
确定模块,用于根据所述响应数据表,确定所述服务器的资产信息;
检测模块,基于与所述服务器的资产信息对应的流量攻击检测引擎检测所述服务器的上传流量是否为攻击流量。
9.一种计算机装置,其特征在于,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至7中任意一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述方法的步骤。
CN202010668473.4A 2020-07-13 2020-07-13 网络安全检测方法、系统、计算机装置及可读存储介质 Pending CN114006706A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010668473.4A CN114006706A (zh) 2020-07-13 2020-07-13 网络安全检测方法、系统、计算机装置及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010668473.4A CN114006706A (zh) 2020-07-13 2020-07-13 网络安全检测方法、系统、计算机装置及可读存储介质

Publications (1)

Publication Number Publication Date
CN114006706A true CN114006706A (zh) 2022-02-01

Family

ID=79920066

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010668473.4A Pending CN114006706A (zh) 2020-07-13 2020-07-13 网络安全检测方法、系统、计算机装置及可读存储介质

Country Status (1)

Country Link
CN (1) CN114006706A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114584491A (zh) * 2022-04-21 2022-06-03 腾讯科技(深圳)有限公司 检测方法、装置、存储介质、设备及程序产品

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026688A1 (en) * 2004-08-02 2006-02-02 Pinkesh Shah Methods, systems and computer program products for evaluating security of a network environment
CN105069355A (zh) * 2015-08-26 2015-11-18 厦门市美亚柏科信息股份有限公司 webshell变形的静态检测方法和装置
CN106230800A (zh) * 2016-07-25 2016-12-14 恒安嘉新(北京)科技有限公司 一种对资产主动探测和漏洞预警的方法
US20170195353A1 (en) * 2015-12-31 2017-07-06 The University Of North Carolina At Chapel Hill Methods, systems, and computer readable media for detecting malicious network traffic
CN107104924A (zh) * 2016-02-22 2017-08-29 阿里巴巴集团控股有限公司 网站后门文件的验证方法及装置
CN107341399A (zh) * 2016-04-29 2017-11-10 阿里巴巴集团控股有限公司 评估代码文件安全性的方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026688A1 (en) * 2004-08-02 2006-02-02 Pinkesh Shah Methods, systems and computer program products for evaluating security of a network environment
CN105069355A (zh) * 2015-08-26 2015-11-18 厦门市美亚柏科信息股份有限公司 webshell变形的静态检测方法和装置
US20170195353A1 (en) * 2015-12-31 2017-07-06 The University Of North Carolina At Chapel Hill Methods, systems, and computer readable media for detecting malicious network traffic
CN107104924A (zh) * 2016-02-22 2017-08-29 阿里巴巴集团控股有限公司 网站后门文件的验证方法及装置
CN107341399A (zh) * 2016-04-29 2017-11-10 阿里巴巴集团控股有限公司 评估代码文件安全性的方法及装置
CN106230800A (zh) * 2016-07-25 2016-12-14 恒安嘉新(北京)科技有限公司 一种对资产主动探测和漏洞预警的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114584491A (zh) * 2022-04-21 2022-06-03 腾讯科技(深圳)有限公司 检测方法、装置、存储介质、设备及程序产品
CN114584491B (zh) * 2022-04-21 2023-09-08 腾讯科技(深圳)有限公司 检测方法、装置、存储介质及设备

Similar Documents

Publication Publication Date Title
CN110324311B (zh) 漏洞检测的方法、装置、计算机设备和存储介质
CN104125209B (zh) 恶意网址提示方法和路由器
US20180219907A1 (en) Method and apparatus for detecting website security
US8943588B1 (en) Detecting unauthorized websites
US9614862B2 (en) System and method for webpage analysis
CN102254111B (zh) 恶意网站检测方法及装置
US9521161B2 (en) Method and apparatus for detecting computer fraud
CN109768992B (zh) 网页恶意扫描处理方法及装置、终端设备、可读存储介质
CN103279710B (zh) Internet信息系统恶意代码的检测方法和系统
US20140245438A1 (en) Download resource providing method and device
CN111835777B (zh) 一种异常流量检测方法、装置、设备及介质
CN107888606B (zh) 一种域名信誉度评估方法及系统
CN108900554B (zh) Http协议资产检测方法、系统、设备及计算机介质
CN113014549B (zh) 基于http的恶意流量分类方法及相关设备
US20190370476A1 (en) Determination apparatus, determination method, and determination program
CN106446123A (zh) 一种网页中验证码元素识别方法
CN114006746A (zh) 一种攻击检测方法、装置、设备及存储介质
CN114006706A (zh) 网络安全检测方法、系统、计算机装置及可读存储介质
CN111125704B (zh) 一种网页挂马识别方法及系统
CN111131236A (zh) 一种web指纹检测装置、方法、设备及介质
CN109684844B (zh) 一种webshell检测方法、装置以及计算设备、计算机可读存储介质
CN114900492A (zh) 异常邮件检测方法、装置、系统与计算机可读存储介质
CN115309968A (zh) 一种基于资源搜索引擎生成网页指纹规则的方法、装置
CN104933061B (zh) 字符串检测方法、装置及电子设备
CN113382000A (zh) 一种ua字符串的异常检测方法、装置、设备及介质

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