CN117201043B - 文件检测方法、装置及电子设备 - Google Patents
文件检测方法、装置及电子设备 Download PDFInfo
- Publication number
- CN117201043B CN117201043B CN202311479246.7A CN202311479246A CN117201043B CN 117201043 B CN117201043 B CN 117201043B CN 202311479246 A CN202311479246 A CN 202311479246A CN 117201043 B CN117201043 B CN 117201043B
- Authority
- CN
- China
- Prior art keywords
- current
- session
- code value
- session message
- file
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 102
- 230000004044 response Effects 0.000 claims abstract description 79
- 238000012545 processing Methods 0.000 claims abstract description 72
- 238000000034 method Methods 0.000 claims abstract description 56
- 230000002159 abnormal effect Effects 0.000 claims description 163
- 238000004590 computer program Methods 0.000 claims description 11
- 230000000903 blocking effect Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种文件检测方法、装置及电子设备,涉及计算机技术领域,该方法包括:根据目标文件的当前会话报文的处理请求信息以及当前会话报文的响应信息,确定当前会话报文的会话类型;根据会话类型,计算当前会话报文的第一特征编码值;根据会话类型和第一特征编码值,对目标文件的上一次更新后的第二特征编码值进行更新,得到目标文件的当前次更新后的第二特征编码值;根据第一特征编码值和/或当前次更新后的第二特征编码值,对目标文件的当前状态进行检测,在当前状态为正常状态的情况下,将当前会话报文传输至请求端,通过局部与整体关联并实时计算特征码,以快速高效地进行目标文件的检测,实现降低文件检测耗时的同时,降低内存消耗。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种文件检测方法、装置及电子设备。
背景技术
现代社会中,数据已经成为组织和个人最重要的资产之一,而通过恶意软件、病毒、勒索软件等手段会窃取、破坏这些重要的数据资产。文件安全检测能够有效发现风险文件,阻断恶意程序传播,保护敏感数据不会被未经授权的人访问、篡改或泄露。因此,如何高效精准地进行文件检测是目前亟待解决的技术问题之一。
目前,对于较大的文件,其在传输过程中,将会被分为多个报文进行连续发送。在文件发送完毕之前,检测设备进行各报文缓存,部分报文会转发给客户端,直到检测设备判断文件已经全部缓存完成,保留文件最后一个报文暂时不转发给客户端;然后计算文件的特征码并进行比对,如果文件安全,则将最后一次缓存的报文转发给客户端,如果文件存在威胁,就将缓存丢弃,客户端将不会收到完整的文件。
然而,上述检测方法,在文件很大时,检测设备需要针对所有报文同时进行整体文件的特征码计算,文件检测耗时较长,同时检测设备需要缓存文件的全部报文,也会消耗大量的内存。
发明内容
本发明提供一种文件检测方法、装置及电子设备,用以解决现有技术中检测设备需要针对所有报文同时进行整体文件的特征码计算,文件检测耗时较长,同时检测设备需要缓存文件的全部报文,需要消耗大量的内存的缺陷,实现降低文件检测耗时的同时,降低内存消耗。
本发明提供一种文件检测方法,包括:
根据目标文件的当前会话报文的处理请求信息以及所述当前会话报文的响应信息,确定所述当前会话报文的会话类型;
根据所述会话类型,计算所述当前会话报文的第一特征编码值;
根据所述会话类型,以及所述第一特征编码值,对所述目标文件的上一次更新后的第二特征编码值进行更新,得到所述目标文件的当前次更新后的第二特征编码值;
根据所述第一特征编码值和/或所述当前次更新后的第二特征编码值,对所述目标文件的当前状态进行检测,在确定所述当前状态为正常状态的情况下,将所述当前会话报文传输至请求端;所述请求端为发送所述处理请求信息的客户端。
根据本发明提供的一种文件检测方法,所述根据所述第一特征编码值和/或所述当前次更新后的第二特征编码值,对所述目标文件的当前状态进行检测,包括:
在根据所述会话类型,确定所述当前会话报文为多会话的情况下,根据所述第一特征编码值和所述当前次更新后的第二特征编码值,对所述目标文件的当前状态进行检测;
在根据所述会话类型,确定所述当前会话报文为单会话的情况下,根据所述当前次更新后的第二特征编码值,对所述目标文件的当前状态进行检测。
根据本发明提供的一种文件检测方法,所述在根据所述会话类型,确定所述当前会话报文为多会话的情况下,根据所述第一特征编码值和所述当前次更新后的第二特征编码值,对所述目标文件的当前状态进行检测,包括:
在根据所述会话类型,确定所述当前会话报文为多会话的情况下,将所述当前会话报文中各会话报文的第一特征编码值与异常文件列表中各异常文件的各异常会话报文的第一特征编码值进行比较,得到第一比较结果;
在根据所述第一比较结果,确定所述当前会话报文中各会话报文的第一特征编码值与各所述异常文件的各异常会话报文的第一特征编码值均不匹配的情况下,将所述当前次更新后的第二特征编码值与所述各异常文件的最后一次更新后的第二特征编码值进行比较,得到第二比较结果;
在根据所述第二比较结果,确定所述当前次更新后的第二特征编码值与各所述异常文件的最后一次更新后的第二特征编码值均不匹配的情况下,确定所述当前状态为正常状态;
在根据所述第二比较结果,确定所述当前次更新后的第二特征编码值与任一所述异常文件的最后一次更新后的第二特征编码值匹配的情况下,确定所述当前状态为异常状态。
根据本发明提供的一种文件检测方法,所述方法还包括:
在根据所述第一比较结果,确定所述当前会话报文中任一会话报文的第一特征编码值与任一所述异常文件的任一异常会话报文的第一特征编码值匹配的情况下,确定所述当前状态为异常状态。
根据本发明提供的一种文件检测方法,所述方法还包括:
在确定所述当前状态为异常状态的情况下,对所述当前会话报文中的所有会话报文或者所述当前会话报文中的异常会话报文进行拦截;
将所述目标文件的文件信息更新至所述异常文件列表;
其中,所述文件信息包括属性信息、最后一次更新后的第二特征编码值和各异常会话报文对应的第一特征编码值。
根据本发明提供的一种文件检测方法,所述根据所述会话类型,以及所述第一特征编码值,对所述目标文件的上一次更新后的第二特征编码值进行更新,得到所述目标文件的当前次更新后的第二特征编码值,包括:
在根据所述会话类型,确定所述当前会话报文为多会话的情况下,根据所述处理请求信息以及所述响应信息,确定所述当前会话报文中的各会话报文与所述目标文件的关联关系;
根据所述关联关系,以及所述当前会话报文中的各会话报文对应的第一特征编码值,对所述目标文件的上一次更新后的第二特征编码值进行更新,得到所述目标文件的当前次更新后的第二特征编码值;
在根据所述会话类型,确定所述当前会话报文为单会话的情况下,根据所述当前会话报文的第一特征编码值,对所述目标文件的上一次更新后的第二特征编码值进行更新,得到所述目标文件的当前次更新后的第二特征编码值。
根据本发明提供的一种文件检测方法,所述根据所述会话类型,计算所述当前会话报文的第一特征编码值,包括:
在根据所述会话类型,确定所述当前会话报文为多会话的情况下,对所述当前会话报文中的各会话报文进行分块存储,得到所述当前会话报文中的各会话报文对应的数据块;
对所述当前会话报文中的各会话报文对应的数据块进行特征编码,得到所述当前会话报文的第一特征编码值;
在根据所述会话类型,确定所述当前会话报文为单会话的情况下,对所述当前会话报文进行特征编码,得到所述当前会话报文的第一特征编码值。
根据本发明提供的一种文件检测方法,所述根据目标文件的当前会话报文的处理请求信息以及所述当前会话报文的响应信息,确定所述当前会话报文的会话类型,包括:
根据所述处理请求信息以及所述响应信息,获取所述目标文件的属性信息;
将所述目标文件的属性信息与异常文件列表中各异常文件的属性信息进行比较;
在所述目标文件的属性信息与各所述异常文件的属性信息均不匹配的情况下,确定所述处理请求信息以及所述响应信息是否均包含多会话标识;
在确定所述处理请求信息以及所述响应信息均包含多会话标识的情况下,确定所述会话类型为多会话类型;
在确定所述处理请求信息和/或所述响应信息不包含多会话标识的情况下,确定所述会话类型为单会话类型。
本发明还提供一种文件检测装置,包括:
确定单元,用于根据目标文件的当前会话报文的处理请求信息以及所述当前会话报文的响应信息,确定所述当前会话报文的会话类型;
计算单元,用于根据所述会话类型,计算所述当前会话报文的第一特征编码值;
更新单元,用于根据所述会话类型,以及所述第一特征编码值,对所述目标文件的上一次更新后的第二特征编码值进行更新,得到所述目标文件的当前次更新后的第二特征编码值;
处理单元,用于根据所述第一特征编码值和/或所述当前次更新后的第二特征编码值,对所述目标文件的当前状态进行检测,在确定所述当前状态为正常状态的情况下,将所述当前会话报文传输至请求端;所述请求端为发送所述处理请求信息的客户端。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述文件检测方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述文件检测方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述文件检测方法。
本发明提供的文件检测方法、装置及电子设备,通过首先根据目标文件的当前会话报文的处理请求信息和响应信息,确定当前会话报文的会话类型;接着根据会话类型对当前会话报文适应性地进行特征编码,得到当前会话报文的第一特征编码值;然后根据会话类型和第一特征编码值,更新上一次更新后的第二特征编码值,将更新结果作为目标文件的当前次更新后的第二特征编码值;最后根据第一特征编码值和/或当前次更新后的第二特征编码值检测目标文件的当前状态,若当前状态为正常状态,则将当前会话报文传输至请求端,局部与整体关联并实时计算特征码,以快速高效地进行目标文件的检测,会话检测过程中仅需存储上一次更新后的第二特征编码值,不仅可防止文件检测系统无法通过独立会话获取完整检测文件影响检测结果,还可实现降低文件检测耗时的同时,降低内存消耗,扩大文件检测功能支持的场景。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的文件检测方法的流程示意图之一;
图2是本发明提供的文件检测方法的流程示意图之二;
图3是本发明提供的文件检测装置的结构示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现代社会中,数据已经成为组织和个人最重要的资产之一,而通过恶意软件、病毒、勒索软件等手段会窃取、破坏这些重要的数据资产。文件安全检测能够有效发现风险文件,阻断恶意程序传播,保护敏感数据不会被未经授权的人访问、篡改或泄露。
目前文件检测较为常用且有效的方法是特征码比对。检测设备会将客户端需要下载或上传的文件进行缓存,存储完整后,对文件整体进行Hash(哈希值)特征码计算和比对。如果文件整体的特征码与特征库中存在的特征码匹配成功,则判定为恶意文件,实施拦截。这种实现方式会遇到一些问题:使用文件缓存完成再进行检测的方式,客户端需要等待检测完毕后才能收到文件,当文件较大时,客户端会等待比较长的时间才能收到结果,直观感觉数据传输过程存在卡顿,体验很差。
对于较大的文件,其在传输过程中,将会被分为多个报文进行连续发送。在文件发送完毕之前,检测设备进行各报文缓存,部分报文会转发给客户端,直到检测设备判断文件已经全部缓存完成,保留文件最后一个报文暂时不转发给客户端;然后计算文件的特征码并进行比对,如果文件安全,则将最后一次缓存的报文转发给客户端,如果文件存在威胁,就将缓存丢弃,客户端将不会收到完整的文件。上述检测方法虽然改善了传输卡顿问题,但在文件很大时,检测设备需要针对所有报文同时进行整体文件的特征码计算,文件检测耗时较长,同时检测设备需要缓存文件的全部报文,也会消耗大量的内存。
而且,目前越来越多的客户端、服务器支持多进程、线程下载功能。客户端可以新建多条会话,分别向服务器请求文件的一部分内容,然后在本地进行合并,形成完整的文件。在检测设备看来,每个请求都是独立的会话,每份数据没有任何关联,无法进行正常的特征码匹配,报文就可以正常通过。利用这种方法,客户端会收取到全部的文件内容,检测设备失去了防护作用。
针对上述问题,本申请提出一种效率和准确率更高且更加全面的文件下载过程中的检测方法。
需要说明的是,该方法的执行主体可以是电子设备、电子设备中的部件、集成电路、或芯片。该电子设备可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本发明不作具体限定。
下面结合图1-图2描述本发明的文件检测方法。
图1是本实施例提供的文件检测方法的流程示意图之一。如图1所示,该方法包括:
步骤101,根据目标文件的当前会话报文的处理请求信息以及所述当前会话报文的响应信息,确定所述当前会话报文的会话类型;
步骤102,根据所述会话类型,计算所述当前会话报文的第一特征编码值;
首先,根据客户端发送的目标文件的当前会话报文的处理请求信息,以及服务端发送的目标文件的当前会话报文的响应信息,确定当前会话报文的会话类型。
其中,当前会话报文的会话类型可以是包括单会话类型和多会话类型。在多会话模式下,请求端发送的处理请求信息用于请求同时处理多个会话报文;在单会话模式下,请求端发送的处理请求信息用于请求同时处理一个会话报文,需要等待前一个请求完成后才能发送下一个请求。
其中,根据不同的会话类型,当前会话报文可以是包括一个会话报文或多个会话报文的组合;示例性的,在本实施例当前会话报文的会话类型是单会话类型的情况下,当前会话报文可以是包括一个会话报文;在本实施例当前会话报文的会话类型是多会话类型的情况下,当前会话报文可以是包括多个会话报文,本实施例对此不作具体地限定。
其中,当前会话报文的处理请求信息可以是包括Range(范围请求)信息、文件名称信息和存放位置等信息,其中Range信息可以确认主文件(也即目标文件)分为几块传输、此会话用于请求哪块数据;当前会话报文的响应信息可以是包括URI(Uniform ResourceIdentifier,统一资源标识符)信息、Content-Type(内容类型响应)信息和Content-Range(内容范围响应)信息记录等信息,其中URI信息记录了文件所处的位置及名称,Content-Type信息可以确认实际返回的内容文件的内容类型,Content-Range信息表明主文件的大小以及实际返回的内容的内容范围。
以当前会话报文的处理请求信息以及当前会话报文的响应信息是应用HTTP(Hypertext Transfer Protocol,超文本传输协议)协议的多会话流量为例,多会话下载需要客户端和服务器同时支持此功能。如果客户端支持多会话下载特性,会在发起HTTP请求时带有Range的头部信息,Range的取值是一个区间范围;示例性的,客户端可以是通过发送“Range:bytes=0-10000”表示客户端希望获取文件前10000字节。
如果服务器支持多会话下载特性,就会检测客户端请求报文信息是否带有Range的头部信息,若存在,服务器会在响应中包含206 Partial Content(部分内容请求)状态码和Content-Range头部,并且返回客户端请求的特定范围数据。
接着,可以是根据获取到的会话类型,对当前会话报文适应性地进行特征编码,计算得到当前会话报文的第一特征编码值。
示例性的,客户端发送当前会话报文的处理请求信息具体可以是通过如下所示的代码执行的:
GET /ssl/eicar/divider HTTP/1.0
//HTTP请求行:客户端发送一个GET请求到服务器,并请求获取对应路径的资源;HTTP版本为1.0
Range: bytes=120976-
//用于指定请求范围的请求头字段:指示请求从字节偏移量120976开始到文件末尾的部分内容
User-Agent: Wget/1.11.4
//包含浏览器或工具的用户代理信息的请求头字段:指定了发送请求的用户代理,表示使用Wget工具发送请求
Accept: */*
//用于指示客户端接受的响应内容类型的请求头字段:Accept头字段指示客户端接受任意类型的响应内容
Host: 150.0.2
//用于指定要请求的主机地址的请求头字段:指定了主机地址为150.0.2
Connection: Keep-Alive
//用于指定连接的持久性选项的请求头字段:指示在请求完成后保持TCP连接打开,以便进行后续的请求。
相应地,服务器发送当前会话报文的响应信息具体可以是通过如下所示的代码执行的:
HTTP/1.1 206 Partial Content
//HTTP响应行:表示请求成功,并且服务器提供了部分请求的内容
Server: nginx/1.13.5
//用于指示服务器版本的响应头字段:指示服务器使用的是版本为1.13.5的nginx软件
Date: Thu,20 Jul 2023 06:21:23 GMT
//用于指示服务器发送响应的日期和时间的响应头字段
Content-Type: application/octet-stream
//用于指示响应的内容类型的响应头字段:指示响应的内容是一个未知的二进制流
Content-Length: 1097
//用于指示响应内容的长度的响应头字段:指示响应内容的长度为1097个字节
Last-Modified: Mon,26 Jun 2023 03:19:16 GMT
//用于指示响应内容的最后修改日期和时间的响应头字段
Connection: keep-alive
//用于指定连接的持久性选项的响应头字段:指示保持TCP连接打开
ETag: "649903b4-1dcd9"
//用于指示响应内容的实体标签的响应头字段,用于标识响应内容的唯一性
Content-Range: bytes 120976-122072/122073
//用于指示响应范围的响应头字段:指示响应内容在原始文件中的位置范围,响应内容的起始字节偏移量为120976,终止字节偏移量为122072;原始文件的总字节大小为122073。
在一些实施例中,所述根据所述会话类型,计算所述当前会话报文的第一特征编码值,包括:在根据所述会话类型,确定所述当前会话报文为多会话的情况下,对所述当前会话报文中的各会话报文进行分块存储,得到所述当前会话报文中的各会话报文对应的数据块;对所述当前会话报文中的各会话报文对应的数据块进行特征编码,得到所述当前会话报文的第一特征编码值;在根据所述会话类型,确定所述当前会话报文为单会话的情况下,对所述当前会话报文进行特征编码,得到所述当前会话报文的第一特征编码值。
首先根据当前会话报文的会话类型判断当前会话报文是否为多会话以确定特征编码的具体实现方式,若确定当前会话报文为多会话,则可以是先分块存储当前会话报文中的各会话报文,确定当前会话报文中的各会话报文对应的数据块,接着对当前会话报文中的各会话报文对应的数据块分别进行特征编码,得到当前会话报文的第一特征编码值。
若确定当前会话报文为单会话,则可以是直接对于当前会话报文整体进行特征编码得到当前会话报文的第一特征编码值。
本实施例通过根据会话类型确定当前会话报文是否为多会话,并根据判断结果对当前会话报文适应性地进行特征编码,得到当前会话报文的第一特征编码值,实现局部计算特征码快速高效地进行目标文件的检测,有助于降低文件检测耗时的同时,降低内存消耗。
步骤103,根据所述会话类型,以及所述第一特征编码值,对所述目标文件的上一次更新后的第二特征编码值进行更新,得到所述目标文件的当前次更新后的第二特征编码值;
接着可以是根据会话类型和第一特征编码值,更新目标文件的上一次更新后的第二特征编码值,将更新结果作为目标文件的当前次更新后的第二特征编码值。
在一些实施例中,所述根据所述会话类型,以及所述第一特征编码值,对所述目标文件的上一次更新后的第二特征编码值进行更新,得到所述目标文件的当前次更新后的第二特征编码值,包括:在根据所述会话类型,确定所述当前会话报文为多会话的情况下,根据所述处理请求信息以及所述响应信息,确定所述当前会话报文中的各会话报文与所述目标文件的关联关系;根据所述关联关系,以及所述当前会话报文中的各会话报文对应的第一特征编码值,对所述目标文件的上一次更新后的第二特征编码值进行更新,得到所述目标文件的当前次更新后的第二特征编码值;在根据所述会话类型,确定所述当前会话报文为单会话的情况下,根据所述当前会话报文的第一特征编码值,对所述目标文件的上一次更新后的第二特征编码值进行更新,得到所述目标文件的当前次更新后的第二特征编码值。
其中,第一特征编码值可以是通过计算当前会话报文中各会话报文的哈希值得到的;每次更新后的第二特征编码值可以是通过流式哈希更新迭代方法对第一特征编码值进行更新得到的。
首先根据当前会话报文的会话类型判断当前会话报文是否为多会话以确定对目标文件的上一次更新后的第二特征编码值进行更新的具体实现方式。
若确定当前会话报文为多会话,则可以是先根据处理请求信息以及响应信息,确定当前会话报文中的各会话报文与目标文件的关联关系。
其中,各会话报文与目标文件的关联关系可以是根据各会话报文在目标文件中的位置确定的位置关联关系。
相应地,接着根据关联关系和当前会话报文中的各会话报文对应的第一特征编码值,更新目标文件的上一次更新后的第二特征编码值;具体可以是根据各会话报文在目标文件中的位置关系,确定各会话报文对应的第一特征编码值对第二特征编码值进行更新时的迭代顺序,接着根据迭代顺序,基于当前会话报文中的各会话报文对应的第一特征编码值对目标文件的上一次更新后的第二特征编码值进行更新并获取更新结果,最后将更新结果作为目标文件的当前次更新后的第二特征编码值。
若确定当前会话报文为单会话,则可以是直接根据当前会话报文的第一特征编码值,对目标文件的上一次更新后的第二特征编码值进行更新,得到目标文件的当前次更新后的第二特征编码值;示例性的,本实施例中对目标文件的上一次更新后的第二特征编码值进行更新,可以是直接基于当前会话报文的第一特征编码值对上一次更新后的第二特征编码值进行替换,也即将当前会话报文的第一特征编码值作为目标文件的当前次更新后的第二特征编码值,本实施例对此不作具体地限定。
本实施例通过根据会话类型确定当前会话报文是否为多会话,并根据判断结果对目标文件的上一次更新后的第二特征编码值进行适应性地更新,得到目标文件的当前次更新后的第二特征编码值,实现局部与整体关联并实时计算特征码,以快速高效地进行目标文件的检测,会话检测过程中仅需存储上一次更新后的第二特征编码值,不仅可防止文件检测系统无法通过独立会话获取完整检测文件影响检测结果,还可有助于降低文件检测耗时。
步骤104,根据所述第一特征编码值和/或所述当前次更新后的第二特征编码值,对所述目标文件的当前状态进行检测,在确定所述当前状态为正常状态的情况下,将所述当前会话报文传输至请求端;所述请求端为发送所述处理请求信息的客户端。
最后根据第一特征编码值和/或当前次更新后的第二特征编码值,检测目标文件的当前状态,若确定当前状态为正常状态,则可以是传输当前会话报文至请求端。
在一些实施例中,根据第一特征编码值和/或当前次更新后的第二特征编码值,对目标文件的当前状态进行检测,包括:在根据会话类型,确定当前会话报文为多会话的情况下,根据第一特征编码值和当前次更新后的第二特征编码值,对目标文件的当前状态进行检测;在根据会话类型,确定当前会话报文为单会话的情况下,根据当前次更新后的第二特征编码值,对目标文件的当前状态进行检测。
首先可以是根据当前会话报文的会话类型判断当前会话报文是否为多会话以确定检测目标文件的当前状态的具体实现方式。
若确定当前会话报文为多会话,则可以是根据第一特征编码值和当前次更新后的第二特征编码值检测目标文件的当前状态共同检测目标文件的当前状态。
具体地,可以是依次判断第一特征编码值和当前次更新后的第二特征编码值是否满足对应的异常状态下的第一特征编码值和异常状态下的第二特征编码值,并根据判断结果确定共同检测目标文件的当前状态。
示例性的,可以是首先判断第一特征编码值是否满足对应的异常状态下的第一特征编码值,若第一特征编码值满足对应的异常状态下的第一特征编码值,则可以直接确定共同检测目标文件的当前状态为异常状态,拦截传输至请求端的当前会话报文。
若第一特征编码值不满足对应的异常状态下的第一特征编码值,则继续判断当前次更新后的第二特征编码值是否满足对应的异常状态下的第二特征编码值,若当前次更新后的第二特征编码值满足对应的异常状态下的第二特征编码值,则可以确定共同检测目标文件的当前状态为异常状态,拦截传输至请求端的当前会话报文;若当前次更新后的第二特征编码值不满足对应的异常状态下的第二特征编码值,则可以确定共同检测目标文件的当前状态为正常状态,传输当前会话报文至请求端,本实施例对此不作具体地限定。
若确定当前会话报文为单会话,则可以是直接根据当前次更新后的第二特征编码值实现检测目标文件的当前状态共同检测目标文件的当前状态。
具体地,可以是直接判断当前次更新后的第二特征编码值是否满足对应的异常状态下的第二特征编码值,若当前次更新后的第二特征编码值满足对应的异常状态下的第二特征编码值,则可以确定共同检测目标文件的当前状态为异常状态,拦截传输至请求端的当前会话报文;若当前次更新后的第二特征编码值不满足对应的异常状态下的第二特征编码值,则可以确定共同检测目标文件的当前状态为正常状态,传输当前会话报文至请求端。
本实施例通过根据会话类型确定当前会话报文是否为多会话,并根据判断结果对目标文件的当前状态进行适应性检测所应用的编码值,得到目标文件的当前状态,实现降低文件检测耗时的同时,扩大文件检测功能支持的场景。
本实施例通过首先根据目标文件的当前会话报文的处理请求信息和响应信息,确定当前会话报文的会话类型;接着根据会话类型对当前会话报文适应性地进行特征编码,得到当前会话报文的第一特征编码值;然后根据会话类型和第一特征编码值,更新上一次更新后的第二特征编码值,将更新结果作为目标文件的当前次更新后的第二特征编码值;最后根据第一特征编码值和/或当前次更新后的第二特征编码值检测目标文件的当前状态,若当前状态为正常状态,则将当前会话报文传输至请求端,局部与整体关联并实时计算特征码,以快速高效地进行目标文件的检测,会话检测过程中仅需存储上一次更新后的第二特征编码值,不仅可防止文件检测系统无法通过独立会话获取完整检测文件影响检测结果,还可实现降低文件检测耗时的同时,降低内存消耗,扩大文件检测功能支持的场景。
在一些实施例中,在根据会话类型,确定当前会话报文为多会话的情况下,根据第一特征编码值和当前次更新后的第二特征编码值,对目标文件的当前状态进行检测,包括:在根据会话类型,确定当前会话报文为多会话的情况下,将当前会话报文中各会话报文的第一特征编码值与异常文件列表中各异常文件的各异常会话报文的第一特征编码值进行比较,得到第一比较结果;在根据第一比较结果,确定当前会话报文中各会话报文的第一特征编码值与各异常文件的各异常会话报文的第一特征编码值均不匹配的情况下,将当前次更新后的第二特征编码值与各异常文件的最后一次更新后的第二特征编码值进行比较,得到第二比较结果;在根据第二比较结果,确定当前次更新后的第二特征编码值与各异常文件的最后一次更新后的第二特征编码值均不匹配的情况下,确定当前状态为正常状态;在根据第二比较结果,确定当前次更新后的第二特征编码值与任一异常文件的最后一次更新后的第二特征编码值匹配的情况下,确定当前状态为异常状态。
在根据会话类型,确定当前会话报文为多会话时,可以是首先将当前会话报文中各会话报文的第一特征编码值与异常文件列表中各异常文件的各异常会话报文的第一特征编码值进行比较,判断当前会话报文中的各会话报文的第一特征编码值中,是否存在与异常文件列表中任一异常文件的任一异常会话报文的第一特征编码值一致的第一特征编码值,将得到的比较结果作为第一比较结果。
若根据第一比较结果,确定当前会话报文中的各会话报文的第一特征编码值中,不存在与各异常文件的各异常会话报文的第一特征编码值匹配的第一特征编码值,则可以是接着根据当前次更新后的第二特征编码值检测目标文件的当前状态。
具体地,若根据第一比较结果,确定当前会话报文中各会话报文的第一特征编码值与各异常文件的各异常会话报文的第一特征编码值均不匹配,也即当前会话报文中的各会话报文的第一特征编码值中,不存在与各异常文件的各异常会话报文的第一特征编码值匹配的第一特征编码值,可以是接着比较当前次更新后的第二特征编码值与各异常文件的最后一次更新后的第二特征编码值,判断各异常文件的最后一次更新后的第二特征编码值中,是否存在与当前次更新后的第二特征编码值一致的第二特征编码值,将比较结果作为第二比较结果。
若根据第二比较结果,确定当前次更新后的第二特征编码值与各异常文件的最后一次更新后的第二特征编码值均不匹配,也即各异常文件的最后一次更新后的第二特征编码值中,不存在与当前次更新后的第二特征编码值一致的第二特征编码值,则可以确定目标文件的当前状态为正常状态,可以将当前会话报文传输至请求端。
若根据第二比较结果,确定各异常文件的最后一次更新后的第二特征编码值中存在最后一次更新后的第二特征编码值,与当前次更新后的第二特征编码值匹配为一致,则可以确定目标文件的当前状态为异常状态。
相似地,若根据会话类型确定当前会话报文为单会话,则可以使直接比较当前次更新后的第二特征编码值与各异常文件的最后一次更新后的第二特征编码值,判断各异常文件的最后一次更新后的第二特征编码值中,是否存在与当前次更新后的第二特征编码值一致的第二特征编码值,将比较结果作为第三比较结果。
若根据第三比较结果,确定当前次更新后的第二特征编码值与各异常文件的最后一次更新后的第二特征编码值均不匹配,也即各异常文件的最后一次更新后的第二特征编码值中,不存在与当前次更新后的第二特征编码值一致的第二特征编码值,则可以确定目标文件的当前状态为正常状态,可以将当前会话报文传输至请求端。
若根据第三比较结果,确定各异常文件的最后一次更新后的第二特征编码值中存在最后一次更新后的第二特征编码值,与当前次更新后的第二特征编码值匹配为一致,则可以确定目标文件的当前状态为异常状态。
在一些实施例中,方法还包括:在根据第一比较结果,确定当前会话报文中任一会话报文的第一特征编码值与任一异常文件的任一异常会话报文的第一特征编码值匹配的情况下,确定当前状态为异常状态。
若根据第一比较结果,确定当前会话报文中存在任一会话报文的第一特征编码值与任一异常文件的任一异常会话报文的第一特征编码值匹配为一致,则可以直接确定目标文件的当前状态为异常状态。
本实施例通过在当前会话报文中任一会话报文的第一特征编码值与任一异常文件的任一异常会话报文的第一特征编码值匹配时确定当前状态为异常状态。实现局部与整体关联并实时计算特征码,以快速高效地进行目标文件的检测,有助于降低文件检测耗时的同时,降低内存消耗。
本实施例通过在当前会话报文为多会话的情况下,比较当前会话报文中各会话报文的第一特征编码值与异常文件列表中各异常文件的各异常会话报文的第一特征编码值,得到第一比较结果;在根据第一比较结果确定当前会话报文中各会话报文的第一特征编码值与各异常文件的各异常会话报文的第一特征编码值均不匹配时,比较当前次更新后的第二特征编码值与各异常文件的最后一次更新后的第二特征编码值,得到第二比较结果;若当前次更新后的第二特征编码值与各异常文件的最后一次更新后的第二特征编码值均不匹配的情况下,则确定当前状态为正常状态;反之确定当前状态为异常状态,实现局部与整体关联并实时计算特征码,以快速高效地进行目标文件的检测,会话检测过程中仅需存储上一次更新后的第二特征编码值,不仅可防止文件检测系统无法通过独立会话获取完整检测文件影响检测结果,还可有助于降低文件检测耗时。
在一些实施例中,方法还包括:在确定当前状态为异常状态的情况下,对当前会话报文中的所有会话报文或者当前会话报文中的异常会话报文进行拦截;将目标文件的文件信息更新至异常文件列表;其中,文件信息包括属性信息、最后一次更新后的第二特征编码值和各异常会话报文对应的第一特征编码值。
若确定当前状态为异常状态,则可以拦截当前会话报文中的所有会话报文,或者仅拦截当前会话报文中的异常会话报文。
具体地,在当前会话报文为单会话的情况下,可以是直接拦截当前会话报文中的所有会话报文,并根据当前会话报文的处理请求信息,重新发起当前会话报文。
而在当前会话报文为多会话的情况下,可以是根据实际场景中的第一比较结果和第二比较结果确定是否拦截当前会话报文中的所有会话报文;示例性的,本实施例中可以是拦截当前会话报文中的所有会话报文,并根据当前会话报文的处理请求信息,重新发起当前会话报文;也可以是仅拦截当前会话报文中的异常会话报文,并重新发起当前会话报文中的异常会话报文,本实施例对此不作具体地限定。
接着将目标文件的属性信息、最后一次更新后的第二特征编码值和各异常会话报文对应的第一特征编码值等文件信息更新至异常文件列表,有助于更早的确定目标文件是否为已知的威胁文件,按照快速流程执行。
本实施例通过在确定当前状态为异常状态时,对当前会话报文中的所有会话报文或者当前会话报文中的异常会话报文进行拦截,并将目标文件的文件信息更新至异常文件列表,实现在文件传输过程中对于客户端的保护,有助于更早的确定目标文件是否为已知的威胁文件,按照快速流程执行。
在一些实施例中,根据目标文件的当前会话报文的处理请求信息以及当前会话报文的响应信息,确定当前会话报文的会话类型,包括:根据处理请求信息以及响应信息,获取目标文件的属性信息;将目标文件的属性信息与异常文件列表中各异常文件的属性信息进行比较;在目标文件的属性信息与各异常文件的属性信息均不匹配的情况下,确定处理请求信息以及响应信息是否均包含多会话标识;在确定处理请求信息以及响应信息均包含多会话标识的情况下,确定会话类型为多会话类型;在确定处理请求信息和/或响应信息不包含多会话标识的情况下,确定会话类型为单会话类型。
首先,根据当前会话报文的处理请求信息以及当前会话报文的响应信息,获取目标文件的属性信息,并将目标文件的属性信息与异常文件列表中各异常文件的属性信息进行比较,判断异常文件列表中各异常文件的属性信息中,是否存在与目标文件的属性信息匹配的属性信息,并获取判断结果。
其中,目标文件的属性信息可以是包括目标文件的地址信息、名称信息和类型信息等信息中一项或多项的组合,本实施例对此不作具体地限定。
若根据判断结果确定目标文件的属性信息与任一异常文件的属性信息匹配为一致,则可以直接认为目标文件的当前状态为异常状态,拦截当前会话报文中的所有会话报文,并根据当前会话报文的处理请求信息,重新发起当前会话报文。
若根据判断结果确定目标文件的属性信息与各异常文件的属性信息均不匹配,则可以是接着分别判断处理请求信息和响应信息是否包含多会话标识。
其中,多会话标识用于标记发出处理请求信息的请求端是否具备多会话功能,或者标记发出响应信息的响应端是否具备多会话功能。
若处理请求信息以及响应信息均包含多会话标识,即发出处理请求信息的请求端和发出响应信息的响应端均具备多会话功能,则可以确定会话类型为多会话类型;若处理请求信息和/或响应信息不包含多会话标识,即发出处理请求信息的请求端和/或发出响应信息的响应端不具备多会话功能,则可以确定会话类型为单会话类型。
图2是本实施例提供的文件检测方法的流程示意图之二,如图2所示,文件检测方法的完整实施步骤包括:
步骤201,目标文件(下文也称流量报文)进入检测系统;
步骤202,根据协议情况,如HTTP协议,解析记录处理请求信息和响应信息等相关头部信息;
步骤203,根据记录的信息,在异常文件列表(下文也称已知威胁文件列表)中查找;
步骤204,判断目标文件在已知威胁文件列表中是否命中,也即将目标文件的属性信息与异常文件列表中各异常文件的属性信息进行比较,判断各异常文件的属性信息中是否存在与目标文件的属性信息相匹配的属性信息。
如果在已知威胁文件列表中命中则确定目标文件的当前状态为异常状态,转到步骤214;如果在已知威胁文件列表中未命中,则继续判断当前会话报文的流量类型,若判断结果为当前会话报文是多会话下载流量,则继续执行步骤205;若判断结果为当前会话报文是单会话下载流量,则转到步骤215;
步骤205,若当前会话报文是多会话下载流量,根据HTTP头部字段中的Range、Content-Range的信息,对当前会话报文中的各会话报文进行分块存储;
步骤206,记录数据块的数据区间范围值,并利用流式hash更新迭代方法计算每一数据块单独区间文件的hash值,也即目标文件的当前会话报文中各会话报文的第一特征编码值。
具体地,可以是在文件传输的过程中,从文件起始存取一定长度的内容信息。其中,内容信息的长度可以是根据实际场景中的处理请求信息和响应信息确定的,本实施例对此不作具体地限定。
以存取的内容信息的长度为1024字节为例,接着用hash_update(更新哈希的内置函数)方法,计算前1024字节的hash状态(也即第一特征编码值)和中间结果(也即第二特征编码值),利用少量内存记录。
步骤207,根据计算出的各会话报文的第一特征编码值,在已知威胁文件列表中查找;
步骤208,判断当前会话报文中各会话报文在已知威胁文件列表中是否命中,也即将当前会话报文中各会话报文的第一特征编码值与异常文件列表中各异常文件的各异常会话报文的第一特征编码值进行比较,判断当前会话报文中任一会话报文的第一特征编码值中,是否存在与任一异常文件的任一异常会话报文的第一特征编码值匹配的第一特征编码值。
如果在已知威胁文件列表中命中则确定目标文件的当前状态为异常状态,转到步骤214;如果在已知威胁文件列表中未命中,则继续执行步骤209;
步骤209,若在已知威胁文件列表中未命中,再按照流式hash更新迭代的方法计算整个文件的hash值,也即当前次更新后的第二特征编码值。
以存取的内容信息的长度为1024字节为例,接着存取接下来的1024字节的文件内容,利用前1024字节内容的hash中间结果,也即上一次更新后的第二特征编码值联合当前所取的第一特征编码值,计算得出新的hash中间结果,也即当前次更新后的第二特征编码值。如此往复进行,即可计算出整体文件的hash指纹值。
步骤210,检测当前次更新后的第二特征编码值;
步骤211,判断当前会话报文的当前次更新后的第二特征编码值在已知威胁文件列表中是否命中,也即将当前次更新后的第二特征编码值与威胁文件列表中各异常文件的最后一次更新后的第二特征编码值进行比较,判断在威胁文件列表中各异常文件的最后一次更新后的第二特征编码值中,是否存在与当前次更新后的第二特征编码值匹配的第二特征编码值。
如果在已知威胁文件列表中命中则确定目标文件的当前状态为异常状态,转到步骤213;如果在已知威胁文件列表中未命中,则确定目标文件的当前状态为正常状态,继续执行步骤212;
步骤212,在确定目标文件的当前状态为正常状态的情况下,将当前会话报文传输至请求端;
步骤213,在确定当前状态为异常状态的情况下,对当前会话报文中的所有会话报文或者当前会话报文中的异常会话报文进行拦截;
并将目标文件的文件指纹、Range分块等信息更新至已知威胁文件列表中;所称的文件指纹或者文件的指纹可以是包括第一特征编码值、第二特征编码值、属性信息、以及处理请求信息和响应信息等标识信息。
步骤214,若确定目标文件的当前状态为异常状态,按照异常文件处理方法,对当前会话报文中的所有会话报文或者当前会话报文中的异常会话报文进行拦截;
步骤215,若当前会话报文是单会话下载流量,则直接存储目标文件内容;
步骤216,按照流式hash更新迭代方法计算整个文件的hash值,也即当前次更新后的第二特征编码值,执行完成后转到步骤210,对当前次更新后的第二特征编码值进行检测。
本实施例提供的文件检测方法可识别多会话下载流量,通过所记录的文件的相关信息,确定当前会话报文的会话类型,同时对流量进行分块处理,利用迭代算法计算分块编码与整体编码,连同文件指纹一并加入已知检测列表,用于后续的快速匹配。此方法可以解决因为独立会话的分段报文无法关联原始文件而检测失效的问题。迭代算法的使用,也大大提升了计算效率和传输速度。
下面对本发明提供的文件检测装置进行描述,下文描述的文件检测装置与上文描述的文件检测方法可相互对应参照。
如图3所示,为本发明提供的文件检测装置的结构示意图,该装置包括:
确定单元301,用于根据目标文件的当前会话报文的处理请求信息以及当前会话报文的响应信息,确定当前会话报文的会话类型;
计算单元302,用于根据会话类型,计算当前会话报文的第一特征编码值;
更新单元303,用于根据会话类型,以及第一特征编码值,对目标文件的上一次更新后的第二特征编码值进行更新,得到目标文件的当前次更新后的第二特征编码值;
处理单元304,用于根据第一特征编码值和/或当前次更新后的第二特征编码值,对目标文件的当前状态进行检测,在确定当前状态为正常状态的情况下,将当前会话报文传输至请求端;请求端为发送处理请求信息的客户端。
本实施例提供的文件检测装置,通过首先根据目标文件的当前会话报文的处理请求信息和响应信息,确定当前会话报文的会话类型;接着根据会话类型对当前会话报文适应性地进行特征编码,得到当前会话报文的第一特征编码值;然后根据会话类型和第一特征编码值,更新上一次更新后的第二特征编码值,将更新结果作为目标文件的当前次更新后的第二特征编码值;最后根据第一特征编码值和/或当前次更新后的第二特征编码值检测目标文件的当前状态,若当前状态为正常状态,则将当前会话报文传输至请求端,局部与整体关联并实时计算特征码,以快速高效地进行目标文件的检测,会话检测过程中仅需存储上一次更新后的第二特征编码值,不仅可防止文件检测系统无法通过独立会话获取完整检测文件影响检测结果,还可实现降低文件检测耗时的同时,降低内存消耗,扩大文件检测功能支持的场景。
在一些实施例中,处理单元304具体用于:在根据会话类型,确定当前会话报文为多会话的情况下,根据第一特征编码值和当前次更新后的第二特征编码值,对目标文件的当前状态进行检测;在根据会话类型,确定当前会话报文为单会话的情况下,根据当前次更新后的第二特征编码值,对目标文件的当前状态进行检测。
在一些实施例中,处理单元304还用于:在根据会话类型,确定当前会话报文为多会话的情况下,将当前会话报文中各会话报文的第一特征编码值与异常文件列表中各异常文件的各异常会话报文的第一特征编码值进行比较,得到第一比较结果;在根据第一比较结果,确定当前会话报文中各会话报文的第一特征编码值与各异常文件的各异常会话报文的第一特征编码值均不匹配的情况下,将当前次更新后的第二特征编码值与各异常文件的最后一次更新后的第二特征编码值进行比较,得到第二比较结果;在根据第二比较结果,确定当前次更新后的第二特征编码值与各异常文件的最后一次更新后的第二特征编码值均不匹配的情况下,确定当前状态为正常状态;在根据第二比较结果,确定当前次更新后的第二特征编码值与任一异常文件的最后一次更新后的第二特征编码值匹配的情况下,确定当前状态为异常状态。
在一些实施例中,处理单元304还包括比较单元,比较单元用于:在根据第一比较结果,确定当前会话报文中任一会话报文的第一特征编码值与任一异常文件的任一异常会话报文的第一特征编码值匹配的情况下,确定当前状态为异常状态。
在一些实施例中,处理单元304还包括拦截单元,拦截单元用于:在确定当前状态为异常状态的情况下,对当前会话报文中的所有会话报文或者当前会话报文中的异常会话报文进行拦截;将目标文件的文件信息更新至异常文件列表;其中,文件信息包括属性信息、最后一次更新后的第二特征编码值和各异常会话报文对应的第一特征编码值。
在一些实施例中,更新单元303具体用于:在根据会话类型,确定当前会话报文为多会话的情况下,根据处理请求信息以及响应信息,确定当前会话报文中的各会话报文与目标文件的关联关系;根据关联关系,以及当前会话报文中的各会话报文对应的第一特征编码值,对目标文件的上一次更新后的第二特征编码值进行更新,得到目标文件的当前次更新后的第二特征编码值;在根据会话类型,确定当前会话报文为单会话的情况下,根据当前会话报文的第一特征编码值,对目标文件的上一次更新后的第二特征编码值进行更新,得到目标文件的当前次更新后的第二特征编码值。
在一些实施例中,计算单元302具体用于:在根据会话类型,确定当前会话报文为多会话的情况下,对当前会话报文中的各会话报文进行分块存储,得到当前会话报文中的各会话报文对应的数据块;对当前会话报文中的各会话报文对应的数据块进行特征编码,得到当前会话报文的第一特征编码值;在根据会话类型,确定当前会话报文为单会话的情况下,对当前会话报文进行特征编码,得到当前会话报文的第一特征编码值。
在一些实施例中,确定单元301具体用于:根据处理请求信息以及响应信息,获取目标文件的属性信息;将目标文件的属性信息与异常文件列表中各异常文件的属性信息进行比较;在目标文件的属性信息与各异常文件的属性信息均不匹配的情况下,确定处理请求信息以及响应信息是否均包含多会话标识;在确定处理请求信息以及响应信息均包含多会话标识的情况下,确定会话类型为多会话类型;在确定处理请求信息和/或响应信息不包含多会话标识的情况下,确定会话类型为单会话类型。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)401、通信接口(Communications Interface)402、存储器(memory)403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。处理器401可以调用存储器403中的逻辑指令,以执行文件检测方法,该方法包括:根据目标文件的当前会话报文的处理请求信息以及当前会话报文的响应信息,确定当前会话报文的会话类型;根据会话类型,计算当前会话报文的第一特征编码值;根据会话类型,以及第一特征编码值,对目标文件的上一次更新后的第二特征编码值进行更新,得到目标文件的当前次更新后的第二特征编码值;根据第一特征编码值和/或当前次更新后的第二特征编码值,对目标文件的当前状态进行检测,在确定当前状态为正常状态的情况下,将当前会话报文传输至请求端;请求端为发送处理请求信息的客户端。
此外,上述的存储器403中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,计算机程序被处理器执行时,计算机能够执行上述各方法所提供的文件检测方法,该方法包括:根据目标文件的当前会话报文的处理请求信息以及当前会话报文的响应信息,确定当前会话报文的会话类型;根据会话类型,计算当前会话报文的第一特征编码值;根据会话类型,以及第一特征编码值,对目标文件的上一次更新后的第二特征编码值进行更新,得到目标文件的当前次更新后的第二特征编码值;根据第一特征编码值和/或当前次更新后的第二特征编码值,对目标文件的当前状态进行检测,在确定当前状态为正常状态的情况下,将当前会话报文传输至请求端;请求端为发送处理请求信息的客户端。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的文件检测方法,该方法包括:根据目标文件的当前会话报文的处理请求信息以及当前会话报文的响应信息,确定当前会话报文的会话类型;根据会话类型,计算当前会话报文的第一特征编码值;根据会话类型,以及第一特征编码值,对目标文件的上一次更新后的第二特征编码值进行更新,得到目标文件的当前次更新后的第二特征编码值;根据第一特征编码值和/或当前次更新后的第二特征编码值,对目标文件的当前状态进行检测,在确定当前状态为正常状态的情况下,将当前会话报文传输至请求端;请求端为发送处理请求信息的客户端。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种文件检测方法,其特征在于,包括:
根据目标文件的当前会话报文的处理请求信息以及所述当前会话报文的响应信息,确定所述当前会话报文的会话类型;
根据所述会话类型,计算所述当前会话报文的第一特征编码值;
根据所述会话类型,以及所述第一特征编码值,对所述目标文件的上一次更新后的第二特征编码值进行更新,得到所述目标文件的当前次更新后的第二特征编码值;
根据所述第一特征编码值和/或所述当前次更新后的第二特征编码值,对所述目标文件的当前状态进行检测,在确定所述当前状态为正常状态的情况下,将所述当前会话报文传输至请求端;所述请求端为发送所述处理请求信息的客户端。
2.根据权利要求1所述的文件检测方法,其特征在于,所述根据所述第一特征编码值和/或所述当前次更新后的第二特征编码值,对所述目标文件的当前状态进行检测,包括:
在根据所述会话类型,确定所述当前会话报文为多会话的情况下,根据所述第一特征编码值和所述当前次更新后的第二特征编码值,对所述目标文件的当前状态进行检测;
在根据所述会话类型,确定所述当前会话报文为单会话的情况下,根据所述当前次更新后的第二特征编码值,对所述目标文件的当前状态进行检测。
3.根据权利要求2所述的文件检测方法,其特征在于,所述在根据所述会话类型,确定所述当前会话报文为多会话的情况下,根据所述第一特征编码值和所述当前次更新后的第二特征编码值,对所述目标文件的当前状态进行检测,包括:
在根据所述会话类型,确定所述当前会话报文为多会话的情况下,将所述当前会话报文中各会话报文的第一特征编码值与异常文件列表中各异常文件的各异常会话报文的第一特征编码值进行比较,得到第一比较结果;
在根据所述第一比较结果,确定所述当前会话报文中各会话报文的第一特征编码值与各所述异常文件的各异常会话报文的第一特征编码值均不匹配的情况下,将所述当前次更新后的第二特征编码值与所述各异常文件的最后一次更新后的第二特征编码值进行比较,得到第二比较结果;
在根据所述第二比较结果,确定所述当前次更新后的第二特征编码值与各所述异常文件的最后一次更新后的第二特征编码值均不匹配的情况下,确定所述当前状态为正常状态;
在根据所述第二比较结果,确定所述当前次更新后的第二特征编码值与任一所述异常文件的最后一次更新后的第二特征编码值匹配的情况下,确定所述当前状态为异常状态。
4.根据权利要求3所述的文件检测方法,其特征在于,所述方法还包括:
在根据所述第一比较结果,确定所述当前会话报文中任一会话报文的第一特征编码值与任一所述异常文件的任一异常会话报文的第一特征编码值匹配的情况下,确定所述当前状态为异常状态。
5.根据权利要求3所述的文件检测方法,其特征在于,所述方法还包括:
在确定所述当前状态为异常状态的情况下,对所述当前会话报文中的所有会话报文或者所述当前会话报文中的异常会话报文进行拦截;
将所述目标文件的文件信息更新至所述异常文件列表;
其中,所述文件信息包括属性信息、最后一次更新后的第二特征编码值和各异常会话报文对应的第一特征编码值。
6.根据权利要求1-5任一项所述的文件检测方法,其特征在于,所述根据所述会话类型,以及所述第一特征编码值,对所述目标文件的上一次更新后的第二特征编码值进行更新,得到所述目标文件的当前次更新后的第二特征编码值,包括:
在根据所述会话类型,确定所述当前会话报文为多会话的情况下,根据所述处理请求信息以及所述响应信息,确定所述当前会话报文中的各会话报文与所述目标文件的关联关系;
根据所述关联关系,以及所述当前会话报文中的各会话报文对应的第一特征编码值,对所述目标文件的上一次更新后的第二特征编码值进行更新,得到所述目标文件的当前次更新后的第二特征编码值;
在根据所述会话类型,确定所述当前会话报文为单会话的情况下,根据所述当前会话报文的第一特征编码值,对所述目标文件的上一次更新后的第二特征编码值进行更新,得到所述目标文件的当前次更新后的第二特征编码值。
7.根据权利要求1-5任一所述的文件检测方法,其特征在于,所述根据所述会话类型,计算所述当前会话报文的第一特征编码值,包括:
在根据所述会话类型,确定所述当前会话报文为多会话的情况下,对所述当前会话报文中的各会话报文进行分块存储,得到所述当前会话报文中的各会话报文对应的数据块;
对所述当前会话报文中的各会话报文对应的数据块进行特征编码,得到所述当前会话报文的第一特征编码值;
在根据所述会话类型,确定所述当前会话报文为单会话的情况下,对所述当前会话报文进行特征编码,得到所述当前会话报文的第一特征编码值。
8.根据权利要求1-5任一项所述的文件检测方法,其特征在于,所述根据目标文件的当前会话报文的处理请求信息以及所述当前会话报文的响应信息,确定所述当前会话报文的会话类型,包括:
根据所述处理请求信息以及所述响应信息,获取所述目标文件的属性信息;
将所述目标文件的属性信息与异常文件列表中各异常文件的属性信息进行比较;
在所述目标文件的属性信息与各所述异常文件的属性信息均不匹配的情况下,确定所述处理请求信息以及所述响应信息是否均包含多会话标识;
在确定所述处理请求信息以及所述响应信息均包含多会话标识的情况下,确定所述会话类型为多会话类型;
在确定所述处理请求信息和/或所述响应信息不包含多会话标识的情况下,确定所述会话类型为单会话类型。
9.一种文件检测装置,其特征在于,包括:
确定单元,用于根据目标文件的当前会话报文的处理请求信息以及所述当前会话报文的响应信息,确定所述当前会话报文的会话类型;
计算单元,用于根据所述会话类型,计算所述当前会话报文的第一特征编码值;
更新单元,用于根据所述会话类型,以及所述第一特征编码值,对所述目标文件的上一次更新后的第二特征编码值进行更新,得到所述目标文件的当前次更新后的第二特征编码值;
处理单元,用于根据所述第一特征编码值和/或所述当前次更新后的第二特征编码值,对所述目标文件的当前状态进行检测,在确定所述当前状态为正常状态的情况下,将所述当前会话报文传输至请求端;所述请求端为发送所述处理请求信息的客户端。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述文件检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311479246.7A CN117201043B (zh) | 2023-11-08 | 2023-11-08 | 文件检测方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311479246.7A CN117201043B (zh) | 2023-11-08 | 2023-11-08 | 文件检测方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117201043A CN117201043A (zh) | 2023-12-08 |
CN117201043B true CN117201043B (zh) | 2024-01-12 |
Family
ID=89005664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311479246.7A Active CN117201043B (zh) | 2023-11-08 | 2023-11-08 | 文件检测方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117201043B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866765A (zh) * | 2015-06-03 | 2015-08-26 | 康绯 | 基于行为特征相似性的恶意代码同源性分析方法 |
CN105739971A (zh) * | 2016-01-20 | 2016-07-06 | 网易(杭州)网络有限公司 | 校验文件的生成、使用方法及装置 |
CN106528125A (zh) * | 2016-10-26 | 2017-03-22 | 腾讯科技(深圳)有限公司 | 一种数据文件的增量更新方法和服务器、客户端以及系统 |
CN116074039A (zh) * | 2022-11-29 | 2023-05-05 | 兴业银行股份有限公司 | 基于https协议的文件安全传输方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2503711B (en) * | 2012-07-05 | 2014-10-15 | Quixel Holdings Ltd | Video data communication |
-
2023
- 2023-11-08 CN CN202311479246.7A patent/CN117201043B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866765A (zh) * | 2015-06-03 | 2015-08-26 | 康绯 | 基于行为特征相似性的恶意代码同源性分析方法 |
CN105739971A (zh) * | 2016-01-20 | 2016-07-06 | 网易(杭州)网络有限公司 | 校验文件的生成、使用方法及装置 |
CN106528125A (zh) * | 2016-10-26 | 2017-03-22 | 腾讯科技(深圳)有限公司 | 一种数据文件的增量更新方法和服务器、客户端以及系统 |
CN116074039A (zh) * | 2022-11-29 | 2023-05-05 | 兴业银行股份有限公司 | 基于https协议的文件安全传输方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117201043A (zh) | 2023-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9231949B1 (en) | Content delivery to user devices using server-initiated connections | |
US8200969B2 (en) | Data verification by challenge | |
EP3852327A1 (en) | Exception access behavior identification method and server | |
EP3297243A1 (en) | Trusted login method and device | |
CN110888838B (zh) | 基于对象存储的请求处理方法、装置、设备及存储介质 | |
CN108259425A (zh) | 攻击请求的确定方法、装置及服务器 | |
US20180091495A1 (en) | CDN-Based Access Control Method and Related Device | |
CN107465693B (zh) | 请求消息处理方法和装置 | |
CN111756644B (zh) | 热点限流方法、系统、设备及存储介质 | |
CN112600852B (zh) | 漏洞攻击处理方法、装置、设备及存储介质 | |
US9747386B1 (en) | User-perceived performance through browser hints | |
CN113259429A (zh) | 会话保持管控方法、装置、计算机设备及介质 | |
CN110224824B (zh) | 数字证书处理方法、装置、计算机设备和存储介质 | |
CN113438336B (zh) | 网络请求方法、装置、设备和存储介质 | |
CN109698806A (zh) | 一种用户数据校验方法及系统 | |
CN110855786B (zh) | 针对网络数据请求的处理方法、设备及计算机存储介质 | |
CN112202717B (zh) | 一种http请求的处理方法、装置、服务器及存储介质 | |
CN117201043B (zh) | 文件检测方法、装置及电子设备 | |
CN107786489A (zh) | 访问请求验证方法及装置 | |
US20070245031A1 (en) | ICAP processing of partial content to identify security issues | |
CN110191203B (zh) | 实现服务器动态访问的方法及电子设备 | |
CN109361712B (zh) | 一种信息处理方法及信息处理装置 | |
CN113709136B (zh) | 一种访问请求验证方法和装置 | |
CN113225348B (zh) | 请求防重放校验方法和装置 | |
CN112202821B (zh) | 一种cc攻击的识别防御系统及方法 |
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 |