CN106022129B - 文件的数据特征提取方法、装置及病毒特征检测系统 - Google Patents

文件的数据特征提取方法、装置及病毒特征检测系统 Download PDF

Info

Publication number
CN106022129B
CN106022129B CN201610326717.4A CN201610326717A CN106022129B CN 106022129 B CN106022129 B CN 106022129B CN 201610326717 A CN201610326717 A CN 201610326717A CN 106022129 B CN106022129 B CN 106022129B
Authority
CN
China
Prior art keywords
data characteristics
file
alarm
data
detecting
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
Application number
CN201610326717.4A
Other languages
English (en)
Other versions
CN106022129A (zh
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.)
BEIJING JIANGMIN XINKE TECHNOLOGY Co Ltd
Original Assignee
BEIJING JIANGMIN XINKE TECHNOLOGY 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 BEIJING JIANGMIN XINKE TECHNOLOGY Co Ltd filed Critical BEIJING JIANGMIN XINKE TECHNOLOGY Co Ltd
Priority to CN201610326717.4A priority Critical patent/CN106022129B/zh
Publication of CN106022129A publication Critical patent/CN106022129A/zh
Application granted granted Critical
Publication of CN106022129B publication Critical patent/CN106022129B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种文件的数据特征提取方法、装置及病毒特征检测系统。其中,该文件的数据特征提取方法包括:接收属于同一会话的多个流数据,并迭代提取多个流数据的数据特征;汇总多个流数据中属于同一文件的全部流数据的数据特征,得到包含同一文件的至少一个文件的数据特征。通过本发明,解决了相关技术中进行文件的特征提取需要还原流数据导致的效率低、占用资源高的问题,提高了文件的特征提取效率,降低了文件的特征提取的资源占用。

Description

文件的数据特征提取方法、装置及病毒特征检测系统
技术领域
本发明涉及病毒检测领域,具体而言,涉及一种文件的数据特征提取方法、装置,以及病毒特征检测方法、系统。
背景技术
随着网络的普及,以及安全形式的多样化,安全防范形式也趋于复杂化和集成化,而反病毒软件,也更多的被作为一个安全模块,集成在一个大的安全硬件平台之中。例如防病毒网关、UTM、网闸、防火墙、IPS等设备产品。由于网关的硬件安全设备加入融合反病毒模块后,对设备的性能、资源占用、带宽处理要求都极高。
第一代是应用于网关的全文件特征的病毒检测引擎。
传统的防病毒网关、UTM、网闸、防火墙、IPS产品与反病毒引擎的结合具有很大的局限性,因为引擎对文件的检测,需要针对完整的文件,而作为防病毒网关、UTM、网闸、防火墙、IPS产品,如果要使用传统的反病毒引擎,则网关产品必须要额外增加一份数据流重组还原的工作,即需要网关产品将流过网关的数据先还原出原始文件,然后将原始文件交给引擎检测,最后根据检测结果来对数据进行放行或者阻断处理。这里就出现了几个很严重的问题:
第一、网关产品需要额外做一个数据流重组还原的操作,这部分会占用系统非常大的资源,包括CPU和内存,甚至远超了网关产品自身所需资源。
第二、在并发会话多、且长链接较多时候,对内存的占用很惊人,成井喷状增长,导致资源耗尽或卡死。一般应对方法是限制并发会话个数,但是限制并发会话个数就会导致网关产品的并发处理能力无法提升,外在的表现就是:网络数据包丢包率和重传率大大增加,网络速度缓慢。
第三、网关为产品和引擎的同步,也可能会存在延迟,而且引擎自身的检测耗时会直接影响到网络传输速度。
这是与网关类产品结合的第一代病毒检测引擎,国内的反病毒厂商,目前还有大部分是采用这种方式的。
第二代是应用于网关的流特征病毒检测引擎。
由于第一代的引擎与网关结合存在巨大的缺陷,国内极少数的反病毒厂商开始尝试减小缺陷带来的副作用,于是就出现了第二代应用于防病毒网关、UTM、网闸、防火墙、IPS产品的病毒检测引擎。
第二代引擎的根本出发点是减小数据还原时候占用的内存,提高会话并发性能。其根本的实现原理是:将病毒的特征提取位置限定在文件的首部片段内,例如有一个10MB的样本,提取特征时候,将特征位置限定在样本的前面5MB之内,那么在还原数据流的时候,就可以只还原5MB数据,从而可以达到节省内存的目的,节省出来的内存可以用来处理更多的会话。
第二代引擎在一定范围内,减小了缺陷带来的副作用,但是,同时又会带来一些潜在的隐患,而且这些隐患不可解决。
首先,假设每个会话至少需要5MB内存做数据还原,那么并发一百个链接时候,就需要500MB内存,如果并发一千个会话,就需要5GB的内存,这对网关类产品本身资源的占用,依然是很不合理,很难接收。
其次,病毒程序中的恶意代码位置,可能存在与文件的任何一个地方,并非都位于样本前面一段,所以提取特征时将特征限制在文件的前面一段,会导致提取的特征并非关键信息,质量很低下,误报率大量增加。
发明内容
本发明提供了一种文件的数据特征提取方法、装置,以及病毒特征检测方法、系统,以至少解决相关技术中进行文件的特征提取需要还原流数据导致的效率低、占用资源高的问题。
根据本发明的一个方面,提供了一种文件的数据特征提取方法,包括:接收属于同一会话的多个流数据,并迭代提取所述多个流数据的数据特征;汇总所述多个流数据中属于同一文件的全部流数据的数据特征,得到包含所述同一文件的至少一个文件的数据特征。
可选地,所述文件的数据特征提取方法通过为同一会话单独分配的检测引擎执行。
可选地,在接收属于所述同一会话的所述多个流数据之前,所述方法还包括:调用所述检测引擎的初始化接口,以使所述检测引擎初始化。
可选地,迭代提取所述多个流数据的数据特征包括:调用所述检测引擎的迭代特征初始化接口,以使所述检测引擎初始化所存储的数据特征;每当收到所述多个流数据中的一个流数据,则调用所述检测引擎的迭代生成多点特征接口,以使所述检测引擎提取并存储该流数据的数据特征。
可选地,汇总所述多个流数据中属于同一文件的全部流数据的数据特征,得到包含所述同一文件的至少一个文件的数据特征包括:在属于同一文件的全部流数据的数据特征都迭代提取完毕之后,调用所述检测引擎的迭代特征汇总接口,以使所述检测引擎汇总所述多个流数据中属于所述同一文件的全部流数据的数据特征,得到包含所述同一文件的至少一个文件的数据特征。
可选地,在汇总所述多个流数据中属于同一文件的全部流数据的数据特征,得到包含所述同一文件的至少一个文件的数据特征之后,所述方法还包括:将所述同一文件的数据特征与预设的病毒库进行特征匹配;在确定特征匹配的情况下,返回所述同一文件携带的病毒信息。
可选地,在所述文件的数据特征提取方法通过分配给所述同一会话的检测引擎执行的情况下,将所述同一文件的数据特征与预设的病毒库进行特征匹配;在确定特征匹配的情况下,返回所述同一文件携带的病毒信息包括:调用所述检测引擎的特征检测接口,以使所述检测引擎将所述同一文件的数据特征与预设的病毒库进行特征匹配,并在确定特征匹配的情况下,返回所述同一文件携带的病毒信息。
可选地,在完成所述同一会话中全部文件的数据特征与预设的病毒库的特征匹配之后,所述方法还包括:调用所述检测引擎的引擎释放接口,以使所述检测引擎释放占用的资源。
根据本发明的另一个方面,还提供了一种文件的数据特征提取装置,包括:迭代模块,用于接收属于同一会话的多个流数据,并迭代提取所述多个流数据的数据特征;汇总模块,用于汇总所述多个流数据中属于同一文件的全部流数据的数据特征,得到包含所述同一文件的至少一个文件的数据特征。
可选地,所述装置还包括:匹配模块,用于将所述同一文件的数据特征与预设的病毒库进行特征匹配;返回模块,用于在确定特征匹配的情况下,返回所述同一文件携带的病毒信息。
根据本发明的另一个方面,还提供了一种病毒特征检测系统,包括:为同一会话单独分配的检测引擎,其中,所述检测引擎包括:初始化接口,用于初始化所述检测引擎;迭代特征初始化接口,用于初始化所述检测引擎所存储的数据特征;迭代生成多点特征接口,用于接收属于同一会话的多个流数据,提取并存储接收到的流数据的数据特征;迭代特征汇总接口,用于在所述多个流数据中属于同一文件的全部流数据的数据特征都迭代提取完毕之后,汇总属于所述同一文件的全部流数据的数据特征,得到包含所述同一文件的至少一个文件的数据特征;特征检测接口,用于将所述同一文件的数据特征与预设的病毒库进行特征匹配,并在确定特征匹配的情况下,返回所述同一文件携带的病毒信息;引擎释放接口,用于在完成所述同一会话中全部文件的数据特征与预设的病毒库的特征匹配之后,释放所述检测引擎占用的资源。
根据本发明的另一个方面,还提供了一种病毒特征检测方法,包括:初始化为同一会话单独分配的检测引擎;初始化所述检测引擎所存储的数据特征;接收属于同一会话的多个流数据,提取并存储接收到的流数据的数据特征;在所述多个流数据中属于同一文件的全部流数据的数据特征都迭代提取完毕之后,汇总属于所述同一文件的全部流数据的数据特征,得到包含所述同一文件的至少一个文件的数据特征;将所述同一文件的数据特征与预设的病毒库进行特征匹配,并在确定特征匹配的情况下,返回所述同一文件携带的病毒信息;在完成所述同一会话中全部文件的数据特征与预设的病毒库的特征匹配之后,释放所述检测引擎占用的资源。
通过本发明,采用接收属于同一会话的多个流数据,并迭代提取多个流数据的数据特征;汇总多个流数据中属于同一文件的全部流数据的数据特征,得到包含同一文件的至少一个文件的数据特征的方式,解决了相关技术中进行文件的特征提取需要还原流数据导致的效率低、占用资源高的问题,提高了文件的特征提取效率,降低了文件的特征提取的资源占用。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的文件的数据特征提取方法的流程图;
图2是根据本发明实施例的文件的数据特征提取装置的结构框图;
图3是根据本发明实施例的病毒特征检测方法的流程图;
图4是根据相关技术的低并发检测引擎的工作示意图;
图5是根据本发明优选实施例的Linux流迭代嵌入式病毒检测引擎并发处理的工作示意图;
图6是根据相关技术的需要对流数据还原和缓存的流数据处理示意图;
图7是根据本发明优选实施例的Linux流迭代嵌入式病毒检测引擎无缓存的流数据处理示意图;
图8是根据相关技术的检测引擎需进行数据还原的流数据处理的示意图;
图9是根据本发明优选实施例的Linux流迭代嵌入式病毒检测引擎的流数据迭代处理的示意图;
图10是根据本发明优选实施例的Linux流迭代嵌入式病毒检测引擎的工作流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在本实施例中提供了一种文件的数据特征提取方法,图1是根据本发明实施例的文件的数据特征提取方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,接收属于同一会话的多个流数据,并迭代提取多个流数据的数据特征;
步骤S102,汇总多个流数据中属于同一文件的全部流数据的数据特征,得到包含同一文件的至少一个文件的数据特征。
在上述步骤中,分别对属于同一会话的流数据迭代提取数据特征,并将其中属于同一文件的全部流数据的数据特征进行汇总,从而得到完整文件的数据特征。一方面,单一的流数据的数据特征提取过程不需要进行数据还原,因此,节省了数据还原需要的缓存占用和内存开销;另一方面,对于同一个文件的全部流数据的数据特征最终进行汇总,相当于得到了整个文件的数据特征,避免了仅还原并获取部分文件的数据特征所导致的数据特征漏检、病毒特征漏报的问题。可见,通过上述步骤,解决了相关技术中进行文件的特征提取需要还原流数据导致的效率低、占用资源高的问题,提高了文件的特征提取效率,降低了文件的特征提取的资源占用。
可选地,上述的文件的数据特征提取方法通过为同一会话单独分配的检测引擎执行。即对于每一个会话(或者进程)分别创建或者分配一个检测引擎,并发运行的引擎数量由会话数或者进程数确定。
上述的检测引擎可以预留多种功能接口,这样,就可以将检测引擎嵌入各种其他的软件中,其他的软件通过这些功能接口对检测引擎进行调用。
可选地,在上述方法应用于检测引擎中时,在接收属于同一会话的多个流数据之前,可以调用检测引擎的初始化接口,以使检测引擎初始化。
可选地,在上述方法应用于检测引擎中时,在步骤S101中迭代提取多个流数据的数据特征时,可以调用检测引擎的迭代特征初始化接口,以使检测引擎初始化所存储的数据特征;每当收到多个流数据中的一个流数据,则调用检测引擎的迭代生成多点特征接口,以使检测引擎提取并存储该流数据的数据特征。
可选地,在上述方法应用于检测引擎中时,在步骤S102中,可以在属于同一文件的全部流数据的数据特征都迭代提取完毕之后,调用检测引擎的迭代特征汇总接口,以使检测引擎汇总多个流数据中属于同一文件的全部流数据的数据特征,得到包含同一文件的至少一个文件的数据特征。
可选地,在步骤S102之后,为了实现病毒检测,可以将同一文件的数据特征与预设的病毒库进行特征匹配;在确定特征匹配的情况下,返回同一文件携带的病毒信息。其中,为了保证预设的病毒库为最新病毒库,在检测引擎初始化之后,检测引擎可以获取最新的病毒库版本信息。通过该方式,实现了文件病毒的检测功能。
可选地,在上述方法应用于检测引擎中时,在文件的数据特征提取方法通过分配给同一会话的检测引擎执行的情况下,将同一文件的数据特征与预设的病毒库进行特征匹配;在确定特征匹配的情况下,返回同一文件携带的病毒信息的情况下,可以调用检测引擎的特征检测接口,以使检测引擎将同一文件的数据特征与预设的病毒库进行特征匹配,并在确定特征匹配的情况下,返回同一文件携带的病毒信息。
可选地,在上述方法应用于检测引擎中时,在完成同一会话中全部文件的数据特征与预设的病毒库的特征匹配之后,可以调用检测引擎的引擎释放接口,以使检测引擎释放占用的资源。通过该方式实现了检测引擎的资源释放。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种文件的数据特征提取装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2是根据本发明实施例的文件的数据特征提取装置的结构框图,如图2所示,该装置包括:迭代模块21,用于接收属于同一会话的多个流数据,并迭代提取多个流数据的数据特征;汇总模块22,耦合至迭代模块21,用于汇总多个流数据中属于同一文件的全部流数据的数据特征,得到包含同一文件的至少一个文件的数据特征。
可选地,装置还包括:匹配模块23,耦合至汇总模块22,用于将同一文件的数据特征与预设的病毒库进行特征匹配;返回模块,用于在确定特征匹配的情况下,返回同一文件携带的病毒信息。
上述实施例给出了文件的数据特征提取装置的内部结构示意,并对各个内部模块的功能进行了描述。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。
在本实施例中还提供了一种病毒特征检测系统,包括:一个或者多个检测引擎,这些检测引擎分别为同一会话单独分配的检测引擎。
其中,检测引擎的内部结构与上述的文件的数据特征提取装置的内部结构相当。为了能够让检测引擎能够嵌入到其他的软件中,在检测引擎外部预先设置了多种功能接口,这些功能接口包括但不限于:初始化接口、迭代特征初始化接口、迭代生成多点特征接口、迭代特征汇总接口、特征检测接口、引擎释放接口等。这些功能接口与检测引擎内部的模块连接,用于在接收外部指令的调用时,使用相应的模块完成对应的功能。
例如,初始化接口,用于初始化检测引擎;迭代特征初始化接口,用于初始化检测引擎所存储的数据特征;迭代生成多点特征接口,用于接收属于同一会话的多个流数据,提取并存储接收到的流数据的数据特征;迭代特征汇总接口,用于在多个流数据中属于同一文件的全部流数据的数据特征都迭代提取完毕之后,汇总属于同一文件的全部流数据的数据特征,得到包含同一文件的至少一个文件的数据特征;特征检测接口,用于将同一文件的数据特征与预设的病毒库进行特征匹配,并在确定特征匹配的情况下,返回同一文件携带的病毒信息;引擎释放接口,用于在完成同一会话中全部文件的数据特征与预设的病毒库的特征匹配之后,释放检测引擎占用的资源。
在本实施例中还提供了一种病毒特征检测方法。图3是根据本发明实施例的病毒特征检测方法的流程图,如图3所示,该流程包括如下步骤:
步骤S301,初始化为同一会话单独分配的检测引擎;
步骤S302,初始化检测引擎所存储的数据特征;
步骤S303,接收属于同一会话的多个流数据,提取并存储接收到的流数据的数据特征;
步骤S304,在多个流数据中属于同一文件的全部流数据的数据特征都迭代提取完毕之后,汇总属于同一文件的全部流数据的数据特征,得到包含同一文件的至少一个文件的数据特征;
步骤S305,将同一文件的数据特征与预设的病毒库进行特征匹配,并在确定特征匹配的情况下,返回同一文件携带的病毒信息;
步骤S306,在完成同一会话中全部文件的数据特征与预设的病毒库的特征匹配之后,释放检测引擎占用的资源。
通过上述步骤,实现了病毒检测;并且,在病毒检测过程中,检测引擎的检测效率高,占用资源开销少,病毒检出率高。
本实施例还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。
本实施例还提供了一种存储介质。在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
步骤S101,接收属于同一会话的多个流数据,并迭代提取多个流数据的数据特征;
步骤S102,汇总多个流数据中属于同一文件的全部流数据的数据特征,得到包含同一文件的至少一个文件的数据特征。
本实施例还提供了一种存储介质。在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
步骤S301,初始化为同一会话单独分配的检测引擎;
步骤S302,初始化检测引擎所存储的数据特征;
步骤S303,接收属于同一会话的多个流数据,提取并存储接收到的流数据的数据特征;
步骤S304,在多个流数据中属于同一文件的全部流数据的数据特征都迭代提取完毕之后,汇总属于同一文件的全部流数据的数据特征,得到包含同一文件的至少一个文件的数据特征;
步骤S305,将同一文件的数据特征与预设的病毒库进行特征匹配,并在确定特征匹配的情况下,返回同一文件携带的病毒信息;
步骤S306,在完成同一会话中全部文件的数据特征与预设的病毒库的特征匹配之后,释放检测引擎占用的资源。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
为了使本发明实施例的描述更加清楚,下面结合优选实施例进行描述和说明。
本发明优选实施例将上述的文件的数据特征提取方法应用在Linux系统的病毒检测技术中,在本优选实施例中将以Linux系统的病毒检测为例进行描述和说明。
本优选实施例提供了一种Linux流迭代嵌入式病毒检测引擎和检测方法,其目的是至少达到以下效果之一:避免做数据会话还原;避免大内存来存储会话;高并发,支持同时创建上千个引擎;高效率,检测效率高;精确率高,可以对已知病毒精确定位,无误报。
本优选实施例实现高并发
病毒检测引擎是否能支持并发,直接关系到网关类产品的性能。如果十个会话只能使用两个引擎进行轮询扫描,那么同一时间必然会有八个会话处于等待状态,同时还需要处理资源竞争和同步。这就造成了堵塞,性能瓶颈卡在了引擎检测。图4是根据相关技术的低并发检测引擎的工作示意图,如图4所示,相关技术中的检测引擎限制了最大并发的引擎数量,并发性能不高的检测引擎在处理会话时多个会话需要排队等待处理,增加了检测的时延,检测效率低。
假如可以创建十个引擎,每个引擎独自处理一个会话,那么就不存在资源竞争,也不会有会话处于等待状态。从而提升整体性能,这就是引擎支持并发的必要性。
图5是根据本发明优选实施例的Linux流迭代嵌入式病毒检测引擎并发处理的工作示意图,如图5所示,本优选实施例中提供的Linux流迭代嵌入式病毒检测引擎提升了对并发数量的支持,无论是在多线程环境,还是在多进程环境中,都可以创建多个引擎,来检测病毒。例如用户在自己的设备中创建了一百个线程,每个线程中都创建一个独立的引擎,用来处理不同的会话。需要说明的是,在本发明优选实施例中Linux流迭代嵌入式病毒检测引擎的实际并发支持并不限于一百,并发数可以多于一千。
本优选实施例实现无缓存
使用本发明优选实施例提供的Linux流迭代嵌入式病毒检测引擎,进行样本检测时候,不需要对流数据进行还原和缓存,故不需要大量的内存空间,也不会消耗过多的CPU资源。图6是根据相关技术的需要对流数据还原和缓存的流数据处理示意图,如图6所示,传统引擎需要缓存,中间阴影部分为需要缓存会话占用的内存空间。
图7是根据本发明优选实施例的Linux流迭代嵌入式病毒检测引擎无缓存的流数据处理示意图,如图7所示,Linux流迭代嵌入式病毒检测引擎不需要缓存,去掉了缓存部分,减少了内存占用。
本优选实施例实现流迭代
流迭代,是针对网关类产品开发出的针对性接口,即用户可以使用提供的接口,对流数据进行迭代检测。
图8是根据相关技术的检测引擎需进行数据还原的流数据处理的示意图,如图8所示,第一代和第二代应用在网关的引擎,都是需要等待数据还原完成或者还原到一定大小之后,才可以使用引擎检测,所以必须得缓存会话。
图9是根据本发明优选实施例的Linux流迭代嵌入式病毒检测引擎的流数据迭代处理的示意图,如图9所示,Linux流迭代嵌入式病毒检测引擎可以对每个数据流段进行检测,对检测的多点特征结果进行迭代,得到最终的检测结果。
本优选实施例实现零误报
在本优选实施例中,误报率的控制通过多个方面综合防范,可以达到了无限接近零误报(概率小于百万分之一)。
样本收集和特征提取环节,有多个质量把控环节来保证提取的样本特征质量,包括多道自动化及人工处理工序,来降低误报率。
白名单的处理环节,有收集主流的操作系统,应用软件等白名单,在病毒库出库前会用最新病毒库对白名单文件进行扫描,从而杜绝系统文件,应用软件等被误报。
尤其是,本发明优选实施例提供的Linux流迭代嵌入式病毒检测引擎的设计,是针对全文件的检测,会对流数据的每一个片段进行详细分析,最终确定结果。而第二代引擎,只是对文件的前半部进行检测,对文件的后半部不做鉴定,故此对于恶意代码位于文件后半部的样本检测会存在漏报,而对相同前半部但不同后半部的正常样本则存在误报。
Linux流迭代嵌入式病毒检测引擎通过多个环节可以达到远超第一代和第二代的检测精准度,将误报率降到最低。
本优选实施例实现多平台支持
本优选实施例提供的Linux流迭代嵌入式病毒检测引擎是一款定制型引擎,在引擎设计时候,充分考虑到了国内各种网关类产品所使用的硬件平台差异,让引擎的实现可以支持多种平台,具有更大的通用性,适应信息安全产品国产化的大趋势。
本优选实施例提供的Linux流迭代嵌入式病毒检测引擎支持的平台包括但不限于:x86架构(包括英特尔、AMD等市面流行的常见芯片及架构)、龙芯MIPS架构(支持国产龙芯MIPS架构,龙芯3A等芯片)、飞腾ARM架构(支持飞腾ARM64架构,FT1500A等芯片)、申威平台架构等。另外,引擎能支持的平台,不仅仅限于以上平台,其他更多的平台也可以适应,只是需要进行适配或者二次开发。
本优选实施例嵌入开发易用
本发明优选实施例提供的Linux流迭代嵌入式病毒检测引擎最终可以提供给第三方嵌入使用,所以接口应该尽量简单清晰,以方便第三方使用。
很多引擎接口功能繁多,操作复杂,导致使用过程中出现各种问题,而本发明优选实施例的Linux流迭代嵌入式病毒检测引擎提供给第三方的接口,非常简易,因为将很多复杂的操作都在后台实现了,用户可以很方便的将引擎嵌入到自己的产品中。
引擎的接口包括但不限于:初始化引擎接口、释放引擎接口、获取病毒库版本接口、特征初始化接口、特征迭代接口、汇总多点特征接口、检测特征接口。
这些接口的功能如下:
引擎初始化接口
引擎在使用之前,需要先调用初始化函数,为了提高效率,引擎内部无锁,每个引擎句柄都是独立工作,多线程情况下,使用者可以在每个线程中创建一个引擎,各个引擎互不影响。
引擎释放接口
在使用完引擎之后需要调用引擎释放接口,以释放引擎占用的内存和其他资源。
获取病毒库版本接口
在引擎初始化之后,可以获取引擎使用的病毒库版本,病毒库版本是以日期的格式表示,例如:"2015-07-23 15:30:30"。
迭代特征初始化接口
在使用引擎对一个新的流会话进行检测时候,需要先调用迭代特征初始化接口,用来初始化迭代的特征,并且可以指定文件检测的最大长度,当文件长度超过设置的最大长度时,引擎会忽略检测此类文件。
迭代多点特征接口
迭代生成多点特征接口,是在迭代特征初始化完成之后需要调用的,每次收到一段流数据时候,都要调用此接口来生成一个当前流数据块的多点特征。
迭代特征汇总接口
迭代特征汇总,是在一个会话的流传输完毕后使用,调用此接口,可以对之前生成的多个流数据块的多点特征进行汇总,最终得到一个综合的特征权值。该特征权值是针对这一个完整的流会话的,用这个特征权值,就可以在江民的病毒库中进行特征匹配,检测传输的流数据是否安全。
特征检测接口
特征检测接口,是在完成迭代特征汇总之后,调用,使用这个接口可以检测最终生成的特征权值是否安全,如果不安全,则会返回病毒名信息。
图10是根据本发明优选实施例的Linux流迭代嵌入式病毒检测引擎的工作流程图,如图10所示,流程包括如下步骤:
步骤1,打开包含接口头文件。
步骤2,打开接口动态库,并导出动态库中的接口函数。
步骤3,调用初始化接口初始化引擎。
步骤4,调用获取版本接口取得版本信息。
步骤5,调用迭代特征初始化接口。
步骤6,对流数据进行多次特征迭代调用。
步骤7,调用迭代特征汇总接口,对多个迭代特征进行汇总。
步骤8,调用特征检测接口进行检测。
步骤9,释放引擎。
由上述描述可知,本发明优选实施例提供的Linux流迭代嵌入式病毒检测引擎具有下列优点:1、无缓存,不需要做会话还原。2、流迭代,支持迭代生成特征。3、高并发,支持创建多个引擎,同时检测。4、多平台,支持多个平台。
综上所述,本发明提供的检测引擎是针对网关类产品开发的定制型引擎,有很强的针对性。从对该检测引擎的性能测试的结果来看,检测的瓶颈主要存在于系统磁盘IO,以及内存的读写速度上,这部分受限与系统硬件。CPU的消耗,主要集中在对流数据的迭代部分,而病毒特征的监测速度大于每秒钟1万条,同时多线程多并发的支持非常好。以上性能已经能够满足网关类产品的各项需求,适合网类产品集成流迭代引擎。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种文件的数据特征提取方法,其特征在于,所述方法通过为同一会话单独分配的检测引擎执行,包括:
接收属于同一会话的多个流数据,并迭代提取所述多个流数据的数据特征;
汇总所述多个流数据中属于同一文件的全部流数据的数据特征,得到包含所述同一文件的至少一个文件的数据特征;
其中,迭代提取所述多个流数据的数据特征包括:
调用所述检测引擎的迭代特征初始化接口,以使所述检测引擎初始化所存储的数据特征;
每当收到所述多个流数据中的一个流数据,则调用所述检测引擎的迭代生成多点特征接口,以使所述检测引擎提取并存储该流数据的数据特征。
2.根据权利要求1所述的方法,其特征在于,在接收属于所述同一会话的所述多个流数据之前,所述方法还包括:
调用所述检测引擎的初始化接口,以使所述检测引擎初始化。
3.根据权利要求1所述的方法,其特征在于,汇总所述多个流数据中属于同一文件的全部流数据的数据特征,得到包含所述同一文件的至少一个文件的数据特征包括:
在属于同一文件的全部流数据的数据特征都迭代提取完毕之后,调用所述检测引擎的迭代特征汇总接口,以使所述检测引擎汇总所述多个流数据中属于所述同一文件的全部流数据的数据特征,得到包含所述同一文件的至少一个文件的数据特征。
4.根据权利要求1所述的方法,其特征在于,在汇总所述多个流数据中属于同一文件的全部流数据的数据特征,得到包含所述同一文件的至少一个文件的数据特征之后,所述方法还包括:
将所述同一文件的数据特征与预设的病毒库进行特征匹配;
在确定特征匹配的情况下,返回所述同一文件携带的病毒信息。
5.根据权利要求4所述的方法,其特征在于,在所述文件的数据特征提取方法通过分配给所述同一会话的检测引擎执行的情况下,将所述同一文件的数据特征与预设的病毒库进行特征匹配;在确定特征匹配的情况下,返回所述同一文件携带的病毒信息包括:
调用所述检测引擎的特征检测接口,以使所述检测引擎将所述同一文件的数据特征与预设的病毒库进行特征匹配,并在确定特征匹配的情况下,返回所述同一文件携带的病毒信息。
6.根据权利要求5所述的方法,其特征在于,在完成所述同一会话中全部文件的数据特征与预设的病毒库的特征匹配之后,所述方法还包括:
调用所述检测引擎的引擎释放接口,以使所述检测引擎释放占用的资源。
7.一种文件的数据特征提取装置,应用于为同一会话单独分配的检测引擎,其特征在于包括:
迭代模块,用于接收属于同一会话的多个流数据,并迭代提取所述多个流数据的数据特征,其中,迭代提取所述多个流数据的数据特征包括:调用所述检测引擎的迭代特征初始化接口,以使所述检测引擎初始化所存储的数据特征;每当收到所述多个流数据中的一个流数据,则调用所述检测引擎的迭代生成多点特征接口,以使所述检测引擎提取并存储该流数据的数据特征;
汇总模块,用于汇总所述多个流数据中属于同一文件的全部流数据的数据特征,得到包含所述同一文件的至少一个文件的数据特征。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
匹配模块,用于将所述同一文件的数据特征与预设的病毒库进行特征匹配;
返回模块,用于在确定特征匹配的情况下,返回所述同一文件携带的病毒信息。
9.一种病毒特征检测系统,其特征在于包括:为同一会话单独分配的检测引擎,
其中,所述检测引擎包括:
初始化接口,用于初始化所述检测引擎;
迭代特征初始化接口,用于初始化所述检测引擎所存储的数据特征;
迭代生成多点特征接口,用于接收属于同一会话的多个流数据,提取并存储接收到的流数据的数据特征;
迭代特征汇总接口,用于在所述多个流数据中属于同一文件的全部流数据的数据特征都迭代提取完毕之后,汇总属于所述同一文件的全部流数据的数据特征,得到包含所述同一文件的至少一个文件的数据特征;
特征检测接口,用于将所述同一文件的数据特征与预设的病毒库进行特征匹配,并在确定特征匹配的情况下,返回所述同一文件携带的病毒信息;
引擎释放接口,用于在完成所述同一会话中全部文件的数据特征与预设的病毒库的特征匹配之后,释放所述检测引擎占用的资源。
10.一种病毒特征检测方法,其特征在于包括:
初始化为同一会话单独分配的检测引擎;
初始化所述检测引擎所存储的数据特征;
接收属于同一会话的多个流数据,提取并存储接收到的流数据的数据特征;
在所述多个流数据中属于同一文件的全部流数据的数据特征都迭代提取完毕之后,汇总属于所述同一文件的全部流数据的数据特征,得到包含所述同一文件的至少一个文件的数据特征;
将所述同一文件的数据特征与预设的病毒库进行特征匹配,并在确定特征匹配的情况下,返回所述同一文件携带的病毒信息;
在完成所述同一会话中全部文件的数据特征与预设的病毒库的特征匹配之后,释放所述检测引擎占用的资源。
CN201610326717.4A 2016-05-17 2016-05-17 文件的数据特征提取方法、装置及病毒特征检测系统 Active CN106022129B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610326717.4A CN106022129B (zh) 2016-05-17 2016-05-17 文件的数据特征提取方法、装置及病毒特征检测系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610326717.4A CN106022129B (zh) 2016-05-17 2016-05-17 文件的数据特征提取方法、装置及病毒特征检测系统

Publications (2)

Publication Number Publication Date
CN106022129A CN106022129A (zh) 2016-10-12
CN106022129B true CN106022129B (zh) 2019-02-15

Family

ID=57097363

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610326717.4A Active CN106022129B (zh) 2016-05-17 2016-05-17 文件的数据特征提取方法、装置及病毒特征检测系统

Country Status (1)

Country Link
CN (1) CN106022129B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113507433B (zh) * 2021-05-27 2023-04-07 新华三信息安全技术有限公司 一种数据检测方法及防火墙设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1838136A (zh) * 2006-04-24 2006-09-27 南京树声科技有限公司 在计算机存储设备上查找有害程序的方法
CN102223267A (zh) * 2011-06-17 2011-10-19 北京电子科技学院 一种ids的检测方法及检测设备
CN102811162A (zh) * 2011-06-03 2012-12-05 弗卢克公司 用于有效率的网络流数据分析的方法和装置
CN103501302A (zh) * 2013-10-12 2014-01-08 沈阳航空航天大学 一种蠕虫特征自动提取的方法及系统
CN103929336A (zh) * 2013-01-16 2014-07-16 余振华 一种高速数据提取及线速分析方法
CN104008332A (zh) * 2014-04-30 2014-08-27 浪潮电子信息产业股份有限公司 一种基于Android平台的入侵检测系统
CN104753952A (zh) * 2015-04-13 2015-07-01 成都双奥阳科技有限公司 基于虚拟机业务数据流的入侵检测分析系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL2007180C2 (en) * 2011-07-26 2013-01-29 Security Matters B V Method and system for classifying a protocol message in a data communication network.

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1838136A (zh) * 2006-04-24 2006-09-27 南京树声科技有限公司 在计算机存储设备上查找有害程序的方法
CN102811162A (zh) * 2011-06-03 2012-12-05 弗卢克公司 用于有效率的网络流数据分析的方法和装置
CN102223267A (zh) * 2011-06-17 2011-10-19 北京电子科技学院 一种ids的检测方法及检测设备
CN103929336A (zh) * 2013-01-16 2014-07-16 余振华 一种高速数据提取及线速分析方法
CN103501302A (zh) * 2013-10-12 2014-01-08 沈阳航空航天大学 一种蠕虫特征自动提取的方法及系统
CN104008332A (zh) * 2014-04-30 2014-08-27 浪潮电子信息产业股份有限公司 一种基于Android平台的入侵检测系统
CN104753952A (zh) * 2015-04-13 2015-07-01 成都双奥阳科技有限公司 基于虚拟机业务数据流的入侵检测分析系统

Also Published As

Publication number Publication date
CN106022129A (zh) 2016-10-12

Similar Documents

Publication Publication Date Title
EP2868045B1 (en) A method of and network server for detecting data patterns in an input data stream
KR101662685B1 (ko) 심층 패킷 검사 방법 및 기기, 그리고 코프로세서
US8724633B2 (en) Internet real-time deep packet inspection and control device and method
CN104219316B (zh) 一种分布式系统中的调用请求处理方法及装置
CN105117645B (zh) 基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法
US20150347305A1 (en) Method and apparatus for outputting log information
JP6861720B2 (ja) Fixプロトコルに基づくサービス実施方法、装置、及びシステム
CN109918907A (zh) Linux平台进程内存恶意代码取证方法、控制器及介质
CN108965239A (zh) 加速网络安全监控
TW200541260A (en) System security approach methods using state tables, related computer-readable medium, and related systems
CN107040405B (zh) 网络环境下被动式多维度主机指纹模型构建方法及其装置
CN106027528B (zh) 一种web水平权限自动化识别的方法及装置
CN108183893A (zh) 一种分片包检测方法、检测装置、存储介质和电子设备
US9612934B2 (en) Network processor with distributed trace buffers
CN103491025B (zh) 一种应用流量识别的方法及装置
CN108809748A (zh) 网络审计数据采集方法及相应装置、设备和存储介质
CN108255716A (zh) 一种基于云计算技术的软件测评方法
CN110505228A (zh) 基于边缘云架构的大数据处理方法、系统、介质及装置
CN106934031A (zh) 实时处理系统中热点记录的监测和处理方法及装置
CN107644161A (zh) 样本的安全测试方法、装置和设备
CN106022129B (zh) 文件的数据特征提取方法、装置及病毒特征检测系统
Haagdorens et al. Improving the performance of signature-based network intrusion detection sensors by multi-threading
CN104735048B (zh) 一种游戏中发布信息的监控方法和装置
CN108898012A (zh) 检测非法程序的方法和装置
CN106464513A (zh) 用于抑制恶意调用的系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant