CN114332700A - 一种网络病毒分类方法、装置、电子设备及存储介质 - Google Patents
一种网络病毒分类方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114332700A CN114332700A CN202111601426.9A CN202111601426A CN114332700A CN 114332700 A CN114332700 A CN 114332700A CN 202111601426 A CN202111601426 A CN 202111601426A CN 114332700 A CN114332700 A CN 114332700A
- Authority
- CN
- China
- Prior art keywords
- video frame
- virus
- network
- characteristic
- video
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及一种网络病毒分类方法、装置、电子设备及存储介质,所述方法包括:获取网络中的多个数据包;将所述数据包的数据以矩阵形式排列,生成视频帧;针对各所述视频帧组成的视频,确定表征网络病毒种类的第一病毒特征,所述第一病毒特征表示表征各视频帧的视频帧特征之间的相互关联信息;利用所述第一病毒特征,确定所述网络病毒的种类。本公开实施例在确定第一病毒特征时,不仅考虑了视频帧中的表征病毒种类的视频帧的特征,也综合考虑了各视频帧的特征之间的相互关联信息,提高了网络病毒分类的准确率和效率,扩大了适用范围,并且节省计算机硬件资源。
Description
技术领域
本公开涉及数据处理领域,尤其涉及一种网络病毒分类方法、装置、电子设备及存储介质。
背景技术
传统的网络病毒分析和分类算法包括静态分析方法和动态分析方法两种。
用户使用静态分析方法对网络病毒进行分析时,不需要执行网络病毒,直接对网络病毒的可执行程序进行反编译,然后对源码逐行挖掘以获得用于网络病毒分类的特征。由于源码中有些语句在实际执行中有可能并不会被执行;加之,一些网络病毒通过加密的方式使得反编译过程日益复杂,这些将导致分析过程效率低下。
动态分析方法很好的克服了静态分析方法的弊端。但是,在使用动态分析方法对网络病毒进行分析时,需要监视网络病毒程序执行进程,这将耗费大量计算机资源。而且在网络病毒程序执行期间,由于许多类型的网络病毒程序需要触发条件,才会执行恶意行为,所以不可能完全监控网络病毒的所有行为,影响了这种网络病毒分类方法的准确率和适用范围。
发明内容
有鉴于此,本公开提出了一种网络病毒分类技术方案。
根据本公开的一方面,提供了一种网络病毒分类方法,包括:
获取网络中的多个数据包;
将所述数据包的数据以矩阵形式排列,生成视频帧;
针对各所述视频帧组成的视频,确定表征网络病毒种类的第一病毒特征,所述第一病毒特征表示表征各视频帧的视频帧特征之间的相互关联信息;
利用所述第一病毒特征,确定所述网络病毒的种类。
在一种可能的实现方式中,所述针对各所述视频帧组成的视频,确定表征网络病毒种类的第一病毒特征,包括:
将各所述视频帧按照对应的数据包的时间顺序进行排列,生成所述视频;
利用当前视频帧的视频帧特征、当前视频帧的前一视频帧的第二病毒特征,确定所述当前视频帧的第二病毒特征,所述前一视频帧的第二病毒特征表示所述前一视频帧之前的视频帧的视频帧特征之间的相互关联信息;
将所述视频最后一视频帧的第二病毒特征作为所述第一病毒特征。
在一种可能的实现方式中,所述利用当前视频帧的视频帧特征、当前视频帧的前一视频帧的第二病毒特征,确定所述当前视频帧的第二病毒特征,包括:
将所述当前视频帧的视频帧特征与所述前一视频帧的第二病毒特征合并,得到合并后的特征;
在合并后的特征中提取当前视频帧的第二病毒特征。
在一种可能的实现方式中,所述视频帧特征根据所述视频帧、所述视频帧的前一视频帧、所述视频帧的后一视频帧中、同一位置的数据经特征提取得到。
在一种可能的实现方式中,所述获取网络中的多个数据包,包括:
将所述数据包中表征物理地址、互联网协议地址的字符替换成同一预先定义的字符串。
在一种可能的实现方式中,所述获取网络中的多个数据包,包括:调整各所述数据包的字节数量,使各数据包字节数量相等。
在一种可能的实现方式中,所述针对各所述视频帧组成的视频,确定表征网络病毒种类的第一病毒特征,包括:基于网络模型,针对各所述视频帧组成的视频,确定表征网络病毒种类的第一病毒特征,所述网络模型根据多种网络病毒运行情况下获取的网络中的数据包训练得到。
根据本公开的另一方面,提供了一种网络病毒分类装置,包括:
数据包获取单元,用于获取网络中的多个数据包;
视频帧生成单元,用于将所述数据包的数据以矩阵形式排列,生成视频帧;
第一病毒特征确定单元,用于针对各所述视频帧组成的视频,确定表征网络病毒种类的第一病毒特征,所述第一病毒特征表示表征各视频帧的视频帧特征之间的相互关联信息;
网络病毒种类确定单元,用于利用所述第一病毒特征,确定所述网络病毒的种类。
在一种可能的实现方式中,所述针对各所述视频帧组成的视频,确定表征网络病毒种类的第一病毒特征,包括:
将各所述视频帧按照对应的数据包的时间顺序进行排列,生成所述视频;
利用当前视频帧的视频帧特征、当前视频帧的前一视频帧的第二病毒特征,确定所述当前视频帧的第二病毒特征,所述前一视频帧的第二病毒特征表示所述前一视频帧之前的视频帧的视频帧特征之间的相互关联信息;
将所述视频最后一视频帧的第二病毒特征作为所述第一病毒特征。
在一种可能的实现方式中,所述利用当前视频帧的视频帧特征、当前视频帧的前一视频帧的第二病毒特征,确定所述当前视频帧的第二病毒特征,包括:
将所述当前视频帧的视频帧特征与所述前一视频帧的第二病毒特征合并,得到合并后的特征;
在合并后的特征中提取当前视频帧的第二病毒特征。
在一种可能的实现方式中,所述视频帧特征根据所述视频帧、所述视频帧的前一视频帧、所述视频帧的后一视频帧中、同一位置的数据经特征提取得到。
在一种可能的实现方式中,所述获取网络中的多个数据包,包括:
将所述数据包中表征物理地址、互联网协议地址的字符替换成同一预先定义的字符串。
在一种可能的实现方式中,所述获取网络中的多个数据包,包括:调整各所述数据包的字节数量,使各数据包字节数量相等。
在一种可能的实现方式中,所述针对各所述视频帧组成的视频,确定表征网络病毒种类的第一病毒特征,包括:基于网络模型,针对各所述视频帧组成的视频,确定表征网络病毒种类的第一病毒特征,所述网络模型根据多种网络病毒运行情况下获取的网络中的数据包训练得到。
根据本公开的另一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述方法。
根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。
在本公开实施例中,通过将网络中的多个数据包转化成视频形式,从视频中提取带有表征病毒种类的第一病毒特征,该第一病毒特征中包括表征各视频帧的视频帧特征之间的相互关联信息。然后,利用第一病毒特征确定网络病毒的种类。这样,在确定第一病毒特征时,不仅考虑了视频帧中的表征病毒种类的视频帧特征,也综合考虑了各视频帧特征之间的相互关联信息,提高了网络病毒分类的准确率和效率,扩大了适用范围,并且节省计算机硬件资源。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出根据本公开一实施例的网络病毒分类方法的流程图。
图2示出根据本公开一实施例的某个数据包的数据生成视频帧的示意图。
图3示出根据本公开一实施例的网络病毒分类方法的流程图。
图4示出根据本公开一实施例的提取第二病毒特征的示意图。
图5示出根据本公开一实施例的提取各图像特征的示意图。
图6示出人工智能、机器学习、表征学习之间关系的示意图。
图7示出根据本公开一实施例的网络病毒分类方法的流程图。
图8示出根据本公开一实施例的数据预处理的流程图。
图9示出根据本公开一实施例的提取第一病毒特征的示意图。
图10示出根据本公开一实施例的网络病毒分类方法进行网络病毒分类过程中CPU的占用情况的示意图。
图11示出根据本公开一实施例的网络病毒分类方法进行网络病毒分类过程中内存的占用情况的示意图。
图12示出根据本公开一实施例的网络病毒装置的框图。
图13示出根据本公开一实施例的一种电子设备的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
随着互联网技术的高速发展,互联网已经成为社会发展不可缺少的动力。从个人生活、娱乐,到企业、政府的各种业务、工作都与互联网密切相关。
尤其,近年来物联网发展的越来越成熟,更是涵盖了家庭自动化、医药、农业、智能城市等多个领域。物联网中的各种设备都通过网络进行连接,使设备间可以传递、共享各种数据,方便了人类的生活,简化了工业生产的控制过程。
在人类对互联网越来越依赖的同时,网络病毒对互联网安全的威胁也引起人们的高度重视。
由于网络病毒在制造出来时多数都包含规避安全监测的技术,使得其不易被发现;一旦被发现的时候,可能已经大面积感染,造成不可挽回的损失。
针对上述问题,安全领域专家发现网络病毒在运行时会产生数据流量。如果可以及时对这些数据流量进行分析、识别、分类,无疑等同于对于网络病毒进行检测、识别、分类,这样便可以提早发现、查杀网络病毒,消除其在各种设备上异常行为。
那么基于此,对数据流量的分析就变得十分重要。如何在数量庞大的流量数据进行高效、准确的分析,识别出网络病毒,并对其进行分类,进而有针对性的消除网络病毒,成为互联网安全的一个重要课题。
图1示出根据本公开一实施例的网络病毒分类方法的流程图。该方法可以应用于网络病毒分类装置,网络病毒分类装置可以为终端设备、服务器或者其他处理设备等。其中,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。
在一些可能的实现方式中,该网络病毒分类方法也可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
如图1所示,在一种可能的实现方式中,该网络病毒分类方法包括:
步骤S11,获取网络中的多个数据包。
本公开实施例可以通过软件工具获取网络中的数据包,也可以直接在操作系统下输入命令行获取数据包。数据包获取的方式在本公开实施例中不做限定。数据包可以包括网络中设备之间传输的任意类型的数据包。
本公开实施例可以在网络病毒入侵率高的设备上设置虚拟系统。在其他设备与该设备进行信息交互过程中,按照预设时间段,获取数据包。例如,可以设置从设备间交互开始计时,获取3s内的数据包。
或者,在任意多台设备间获取数据包,由于设备间信息交互过程中不确定何时会有网络病毒入侵。所以,在一种可能的实现方式中,可以预设获取时间段和间隔时间段。在获取时间段内获取数据包;在间隔时间段内停止对数据包的获取。获取时间段和间隔时间段交替设置,各获取时间段的长度可以相等或不等,各间隔时间段的长度亦可相等或不等。例如,在设备开始交互阶段,获取时间段长度可以适度延长,间隔时间段可以适度缩短。在设备开始交互后的一段时间之后,这段时间可以是个预设值,可以适度延长间隔时间段长度、适度缩短获取时间段长度。本公开实施例对于数据包获取过程的时间长度和频率不做限定。
在一种可能的实现方式中,将S11步骤中获取到的数据包中表征物理地址、互联网协议地址的字符替换成同一预先定义的字符串。
本公开实施例的网络病毒分类方法,主要针对数据包的数据进行分析,数据包中所携带的物理地址、互联网协议地址可以被忽略。因此,可以使用预设的一串字符将数据包中的物理地址、或联网协议地址替换掉;使得数据表中出现物理地址、互联网协议地址的地方均以同一串字符进行占位。
在一种可能的实现方式中,检查在S11步骤中获取到的数据包,去除掉为空的数据包。并且将数据完全一致的数据包保留一个,即去掉重复的数据包。
将这些对于识别、分类准确率有影响的数据、数据内容去掉后,有利于提高后续网络病毒识别结果的准确率,也提高网络病毒分类的准确率。
步骤S12,将所述数据包的数据以矩阵形式排列,生成视频帧。
在本公开实施例中,获取到的数据包的表现形式为包头和数据。包头部分可以包括对数据包中数据的情况的记录,其内容例如:抓取的时间、数据的长度等。数据包中的数据包括设备间传递的具体数据。获取到的数据包在设备中均以二进制形式存储。所以,数据包的内容在设备中实际是一串二进制数字。将这串二进制数字以矩阵的形式进行排列,这样便以视频帧的形式将数据包加以表示。一个数据包的数据可对应一个视频帧。
图2示出某个数据包的数据生成视频帧的示意图。该数据包的数据为x1,x2,……,xp,……,xq,……,xn。图2(a)是该数据包的数据以矩阵排列的示意图。从图中可以看出,数据包的数据以从上到下、从左到右的顺序排列。图2(b)是该数据包经处理生成可视化视频帧的示意图。视频帧中各像素的灰度值Y(x1),Y(x2),……,Y(xp),……,Y(xq),……,Y(xn)与矩阵中的数据具备映射关系,该映射关系可根据需要进行设置。矩阵中数据与视频帧中像素相对应,按照数据在矩阵中的位置与像素在图像帧中的位置一一对应。从图2中可以看出x1与Y(x1),x2与Y(x2),……,xn与Y(xn)相对应。
数据包的数据可以以任一数制表现。视频帧中各像素的灰度值也可以以任一数制表现,可以是二进制、十六进制、十进制等。本公开实施例对数据包的数据、视频帧像素灰度值的表现形式不做限定。
示例性地,数据包的数据以二进制表现为:00000000,011111110,……,11111111。若该数据包生成的视频帧是以十进制来表示各像素灰度值的,那么将二进制数据转换成十进制的灰度值为0,126,……,255,可呈现出一张灰度图像,即视频帧。
在一种可能的实现方式中,步骤S11可以包括调整各所述数据包的字节数量,使各数据包字节数量相等。
在本公开实施例中,可以根据实际需要,预设前述视频帧的像素数量。根据这一预设像素数量对步骤S11中获取到的各数据包的数据进行修剪,使得各数据包的数据量相同,进而在生成视频帧后,各数据包对应的视频帧尺寸一致。对于数据量超过预设像素数量的数据包,将其超出的数据部分去除;对于数据量不足预设像素数量的数据包以0位补齐。
这样,可以提高后续对于视频帧处理的效率。
步骤S13,针对各所述视频帧组成的视频,确定表征网络病毒种类的第一病毒特征,所述第一病毒特征表示表征各视频帧的视频帧特征之间的相互关联信息。
在本公开实施例中,将生成的视频帧组合成一个视频,在该视频中提取出视频特征,由于视频源自网络中获取到的数据包,在网络中的网络病毒运行的情况下,该视频特征可以表征该网络病毒的第一病毒特征。
第一病毒特征除了包括视频帧特征,例如:灰度、纹理、形状、空间关系等。还包括各视频帧特征之间的相互关联信息。这里的相互关联信息为视频中各位置像素点的变化趋势特征、以及周期变化特征等。特征提取过程的示例将在下文中做详细介绍。
步骤S14,利用所述第一病毒特征,确定所述网络病毒的种类。
如前所述第一病毒特征为获取到的数据包所对应的网络病毒的特征。因此,对第一病毒特征的判断结果,即为对于该网络病毒种类的判断结果。可以通过迭代、逻辑回归、决策树、支持向量机等方法,针对第一病毒特征,判断出网络病毒的种类。以上分类方法仅为示例说明,本公开实施例不对网络病毒分类的算法做限定。
在本公开实施例中,通过将网络中的多个数据包转化成视频形式,从视频提取带有表征病毒种类的第一病毒特征,该第一病毒特征中包括表征各视频帧的视频帧特征之间的相互关联信息。然后,利用第一病毒特征确定网络病毒的种类。这样,在确定第一病毒特征时,不仅考虑了视频帧中的表征病毒种类的视频帧特征,也综合考虑了各视频帧特征之间的相互关联信息,提高了网络病毒分类的准确率和效率,扩大了适用范围,并且节省计算机硬件资源。
图3示出根据本公开一实施例的网络病毒分类方法,如图所示,在一种可能的实现方式中,步骤S13可以包括:
步骤S131,将各所述视频帧按照对应的数据包的时间顺序进行排列,生成所述视频;
步骤S132,利用当前视频帧的视频帧特征、当前视频帧的前一视频帧的第二病毒特征,确定所述当前视频帧的第二病毒特征,所述前一视频帧的第二病毒特征表示所述前一视频帧之前的视频帧的视频帧特征之间的相互关联信息;
步骤S133,将所述视频最后一视频帧的第二病毒特征作为所述第一病毒特征。
在本公开实施例中,将所获取到的各数据包生成多个视频帧按照所对应数据包的获取时间顺序排列,便可以生成视频。可以将一次获得的多个数据包进行划分,生成多个视频,也可以生成一个视频;也可以将多次获得的相同设备间的信息交互数据包,生成一个或多个视频。
在一种可能的实现方式中,针对所生成的视频中各视频帧提取第二病毒特征的过程可包括:在某一视频帧特征以及该视频帧的前一视频帧的第二病毒特征中提取出该视频帧的第二病毒特征。因此,某视频帧的第二病毒特征能够表示出该帧之前的视频帧特征之间的相互关联信息。该视频的最后一帧的第二病毒特征能够表示出最后一帧之前的各视频帧特征的之间的相互关联信息。
图4示出本公开实施例的提取第二病毒特征的示意图,如图所示,在tn时刻获取的数据包生成了第n个视频帧Vtn,所以各数据包的获取时间t1……tn对应视频帧Vt1……Vtn。视频帧特征以A表示,视频帧的第二病毒特征以B表示,因此,A(Vt1)表示第一视频帧的特征,B(Vt1)表示第一视频帧的第二病毒特征。
按照获取数据包的时间顺将所获的的视频帧进行排序,获得视频。
由于Vt1是视频的首帧,在它之前没有视频帧,所以,B(Vt1)在A(Vt1)中提取;在B(Vt1)和A(Vt2)中提取出B(Vt2),B(Vt2)能够表示A(Vt1)和A(Vt2)之间的相互关联信息;在B(Vt2)和A(Vt3)中提取出B(Vt3),B(Vt3)能够表示A(Vt1)、A(Vt2)、A(Vt3)之间的相互关联信息,……,以此类推,视频最后一帧Vtn,在B(Vt(n-1))和A(Vtn)中提取出B(Vtn),B(Vtn)能够表示A(Vt1)、A(Vt2)、……、A(Vtn)之间的相互关联信息。
第二病毒特征可基于现有技术进行提取,例如可由长短期记忆循环神经网络(Long Short Term Memory Recurrent Neural Networks Neural Networks,LSTM-RNN)完成。
在一种可能的实现方式中,步骤S132可以包括:将所述当前视频帧的视频帧特征与所述前一视频帧的第二病毒特征合并,得到合并后的特征;在合并后的特征中提取当前视频帧的第二病毒特征。
在本公开实施例中,可以将某一视频帧的特征与该视频帧的前一视频帧的第二病毒特征用连接(或称为拼接)的方式加以合并形成合并后的特征。在该合并后的特征中进行特征提取,这样便可以获得该视频帧的第二病毒特征。
在一种可能的实现方式中,本公开实施例的网络病毒分类方法中所述视频帧特征根据所述视频帧、所述视频帧的前一视频帧、所述视频帧的后一视频帧中、同一位置的数据经特征提取得到。
某一视频帧的特征可以在该视频帧、该视频帧的前一视频帧、该视频帧的后一视频帧中提取获得。在提取过程中,可以遍历视频帧各像素进行特征提取。按照视频帧中像素的排列顺序,对三个视频帧按照相同的预设遍历规则进行同步遍历。例如,在当前视频中以从左到右、从上到下的顺序,步长为1像素进行遍历;则在该视频帧的前一视频帧、后一视频帧中,按照同样的规则同步遍历。这样,可以达到在遍历当前视频中第n个像素时,也在同时遍历前一视频帧第n个像素,以及同时在遍历后一视频帧第n个像素的目的。视频帧中的各位置与视频特征中各位置的对应关系可以预先设置。这里所提到的“视频特征中的各位置”可以是视频的特征中各像素在视频特征中的位置;“视频帧中的各位置”可以是由一个像素或多个相邻像素组成的区域在视频帧中的位置。视频特征中的某一位置的数值可以从相邻三个视频帧中同一位置上提取得到的。
如图5所示,提取Vtn的特征Dtn,可在Vt(n-1),Vtn,Vt(n+1)三个视频帧中提取;Dtn可根据Vt(n-1),Vtn,Vt(n+1)同一位置(例如同一个像素位置,或者同一个位置的像素区域)的特征获得。提取Vt(n+1)的特征Dt(n+1),则可在Vtn,Vt(n+1),Vt(n+2)三个视频帧中提取;Dt(n+1)可根据Vtn,Vt(n+1),Vt(n+2)同一位置的特征获得。
在一个示例中,可通过三维卷积核,对该视频帧、该视频帧的前一视频帧、该视频帧的后一视频帧构成的三维数组进行卷积,实现上述特征提取,得到视频帧特征。
通过利用当前视频帧、前一视频帧、后一视频帧来提取当前视频帧的特征,当前视频帧的特征中可以包括相邻视频帧的相互关联信息。
视频帧特征可通过现有技术进行提取,例如可以由三维卷积神经网络(ThreeDimension Convolutional Neural Networks,3D-CNN)神经网络完成。
在一种可能的实现方式中,针对各所述视频帧组成的视频,确定表征网络病毒种类的第一病毒特征,包括:基于网络模型,针对各所述视频帧组成的视频,确定表征网络病毒种类的第一病毒特征,所述网络模型根据多种网络病毒运行情况下获取的网络中的数据包训练得到。
所述网络模型可包括上文中用于提取视频帧特征的网络模型(例如3D-CNN),和用于提取第二病毒特征的网络模型(例如LSTM-RNN)等。可在已知的多种网络病毒分别运行的情况下,获取网络中的数据包,根据基于网络模型预测的网络病毒种类,与所运行的网络病毒的实际种类,对网络模型进行训练,直至训练完成。
下面以一实施例,详细介绍网络病毒分类方法的流程。图6展示出人工智能、机器学习、表征学习之间关系的示意图。本公开实施例在人工智能的框架下,利用表征学习将网络病毒运行中产生的数据转换为更易被机器学习应用的表征数据(例如图像数据、视频数据等)。然后,通过机器学习实现对该网络病毒的分类。
图7示出本公开一实施例的网络病毒分类方法的流程图,包括:数据获取阶段、数据预处理阶段、神经网络训练阶段、网络病毒分类阶段。
一、数据获取阶段
在设备进行信息交互的过程中,使用W软件获取信息交互产生的数据文件。
二、数据预处理阶段
如图8所示,在这一阶段汇中,可包括4个步骤:数据切分、数据包清洗、生成表征、视频格式转换。
数据切分,对所获取的数据文件以数据包为单位进行切分,获得多个数据包。
数据包清洗,对所获得的数据包进行清洗。将这些数据包中携带的物理地址(Internet Protocol Address,IP)、互联网协议地址(Media Access Control Address,MAC)用预设字符串进行替换,使得所获取的多个数据包中的IP地址、MAC地址均表示为同一字符串。接下来,在数据完全一样的多个数据包中保留一个,去掉重复的数据包;并去除没有数据的空数据包。然后,对这些保留下的数据包按照预设的字节数量进行裁剪。如果数据包中数据的字节数量大于预设字节数量,则将超出的部分去除;如果数据包中数据的字节数量小于预设的字节数量则以0占位补齐。
生成表征数据,在本公开实施例中,将经过裁剪后的数据包中数据以矩阵形式进行排列,生成视频帧。以这些视频帧对应数据包的获取时间的顺序,将这些视频帧进行排列,生成视频。
视频格式转换,由于后续的特征提取、分类均使用神经网络完成,所以,可将上一步生成的视频转换为可以作为神经网络输入文件的格式。例如,IDX格式文件。
三、神经网络训练阶段
本公开实施例可将AESDdos、Mirai、Kaiten、Qbot、Rbot几类网络病毒执行时的多个数据包生成多个视频帧,划分为训练集、验证集、测试集,训练本公开实施例中进行特征提取等操作用到的网络模型,例如3D-CNN以及LSTM-RNN等。
四、网络病毒分类阶段
如图9所示,将在数据预处理阶段生成的IDX文件输入到训练好的3D-CNN,获得各视频帧的特征。然后将所获得的各视频帧的特征输入到训练好的LSTM-RNN,获得第一病毒特征。根据第一病毒特征,确定该网络病毒的种类。
图10示出根据本公开一实施例的网络病毒分类方法进行网络病毒分类过程中CPU的占用情况的示意图。该网络病毒分类过程使用六核CPU主机设备进行,所以,图9纵坐标的最大值应该为600%,考虑到展示效果,仅截取纵坐标0%-160%部分。如图9所示,运行时间的范围约从第三个横坐标起至第六个横坐标止。在分类过程进行中CPU的占用情况从0%到约130%。那么六核CPU的占用率仅为21.67%。
图11示出根据本公开一实施例的网络病毒分类方法进行网络病毒分类过程中内存的占用情况的示意图。如图10所示,运行时间的范围约从第三个横坐标起至第六个横坐标止。在分类过程进行中内存的占用率最高峰为约4.28%。
通过本公开实施例的网络病毒分类方法,占用较少计算机硬件资源即可完成进行网络病毒分类,节省了硬件资源。
本公开实施例是利用基于视频的表征学习对网络病毒进行分类,与相关技术相比取得了较好的效果。
表1对比展示了基于视频的表征学习与基于灰度图的表征学习对网络病毒分类的结果差异。可以看出,基于视频的表征学习网络病毒分类获得了较高的准确率。
表1
表2对比展示了基于视频的表征学习与基于灰度图的表征学习分别对于各类病毒的分类结果。可以看出,基于视频的表征学习网络病毒分类在对于几种比较主要的病毒种类均获得了较高的准确率。
表2
综上所述,本公开实施例使用的基于视频的表征学习对网络病毒分类的方法,提高了网络病毒分类的准确率。
图12示出根据本公开一实施例的网络病毒分类装置的框图,如图6所示,所述装置30包括:
数据包获取单元31,用于获取网络中的多个数据包;
视频帧生成单元32,用于将所述数据包的数据以矩阵形式排列,生成视频帧;
第一病毒特征确定单元33,用于针对各所述视频帧组成的视频,确定表征网络病毒种类的第一病毒特征,所述第一病毒特征表示表征各视频帧的视频帧特征之间的相互关联信息;
网络病毒种类确定单元34,用于利用所述第一病毒特征,确定所述网络病毒的种类。
在一种可能的实现方式中,所述针对各所述视频帧组成的视频,确定表征网络病毒种类的第一病毒特征,包括:
将各所述视频帧按照对应的数据包的时间顺序进行排列,生成所述视频;
利用当前视频帧的视频帧特征、当前视频帧的前一视频帧的第二病毒特征,确定所述当前视频帧的第二病毒特征,所述前一视频帧的第二病毒特征表示所述前一视频帧之前的视频帧的视频帧特征之间的相互关联信息;
将所述视频最后一视频帧的第二病毒特征作为所述第一病毒特征。
在一种可能的实现方式中,所述利用当前视频帧的视频帧特征、当前视频帧的前一视频帧的第二病毒特征,确定所述当前视频帧的第二病毒特征,包括:
将所述当前视频帧的视频帧特征与所述前一视频帧的第二病毒特征合并,得到合并后的特征;
在合并后的特征中提取当前视频帧的第二病毒特征。
在一种可能的实现方式中,所述视频帧特征根据所述视频帧、所述视频帧的前一视频帧、所述视频帧的后一视频帧中、同一位置的数据经特征提取得到。
在一种可能的实现方式中,所述获取网络中的多个数据包,包括:
将所述数据包中表征物理地址、互联网协议地址的字符替换成同一预先定义的字符串。
在一种可能的实现方式中,所述获取网络中的多个数据包,包括:调整各所述数据包的字节数量,使各数据包字节数量相等。
在一种可能的实现方式中,所述针对各所述视频帧组成的视频,确定表征网络病毒种类的第一病毒特征,包括:基于网络模型,针对各所述视频帧组成的视频,确定表征网络病毒种类的第一病毒特征,所述网络模型根据多种网络病毒运行情况下获取的网络中的数据包训练得到。
图13是根据一示例性实施例示出的一种用于网络病毒分类的装置1900的框图。例如,装置1900可以被提供为一终端设备或服务器。参照图13,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(I/O)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由装置1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种网络病毒分类方法,其特征在于,包括:
获取网络中的多个数据包;
将所述数据包的数据以矩阵形式排列,生成视频帧;
针对各所述视频帧组成的视频,确定表征网络病毒种类的第一病毒特征,所述第一病毒特征表示表征各视频帧的视频帧特征之间的相互关联信息;
利用所述第一病毒特征,确定所述网络病毒的种类。
2.根据权利要求1所述的方法,其特征在于,所述针对各所述视频帧组成的视频,确定表征网络病毒种类的第一病毒特征,包括:
将各所述视频帧按照对应的数据包的时间顺序进行排列,生成所述视频;
利用当前视频帧的视频帧特征、当前视频帧的前一视频帧的第二病毒特征,确定所述当前视频帧的第二病毒特征,所述前一视频帧的第二病毒特征表示所述前一视频帧之前的视频帧的视频帧特征之间的相互关联信息;
将所述视频最后一视频帧的第二病毒特征作为所述第一病毒特征。
3.根据权利要求2所述的方法,其特征在于,所述利用当前视频帧的视频帧特征、当前视频帧的前一视频帧的第二病毒特征,确定所述当前视频帧的第二病毒特征,包括:
将所述当前视频帧的视频帧特征与所述前一视频帧的第二病毒特征合并,得到合并后的特征;
在合并后的特征中提取当前视频帧的第二病毒特征。
4.根据权利要求1-3任一项所述的方法,其特征在于,
所述视频帧特征根据所述视频帧、所述视频帧的前一视频帧、所述视频帧的后一视频帧中、同一位置的数据经特征提取得到。
5.根据权利要求1至3任一所述的方法,其特征在于,所述获取网络中的多个数据包,包括:
将所述数据包中表征物理地址、互联网协议地址的字符替换成同一预先定义的字符串。
6.根据权利要求1至3任一所述的方法,其特征在于,所述获取网络中的多个数据包,包括:
调整各所述数据包的字节数量,使各数据包字节数量相等。
7.根据权利要求1所述的方法,其特征在于,所述针对各所述视频帧组成的视频,确定表征网络病毒种类的第一病毒特征,包括:
基于网络模型,针对各所述视频帧组成的视频,确定表征网络病毒种类的第一病毒特征,所述网络模型根据多种网络病毒运行情况下获取的网络中的数据包训练得到。
8.一种网络病毒分类装置,其特征在于,包括:
数据包获取单元,用于获取网络中的多个数据包;
视频帧生成单元,用于将所述数据包的数据以矩阵形式排列,生成视频帧;
第一病毒特征确定单元,用于针对各所述视频帧组成的视频,确定表征网络病毒种类的第一病毒特征,所述第一病毒特征表示表征各视频帧的视频帧特征之间的相互关联信息;
网络病毒种类确定单元,用于利用所述第一病毒特征,确定所述网络病毒的种类。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求1至7中任意一项所述的方法。
10.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111601426.9A CN114332700B (zh) | 2021-12-24 | 2021-12-24 | 一种网络病毒分类方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111601426.9A CN114332700B (zh) | 2021-12-24 | 2021-12-24 | 一种网络病毒分类方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114332700A true CN114332700A (zh) | 2022-04-12 |
CN114332700B CN114332700B (zh) | 2023-08-25 |
Family
ID=81012128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111601426.9A Active CN114332700B (zh) | 2021-12-24 | 2021-12-24 | 一种网络病毒分类方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114332700B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180063168A1 (en) * | 2016-08-31 | 2018-03-01 | Cisco Technology, Inc. | Automatic detection of network threats based on modeling sequential behavior in network traffic |
CN108614970A (zh) * | 2018-04-03 | 2018-10-02 | 腾讯科技(深圳)有限公司 | 病毒程序的检测方法、模型训练方法、装置及设备 |
US20180288086A1 (en) * | 2017-04-03 | 2018-10-04 | Royal Bank Of Canada | Systems and methods for cyberbot network detection |
CN110830435A (zh) * | 2019-08-27 | 2020-02-21 | 国家电网有限公司信息通信分公司 | 一种网络流量时空特征提取和异常检测的方法及装置 |
CN110879888A (zh) * | 2019-11-15 | 2020-03-13 | 新华三大数据技术有限公司 | 病毒文件检测方法、装置及设备 |
CN111783442A (zh) * | 2019-12-19 | 2020-10-16 | 国网江西省电力有限公司电力科学研究院 | 入侵检测方法、设备和服务器、存储介质 |
CN112104570A (zh) * | 2020-09-11 | 2020-12-18 | 南方电网科学研究院有限责任公司 | 流量分类方法、装置、计算机设备和存储介质 |
CN112528891A (zh) * | 2020-12-16 | 2021-03-19 | 重庆邮电大学 | 一种基于骨架信息的双向lstm-cnn的视频行为识别方法 |
-
2021
- 2021-12-24 CN CN202111601426.9A patent/CN114332700B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180063168A1 (en) * | 2016-08-31 | 2018-03-01 | Cisco Technology, Inc. | Automatic detection of network threats based on modeling sequential behavior in network traffic |
US20180288086A1 (en) * | 2017-04-03 | 2018-10-04 | Royal Bank Of Canada | Systems and methods for cyberbot network detection |
CN108614970A (zh) * | 2018-04-03 | 2018-10-02 | 腾讯科技(深圳)有限公司 | 病毒程序的检测方法、模型训练方法、装置及设备 |
CN110830435A (zh) * | 2019-08-27 | 2020-02-21 | 国家电网有限公司信息通信分公司 | 一种网络流量时空特征提取和异常检测的方法及装置 |
CN110879888A (zh) * | 2019-11-15 | 2020-03-13 | 新华三大数据技术有限公司 | 病毒文件检测方法、装置及设备 |
CN111783442A (zh) * | 2019-12-19 | 2020-10-16 | 国网江西省电力有限公司电力科学研究院 | 入侵检测方法、设备和服务器、存储介质 |
CN112104570A (zh) * | 2020-09-11 | 2020-12-18 | 南方电网科学研究院有限责任公司 | 流量分类方法、装置、计算机设备和存储介质 |
CN112528891A (zh) * | 2020-12-16 | 2021-03-19 | 重庆邮电大学 | 一种基于骨架信息的双向lstm-cnn的视频行为识别方法 |
Non-Patent Citations (2)
Title |
---|
JINBO ZHANG: "DeepMal-A CNN-LSTM Model for Malware Detection Based on Dynamic Semantic Behaviours", 《2020 INTERNATIONAL CONFERENCE ON COMPUTER INFORMATION AND BIG DATA APPLICATIONS (CIBDA)》, pages 1 - 4 * |
PREETI MISHRA等: "VMAnalyzer: Malware semantic analysis using integrated CNN and bi-directional LSTM for detecting VM-level attacks in cloud", 《2019 TWELFTH INTERNATIONAL CONFERENCE ON CONTEMPORARY COMPUTING (IC3)》, pages 1 - 6 * |
Also Published As
Publication number | Publication date |
---|---|
CN114332700B (zh) | 2023-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107862270B (zh) | 人脸分类器训练方法、人脸检测方法及装置、电子设备 | |
CN109639481A (zh) | 一种基于深度学习的网络流量分类方法、系统及电子设备 | |
CN112333706B (zh) | 物联网设备异常检测方法、装置、计算设备及存储介质 | |
CN109525508B (zh) | 基于流量相似性比对的加密流识别方法、装置及存储介质 | |
CN110046297B (zh) | 运维违规操作的识别方法、装置和存储介质 | |
CN112966742A (zh) | 模型训练方法、目标检测方法、装置和电子设备 | |
CN110826060A (zh) | 物联网恶意软件的可视化分类方法、装置与电子设备 | |
CN111144470A (zh) | 一种基于深度自编码器的未知网络流量识别方法及系统 | |
CN111431819A (zh) | 一种基于序列化的协议流特征的网络流量分类方法和装置 | |
CN114726823B (zh) | 一种基于生成对抗网络的域名生成方法、装置和设备 | |
CN111835763A (zh) | 一种dns隧道流量检测方法、装置及电子设备 | |
CN113705650B (zh) | 一种人脸图片集的处理方法、装置、介质和计算设备 | |
US9311523B1 (en) | Method and apparatus for supporting object recognition | |
CN113190847A (zh) | 一种脚本文件的混淆检测方法、装置、设备及存储介质 | |
CN113139527A (zh) | 视频隐私保护方法、装置、设备及存储介质 | |
CN113378025A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN114332700B (zh) | 一种网络病毒分类方法、装置、电子设备及存储介质 | |
CN112688897A (zh) | 一种流量识别的方法、装置、存储介质及电子设备 | |
CN109033264B (zh) | 视频分析方法及装置、电子设备和存储介质 | |
CN113452810B (zh) | 一种流量分类方法、装置、设备和介质 | |
CN113591752B (zh) | 基于卷积神经网络的设备漏油监控方法及相关设备 | |
CN113553370B (zh) | 异常检测方法、装置、电子设备及可读存储介质 | |
CN114724144A (zh) | 文本识别方法、模型的训练方法、装置、设备及介质 | |
CN113642472A (zh) | 判别器模型的训练方法和动作识别方法 | |
CN113890835A (zh) | Dpi应用测试报文的处理方法及装置 |
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 |