CN117792694A - 基于suricata的数据检测方法、装置、存储介质以及电子设备 - Google Patents
基于suricata的数据检测方法、装置、存储介质以及电子设备 Download PDFInfo
- Publication number
- CN117792694A CN117792694A CN202311666869.5A CN202311666869A CN117792694A CN 117792694 A CN117792694 A CN 117792694A CN 202311666869 A CN202311666869 A CN 202311666869A CN 117792694 A CN117792694 A CN 117792694A
- Authority
- CN
- China
- Prior art keywords
- data packet
- target
- virus
- protocol
- target 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 75
- 241000700605 Viruses Species 0.000 claims abstract description 160
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000004891 communication Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 230000002155 anti-virotic effect Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000002688 persistence Effects 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种基于suricata的数据检测方法、装置、存储介质以及电子设备。该方法包括:在确定接收到的数据包使用的目标协议为协议列表中的协议的情况下,将数据包确定为目标数据包且保存在磁盘中;调用病毒检测工具的目标接口,以将目标数据包的格式转换为病毒检测工具匹配的格式且识别目标数据包;在病毒检测工具指示目标数据包为病毒的情况下,为目标数据包添加病毒标签。本申请解决了病毒识别不准确的技术问题。
Description
技术领域
本申请涉及病毒检测领域,尤其涉及一种基于suricata的数据检测方法、装置、存储介质以及电子设备。
背景技术
现有技术中,Suricata是一个开源的入侵防御系统。其本身可以通过一些规则进行恶意软件识别以及简单的病毒特征识别。
然而,Suricata自身的识别能力有限,对于部分病毒,Suricata识别不出来,因此,造成对病毒识别不准确的问题。
发明内容
本申请提供了一种基于suricata的数据检测方法、装置、存储介质以及电子设备,以解决病毒识别不准确的技术问题。
第一方面,本申请提供了一种基于suricata的数据检测方法,包括:在确定接收到的数据包使用的目标协议为协议列表中的协议的情况下,将上述数据包确定为目标数据包且保存在磁盘中;调用病毒检测工具的目标接口,以将上述目标数据包的格式转换为上述病毒检测工具匹配的格式且识别上述目标数据包;在上述病毒检测工具指示上述目标数据包为病毒的情况下,为上述目标数据包添加病毒标签。
第二方面,本申请提供了一种基于suricata的数据检测装置,包括:确定模块,用于在确定接收到的数据包使用的目标协议为协议列表中的协议的情况下,将上述数据包确定为目标数据包且保存在磁盘中;调用模块,用于调用病毒检测工具的目标接口,以将上述目标数据包的格式转换为上述病毒检测工具匹配的格式且识别上述目标数据包;第一处理模块,用于在上述病毒检测工具指示上述目标数据包为病毒的情况下,为上述目标数据包添加病毒标签。
作为一种可选的示例,上述装置还包括:第二处理模块,用于在为上述目标数据包添加病毒标签后,为第一数据包添加上述病毒标签,其中,上述第一数据包为与上述目标数据包属于同一数据流的未被传输的数据包。
作为一种可选的示例,上述装置还包括:第三处理模块,用于在为第一数据包添加上述病毒标签后,将上述添加病毒标签的目标数据包所在文件的目标文件名确定为目标哈希表中的一个关键字key,其中,在检测到任意一个病毒的情况下,将上述病毒的文件名作为一个key加入到上述目标哈希表中;在接收到对第一数据包的重传指令的情况下,从上述目标哈希表中查找上述第一数据包所在文件的第一文件名;在查找到上述第一文件名的情况下,为上述第一数据包添加上述病毒标签。
作为一种可选的示例,上述第三处理模块包括:添加单元,用于在上述第一数据包与上述目标数据包使用同一个会话传输的情况下,为上述第一数据包添加上述病毒标签;在上述第一数据包与上述目标数据包使用不同的会话传输的情况下,从上述目标哈希表中查找上述第一文件名。
作为一种可选的示例,上述装置还包括:删除模块,用于在接收到对第一数据包的重传指令时,在上述目标哈希表中不包含可用节点的情况下,将上述目标哈希表中,最先加入的key从上述目标哈希表中删除,或者将上述目标哈希表中,存储时长达到超时时长的key从上述目标哈希表中删除。
作为一种可选的示例,上述调用模块包括:调用单元,用于在上述suricata中新建工作线程;通过上述工作线程调用上述目标接口。
作为一种可选的示例,上述装置还包括:配置模块,用于在接收数据包之前,在上述suricata的位置文件中配置目标代码,其中,上述目标代码中至少包括协议标识;将上述协议标识对应的协议确定为上述协议列表中的一条协议。
第三方面,本申请提供了一种电子设备,包括:至少一个通信接口;与上述至少一个通信接口相连接的至少一个总线;与上述至少一个总线相连接的至少一个处理器;与上述至少一个总线相连接的至少一个存储器,其中,上述存储器存储有计算机程序,上述处理器被配置为执行上述计算机程序时实现上述任一项上述的基于suricata的数据检测方法。
第四方面,本申请还提供了一种计算机存储介质,存储有计算机可执行指令,上述计算机可执行指令用于执行本申请上述任一项上述的基于suricata的数据检测方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例通过在确定接收到的数据包使用的目标协议为协议列表中的协议的情况下,将上述数据包确定为目标数据包且保存在磁盘中;调用病毒检测工具的目标接口,以将上述目标数据包的格式转换为上述病毒检测工具匹配的格式且识别上述目标数据包;在上述病毒检测工具指示上述目标数据包为病毒的情况下,为上述目标数据包添加病毒标签的方法,从而可以将传输的数据包中,使用特定协议的数据包保存在磁盘中,然后使用病毒检测工具对该部分数据包进行检测,如果检测出病毒,则添加病毒标签,从而提高了对病毒进行检测的准确性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本申请实施例提供的一种基于suricata的数据检测方法的流程图;
图2为本申请实施例提供的一种基于suricata的数据检测方法的数据包转存图;
图3为本申请实施例提供的一种基于suricata的数据检测方法的添加病毒标签图;
图4为本申请实施例提供的一种基于suricata的数据检测方法的哈希表示意图;
图5为本申请实施例提供的一种基于suricata的数据检测方法的哈希表示意图;
图6为本申请实施例提供的一种基于suricata的数据检测方法的流程图;
图7为本申请实施例提供的一种基于suricata的数据检测装置的结构示意图;
图8为本申请实施例提供的一种电子设备示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。
为了解决现有技术中病毒识别不准确的技术问题,本申请提供了一种基于suricata的数据检测方法,能实现提高病毒检测准确度的效果。
图1为本申请实施例提供的一种基于suricata的数据检测方法的流程图。如图1所示,上述基于suricata的数据检测方法包括:
S102,在确定接收到的数据包使用的目标协议为协议列表中的协议的情况下,将数据包确定为目标数据包且保存在磁盘中;
S104,调用病毒检测工具的目标接口,以将目标数据包的格式转换为病毒检测工具匹配的格式且识别目标数据包;
S106,在病毒检测工具指示目标数据包为病毒的情况下,为目标数据包添加病毒标签。
上述基于suricata的数据检测方法可以应用在suricata中,或者应用在提供suricata服务的设备、云服务器上。
在使用suricata的过程中,suricata接收到数据包后,会确定传输数据包使用的协议,如果传输数据包使用的协议为协议列表中的协议,则将对应的数据包保存在磁盘中。如果协议没有在协议列表中,则可以直接发送或者转发数据包。通过比对数据包的协议是否在协议列表中,从而可以对数据包进行筛选。如图2所示。协议列表中包括了协议2和协议3,那么对于数据流传输的数据包,协议2的数据包2和数据包4被存储到磁盘中,协议1的数据包1和数据包3继续传输或转发。
协议列表是预先配置的协议的协议表,协议表中包括了0或1或多个协议,每一个协议可以使用协议名或者协议标识来标记。在协议列表中查找协议时,可以通过协议名或者协议标识来查找。
上述病毒检测工具可以为clamav,clamav是一种杀毒软件,可以用来检测和处理病毒。本实施例中,可以调用杀毒软件的接口,从而让杀毒软件对目标数据包进行格式的转换与病毒识别。格式转换为将目标数据包的格式转换为杀毒软件的文件格式。
在转换目标数据包的格式的过程中,如果目标数据包所包含的数据太少,则将目标数据包与其他包一同转换格式,转换为杀毒软件对应的格式。例如,目标数据包是一个文件的一部分数据,该文件由目标数据包与上述其他包组成,只有目标数据包无法构成该文件,因此,将目标数据包与磁盘中的其他包一起构成该文件,然后将该文件的格式转化为杀毒软件的格式。如果目标数据包自身就包括足够的数据,能够进行格式转换,则直接对目标数据包的格式进行转换。例如,目标数据包包括了两个文件,则转换目标数据包的两个文件的格式。
最后通过杀毒软件识别目标数据包,如果识别出病毒,则给目标数据包打上病毒标签。识别出病毒说明目标数据包为病毒或者包括了病毒代码。
本申请实施例通过在确定接收到的数据包使用的目标协议为协议列表中的协议的情况下,将所述数据包确定为目标数据包且保存在磁盘中;调用病毒检测工具的目标接口,以将目标数据包的格式转换为病毒检测工具匹配的格式且识别目标数据包;在病毒检测工具指示目标数据包为病毒的情况下,为目标数据包添加病毒标签的方法,从而可以将传输的数据包中,使用特定协议的数据包保存在磁盘中,然后使用病毒检测工具对该部分数据包进行检测,如果检测出病毒,则添加病毒标签,从而提高了对病毒进行检测的准确性。
作为一种可选的示例,在为目标数据包添加病毒标签后,上述方法还包括:为第一数据包添加病毒标签,其中,第一数据包为与目标数据包属于同一数据流的未被传输的数据包。
本实施例中,对于目标数据包,如果已经检测出病毒标签,那么,对于与目标数据包属于同一个数据流的第一数据包,无需检测,可以直接添加病毒标签。例如,如图3所示,数据流1和数据流2都在传输数据,数据流1的数据包传输顺序为数据包4、数据包3、数据包2、数据包1,如果数据流1下的数据包4检测出病毒,添加病毒标签,则数据包3、数据包2、数据包1都直接添加病毒标签。如果数据包3被添加病毒标签,则数据包2,数据包1直接添加病毒标签,数据包4由于传输在数据包3之前,说明没有病毒,已经被传输走。如果数据包4有病毒,则会给数据包4添加病毒标签。数据流2的数据不会受数据流1的病毒标签的影响。
作为一种可选的示例,在为第一数据包添加病毒标签后,上述方法还包括:将添加病毒标签后的目标数据包所在文件的目标文件名确定为目标哈希表中的一个关键字key,其中,在检测到任意一个病毒的情况下,将病毒的文件名作为一个key加入到目标哈希表中;在接收到对第一数据包的重传指令的情况下,从目标哈希表中查找第一数据包所在文件的第一文件名;在查找到第一文件名的情况下,为第一数据包添加病毒标签。
本实施例中,对于已经检测出病毒的数据包,可以获取数据包所在文件的文件名。文件名可以用来标记病毒。文件名作为一个关键字key,写入到哈希表中,则哈希表中包括了多个文件名,每一个文件名都是包含病毒的文件的文件名。如图4所示,目标哈希表中包括3个key,一共有4个存储位置,还可以存储一个key。如果key存满,则需要删除部分key,以腾出空间。
当对目标数据包检测到病毒后,为目标数据包同数据流的第一数据包添加病毒标签后,病毒可能会另起会话重传数据包,因此,会产生新的数据流。此时,如果接收到了第一数据包的重传指令,那么,可以比对第一数据包的文件名是否位于目标哈希表中,如果位于目标哈希表中,则无需进行病毒检测就可以确定第一数据包为病毒。
作为一种可选的示例,在接收到对第一数据包的重传指令的情况下,从目标哈希表中查找第一数据包所在文件的第一文件名包括:在第一数据包与目标数据包使用同一个会话传输的情况下,为第一数据包添加病毒标签;在第一数据包与目标数据包使用不同的会话传输的情况下,从目标哈希表中查找第一文件名。
本实施例中,如果要重传的第一数据包没有另起会话,仍然使用先前的数据流传输,那么由于第一数据包与目标数据包是同一个数据流传输的数据,因此,在目标数据包被检测出病毒的情况下,第一数据包无需检测直接标记病毒标签。如果第一数据包另起会话,重新传输,则通过比对目标哈希表,查看是否包含第一数据包的文件名,如果包含,则第一数据包直接添加病毒标签。对于另起会话传输且目标哈希表中没有文件名的数据包,则使用杀毒工具再次检测。
作为一种可选的示例,在接收到对第一数据包的重传指令时,上述方法还包括:在目标哈希表中不包含可用节点的情况下,将目标哈希表中,最先加入的key从目标哈希表中删除,或者将目标哈希表中,存储时长达到超时时长的key从目标哈希表中删除。
本实施例中,目标哈希表中存储的key,每一个key占用哈希表一个存储空间,由于目标哈希表的存储空间有限,因此,要定期删除或者在用完时删除。例如如图5所示,如果目标哈希表中已经存满数据,当key5要存入目标哈希表中时,就需要删除目标哈希表中的部分数据,如删除key1,则将key5填入key1的位置。
作为一种可选的示例,调用病毒检测工具的目标接口,以将目标数据包的格式转换为病毒检测工具匹配的格式且识别目标数据包包括:在suricata中新建工作线程;通过工作线程调用目标接口。
本实施例中,由于suricata与clamav是不同的软件工具,因此,如果要在suricata中使用clamav的病毒检测功能,则可以先在suricata中声明clamav的调用接口,然后,在suricata中接收到目标数据包后,可以调用该接口使用clamav的病毒检测功能。在调用该接口时,可以新建工作线程,原本的工作线程继续接收数据,新建的工作线程则调用目标接口对磁盘中的数据包执行病毒检测功能。
作为一种可选的示例,在接收数据包之前,上述方法还包括:在suricata的位置文件中配置目标代码,其中,目标代码中至少包括协议标识;将协议标识对应的协议确定为协议列表中的一条协议。
本实施例中,协议列表中的协议可以预先配置,也可以批量导入。在配置时,可以通过预定代码配置,如通过代码alert ftp-data any any->any any(msg:"ftp filestore check";filestore;sid:1;rev:1;),就配置了一条协议到协议列表中,只要是该协议下的数据包,都会存储到磁盘中。
图6是本实施例的流程图。
首先,有clamav加载编译特征库文件,特征库即为clamav的病毒检测库。在suricata的yaml配置文件中使用文件转存file-store功能,然后,配置两条互联网协议群(Internet Protocol Suite,IPS)规则:
alert ftp-data any any->any any(msg:"ftp file store check";filestore;sid:1;rev:1;),这条规则用于检测FTP数据连接,将FTP连接的数据包保存到磁盘;
alert http any any->any any(msg:"http file store check";filestore;sid:2;rev:1;),这条规则用于检测HTTP数据连接,将HTTP连接的数据包保存到磁盘。
suricata通过开启file-store功能以及配置对应的suricata规则,这样就完成了FPT数据包的文件和HTTP数据包的文件在传输过程中转储到磁盘上。
然后,在suricata的文件filestore功能实现的核心文件中,新增clamav动态库提供的病毒库加载cl_load()以及病毒库编译cl_engine_compile()的函数,这两个函数的作用分别是:1、解析病毒文件main.cvd将它们转换为clamav的内部格式,以便扫描引擎可以高效地使用。转换过程可以通过命令:dd if=main.cvd of=clamav_main.tar.gz skip=1bs=512),从而生成tar.gz压缩包,再将压缩包进行解压,即可得到多个病毒特征文件。即将main.cvd转换成一个压缩包,然后解压,从而让clamav将这些病毒特征编译后放在了高效的数据结构里。
clamav在具体检测病毒过程中,可以比对病毒签名,病毒签名为病毒的唯一标识,可以将加载的病毒签名编译为可以快速匹配的格式,如将正则表达式转换为确定有限自动机(DFA)或其他优化结构后完成快速匹配。且在快速匹配时,由于病毒库的编译阶段比较耗时,因此可以新创建一个线程来完成这部分工作。
suricata通过在suricata的函数OutputFilestoreLogger()中调用clamav的接口,完成病毒的扫描工作,clamav动态库提供的cl_scanfile()函数会对传入的具体文件路径下的文件进行扫描,这具体文件即为开启filestore功能后转储的文件,当扫描完成后根据扫描结果是否检测到病毒来判断是否在会话上打上丢弃的标签,在该会话上打上丢弃的标签,等后续该会话的数据包到来时就不需要再次进入该模块,这样能够提升性能;
对于某些情况,例如FTP协议,当给会话打上丢弃的标签后,suricata的确会拦截后续的数据包,但是ftp客户端等待一段时间没有收到服务端的应答后,会新建立一个会话将剩余的数据传输过去,这些数据包可能会进行逃逸,结果是后续数据无法进入filestore功能模块,意味着这部分数据无法进行病毒检测),导致客户端仍然能收到完整的数据,这样病毒文件还是能到达目的地。为了解决该情况,可以根据传输检测到的病毒文件名作为key值建立一个哈希表HashTable,当前期检测到病毒后将病毒名称加入到HashTable中,并且在suricata的FTP协议解析器中的重传RETR请求处也做病毒名称的检测(FT重传的数据会发起RETR),这样即使FTP重新请传输的时候能直接检测出来。
为了保证HashTable的内存空间安全,这里分别使用了LRU算法淘汰哈希桶最老的节点和包驱动的超时检测(即:每当有packet到来时都会在相应的哈希桶里检测一遍超时的节点,若超时则将该节点释放)。
图7为本申请实施例提供的一种基于suricata的数据检测装置的结构示意图。如图7所示,上述基于suricata的数据检测装置包括:
确定模块702,用于在确定接收到的数据包使用的目标协议为协议列表中的协议的情况下,将数据包确定为目标数据包且保存在磁盘中;
调用模块704,用于调用病毒检测工具的目标接口,以将目标数据包的格式转换为病毒检测工具匹配的格式且识别目标数据包;
第一处理模块706,用于在病毒检测工具指示目标数据包为病毒的情况下,为目标数据包添加病毒标签。
上述基于suricata的数据检测方法可以应用在suricata中,或者应用在提供suricata服务的设备、云服务器上。
在使用suricata的过程中,suricata接收到数据包后,会确定传输数据包使用的协议,如果传输数据包使用的协议为协议列表中的协议,则将对应的数据包保存在磁盘中。如果协议没有在协议列表中,则可以直接发送或者转发数据包。通过比对数据包的协议是否在协议列表中,从而可以对数据包进行筛选。如图2所示。协议列表中包括了协议2和协议3,那么对于数据流传输的数据包,协议2的数据包2和数据包4被存储到磁盘中,协议1的数据包1和数据包3继续传输或转发。
协议列表是预先配置的协议的协议表,协议表中包括了0或1或多个协议,每一个协议可以使用协议名或者协议标识来标记。在协议列表中查找协议时,可以通过协议名或者协议标识来查找。
上述病毒检测工具可以为clamav,clamav是一种杀毒软件,可以用来检测和处理病毒。本实施例中,可以调用杀毒软件的接口,从而让杀毒软件对目标数据包进行格式的转换与病毒识别。格式转换为将目标数据包的格式转换为杀毒软件的文件格式。
在转换目标数据包的格式的过程中,如果目标数据包所包含的数据太少,则将目标数据包与其他包一同转换格式,转换为杀毒软件对应的格式。例如,目标数据包是一个文件的一部分数据,该文件由目标数据包与上述其他包组成,只有目标数据包无法构成该文件,因此,将目标数据包与磁盘中的其他包一起构成该文件,然后将该文件的格式转化为杀毒软件的格式。如果目标数据包自身就包括足够的数据,能够进行格式转换,则直接对目标数据包的格式进行转换。例如,目标数据包包括了两个文件,则转换目标数据包的两个文件的格式。
最后通过杀毒软件识别目标数据包,如果识别出病毒,则给目标数据包打上病毒标签。识别出病毒说明目标数据包为病毒或者包括了病毒代码。
本申请实施例通过在接收到目标数据包的情况下,确定传输目标数据包时使用的目标协议;在目标协议为协议列表中的协议的情况下,将目标数据包保存在磁盘中;调用病毒检测工具的目标接口,以将目标数据包的格式转换为病毒检测工具匹配的格式且识别目标数据包;在病毒检测工具指示目标数据包为病毒的情况下,为目标数据包添加病毒标签的方法,从而可以将传输的数据包中,使用特定协议的数据包保存在磁盘中,然后使用病毒检测工具对该部分数据包进行检测,如果检测出病毒,则添加病毒标签,从而提高了对病毒进行检测的准确性。
本实施例的其他示例请参见上述示例,在此不再赘述。
如图8所示,本申请实施例提供了一种电子设备,包括处理器111、通信接口112、存储器113和通信总线114,其中,处理器111,通信接口112,存储器113通过通信总线114完成相互间的通信,
存储器113,用于存放计算机程序;
在本申请一个实施例中,处理器111,用于执行存储器113上所存放的程序时,实现前述任意一个方法实施例提供的基于suricata的数据检测方法。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任意一个方法实施例提供基于suricata的数据检测方法的步骤。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
应理解的是,文中使用的术语仅出于描述特定示例实施方式的目的,而无意于进行限制。除非上下文另外明确地指出,否则如文中使用的单数形式“一”、“一个”以及“所述”也可以表示包括复数形式。术语“包括”、“包含”、“含有”以及“具有”是包含性的,并且因此指明所陈述的特征、步骤、操作、元件和/或部件的存在,但并不排除存在或者添加一个或多个其它特征、步骤、操作、元件、部件、和/或它们的组合。文中描述的方法步骤、过程、以及操作不解释为必须要求它们以所描述或说明的特定顺序执行,除非明确指出执行顺序。还应当理解,可以使用另外或者替代的步骤。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于suricata的数据检测方法,其特征在于,包括:
在确定接收到的数据包使用的目标协议为协议列表中的协议的情况下,将所述数据包确定为目标数据包且保存在磁盘中;
调用病毒检测工具的目标接口,以将所述目标数据包的格式转换为所述病毒检测工具匹配的格式且识别所述目标数据包;
在所述病毒检测工具指示所述目标数据包为病毒的情况下,为所述目标数据包添加病毒标签。
2.根据权利要求1所述的方法,其特征在于,在为所述目标数据包添加病毒标签后,所述方法还包括:
为第一数据包添加所述病毒标签,其中,所述第一数据包为与所述目标数据包属于同一数据流的未被传输的数据包。
3.根据权利要求2所述的方法,其特征在于,在为第一数据包添加所述病毒标签后,所述方法还包括:
将添加病毒标签的所述目标数据包所在文件的目标文件名确定为目标哈希表中的一个关键字key,其中,在检测到任意一个病毒的情况下,将所述病毒的文件名作为一个key加入到所述目标哈希表中;
在接收到对第一数据包的重传指令的情况下,从所述目标哈希表中查找所述第一数据包所在文件的第一文件名;
在查找到所述第一文件名的情况下,为所述第一数据包添加所述病毒标签。
4.根据权利要求3所述的方法,其特征在于,所述在接收到对第一数据包的重传指令的情况下,从所述目标哈希表中查找所述第一数据包所在文件的第一文件名包括:
在所述第一数据包与所述目标数据包使用同一个会话传输的情况下,为所述第一数据包添加所述病毒标签;
在所述第一数据包与所述目标数据包使用不同的会话传输的情况下,从所述目标哈希表中查找所述第一文件名。
5.根据权利要求3所述的方法,其特征在于,在接收到对第一数据包的重传指令时,所述方法还包括:
在所述目标哈希表中不包含可用节点的情况下,将所述目标哈希表中,最先加入的key从所述目标哈希表中删除,或者将所述目标哈希表中,存储时长达到超时时长的key从所述目标哈希表中删除。
6.根据权利要求1所述的方法,其特征在于,所述调用病毒检测工具的目标接口,以将所述目标数据包的格式转换为所述病毒检测工具匹配的格式且识别所述目标数据包包括:
在所述suricata中新建工作线程;
通过所述工作线程调用所述目标接口。
7.根据权利要求1所述的方法,其特征在于,在接收数据包之前,所述方法还包括:
在所述suricata的位置文件中配置目标代码,其中,所述目标代码中至少包括协议标识;
将所述协议标识对应的协议确定为所述协议列表中的一条协议。
8.一种基于suricata的数据检测装置,其特征在于,包括:
确定模块,用于在确定接收到的数据包使用的目标协议为协议列表中的协议的情况下,将所述数据包确定为目标数据包且保存在磁盘中;
调用模块,用于调用病毒检测工具的目标接口,以将所述目标数据包的格式转换为所述病毒检测工具匹配的格式且识别所述目标数据包;
第一处理模块,用于在所述病毒检测工具指示所述目标数据包为病毒的情况下,为所述目标数据包添加病毒标签。
9.一种电子设备,其特征在于,包括:至少一个通信接口;与所述至少一个通信接口相连接的至少一个总线;与所述至少一个总线相连接的至少一个处理器;与所述至少一个总线相连接的至少一个存储器,其中,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任意一项中所述的方法。
10.一种计算机可读的存储介质,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行本申请上述权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311666869.5A CN117792694A (zh) | 2023-12-06 | 2023-12-06 | 基于suricata的数据检测方法、装置、存储介质以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311666869.5A CN117792694A (zh) | 2023-12-06 | 2023-12-06 | 基于suricata的数据检测方法、装置、存储介质以及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117792694A true CN117792694A (zh) | 2024-03-29 |
Family
ID=90396995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311666869.5A Pending CN117792694A (zh) | 2023-12-06 | 2023-12-06 | 基于suricata的数据检测方法、装置、存储介质以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117792694A (zh) |
-
2023
- 2023-12-06 CN CN202311666869.5A patent/CN117792694A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101868720B1 (ko) | 정규 표현식들에 대한 컴파일러 | |
CN106209830B (zh) | 一种基于xml网络协议表示的报文构造方法 | |
US20100153507A1 (en) | Systems and methods for processing electronic data | |
US9015822B2 (en) | Automatic invocation of DTN bundle protocol | |
US11836253B2 (en) | Malicious file detection method, device, and system | |
US10848599B2 (en) | Data transmission method and gateway as well as server and computer-readable storage medium | |
CN110191066B (zh) | 一种确定最大传输单元pmtu的方法、设备及系统 | |
CN106453474A (zh) | 在不稳定网络环境中的大文件的网络传输 | |
CN110740144B (zh) | 确定攻击目标的方法、装置、设备及存储介质 | |
CN112751733A (zh) | 一种链路检测方法、装置、设备、系统及交换机 | |
CN114363288A (zh) | 报文处理方法、装置、链路负载均衡设备和存储介质 | |
CN114172900A (zh) | 基于单向网闸的文件传输方法及系统 | |
CN101594301A (zh) | 一种报文处理方法和装置 | |
CN111064729B (zh) | 报文的处理方法及装置、存储介质和电子装置 | |
CN117792694A (zh) | 基于suricata的数据检测方法、装置、存储介质以及电子设备 | |
CN109150720B (zh) | 业务链报文转发方法、装置、设备及计算机可读存储介质 | |
CN113301049B (zh) | 一种工控设备的审计方法、装置、设备及可读存储介质 | |
CN106209666B (zh) | 一种基于负载均衡器的链路复用方法及系统 | |
CN112910991B (zh) | 后端应用调用方法、装置、计算机设备和可读存储介质 | |
CN115333848A (zh) | 容器云平台网络安全防护方法、装置及电子设备 | |
CN113890858A (zh) | Pmtu的探测方法及装置 | |
CN114816895A (zh) | 处理告警日志的方法、装置及存储介质 | |
CN110545256A (zh) | 数据传输方法、系统、电子设备、中转服务器及存储介质 | |
CN113032123B (zh) | 一种远程npl运行环境的线程调度方法、系统及相关装置 | |
CN114880148B (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 |