CN110392013A - 一种基于网络流量分类的恶意软件识别方法、系统及电子设备 - Google Patents

一种基于网络流量分类的恶意软件识别方法、系统及电子设备 Download PDF

Info

Publication number
CN110392013A
CN110392013A CN201810342718.7A CN201810342718A CN110392013A CN 110392013 A CN110392013 A CN 110392013A CN 201810342718 A CN201810342718 A CN 201810342718A CN 110392013 A CN110392013 A CN 110392013A
Authority
CN
China
Prior art keywords
flow
data
data stream
bof
classification
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
Application number
CN201810342718.7A
Other languages
English (en)
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.)
Shenzhen Institute of Advanced Technology of CAS
Original Assignee
Shenzhen Institute of Advanced Technology of CAS
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 Shenzhen Institute of Advanced Technology of CAS filed Critical Shenzhen Institute of Advanced Technology of CAS
Priority to CN201810342718.7A priority Critical patent/CN110392013A/zh
Publication of CN110392013A publication Critical patent/CN110392013A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种基于网络流量分类的恶意软件识别方法、系统及电子设备。所述基于网络流量分类的恶意软件识别方法包括:步骤a:获取正常流量作为流量样本数据,通过所述流量样本数据训练森林分类器;步骤b:获取通过防火墙的数据流,用<目的IP,目的端口,传输层协议>三元组对获取的数据流进行约束形成BoF,对所述BoF中的数据流进行采样,并对采样得到的数据流包头进行特征值提取;步骤c:将提取的特征值输入森林分类器中进行流量分类,如果流量分类结果是异常流量,对该异常流量对应的恶意软件进行定位识别。本申请能够有效的提高基于网络流量分类的恶意软件识别的速度和精确度,同时在识别和定位恶意软件之前预先保护了用户的隐私和安全。

Description

一种基于网络流量分类的恶意软件识别方法、系统及电子 设备
技术领域
本申请属于恶意软件识别技术领域,特别涉及一种基于网络流量分类的恶意软件识别方法、系统及电子设备。
背景技术
随着互联网的高速发展,人类进入了信息化时代,网络的传播速度最近几年有了巨大的提升,每时每刻都有大量的数据在网络上传播,每个人每天都会产生大量的流量,人们的生活因为互联网的发展得到了巨大的进步。企业也得益于网络的快速发展,可以异地办公,获取更多有用的信息,从而获得巨大的收益。但是随着传播的数据量的增加,同样也诞生了许多恶意软件,危害着广大互联网用户的安全。尤其对于企业来说,如果企业数据遭到恶意软件的破坏或因为恶意软件推迟了工作,会对企业造成巨大的损失。
恶意软件(俗称“流氓软件”)是指在未明确提示用户或未经用户许可的情况下,在用户计算机或其他终端上安装运行,侵犯用户合法权益的软件。恶意软件会恶意收集用户信息(指未明确提示用户或未经用户许可,恶意收集用户信息的行为;a)收集用户信息时,未提示用户有收集信息的行为;b)未提供用户选择是否允许收集信息的选项;c)用户无法查看自己被收集的信息),这些恶意收集的用户信息中可能包含了机密信息,一旦泄露出去会对用户造成巨大的损失。恶意软件还可能会捆绑一些软件,强制在后台安装垃圾应用,使用户的计算机运行十分缓慢,拖慢工作的进度,或者恶意删除用户的数据,破坏用户的计算机。
网络流量分类是指按照网络的应用类型,将基于TCP/IP协议的网络通信产生的双向UDP(User Datagram Protocol,用户数据报协议)流或TCP(Transmission ControlProtocol,传输控制协议)流进行分类,能够有效的处理很多网络安全问题,包括合法截取和入侵检测等。例如,网络流量分类可以用作检测服务攻击、蠕虫病毒传播、网站入侵、垃圾邮件传播等。此外,网络流量分类在现代网络管理体系中同样扮演着极其重要的作用,如服务质量控制(QoS)。
袁振龙提出了《一种基于深度学习的Android平台恶意应用检测方法及装置》,在该方法中将机器学习应用到了恶意应用的检测中去。张庚提出了《一种网络流量分类方法》,将机器学习应用到了流量分类中去。易运辉提出了《基于网络流量分析的安卓恶意软件实时检测方法》将流量分析应用到安卓恶意软件的检测上去。
然而,现有技术中对于恶意软件的检测只停留在对软件本身进行分类,大多是对软件文件实体、软件安装文件进行反汇编,对恶意代码提取特征值。这样大大加深了检测的技术难度和工作量,而且只有在获得该恶意软件的二进制文件时才可以判断,而不能主动发现新的恶意软件。
同样也有对于网络流量分析的检测方法,但是主要对特定端口的流量进行分析,对于随机端口或者端口加密的应用效果不好,并且对于每个包的payload部分也进行提取特征值,使得计算量大大增加,降低了运行速度,实时性无法保障,同时也因为获取用户传输的数据而侵犯了用户的隐私。
还有对于DNS(Domain Name System,域名系统)请求的域名特征,使用第三方的域名检测服务器进行检测,这种模型完全依赖于第三方域名检测服务器的准确性。
发明内容
本申请提供了一种基于网络流量分类的恶意软件识别方法、系统及电子设备,旨在至少在一定程度上解决现有技术中的上述技术问题之一。
为了解决上述问题,本申请提供了如下技术方案:
一种基于网络流量分类的恶意软件识别方法,包括以下步骤:
步骤a:获取正常流量作为流量样本数据,通过所述流量样本数据训练森林分类器;
步骤b:获取通过防火墙的数据流,用<目的IP,目的端口,传输层协议>三元组对获取的数据流进行约束形成BoF,对所述BoF中的数据流进行采样,并对采样得到的数据流包头进行特征值提取;
步骤c:将提取的特征值输入森林分类器中进行流量分类,如果流量分类结果是异常流量,对该异常流量对应的恶意软件进行定位识别。
本申请实施例采取的技术方案还包括:在所述步骤a中,所述获取正常流量作为流量样本数据,通过流量样本数据训练森林分类器具体为:对通过防火墙的正常流量进行抓包,获取流量样本数据,通过分析软件对所述流量样本数据进行分析,将<源IP,源端口,目的IP,目的端口>四元组相同的流量数据包定义为一个数据流,并对数据流的包头进行特征值提取,利用提取的特征值训练出m棵树,形成森林分类器。
本申请实施例采取的技术方案还包括:所述提取的特征值分别为:来回传输的数据包的数量、来回传输的数据流的大小、来回数据流中数据包大小的最大值、最小值、平均值、标准差以及来回数据流中每个数据包之间的时间差的最大值、最小值、平均值、标准差,并利用<目的IP,目的端口,传输层协议>三元组约束将数据流划分成BoF。
本申请实施例采取的技术方案还包括:在所述步骤c中,所述将提取的特征值输入森林分类器中进行流量分类具体包括:
定义H(i)=ln(i)+0.5772156649(欧拉常数),n为n个流量,
定义c(n)为
c(n)=2H(n-1)-(2(n-1)/n)
用s来判断该流量为异常流量的可能性:
上述公式中,h(x)为流量x离根节点的距离,E(h(x))为森林分类器中h(x)每棵树的平均值;
如果s接近1,则判定该流量为恶意软件生成的异常流量,将约束的整个BoF中同类型流量全部拦截,分析数据包payload部分,对恶意软件的位置进行定位识别,并将日志发送给管理员,如果下次遇到属于该BoF的数据包,则直接丢弃。
本申请实施例采取的技术方案还包括:在所述步骤c中,所述将提取的特征值输入森林分类器中进行流量分类还包括:
如果s远小于0.5,则判断该流量是正常流量,放行该正常流量对应的整个BOF,并将该正常流量加入白名单,下次遇到与该正常流量同一类型的流量时不再进行流量分类;
如果s接近0.5,通过防火墙拦截应用的数据包,并利用已有的恶意数据特征对数据包进行分析,如果数据包里有恶意信息,则认为该流量是恶意软件产生的异常流量,按照异常流量的处理方式进行恶意软件的定位识别,下次遇到属于该BoF的时直接丢弃数据包;如果数据包里没有恶意信息,则正常放行该流量,并通过数据包内的关键字搜索应用的相关信息,判断该应用是否是安全应用,在下次遇到时再次进行流量分类。
本申请实施例采取的另一技术方案为:一种基于网络流量分类的恶意软件识别系统,包括:
样本获取模块:用于获取正常流量作为流量样本数据;
分类器训练模块:用于通过所述流量样本数据训练森林分类器;
流量获取模块:用于获取通过防火墙的数据流;
流量分析模块:用于用<目的IP,目的端口,传输层协议>三元组对获取的数据流进行约束形成BoF,对所述BoF中的数据流进行采样,并对采样得到的数据流包头进行特征值提取;
流量分类模块:用于将提取的特征值输入森林分类器中进行流量分类,如果流量分类结果是异常流量,对该异常流量对应的恶意软件进行定位识别。
本申请实施例采取的技术方案还包括样本分析模块;所述样本获取模块对通过防火墙的正常流量进行抓包,获取流量样本数据;所述样本分析模块用于通过分析软件对所述流量样本数据进行分析,将<源IP,源端口,目的IP,目的端口>四元组相同的流量数据包定义为一个数据流,并对数据流的包头进行特征值提取,所述分类器训练模块利用提取的特征值训练出m棵树,形成森林分类器。
本申请实施例采取的技术方案还包括:所述样本分析模块提取的特征值分别为:来回传输的数据包的数量、来回传输的数据流的大小、来回数据流中数据包大小的最大值、最小值、平均值、标准差以及来回数据流中每个数据包之间的时间差的最大值、最小值、平均值、标准差,并利用<目的IP,目的端口,传输层协议>三元组约束将数据流划分成BoF。
本申请实施例采取的技术方案还包括:所述流量分类模块将提取的特征值输入森林分类器中进行流量分类具体为:
定义H(i)=ln(i)+0.5772156649(欧拉常数),n为n个流量,
定义c(n)为
c(n)=2H(n-1)-(2(n-1)/n)
用s来判断该流量为异常流量的可能性:
上述公式中,h(x)为流量x离根节点的距离,E(h(x))为森林分类器中h(x)每棵树的平均值;
如果s接近1,则判定该流量为恶意软件生成的异常流量,将约束的整个BoF中同类型流量全部拦截,分析数据包payload部分,对恶意软件的位置进行定位识别,并将日志发送给管理员,如果下次遇到属于该BoF的数据包,则直接丢弃。
本申请实施例采取的技术方案还包括:所述流量分类模块将提取的特征值输入森林分类器中进行流量分类还包括:
如果s远小于0.5,则判断该流量是正常流量,放行该正常流量对应的整个BOF,并将该正常流量加入白名单,下次遇到与该正常流量同一类型的流量时不再进行流量分类;
如果s接近0.5,通过防火墙拦截应用的数据包,并利用已有的恶意数据特征对数据包进行分析,如果数据包里有恶意信息,则认为该流量是恶意软件产生的异常流量,按照异常流量的处理方式进行恶意软件的定位识别,下次遇到属于该BoF的时直接丢弃数据包;如果数据包里没有恶意信息,则正常放行该流量,并通过数据包内的关键字搜索应用的相关信息,判断该应用是否是安全应用,在下次遇到时再次进行流量分类。
本申请实施例采取的又一技术方案为:一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的基于网络流量分类的恶意软件识别方法的以下操作:
步骤a:获取正常流量作为流量样本数据,通过所述流量样本数据训练森林分类器;
步骤b:获取通过防火墙的数据流,用<目的IP,目的端口,传输层协议>三元组对获取的数据流进行约束形成BoF,对所述BoF中的数据流进行采样,并对采样得到的数据流包头进行特征值提取;
步骤c:将提取的特征值输入森林分类器中进行流量分类,如果流量分类结果是异常流量,对该异常流量对应的恶意软件进行定位识别。
相对于现有技术,本申请实施例产生的有益效果在于:本申请实施例的基于网络流量分类的恶意软件识别方法、系统及电子设备利用机器学习和增加约束并进行采样分析,对数据流的包头进行特征值提取,加快了流量分类的速度并保护了用户的隐私,同时利用流量分类简化了恶意软件的识别,同时也提高了恶意软件的识别率,并搭配防火墙有效保护了用户的隐私和安全。相比现有技术,本申请能够有效的提高基于网络流量分类的恶意软件识别的速度和精确度,同时在识别和定位恶意软件之前预先保护了用户的隐私和安全。
附图说明
图1是本申请实施例的基于网络流量分类的恶意软件识别方法的流程图;
图2是本申请实施例的基于网络流量分类的恶意软件识别系统的结构示意图;
图3是本申请实施例提供的基于网络流量分类的恶意软件识别方法的硬件设备结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
针对现有技术存在的问题,本申请实施例仅仅对经过防火墙的数据流进行特征值提取,将<源IP,源端口,目的IP,目的端口>四元组相同的数据包定义为一个数据流,并用<目的IP,目的端口,传输层协议>三元组约束对这些数据流进行约束,将拥有相同三元组约束的数据流组成一个流量包(bag of flow),同一个流量包一定是一个应用的流量。监视网络流量时,在分好的每个流量包中进行子采样,提取数据流中数据包的包头,对恶意软件的数据包进行检测,找到具体的恶意软件,进行删除。同时也可以通过防火墙过滤掉恶意软件的数据包,保护了用户的安全。而不需要分析整个数据包,这样大大减少了工作量,也不会侵犯用户的隐私,确保在面对巨大的数据流量时也能准确的对恶意软件进行识别。并且即使只识别了部分数据包也能找到恶意软件,同时漏掉的部分数据包也不能完成恶意软件与服务器的完整的对话,使恶意软件不能正常工作,提高了容错率。
具体地,请参阅图1,是本申请实施例的基于网络流量分类的恶意软件识别方法的流程图。本申请实施例的基于网络流量分类的恶意软件识别方法包括以下步骤:
步骤100:利用抓包工具对通过防火墙的正常流量进行抓包,获取用于训练森林分类器的流量样本数据,并为流量样本数据打上正常流量的标签;
步骤200:通过分析软件对获取的流量样本数据进行分析,得到一段时间内的数据流,并对数据流的包头进行特征值提取;
在步骤200中,本申请实施例将一段时间内<源IP,源端口,目的IP,目的端口>四元组相同的流量数据包定义为一个数据流,并对数据流的包头进行特征值提取,提取的特征值为20个,分别为:来回传输的数据包的数量(2个)、来回传输的数据流的大小(2个)、来回数据流中数据包大小的最大值、最小值、平均值、标准差(8个)以及来回数据流中每个数据包之间的时间差的最大值、最小值、平均值、标准差(8个),同时规定一种约束,利用<目的IP,目的端口,传输层协议>三元组约束将数据流划分成bag of flow(BoF),并判定同一个bag of flow里面的数据流为同一软件产生。本申请实施例只对数据流的包头提取特征值,不需要分析数据流的payload部分,极大地加快了流量分类速度,并确保用户的隐私不受侵犯。
步骤300:利用提取的特征值训练出一系列的树,形成森林分类器;
在步骤300中,森林分类器的技术核心算法具体为:随机选取一定数量的特征值作为一棵树的分类节点,再随机选择一个特征值作为分割点,然后随机选取一定数量的打好正常流量标签的流量样本数据,将这些流量样本数据进行分类直到:
i.一个节点只有一个实例或一群值相等的实例;
ii.到达树的高度限制。
这样就生成了一棵树,再重复上面的步骤训练出m棵树,形成森林分类器。紧接着把那些需要判断的流量放入森林分类器中进行分类。森林分类器的核心是将一些实例从剩下的实例中分离出来,因为异常流量一般来说都是“少并且是独特的”,所以在分类过程中更加敏感。正因为有这种特性,在森林分类器中,那些离根距离更短的节点是异常流量的可能性会更大。因此,在异常流量的判断上,不需要对大于树高度的二分之一(0.5)的节点进行判断,复杂度是N(mlogn),运行速度非常快,从而节省了大量的时间。且因为不需要将正常流量进行准确的分类,所以只需要很少的训练集。
步骤400:对日常通过防火墙的流量进行分析,实时获取通过防火墙的数据流,并用<目的IP,目的端口,传输层协议>三元组对获取的数据流进行约束形成bag of flow(BoF),对每个BoF中的数据流进行采样,对采样得到的数据流的包头进行特征值提取;
在步骤400中,特征值提取方式同步骤200,本步骤将不再赘述。本申请利用<目的IP,目的端口,传输层协议>三元组约束和对约束出来的数据流进行采样并使用树进行分类,不需要对每一台计算机上的每一个应用进行查找,在反汇编查询是否含有恶意代码,只需要利用防火墙监控整个数据流,就可以对恶意软件进行定位识别,大大加快了流量分类的速度,简化恶意软件的识别,并且不会有漏网之鱼,在保障分析质量的前提下加快了分析速度。
步骤500:将提取的特征值输入森林分类器中进行流量分类,如果流量分类结果是异常流量,则对异常流量对应的恶意软件进行定位识别;
在步骤500中,本申请实施例通过森林分类器将流量分类成异常流量、正常流量和未知流量,并且不会对正常流量进行细致的划分,算法实现优先分类出来的也是异常流量,加快了寻找异常流量和恶意软件的速度。具体地,流量(实例)的判定标准如下:
首先定义H(i)=ln(i)+0.5772156649(欧拉常数),n为n个实例,
定义c(n)为
c(n)=2H(n-1)-(2(n-1)/n)
用s来判断该实例为异常实例的可能性:
上述公式中,h(x)为实例x离根节点的距离,E(h(x))为森林分类器中h(x)每棵树的平均值;
1)、如果有一棵树的s接近1,则判定该流量为恶意软件生成的异常流量,并将约束的整个BOF都判定为异常流量,将整个BoF约束的同类型流量全部拦截,并且分析数据包payload部分,查看该异常流量来自哪台计算机的什么应用,从而对恶意软件的位置进行定位识别,并将日志发送给管理员,通知管理员进行恶意软件的处理,如果下次遇到属于该BoF的数据包,则直接丢弃并通知管理员处理恶意软件。本申请实施例中,对于异常流量,防火墙在发现数据流时会丢弃数据包,从而保护用户的安全。
2)、如果大部分树的s远小于0.5,则判断该流量是正常流量,放行该正常流量对应的整个BOF,并将该正常流量加入白名单,下次遇到与该正常流量同一类型的流量时不再进行流量分类。
3)、对于s接近0.5的未知流量,防火墙拦截应用的数据包,并利用网络上已有的一些恶意数据特征,协助管理员对数据包进行分析,如果数据包里有恶意信息,则认为该流量是恶意软件产生的异常流量,按照异常流量的处理方式进行恶意软件的定位识别,下次遇到时直接丢弃数据包并通知管理员处理恶意软件;如果数据包里没有恶意信息,则正常放行该流量,并通过数据包内的关键字在网络上搜索该应用的相关信息,提供给管理员确定是否为安全应用,在下次遇到时仍然进行流量分类。
请参阅图2,是本申请实施例的基于网络流量分类的恶意软件识别系统的结构示意图。本申请实施例的基于网络流量分类的恶意软件识别系统包括样本获取模块、样本分析模块、分类器训练模块、流量获取模块、流量分析模块和流量分类模块。
样本获取模块:用于利用抓包工具对通过防火墙的正常流量进行抓包,获取用于训练森林分类器的流量样本数据,并为流量样本数据打上正常流量的标签;
样本分析模块:用于通过分析软件对获取的流量样本数据进行分析,得到一段时间内的数据流,并对数据流的包头进行特征值提取;其中,本申请实施例将一段时间内<源IP,源端口,目的IP,目的端口>四元组相同的数据包定义为一个数据流,并对数据流的包头进行特征值提取,提取的特征值为20个,分别为:来回传输的数据包的数量(2个)、来回传输的数据流的大小(2个)、来回数据流中数据包大小的最大值、最小值、平均值、标准差(8个)以及来回数据流中每个数据包之间的时间差的最大值、最小值、平均值、标准差(8个),同时规定一种约束,利用<目的IP,目的端口,传输层协议>三元组约束将数据流划分成bag offlow(BoF),并判定同一个bag of flow里面的数据流为同一软件产生。本申请实施例只对数据流的包头提取特征值,不需要分析数据流的payload部分,极大地加快了流量分类速度,并确保用户的隐私不受侵犯。
分类器训练模块:用于利用提取的特征值训练出一系列的树,形成森林分类器;其中,森林分类器的技术核心算法具体为:随机选取流量数据的一定数量的特征值作为一棵树的分类节点,再随机选择一个特征值作为分割点,然后随机选取一定数量的打好正常流量标签的流量样本数据,将这些流量样本数据进行分类直到:
i.一个节点只有一个实例或一群值相等的实例;
ii.到达树的高度限制。
这样就生成了一棵树,再重复上面的步骤训练出m棵树,形成森林分类器。紧接着把那些需要判断的流量放入森林分类器中进行分类。森林分类器的核心是将一些实例从剩下的实例中分离出来,因为异常流量一般来说都是“少并且是独特的”,所以在分类过程中更加敏感。正因为有这种特性,在森林分类器中,那些离根距离更短的节点是异常流量的可能性会更大。因此,在异常流量的判断上,不需要对大于树高度的二分之一(0.5)的节点进行判断,复杂度是N(mlogn),运行速度非常快,从而节省了大量的时间。且因为不需要将正常流量进行准确的分类,所以只需要很少的训练集。
流量获取模块:用于对日常通过防火墙的流量进行分析,实时获取通过防火墙的数据流;
流量分析模块:用于利用<目的IP,目的端口,传输层协议>三元组对获取的数据流进行约束形成bag of flow(BoF),对每个BoF中的数据流进行采样,对采样得到的数据流的包头进行特征值提取;其中,本申请利用<目的IP,目的端口,传输层协议>三元组约束和对约束出来的数据流进行采样并使用树进行分类,不需要对每一台计算机上的每一个应用进行查找,在反汇编查询是否含有恶意代码,只需要利用防火墙监控整个数据流,就可以对恶意软件进行定位识别,大大加快了流量分类的速度,简化恶意软件的识别,并且不会有漏网之鱼,在保障分析质量的前提下加快了分析速度。
流量分类模块:用于将提取的特征值输入森林分类器中进行流量分类,如果流量分类结果是异常流量,则对异常流量对应的恶意软件进行定位识别;本申请实施例通过森林分类器将流量分类成异常流量、正常流量和未知流量,并且不会对正常流量进行细致的划分,算法实现优先分类出来的也是异常流量,加快了寻找异常流量和恶意软件的速度。流量(实例)的判定标准如下:
首先定义H(i)=ln(i)+0.5772156649(欧拉常数),n为n个实例,
定义c(n)为
c(n)=2H(n-1)-(2(n-1)/n)
用s来判断该实例为异常实例的可能性:
上述公式中,h(x)为实例x离根节点的距离,E(h(x))为森林分类器中h(x)每棵树的平均值;
1)、如果有一棵树的s接近1,则判定该流量为恶意软件生成的异常流量,并将约束的整个BOF都判定为异常流量,将整个BoF约束的同类型流量全部拦截,并且分析数据包payload部分,查看该异常流量来自哪台计算机的什么应用,从而对恶意软件的位置进行定位识别,并将日志发送给管理员,通知管理员进行恶意软件的处理,如果下次遇到属于该BoF的数据包,则直接丢弃并通知管理员处理恶意软件。本申请实施例中,对于异常流量,防火墙在发现数据流时会丢弃数据包,从而保护用户的安全。
2)、如果大部分树的s远小于0.5,则判断该流量是正常流量,放行该正常流量对应的整个BOF,并将该正常流量加入白名单,下次遇到与该正常流量同一类型的流量时不再进行流量分类。
3)、对于s接近0.5的未知流量,防火墙拦截应用的数据包,并利用网络上已有的一些恶意数据特征,协助管理员对数据包进行分析,如果数据包里有恶意信息,则认为该流量是恶意软件产生的异常流量,按照异常流量的处理方式进行恶意软件的定位识别,下次遇到时直接丢弃数据包并通知管理员处理恶意软件;如果数据包里没有恶意信息,则正常放行该流量,并通过数据包内的关键字在网络上搜索该应用的相关信息,提供给管理员确定是否为安全应用,在下次遇到时仍然进行流量分类。
图3是本申请实施例提供的基于网络流量分类的恶意软件识别方法的硬件设备结构示意图。如图3所示,该设备包括一个或多个处理器以及存储器。以一个处理器为例,该设备还可以包括:输入系统和输出系统。
处理器、存储器、输入系统和输出系统可以通过总线或者其他方式连接,图3中以通过总线连接为例。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例的处理方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理系统。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入系统可接收输入的数字或字符信息,以及产生信号输入。输出系统可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个处理器执行时,执行上述任一方法实施例的以下操作:
步骤a:获取正常流量作为流量样本数据,通过所述流量样本数据训练森林分类器;
步骤b:获取通过防火墙的数据流,用<目的IP,目的端口,传输层协议>三元组对获取的数据流进行约束形成BoF,对所述BoF中的数据流进行采样,并对采样得到的数据流包头进行特征值提取;
步骤c:将提取的特征值输入森林分类器中进行流量分类,如果流量分类结果是异常流量,对该异常流量对应的恶意软件进行定位识别。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例提供的方法。
本申请实施例提供了一种非暂态(非易失性)计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行以下操作:
步骤a:获取正常流量作为流量样本数据,通过所述流量样本数据训练森林分类器;
步骤b:获取通过防火墙的数据流,用<目的IP,目的端口,传输层协议>三元组对获取的数据流进行约束形成BoF,对所述BoF中的数据流进行采样,并对采样得到的数据流包头进行特征值提取;
步骤c:将提取的特征值输入森林分类器中进行流量分类,如果流量分类结果是异常流量,对该异常流量对应的恶意软件进行定位识别。
本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行以下操作:
步骤a:获取正常流量作为流量样本数据,通过所述流量样本数据训练森林分类器;
步骤b:获取通过防火墙的数据流,用<目的IP,目的端口,传输层协议>三元组对获取的数据流进行约束形成BoF,对所述BoF中的数据流进行采样,并对采样得到的数据流包头进行特征值提取;
步骤c:将提取的特征值输入森林分类器中进行流量分类,如果流量分类结果是异常流量,对该异常流量对应的恶意软件进行定位识别。
本申请实施例的基于网络流量分类的恶意软件识别方法、系统及电子设备利用机器学习和增加约束并进行采样分析,对数据流的包头进行特征值提取,加快了流量分类的速度并保护了用户的隐私,同时利用流量分类简化了恶意软件的识别,同时也提高了恶意软件的识别率,并搭配防火墙有效保护了用户的隐私和安全。相比现有技术,本申请能够有效的提高基于网络流量分类的恶意软件识别的速度和精确度,同时在识别和定位恶意软件之前预先保护了用户的隐私和安全。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (11)

1.一种基于网络流量分类的恶意软件识别方法,其特征在于,包括以下步骤:
步骤a:获取正常流量作为流量样本数据,通过所述流量样本数据训练森林分类器;
步骤b:获取通过防火墙的数据流,用<目的IP,目的端口,传输层协议>三元组对获取的数据流进行约束形成BoF,对所述BoF中的数据流进行采样,并对采样得到的数据流包头进行特征值提取;
步骤c:将提取的特征值输入森林分类器中进行流量分类,如果流量分类结果是异常流量,对该异常流量对应的恶意软件进行定位识别。
2.根据权利要求1所述的基于网络流量分类的恶意软件识别方法,其特征在于,在所述步骤a中,所述获取正常流量作为流量样本数据,通过流量样本数据训练森林分类器具体为:对通过防火墙的正常流量进行抓包,获取流量样本数据,通过分析软件对所述流量样本数据进行分析,将<源IP,源端口,目的IP,目的端口>四元组相同的流量数据包定义为一个数据流,并对数据流的包头进行特征值提取,利用提取的特征值训练出m棵树,形成森林分类器。
3.根据权利要求2所述的基于网络流量分类的恶意软件识别方法,其特征在于,所述提取的特征值分别为:来回传输的数据包的数量、来回传输的数据流的大小、来回数据流中数据包大小的最大值、最小值、平均值、标准差以及来回数据流中每个数据包之间的时间差的最大值、最小值、平均值、标准差,并利用<目的IP,目的端口,传输层协议>三元组约束将数据流划分成BoF。
4.根据权利要求3所述的基于网络流量分类的恶意软件识别方法,其特征在于,在所述步骤c中,所述将提取的特征值输入森林分类器中进行流量分类具体包括:
定义H(i)=ln(i)+0.5772156649,n为n个流量,
定义c(n)为
c(n)=2H(n-1)-(2(n-1)/n)
用s来判断该流量为异常流量的可能性:
上述公式中,h(x)为流量x离根节点的距离,E(h(x))为森林分类器中h(x)每棵树的平均值;
如果s接近1,则判定该流量为恶意软件生成的异常流量,将约束的整个BoF中同类型流量全部拦截,分析数据包payload部分,对恶意软件的位置进行定位识别,并将日志发送给管理员,如果下次遇到属于该BoF的数据包,则直接丢弃。
5.根据权利要求4所述的基于网络流量分类的恶意软件识别方法,其特征在于,在所述步骤c中,所述将提取的特征值输入森林分类器中进行流量分类还包括:
如果s远小于0.5,则判断该流量是正常流量,放行该正常流量对应的整个BOF,并将该正常流量加入白名单,下次遇到与该正常流量同一类型的流量时不再进行流量分类;
如果s接近0.5,通过防火墙拦截应用的数据包,并利用已有的恶意数据特征对数据包进行分析,如果数据包里有恶意信息,则认为该流量是恶意软件产生的异常流量,按照异常流量的处理方式进行恶意软件的定位识别,下次遇到属于该BoF的时直接丢弃数据包;如果数据包里没有恶意信息,则正常放行该流量,并通过数据包内的关键字搜索应用的相关信息,判断该应用是否是安全应用,在下次遇到时再次进行流量分类。
6.一种基于网络流量分类的恶意软件识别系统,其特征在于,包括:
样本获取模块:用于获取正常流量作为流量样本数据;
分类器训练模块:用于通过所述流量样本数据训练森林分类器;
流量获取模块:用于获取通过防火墙的数据流;
流量分析模块:用于用<目的IP,目的端口,传输层协议>三元组对获取的数据流进行约束形成BoF,对所述BoF中的数据流进行采样,并对采样得到的数据流包头进行特征值提取;
流量分类模块:用于将提取的特征值输入森林分类器中进行流量分类,如果流量分类结果是异常流量,对该异常流量对应的恶意软件进行定位识别。
7.根据权利要求6所述的基于网络流量分类的恶意软件识别系统,其特征在于,还包括样本分析模块;所述样本获取模块对通过防火墙的正常流量进行抓包,获取流量样本数据;所述样本分析模块用于通过分析软件对所述流量样本数据进行分析,将<源IP,源端口,目的IP,目的端口>四元组相同的流量数据包定义为一个数据流,并对数据流的包头进行特征值提取,所述分类器训练模块利用提取的特征值训练出m棵树,形成森林分类器。
8.根据权利要求7所述的基于网络流量分类的恶意软件识别系统,其特征在于,所述样本分析模块提取的特征值分别为:来回传输的数据包的数量、来回传输的数据流的大小、来回数据流中数据包大小的最大值、最小值、平均值、标准差以及来回数据流中每个数据包之间的时间差的最大值、最小值、平均值、标准差,并利用<目的IP,目的端口,传输层协议>三元组约束将数据流划分成BoF。
9.根据权利要求8所述的基于网络流量分类的恶意软件识别系统,其特征在于,所述流量分类模块将提取的特征值输入森林分类器中进行流量分类具体为:
定义H(i)=ln(i)+0.5772156649,n为n个流量,
定义c(n)为
c(n)=2H(n-1)-(2(n-1)/n)
用s来判断该流量为异常流量的可能性:
上述公式中,h(x)为流量x离根节点的距离,E(h(x))为森林分类器中h(x)每棵树的平均值;
如果s接近1,则判定该流量为恶意软件生成的异常流量,将约束的整个BoF中同类型流量全部拦截,分析数据包payload部分,对恶意软件的位置进行定位识别,并将日志发送给管理员,如果下次遇到属于该BoF的数据包,则直接丢弃。
10.根据权利要求9所述的基于网络流量分类的恶意软件识别系统,其特征在于,所述流量分类模块将提取的特征值输入森林分类器中进行流量分类还包括:
如果s远小于0.5,则判断该流量是正常流量,放行该正常流量对应的整个BOF,并将该正常流量加入白名单,下次遇到与该正常流量同一类型的流量时不再进行流量分类;
如果s接近0.5,通过防火墙拦截应用的数据包,并利用已有的恶意数据特征对数据包进行分析,如果数据包里有恶意信息,则认为该流量是恶意软件产生的异常流量,按照异常流量的处理方式进行恶意软件的定位识别,下次遇到属于该BoF的时直接丢弃数据包;如果数据包里没有恶意信息,则正常放行该流量,并通过数据包内的关键字搜索应用的相关信息,判断该应用是否是安全应用,在下次遇到时再次进行流量分类。
11.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述1至5任一项所述的基于网络流量分类的恶意软件识别方法的以下操作:
步骤a:获取正常流量作为流量样本数据,通过所述流量样本数据训练森林分类器;
步骤b:获取通过防火墙的数据流,用<目的IP,目的端口,传输层协议>三元组对获取的数据流进行约束形成BoF,对所述BoF中的数据流进行采样,并对采样得到的数据流包头进行特征值提取;
步骤c:将提取的特征值输入森林分类器中进行流量分类,如果流量分类结果是异常流量,对该异常流量对应的恶意软件进行定位识别。
CN201810342718.7A 2018-04-17 2018-04-17 一种基于网络流量分类的恶意软件识别方法、系统及电子设备 Pending CN110392013A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810342718.7A CN110392013A (zh) 2018-04-17 2018-04-17 一种基于网络流量分类的恶意软件识别方法、系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810342718.7A CN110392013A (zh) 2018-04-17 2018-04-17 一种基于网络流量分类的恶意软件识别方法、系统及电子设备

Publications (1)

Publication Number Publication Date
CN110392013A true CN110392013A (zh) 2019-10-29

Family

ID=68283003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810342718.7A Pending CN110392013A (zh) 2018-04-17 2018-04-17 一种基于网络流量分类的恶意软件识别方法、系统及电子设备

Country Status (1)

Country Link
CN (1) CN110392013A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110855657A (zh) * 2019-11-07 2020-02-28 深圳市高德信通信股份有限公司 一种计算机网络用的网络安全控制系统
CN112565287A (zh) * 2020-12-18 2021-03-26 深信服科技股份有限公司 资产暴露面确定方法、装置、防火墙及存储介质
CN113037687A (zh) * 2019-12-24 2021-06-25 中移物联网有限公司 一种流量识别方法及电子设备
CN113055362A (zh) * 2021-03-01 2021-06-29 深信服科技股份有限公司 异常行为的预防方法、装置、设备及存储介质
CN113076539A (zh) * 2021-04-13 2021-07-06 郑州信息科技职业学院 一种基于大数据的计算机安全防护系统
CN113746686A (zh) * 2020-05-27 2021-12-03 阿里巴巴集团控股有限公司 一种网络流量的状态确定方法、计算设备及存储介质
CN113904795A (zh) * 2021-08-27 2022-01-07 北京工业大学 一种基于网络安全探针的流量快速精确检测方法
CN114021637A (zh) * 2021-11-01 2022-02-08 中国科学院信息工程研究所 一种基于度量空间下去中心化应用加密流量分类方法及装置
WO2022100707A1 (zh) * 2020-11-13 2022-05-19 华为技术有限公司 一种确定数据流信息的方法、装置及系统
CN114615053A (zh) * 2022-03-09 2022-06-10 杭州安恒信息技术股份有限公司 一种反向代理识别方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102271090A (zh) * 2011-09-06 2011-12-07 电子科技大学 基于传输层特征的流量分类方法及装置
CN106657141A (zh) * 2017-01-19 2017-05-10 西安电子科技大学 基于网络流量分析的安卓恶意软件实时检测方法
CN107153789A (zh) * 2017-04-24 2017-09-12 西安电子科技大学 利用随机森林分类器实时检测安卓恶意软件的方法
CN107196953A (zh) * 2017-06-14 2017-09-22 上海丁牛信息科技有限公司 一种基于用户行为分析的异常行为检测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102271090A (zh) * 2011-09-06 2011-12-07 电子科技大学 基于传输层特征的流量分类方法及装置
CN106657141A (zh) * 2017-01-19 2017-05-10 西安电子科技大学 基于网络流量分析的安卓恶意软件实时检测方法
CN107153789A (zh) * 2017-04-24 2017-09-12 西安电子科技大学 利用随机森林分类器实时检测安卓恶意软件的方法
CN107196953A (zh) * 2017-06-14 2017-09-22 上海丁牛信息科技有限公司 一种基于用户行为分析的异常行为检测方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110855657A (zh) * 2019-11-07 2020-02-28 深圳市高德信通信股份有限公司 一种计算机网络用的网络安全控制系统
CN110855657B (zh) * 2019-11-07 2021-05-18 深圳市高德信通信股份有限公司 一种计算机网络用的网络安全控制系统
CN113037687B (zh) * 2019-12-24 2022-09-16 中移物联网有限公司 一种流量识别方法及电子设备
CN113037687A (zh) * 2019-12-24 2021-06-25 中移物联网有限公司 一种流量识别方法及电子设备
CN113746686A (zh) * 2020-05-27 2021-12-03 阿里巴巴集团控股有限公司 一种网络流量的状态确定方法、计算设备及存储介质
WO2022100707A1 (zh) * 2020-11-13 2022-05-19 华为技术有限公司 一种确定数据流信息的方法、装置及系统
CN112565287A (zh) * 2020-12-18 2021-03-26 深信服科技股份有限公司 资产暴露面确定方法、装置、防火墙及存储介质
CN112565287B (zh) * 2020-12-18 2023-05-12 深信服科技股份有限公司 资产暴露面确定方法、装置、防火墙及存储介质
CN113055362A (zh) * 2021-03-01 2021-06-29 深信服科技股份有限公司 异常行为的预防方法、装置、设备及存储介质
CN113076539A (zh) * 2021-04-13 2021-07-06 郑州信息科技职业学院 一种基于大数据的计算机安全防护系统
CN113904795A (zh) * 2021-08-27 2022-01-07 北京工业大学 一种基于网络安全探针的流量快速精确检测方法
CN113904795B (zh) * 2021-08-27 2024-06-04 北京工业大学 一种基于网络安全探针的流量快速精确检测方法
CN114021637A (zh) * 2021-11-01 2022-02-08 中国科学院信息工程研究所 一种基于度量空间下去中心化应用加密流量分类方法及装置
CN114615053A (zh) * 2022-03-09 2022-06-10 杭州安恒信息技术股份有限公司 一种反向代理识别方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN110392013A (zh) 一种基于网络流量分类的恶意软件识别方法、系统及电子设备
Meidan et al. ProfilIoT: A machine learning approach for IoT device identification based on network traffic analysis
Wang et al. Seeing through network-protocol obfuscation
US11399288B2 (en) Method for HTTP-based access point fingerprint and classification using machine learning
EP2953298B1 (en) Log analysis device, information processing method and program
CN106909847B (zh) 一种恶意代码检测的方法、装置及系统
CN111277587A (zh) 基于行为分析的恶意加密流量检测方法及系统
US10721245B2 (en) Method and device for automatically verifying security event
US20170034195A1 (en) Apparatus and method for detecting abnormal connection behavior based on analysis of network data
CN110611640A (zh) 一种基于随机森林的dns协议隐蔽通道检测方法
US20170063892A1 (en) Robust representation of network traffic for detecting malware variations
CN106534146A (zh) 一种安全监测系统及方法
JP6174520B2 (ja) 悪性通信パターン検知装置、悪性通信パターン検知方法、および、悪性通信パターン検知プログラム
CN107360118A (zh) 一种高级持续威胁攻击防护方法及装置
Liu et al. Maldetect: A structure of encrypted malware traffic detection
US20140344931A1 (en) Systems and methods for extracting cryptographic keys from malware
CN113079150B (zh) 一种电力终端设备入侵检测方法
CN112800424A (zh) 一种基于随机森林的僵尸网络恶意流量监测方法
CN103944788A (zh) 基于网络通信行为的未知木马检测方法
CN115134250A (zh) 一种网络攻击溯源取证方法
CN106911665B (zh) 一种识别恶意代码弱口令入侵行为的方法及系统
CN111464510A (zh) 一种基于快速梯度提升树模型的网络实时入侵检测方法
KR101488271B1 (ko) Ids 오탐 검출 장치 및 방법
Moustafa et al. RCNF: Real-time collaborative network forensic scheme for evidence analysis
Iqbal et al. Analysis of a payload-based network intrusion detection system using pattern recognition processors

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20191029