CN117675336A - 文件扫描方法及装置 - Google Patents
文件扫描方法及装置 Download PDFInfo
- Publication number
- CN117675336A CN117675336A CN202311650017.7A CN202311650017A CN117675336A CN 117675336 A CN117675336 A CN 117675336A CN 202311650017 A CN202311650017 A CN 202311650017A CN 117675336 A CN117675336 A CN 117675336A
- Authority
- CN
- China
- Prior art keywords
- scanning
- file
- message
- request
- result
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 230
- 230000000903 blocking effect Effects 0.000 claims abstract description 29
- 238000004590 computer program Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 10
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 238000001514 detection method Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 239000003795 chemical substances by application Substances 0.000 description 5
- 230000005856 abnormality Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000004659 sterilization and disinfection Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及数据处理技术领域,提供一种文件扫描方法及装置。所述方法包括:确定代理进程的任一连接中的业务报文存在扫描需求,生成包括所述业务报文对应的缓存文件的文件路径的扫描请求;将所述扫描请求发送至扫描进程,以使所述扫描进程根据所述扫描请求中的文件路径,对相应的所述缓存文件进行扫描;通过所述代理进程,接收所述扫描进程反馈的包括所述缓存文件的扫描结果的结果报文;其中,所述代理进程采用异步非阻塞模式运行。本申请实施例提供的文件扫描方法,能够减少文件扫描对代理进程的阻塞,提高数据的处理效率。
Description
技术领域
本申请涉及数据处理技术领域,具体涉及一种文件扫描方法及装置。
背景技术
防火墙对业务报文,如加密流量做安全检测时,需要代理进程协助,先卸载加密流量的SSL层,再对从加密流量中提取到的明文数据做安全检测,以提高安全性。
相关技术中,防火墙对业务报文的安全检测,是将从业务报文中提取到的明文数据缓存至缓存文件中,然后通过代理进程对缓存文件进行扫描,以检测是否存在数据泄露或木马攻击。这种方式能够根据明文数据的上下文进行安全检测,检测效果更好,且即使存在安全问题,也不会将数据泄露给接收方。
然而,当通过对缓存文件进行扫描的方式,来检测数据的安全性时,代理进程需要消耗一段时间执行缓存文件的扫描业务,而这段时间代理进程会被阻塞,无法执行其他的转发业务,影响数据的处理效率。
发明内容
本申请旨在至少解决相关技术中存在的技术问题之一。为此,本申请提出一种文件扫描方法,能够减少文件扫描对代理进程的阻塞,提高数据的处理效率。
本申请还提出一种文件扫描装置。
本申请还提出一种电子设备。
本申请还提出一种计算机可读存储介质。
根据本申请第一方面实施例的文件扫描方法,应用于客户端,包括:
确定代理进程的任一连接中的业务报文存在扫描需求,生成包括所述业务报文对应的缓存文件的文件路径的扫描请求;
将所述扫描请求发送至扫描进程,以使所述扫描进程根据所述扫描请求中的文件路径,对相应的所述缓存文件进行扫描;
通过所述代理进程,接收所述扫描进程反馈的包括所述缓存文件的扫描结果的结果报文;
其中,所述代理进程采用异步非阻塞模式运行。
根据本申请的一个实施例,还包括:
对所述连接中的业务报文进行解码,生成所述缓存文件。
根据本申请的一个实施例,生成包括所述业务报文对应的缓存文件的文件路径的扫描请求,包括:
根据所述连接的连接地址,所述业务报文在所述连接中的序列号,以及所述业务报文生成的缓存文件的文件路径,生成所述扫描请求。
根据本申请的一个实施例,在将所述扫描请求发送至扫描进程之后,还包括:
确定接收到所述扫描进程根据所述扫描请求反馈的响应报文,将所述业务报文从所述连接中的执行队列发送至等待队列。
根据本申请的一个实施例,将所述扫描请求发送至扫描进程,以使所述扫描进程根据所述扫描请求中的文件路径,对相应的所述缓存文件进行扫描,得到扫描结果,包括:
将所述扫描请求发送至扫描进程,以使所述扫描进程根据所述扫描请求中的文件路径,对相应的所述缓存文件进行扫描,并根据所述所述缓存文件的扫描结果、所述扫描请求中所述连接的连接地址,所述业务报文在所述连接中的序列号,生成所述结果报文。
根据本申请的一个实施例,还包括:
根据所述结果报文中的所述连接地址,确定各所述连接中与所述结果报文对应的目标连接;
根据所述结果报文中的所述序列号,从所述目标连接的各所述业务报文中,确定与所述结果报文中的扫描结果对应的目标报文。
根据本申请的一个实施例,还包括:
根据所述扫描结果,确定对所述目标报文执行的操作。
根据本申请第二方面实施例的文件扫描装置,包括:
扫描请求生成模块,用于确定代理进程的任一连接中的业务报文存在扫描需求,生成包括所述业务报文对应的缓存文件的文件路径的扫描请求;
缓存文件扫描模块,用于将所述扫描请求发送至扫描进程,以使所述扫描进程根据所述扫描请求中的文件路径,对相应的所述缓存文件进行扫描;
扫描结果获取模块,用于通过所述代理进程,接收所述扫描进程反馈的包括所述缓存文件的扫描结果的结果报文;
其中,所述代理进程采用异步非阻塞模式运行,所述扫描进程采用同步阻塞模式运行。
根据本申请第三方面实施例的电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述计算机程序时实现上述任一实施例所述的文件扫描方法。
根据本申请第四方面实施例的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的文件扫描方法。
根据本申请第五方面实施例的计算机程序产品,包括:所述计算机程序被处理器执行时实现如上述任一实施例所述的文件扫描方法。
本申请实施例中的上述一个或多个技术方案,至少具有如下技术效果之一:
通过在采用异步非阻塞模式运行的代理进程的连接中的业务报文存在扫描需求时,生成包括该业务报文对应的缓存文件的文件路径的扫描请求,并将该扫描请求发送至扫描进程,由扫描进程根据该扫描请求中的文件路径,对缓存文件来进行扫描后,再通过代理进程,接收扫描进程反馈的包括所述缓存文件的扫描结果的结果报文,从而使缓存文件的扫描交由扫描进程执行,且代理进程为工作在异步非阻塞模式,因此代理进程在将缓存文件的扫描交由扫描进程执行后,会继续执行其他的转发业务,无需等待扫描结果的回传,进而能够减少文件扫描对代理进程的阻塞,提高数据的处理效率。同时能够减少执行扫描业务时代理进程所占用的资源。此外,由于缓存文件的扫描由扫描进程执行,且即使扫描过程中出现异常,也不会影响到代理进程的其他业务。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的文件扫描方法的第一流程示意图;
图2是本申请实施例提供的文件扫描方法的第二流程示意图;
图3是本申请实施例提供的文件扫描装置的结构示意图;
图4是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合附图对本申请技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本申请的技术方案,因此只作为示例,而不能以此来限制本申请的保护范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。
在本申请实施例的描述中,技术术语“第一”“第二”等仅用于区别不同对象,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量、特定顺序或主次关系。在本申请实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本申请实施例的描述中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
在本申请实施例的描述中,术语“多个”指的是两个以上(包括两个),同理,“多组”指的是两组以上(包括两组),“多片”指的是两片以上(包括两片)。
防火墙对业务报文,如加密流量做安全检测时,需要代理进程协助,先卸载加密流量的SSL层,再对从加密流量中提取到的明文数据做安全检测,以提高安全性。
目前,防火墙对业务报文的安全检测,是基于数据流做安全检查,即扫描数据流的每个业务报文,如果报文中存在危险信息,则将该条数据流断掉,但对于已经转发的业务报文则无法阻断,且无法联系数据的上下文做安全检查。为此,相关技术中,可基于缓存文件做安全检查,即将从业务报文中提取到的明文数据缓存至缓存文件中,然后通过代理进程对缓存文件进行扫描,以检测是否存在数据泄露或木马攻击。这种方式能够根据明文数据的上下文进行安全检测,检测效果更好,且即使存在安全问题,也不会将数据泄露给接收方。
然而,当通过对缓存文件进行扫描的方式,来检测数据的安全性时,代理进程需要消耗一段时间执行缓存文件的扫描业务,而这段时间代理进程会被阻塞,无法执行其他的转发业务,影响数据的处理效率。同时,代理进程每执行一个扫描业务,就需要开启一个扫描线程,因此当存在大量的加密流量扫描业务时,会创建大量的扫描线程,严重占用系统资源,影响防火墙其他业务。
针对上述技术问题,本申请实施例通过在采用异步非阻塞模式运行的代理进程的连接中的业务报文存在扫描需求时,生成包括该业务报文对应的缓存文件的文件路径的扫描请求,并将该扫描请求发送至扫描进程,由扫描进程根据该扫描请求中的文件路径,对缓存文件来进行扫描后,再通过代理进程,接收扫描进程反馈的包括所述缓存文件的扫描结果的结果报文,从而使缓存文件的扫描交由扫描进程执行,且代理进程为工作在异步非阻塞模式,因此代理进程在将缓存文件的扫描交由扫描进程执行后,会继续执行其他的转发业务,无需等待扫描结果的回传,进而能够减少文件扫描对代理进程的阻塞,提高数据的处理效率。同时能够减少执行扫描业务时代理进程所占用的资源。此外,由于缓存文件的扫描由扫描进程执行,且即使扫描过程中出现异常,也不会影响到代理进程的其他业务。
本申请实施例公开的文件扫描方法及装置可应用于终端设备中,如电脑、手机或服务器中,用于对业务报文形成的缓存文件进行扫描。其中,服务器可以是独立的服务器或者是多个服务器组成的服务器集群来实现,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能采样点设备等基础云计算服务的云服务器。
根据本申请的一些实施例提供的一种文件扫描方法,该文件扫描方法可应用于前述的终端设备中。如图1所示,该文件扫描方法包括:
步骤101,确定代理进程的任一连接中的业务报文存在扫描需求,生成包括所述业务报文对应的缓存文件的文件路径的扫描请求;
步骤102,将所述扫描请求发送至扫描进程,以使所述扫描进程根据所述扫描请求中的文件路径,对相应的所述缓存文件进行扫描;
步骤103,通过所述代理进程,接收所述扫描进程反馈的包括所述缓存文件的扫描结果的结果报文;
其中,所述代理进程采用异步非阻塞模式运行,所述扫描进程采用同步阻塞模式运行。
在一些实施例中,终端设备可先启动代理进程和扫描进程。其中,代理进程的数量与扫描进程的数量一一对应,每个代理进程预先创建一个请求句柄和一个响应句柄。响应句柄用于被代理进程监听,请求句柄用于被扫描进程监听。
当有业务报文进入代理请求进程后,可通过代理进程建立一条连接,来接收该业务报文,并对该业务报文进行处理。在通过连接接收业务报文后,可检测该业务报文是否需要进行安全检测。如可检测该业务报文是否为加密数据,如其报文类型是否为SSL请求报文。若是,则表示该业务报文存在扫描需求,此时则可根据该业务报文对应的缓存文件的文件路径,来生成扫描请求。或者,终端设备可在其防火墙中配置一条代理策略策略,如配置一条ACL引用杀毒的安全策略。若连接中的业务报文引用了杀毒的ACL策略,则表示该业务报文存在扫描需求,此时则可根据该业务报文对应的缓存文件的文件路径,来生成扫描请求。
而为确保能够对业务报文的缓存文件进行扫描,在一些实施例中,在生成扫描请求之前,可先通过代理进程,对该连接中的业务报文进行解码,以从其中提取明文数据,来得到该业务报文对应的缓存文件。如在业务报文进入连接后,若通过连接检测到该业务报文的报文类型是SSL请求报文,则调用SSL解密规则,来从业务报文中提取明文数据缓存至缓存文件。
在得到业务报文对应得到缓存文件后,即可使用请求句柄,通过代理进程将该缓存文件的文件路径进行封装报文,来得到扫描请求。而为提高扫描效果,还可以使用请求句柄,将该缓存文件的文件路径,以及包括由终端设备指定的扫描规则的私有数据进行封装报文,来得到扫描请求。这样,后续扫描进程便可根据该私有数据,来执行相应的扫描操作。
在生成扫描请求后,即可将该扫描请求发送至扫描进程,使扫描进程从监听的请求句柄中获取扫描请求后,可根据从该扫描请求中解析出的文件路径,来找到对应的缓存文件进行扫描。其中,若扫描请求中包括私有数据,则扫描进程根据私有数据对应的扫描规则,来调用安全引擎对缓存文件进行扫描;若扫描请求中不存在私有数据,则扫描进程调用安全引擎按照默认的安全扫描方式对缓存文件进行扫描。在扫描结束后,即可通过扫描进程,将扫描结果封装成报文,来得到包括缓存文件的扫描结果的结果报文,并反馈至代理进程,此时终端设备便可通过代理进程监听的响应句柄,来获取接收扫描进程反馈的结果报文。
通过在采用异步非阻塞模式运行的代理进程的连接中的业务报文存在扫描需求时,生成包括该业务报文对应的缓存文件的文件路径的扫描请求,并将该扫描请求发送至扫描进程,由扫描进程根据该扫描请求中的文件路径,对缓存文件来进行扫描后,再通过代理进程,接收扫描进程反馈的包括所述缓存文件的扫描结果的结果报文,从而使缓存文件的扫描交由扫描进程执行,且代理进程为工作在异步非阻塞模式,因此代理进程在将缓存文件的扫描交由扫描进程执行后,会继续执行其他的转发业务,无需等待扫描结果的回传,进而能够减少文件扫描对代理进程的阻塞,提高数据的处理效率。同时能够减少执行扫描业务时代理进程所占用的资源。此外,由于缓存文件的扫描由扫描进程执行,且即使扫描过程中出现异常,也不会影响到代理进程的其他业务。
考虑到代理进程在接收到业务报文的扫描结果后,通常需要推进对应的业务报文执行后续的操作,因此在代理进程接收到结果报文后,便需要根据结果报文中扫描结果,来确定该扫描结果对应的是哪个业务报文。而业务报文是由代理进程的连接进行处理的,同时代理进程可能存在多条连接,因此,为了使后续代理进程在接收到结果报文后,能够找到结果报文中扫描结果对应的是哪个业务报文,在一些实施例中,在确定代理进程的某一连接中的业务报文存在扫描需求,则可根据该连接的连接地址以及业务报文对应的缓存文件的文件路径,来生成扫描请求。如使用请求句柄,将该连接的连接地址以及业务报文对应的缓存文件的文件路径进行封装报文,来得到包括连接地址以及文件路径的扫描请求,这样,便可使扫描进程在对扫描请求进行解析后,能够得到连接地址和文件路径,并根据文件路径对相应的缓存文件进行扫描,得到扫描结果后,能够将连接地址以及扫描结果同时封装进结果报文,从而使代理进程接收到的结果报文中能够包括连接地址,进而可通过该连接地址来确定该扫描结果属于哪个连接的业务报文。
然而,考虑到一条连接通常会处理多个业务报文,因此为能够准确地确定扫描结果所对应的业务报文,在一些实施例中,生成包括所述业务报文对应的缓存文件的文件路径的扫描请求,包括:
根据所述连接的连接地址,所述业务报文在所述连接中的序列号,以及所述业务报文生成的缓存文件的文件路径,生成所述扫描请求。
在一些实施例中,业务报文在进入连接后,会根据其进入连接的顺序,被赋予唯一的序列号。在确定代理进程的某一连接中的业务报文存在扫描需求,则可根据该连接的连接地址,业务报文在该连接中的序列号,以及业务报文对应的缓存文件的文件路径,来生成扫描请求。如使用请求句柄,将该连接的连接地址,业务报文在该连接中的序列号,以及业务报文对应的缓存文件的文件路径进行封装报文,来得到包括连接地址、序列号以及文件路径的扫描请求。这样,便可使扫描进程在对扫描请求进行解析后,能够得到连接地址、序列号和文件路径,并根据文件路径对相应的缓存文件进行扫描,得到扫描结果后,能够将连接地址、序列号以及扫描结果同时封装进结果报文,从而使代理进程接收到的结果报文中能够包括连接地址以及序列号,进而可通过该连接地址以及序列号来确定该扫描结果属于哪个连接的业务报文。
而为提高代理进程对数据的处理效率,在一些实施例中,在将所述扫描请求发送至扫描进程之后,还包括:
确定接收到所述扫描进程根据所述扫描请求反馈的响应报文,将所述业务报文从所述连接中的执行队列发送至等待队列。
在一些实施例中,在将扫描请求发送至扫描进程之后,扫描进程会在接收到扫描请求时,响应该扫描请求,生成响应报文反馈至代理进程。若通过代理进程监听到扫描进程根据扫描请求反馈的响应报文,则可将业务报文从连接中的执行队列发送至等待队列,从而暂停对该业务报文进行处理,直至在接收到该业务报文所对应的扫描报文时,再将该业务报文从等待队列发送至执行队列,以方便后续根据扫描结果对业务报文进行处理。其中,执行队列用于记录待处理的业务报文,等待队列用于记录暂停处理的业务报文。
而在将扫描请求发送至扫描进程后,若该扫描请求中包括连接的连接地址,业务报文在连接中的序列号,以及业务报文对应的缓存文件的文件路径,则可使扫描进程对扫描请求进行解析,来的得到连接地址、序列号以及文件路径,并根据扫描请求中的文件路径,对相应的缓存文件进行扫描,得到缓存文件的扫描结果后,将扫描结果、连接地址以及序列号进行封装,得到结果报文反馈给代理进程,使代理进程能够根据结果报文中的连接地址以及序列号,来找到与该结果报文中的扫描结果对应的业务报文。
而为能够准确地从代理进程中找到与结果报文中的扫描结果对应的业务报文,在一些实施例中,如图2所示,该方法还包括:
步骤201,根据所述结果报文中的所述连接地址,确定各所述连接中与所述结果报文对应的目标连接;
步骤202,根据所述结果报文中的所述序列号,从所述目标连接的各所述业务报文中,确定与所述结果报文中的扫描结果对应的目标报文。
在一些实施例中,在获取到扫描进程反馈的结果报文后,即可通过代理进程对该结果报文进行解析,以解析出结果报文中的连接地址以及序列号。然后,先从代理进程建立的所有连接中,找到与该连接地址相对应的连接作为目标连接,再从目标连接记录的所有业务报文中,找到与该序列号相对应的业务报文,作为扫描结果对应的目标报文。这样,便可在扫描进程的扫描结果传回代理进程后,从代理进程中,准确地找到与扫描结果对应的目标报文。
在一些实施例中,在找到与扫描结果对应的目标报文后,即可根据扫描结果,确定对目标报文执行的操作。示例性的,假设扫描结果为该目标报文正常,则对目标报文进行转发;否则,对对目标报文进行拦截。在执行琬对目标报文的操作后,即可从目标连接中删除该目标报文。
下面对本申请提供的文件扫描装置进行描述,下文描述的文件扫描装置与上文描述的文件扫描方法可相互对应参照。
在一实施例中,如图3所示,提供了一种文件扫描装置,包括:
扫描请求生成模块210,用于确定代理进程的任一连接中的业务报文存在扫描需求,生成包括所述业务报文对应的缓存文件的文件路径的扫描请求;
缓存文件扫描模块220,用于将所述扫描请求发送至扫描进程,以使所述扫描进程根据所述扫描请求中的文件路径,对相应的所述缓存文件进行扫描;
扫描结果获取模块230,用于通过所述代理进程,接收所述扫描进程反馈的包括所述缓存文件的扫描结果的结果报文;
其中,所述代理进程采用异步非阻塞模式运行,所述扫描进程采用同步阻塞模式运行。
通过在采用异步非阻塞模式运行的代理进程的连接中的业务报文存在扫描需求时,生成包括该业务报文对应的缓存文件的文件路径的扫描请求,并将该扫描请求发送至扫描进程,由扫描进程根据该扫描请求中的文件路径,对缓存文件来进行扫描后,再通过代理进程,接收扫描进程反馈的包括所述缓存文件的扫描结果的结果报文,从而使缓存文件的扫描交由扫描进程执行,且代理进程为工作在异步非阻塞模式,因此代理进程在将缓存文件的扫描交由扫描进程执行后,会继续执行其他的转发业务,无需等待扫描结果的回传,进而能够减少文件扫描对代理进程的阻塞,提高数据的处理效率。同时能够减少执行扫描业务时代理进程所占用的资源。此外,由于缓存文件的扫描由扫描进程执行,且即使扫描过程中出现异常,也不会影响到代理进程的其他业务。
在一实施例中,扫描请求生成模块210还用于:
对所述连接中的业务报文进行解码,生成所述缓存文件。
在一实施例中,所述离线访问请求包括所述客户端对应的设备信息;所述离线密钥根据所述设备信息以及所述离线密钥计算信息生成。
在一实施例中,扫描请求生成模块210具体用于:
根据所述连接的连接地址,所述业务报文在所述连接中的序列号,以及所述业务报文生成的缓存文件的文件路径,生成所述扫描请求。
在一实施例中,缓存文件扫描模块220还用于:
在将所述扫描请求发送至扫描进程之后,确定接收到所述扫描进程根据所述扫描请求反馈的响应报文,将所述业务报文从所述连接中的执行队列发送至等待队列。
在一实施例中,缓存文件扫描模块220具体用于:
将所述扫描请求发送至扫描进程,以使所述扫描进程根据所述扫描请求中的文件路径,对相应的所述缓存文件进行扫描,并根据所述所述缓存文件的扫描结果、所述扫描请求中所述连接的连接地址,所述业务报文在所述连接中的序列号,生成所述结果报文。
在一实施例中,扫描结果获取模块230还用于:
根据所述结果报文中的所述连接地址,确定各所述连接中与所述结果报文对应的目标连接;
根据所述结果报文中的所述序列号,从所述目标连接的各所述业务报文中,确定与所述结果报文中的扫描结果对应的目标报文。
在一实施例中,扫描结果获取模块230还用于:
根据所述扫描结果,确定对所述目标报文执行的操作。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)810、通信接口(Communication Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的计算机程序,以执行文件扫描方法,例如包括:
确定代理进程的任一连接中的业务报文存在扫描需求,生成包括所述业务报文对应的缓存文件的文件路径的扫描请求;
将所述扫描请求发送至扫描进程,以使所述扫描进程根据所述扫描请求中的文件路径,对相应的所述缓存文件进行扫描;
通过所述代理进程,接收所述扫描进程反馈的包括所述缓存文件的扫描结果的结果报文;
其中,所述代理进程采用异步非阻塞模式运行,所述扫描进程采用同步阻塞模式运行。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本申请实施例还提供一种处理器可读存储介质,处理器可读存储介质存储有计算机程序,计算机程序用于使处理器执行上述各实施例提供的方法,例如包括:
确定代理进程的任一连接中的业务报文存在扫描需求,生成包括所述业务报文对应的缓存文件的文件路径的扫描请求;
将所述扫描请求发送至扫描进程,以使所述扫描进程根据所述扫描请求中的文件路径,对相应的所述缓存文件进行扫描;
通过所述代理进程,接收所述扫描进程反馈的包括所述缓存文件的扫描结果的结果报文;
其中,所述代理进程采用异步非阻塞模式运行,所述扫描进程采用同步阻塞模式运行。
处理器可读存储介质可以是处理器能够存取的任何可用介质或报文数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD))等。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种文件扫描方法,其特征在于,包括:
确定代理进程的任一连接中的业务报文存在扫描需求,生成包括所述业务报文对应的缓存文件的文件路径的扫描请求;
将所述扫描请求发送至扫描进程,以使所述扫描进程根据所述扫描请求中的文件路径,对相应的所述缓存文件进行扫描;
通过所述代理进程,接收所述扫描进程反馈的包括所述缓存文件的扫描结果的结果报文;
其中,所述代理进程采用异步非阻塞模式运行。
2.据权利要求1所述的文件扫描方法,其特征在于,还包括:
对所述连接中的业务报文进行解码,生成所述缓存文件。
3.据权利要求1所述的文件扫描方法,其特征在于,生成包括所述业务报文对应的缓存文件的文件路径的扫描请求,包括:
根据所述连接的连接地址,所述业务报文在所述连接中的序列号,以及所述业务报文生成的缓存文件的文件路径,生成所述扫描请求。
4.根据权利要求1-3任一项所述的文件扫描方法,其特征在于,在将所述扫描请求发送至扫描进程之后,还包括:
确定接收到所述扫描进程根据所述扫描请求反馈的响应报文,将所述业务报文从所述连接中的执行队列发送至等待队列。
5.根据权利要求1或3所述的文件扫描方法,其特征在于,将所述扫描请求发送至扫描进程,以使所述扫描进程根据所述扫描请求中的文件路径,对相应的所述缓存文件进行扫描,得到扫描结果,包括:
将所述扫描请求发送至扫描进程,以使所述扫描进程根据所述扫描请求中的文件路径,对相应的所述缓存文件进行扫描,并根据所述所述缓存文件的扫描结果、所述扫描请求中所述连接的连接地址,所述业务报文在所述连接中的序列号,生成所述结果报文。
6.根据权利要求5所述的文件扫描方法,其特征在于,还包括:
根据所述结果报文中的所述连接地址,确定各所述连接中与所述结果报文对应的目标连接;
根据所述结果报文中的所述序列号,从所述目标连接的各所述业务报文中,确定与所述结果报文中的扫描结果对应的目标报文。
7.根据权利要求6所述的文件扫描方法,其特征在于,还包括:
根据所述扫描结果,确定对所述目标报文执行的操作。
8.一种文件扫描装置,其特征在于,应用于客户端,包括:
扫描请求生成模块,用于确定代理进程的任一连接中的业务报文存在扫描需求,生成包括所述业务报文对应的缓存文件的文件路径的扫描请求;
缓存文件扫描模块,用于将所述扫描请求发送至扫描进程,以使所述扫描进程根据所述扫描请求中的文件路径,对相应的所述缓存文件进行扫描;
扫描结果获取模块,用于通过所述代理进程,接收所述扫描进程反馈的包括所述缓存文件的扫描结果的结果报文;
其中,所述代理进程采用异步非阻塞模式运行,所述扫描进程采用同步阻塞模式运行。
9.一种电子设备,包括处理器和存储有计算机程序的存储器,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的文件扫描方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的文件扫描方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311650017.7A CN117675336A (zh) | 2023-12-04 | 2023-12-04 | 文件扫描方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311650017.7A CN117675336A (zh) | 2023-12-04 | 2023-12-04 | 文件扫描方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117675336A true CN117675336A (zh) | 2024-03-08 |
Family
ID=90070870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311650017.7A Pending CN117675336A (zh) | 2023-12-04 | 2023-12-04 | 文件扫描方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117675336A (zh) |
-
2023
- 2023-12-04 CN CN202311650017.7A patent/CN117675336A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10432649B1 (en) | System and method for classifying an object based on an aggregated behavior results | |
US7506056B2 (en) | System analyzing configuration fingerprints of network nodes for granting network access and detecting security threat | |
US11223639B2 (en) | Endpoint network traffic analysis | |
US10607016B2 (en) | Decrypting files for data leakage protection in an enterprise network | |
US10270792B1 (en) | Methods for detecting malicious smart bots to improve network security and devices thereof | |
CN111327615A (zh) | 一种cc攻击防护方法及其系统 | |
US11140178B1 (en) | Methods and system for client side analysis of responses for server purposes | |
US20210203668A1 (en) | Systems and methods for malicious client detection through property analysis | |
US20220329609A1 (en) | Network Security Protection Method and Protection Device | |
CN105468941B (zh) | 一种权限控制方法和装置 | |
US20070245031A1 (en) | ICAP processing of partial content to identify security issues | |
US10757118B2 (en) | Method of aiding the detection of infection of a terminal by malware | |
CN117675336A (zh) | 文件扫描方法及装置 | |
CN106789899B (zh) | 一种基于html5的跨域消息发送方法及装置 | |
CN113225348B (zh) | 请求防重放校验方法和装置 | |
CN113328976B (zh) | 一种安全威胁事件识别方法、装置及设备 | |
CN107944260A (zh) | 一种恶意软件的行为阻断装置及方法 | |
CN112637171A (zh) | 数据流量处理方法、装置、设备、系统和存储介质 | |
TWI503695B (zh) | 封包資料提取裝置、封包資料提取裝置之控制方法、控制程式及電腦可讀取之儲存媒體 | |
CN113127853A (zh) | 对虚拟机文件的安全处理方法及装置 | |
CN112039846B (zh) | 请求处理方法与安全防护系统 | |
CN117082147B (zh) | 应用程序网络访问控制方法、系统、设备和介质 | |
CN114301890B (zh) | Web访问请求的处理方法及装置 | |
CN113489726B (zh) | 流量限制方法及设备 | |
WO2022205907A1 (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 |