CN110213227A - 一种网络数据流检测方法及装置 - Google Patents
一种网络数据流检测方法及装置 Download PDFInfo
- Publication number
- CN110213227A CN110213227A CN201910335753.0A CN201910335753A CN110213227A CN 110213227 A CN110213227 A CN 110213227A CN 201910335753 A CN201910335753 A CN 201910335753A CN 110213227 A CN110213227 A CN 110213227A
- Authority
- CN
- China
- Prior art keywords
- cluster
- data flow
- network data
- size
- independence
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
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
本申请实施例公开了一种网络数据流检测方法及装置,可应用于恶意流量的检测场景中,该方法通过簇的大小判断簇的类型,可以不依赖训练集的广泛性和准确性,不需要高质量训练集的支持,有效降低了高质量训练集带来的成本问题,实现了在不同网络环境下的自适应恶意流量识别,且对人经验的依赖性更小,具有网络自适应性。本申请实施例方法包括:针对多条网络数据流提取该多条网络数据流的特征向量;然后基于预设聚类算法和该多条网络数据流的特征向量对该多条数据流进行聚类,获得一个或多个簇;针对每个簇的特征信息与第一预设条件的比较确定该簇的类型。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种网络数据流检测方法及装置。
背景技术
目前互联网加密流量的应用场景越来越多,随着Google等主流浏览器提供商开始将超文本传输协议(hypertext transfer protocol,HTTP)定义为“不安全”,导致越来越多的网站开始升级部署HTTPS加密协议。因此面向网站系统的渗透测试流量客观上实现了数据加密,这对攻击行为的网络检测提出了挑战。与此同时,各类恶意软件,如木马病毒等的通信手段也逐步采用加密手段(主要是指受控节点与CC控制服务器之间的通信),这同样为恶意流量的网络检测提出了挑战。
恶意流量的网络检测的方法一般为基于此类HTTPS流量提取相关的上下文特征。利用这些上下文特征形成特征向量,即利用已经识别出的部分黑白样本作为训练样本,提取这些流量中的特征形成特征向量进行训练,从而形成一个面向与训练集相似流量的流量分类器。将上述特征向量输入分类器中,即可以实现流量的分类,即识别出流量中的恶意流量和正常流量。
但是,该方法对于黑白流量训练集的要求较高,黑白流量的标注依然需要较高水平的人工经验,不同网络场景下流量模型会存在较大差别,对于网络场景依赖度较高的流量检测(如渗透测试流量),需要在不同网络场景分别进行模型训练才能达到较好的检测效果,不具有网络自适应性。
发明内容
本申请实施例提供了一种网络数据流检测方法及装置,可以不依赖训练集的广泛性和准确性,不需要高质量训练集的支持,有效降低了高质量训练集带来的成本问题,实现了在不同网络环境下的数据流的检测识别,且对人经验的依赖性更小,具有网络自适应性。
有鉴于此,本申请第一方面提出一种网络数据流检测方法,方法在执行过程中涉及到的功能模块可以在服务器中对应相应的功能实体。该方法可以包括:针对多条网络数据流提取所述多条网络数据流的特征向量;基于预设聚类算法和所述多条网络数据流的特征向量对所述多条网络数据流进行聚类,获得一个或多个簇,其中,簇为网络数据流的集合;针对每个簇获取所述簇的特征信息,所述特征信息包括所述簇的大小;根据第一预设条件确定所述簇的类型,所述第一预设条件包括比较所述簇的大小与第一阈值的关系。由该可能的实现方式可见,根据簇的大小判断对应簇的类型,可以不依赖训练集的广泛性和准确性,不需要高质量训练集的支持,对人经验的依赖性更小,提高了检测方法的应用范围。
可选的,在本申请的一些实现方式中,所述针对多条网络数据流提取所述多条网络数据流的特征向量之后,所述方法还包括:对所述特征向量进行归一化处理;所述基于预设聚类算法和所述多条网络数据流的特征向量对所述多条网络数据流进行聚类,具体包括:基于预设聚类算法和所述多条网络数据流的进行归一化处理后的特征向量对所述多条网络数据流进行聚类。由该可能的实现方式可见,通过归一化处理特征向量,可以确保聚类过程中不会由于各个维度的单位不同而影响距离的计算,降低本申请实施例对某个特定聚类算法的依赖性。
可选的,在本申请的一些实现方式中,所述针对多条网络数据流提取所述多条网络数据流的特征向量之后,所述方法还包括:计算所述特征向量的方差;判断所述方差是否大于第二阈值;若所述方差大于所述第二阈值,则保留所述特征向量;所述基于预设聚类算法和所述多条网络数据流的特征向量对所述多条网络数据流进行聚类,具体包括:基于预设聚类算法和保留的所述特征向量对所述多条网络数据流进行聚类。由该可能的实现方式可见,通过对特征向量的筛选可以减少不同维度的特征对于检测过程的影响,保证检测过程的稳定性。
可选的,在本申请的一些实现方式中,所述根据第一预设条件确定所述簇的类型,所述第一预设条件包括比较所述簇的大小与第一阈值的关系,具体为:所述第一预设条件包括判断所述簇的大小是否大于第一阈值,当所述簇的大小大于第一阈值则所述簇为正常簇。由该可能的实现方式可见,通过簇的大小判断簇的是否为正常簇,可以不依赖训练集的广泛性和准确性,不需要高质量训练集的支持,有效降低了高质量训练集带来的成本问题。
可选的,在本申请的一些实现方式中,所述根据第一预设条件确定所述簇的类型,所述第一预设条件包括比较所述簇的大小与第一阈值的关系,具体为:所述第一预设条件包括判断所述簇的大小是否小于第一阈值,当所述簇的大小小于第一阈值则所述簇为恶意簇。由该可能的实现方式可见,通过簇的大小判断簇的是否为恶意簇,可以不依赖训练集的广泛性和准确性,不需要高质量训练集的支持,有效降低了高质量训练集带来的成本问题。
可选的,在本申请的一些实现方式中,所述方法还包括:根据第二预设条件确定簇的类型,所述第二预设条件包括判断所述簇的大小是否小于第三阈值,当所述簇的大小小于第三阈值则所述簇为恶意簇,所述第三阈值小于所述第一阈值。由该可能的实现方式可见,通过簇的大小判断簇的类型,可以不依赖训练集的广泛性和准确性,不需要高质量训练集的支持,有效降低了高质量训练集带来的成本问题。
可选的,在本申请的一些实现方式中,所述方法还包括:当簇的大小介于第一阈值与第三阈值之间,所述簇为未知簇。由该可能的实现方式可见,通过对于未知簇的判定,可以将簇的大小介于正常簇与恶意簇之间的簇提取出来,保证了检测过程的准确性。
可选的,在本申请的一些实现方式中,所述第一阈值和所述第三阈值为根据所述簇的大小计算二阶差分所得。由该可能的实现方式可见,通过二阶差分计算得到第一阈值和第三阈值,可以准确的反映不同簇的大小的差异情况,提高阈值划分的准确性。
可选的,在本申请的一些实现方式中,所述方法还包括:获取未知簇的独立性参数,所述独立性参数包括对独立性起反作用的条件参数和对独立性起正作用的条件参数;根据所述独立性参数计算所述未知簇的独立性数值,所述独立性数值根据独立性计算公式所得,所述独立性计算公式为:
其中,i为未知簇的标识;n为第i个未知簇中数据流的数量,j为第i个未知簇中数据流的标识,x为对未知簇的独立性起反作用的事件;xj为在第j个数据流中x的发生次数;xi为在第i个簇中x的发生次数;y为对未知簇的独立性起正作用的事件;yj为在第j个数据流中y的发生次数;yi为在第i个簇中y的发生次数;ci表示当前计算的未知簇中所有事件发生的次数;p(xj|ci)表示在第j个数据流中的x事件在第i个簇中的发生概率;all表示所有参与聚类的簇中所有事件的发生次数;p(xi|all)表示在第i个簇中的x事件在所有聚类的簇中的发生概率;p(yj|ci)表示在第j个数据流中的y事件在第i个簇中的发生概率;p(yi|all)表示在第i个簇中的y事件在所有聚类的簇中的发生概率;若所述独立性数值小于第四阈值,则所述未知簇为恶意簇。由该可能的实现方式可见,通过对于未知簇的判定,可以进一步的识别数据流中的流量类型,保证了检测过程的完整性及准确性。
可选的,在本申请的一些实现方式中,所述方法还包括:若所述独立性数值大于第五阈值,对所述独立性数值对应的未知簇的数据流进行聚类生成二次聚类簇;获取所述二次聚类簇的大小信息,所述大小信息用于确定所述二次聚类簇的大小;若所述二次聚类簇的大小大于所述第一阈值,则所述二次聚类簇为正常簇。由该可能的实现方式可见,通过对于未知簇中未确定类型的流量的进一步聚类,提高了检测过程的准确性,完整的利用了所有样本。
可选的,在本申请的一些实现方式中,所述特征向量包括:发送包频率、接收包频率、发送接收比率、发送/接收字节比例、最大发送字节、最小返回字节、发送包接受包标准差、每小时平均连接次数、访问服务端IP数量、安全传输层协议TLS客户端指纹、客户端加密套件及扩展、客户端密钥长度、TLS传输过程中的特征、传输时间、收发包数量、收发字节数量、TLS服务端特征、证书是否自签名、证书有效期、证书SAN数量、服务端特征、密钥长度、服务端域名字符分布中的一个或多个。由该可能的实现方式可见,通过对于特征向量的规定,全方位的模拟了数据流的特征参数,提高了检测结果的准确性。
本申请第二方面提供一种网络数据流检测装置,该网络数据流检测装置具有实现上述第一方面或第一方面任意一种可能实现方式的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第三方面,本申请提供另一种网络数据流检测装置,该网络数据流检测装置可以包括:输入/输出(I/O)接口、处理器和存储器;所述存储器用于存储指令;所述处理器用于执行所述存储器中的所述指令,使得所述网络数据流检测装置执行如前述第一方面中任一项所述的方法。
第四方面,本申请提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如前述第一方面及任一可选实现方式中所述的方法。该计算机存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(randomaccess memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
第五方面,本申请提供一种计算机程序产品,当其在计算机上运行时,使得计算机执行如前述第一方面及任一可选实现方式中所述的方法。
第六方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持网络数据流检测装置实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存网络数据流检测装置必要的程序指令和数据。该芯片系统,既可以是网络数据流检测装置,也可以是应用在网络数据流检测装置中执行相应功能的系统芯片。
从以上技术方案可以看出,本申请实施例具有以下优点:通过簇的大小判断簇的类型,可以不依赖训练集的广泛性和准确性,不需要高质量训练集的支持,有效降低了高质量训练集带来的成本问题,实现了在不同网络环境下的数据流的检测识别,且对人经验的依赖性更小,具有网络自适应性。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例和现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,还可以根据这些附图获得其它的附图。
图1是基于模型的流量检测方法的流程示意图;
图2是本申请实施例所应用的场景架构图;
图3是本申请实施例提供的一种网络数据流检测装置;
图4是本实施例提供的一种网络数据流检测过程的框架图;
图5是本申请实施例提供的一种网络数据流检测的方法流程示意图;
图6是本申请实施例提供的各类簇的大小与类型关系示意图;
图7是本申请实施例提供的另一种网络数据流检测装置的结构示意图;
图8是本申请实施例提供的另一种网络数据流检测的方法流程示意图;
图9是本申请实施例提供的一种独立性数值与簇类型的关系示意图
图10是本申请实施例提供的一种加密渗透测试流量检测框架图;
图11是本申请实施例提供的另一种网络数据流检测装置。
具体实施方式
本申请实施例提供了一种网络数据流检测方法及装置,用于通过簇的大小判断簇的类型,可以不依赖训练集的广泛性和准确性,需要高质量训练集的支持,有效降低了高质量训练集带来的成本问题,实现了在不同网络环境下的自适应恶意流量识别,且对人经验的依赖性更小,具有网络自适应性。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,都应当属于本申请保护的范围。
目前互联网加密流量的应用场景越来越多,随着Google等主流浏览器提供商开始将HTTP定义为“不安全”,导致越来越多的网站开始升级部署HTTPS加密协议。因此面向网站系统的渗透测试流量客观上实现了数据加密,这对攻击行为的网络检测提出了挑战。与此同时,各类恶意软件,如木马病毒等的通信手段也逐步采用加密手段(主要是指受控节点与CC控制服务器之间的通信),这同样为恶意流量的网络检测提出了挑战。当前采用的恶意流量检测方法可以分为两种,一种是基于规则的检测方法,另一种是基于模型的检测方法。
基于规则的检测方法主要依赖于专家经验制定规则,然后根据规则特征匹配的方法检测网络中的恶意流量。这种方法在之前的非加密流量中比较有效,如果网络数据采用了加密的方法,那么流量内容则不再存在明显的特征,因此此类方法对加密恶意流量是无效的。此外,规则的定义对于专家经验依赖度高,在不同场景下检测准确性可能差异较大,在不同网络场景下适配的检测规则往往不同,规则适配需要人工参与调整,应用场景受限。
基于模型的检测方法主要是采用机器学习的原理,如图1所示,是基于模型的流量检测方法的流程示意图,即检测利用黑白流量训练集,训练形成分类检测模型,然后利用该模型(分类器)进行恶意行为检测。与基于规则的检测方法相比,该方法对人的经验知识依赖较小,利用加密黑白流量进行训练,可以实现一定场景下的加密恶意流量检测。但是,该方法对于黑白流量训练集的要求较高,黑白流量的标注依然需要较高水平的人工经验,不同网络场景下流量模型会存在较大差别,对于网络场景依赖度较高的流量检测(如渗透测试流量),需要在不同网络场景分别进行模型训练才能达到较好的检测效果,不具有网络自适应性。
为解决上述问题,本申请实施例提供了一种网络数据流检测方法,该方法可以应用于如图2所示的场景架构中,如图2所示,是本申请实施例所应用的场景架构图,图2中源服务器10通过网络20与目的服务器30进行网络数据流传输,网络数据流中可能包含恶意流量,恶意流量可能通过源服务器10向目的服务器30传输,也可能通过目的服务器30向源服务器10传输,该方法可应用于上述传输过程对应的实体装置或虚拟装置中;图中示出了3个目的服务器30,可以理解的是,也可以是大于或小于3的目的服务器30,具体目的服务器30数量因实际场景而定,此处不做限定。
在一种可能的场景中,该方法可以应用在网络数据流检测装置当中,可以是在线的流量检测也可以是非实时的离线流量检测,应当注意的是,该流量检测设备可以是实体的接入设备,也可以是运行于服务器或其他指定设备中的软件程序,具体方式因实际场景而定。
对该网络数据流检测装置采用集成的方式划分各个功能单元的情况下,如图3所示,是本申请实施例提供的一种网络数据流检测装置的结构示意图。
如图3示,本申请实施例提供的网络数据流检测装置300包括:提取单元301、聚类单元302、分析单元303和确定单元304。
提取单元301,用于针对多条网络数据流,提取所述多条网络数据流的特征向量;
聚类单元302,用于基于预设聚类算法和所述多条网络数据流的特征向量对所述多条数据流进行聚类,获得一个或多个簇,其中,簇为数据流的集合;
分析单元303,用于针对每个簇获取所述簇的特征信息,所述特征信息包括所述簇的大小;
确定单元304,用于根据第一预设条件确定所述簇的类型,所述第一预设条件包括比较所述簇的大小与第一阈值的关系。
在一些实现方式中,提取单元301,还用于对该特征向量进行归一化处理;
聚类单元302,具体用于基于预设聚类算法和该多条网络数据流的进行归一化处理后的特征向量对该多条网络数据流进行聚类。
在一些实现方式中,提取单元303,还用于计算该特征向量的方差;
提取单元301,还用于判断该方差是否大于第二阈值;
提取单元301,还用于若该方差大于该第二阈值,则保留该特征向量;
聚类单元302,具体用于基于预设聚类算法和保留的该特征向量对该多条网络数据流进行聚类。
在一些实现方式中,确定单元304,还用于根据第二预设条件确定簇的类型,该第二预设条件包括判断该簇的大小是否小于第三阈值,当该簇的大小小于第三阈值则该簇为恶意簇,该第三阈值小于该第一阈值。
在一些实现方式中,提取单元301,还用于获取未知簇的独立性参数,该独立性参数包括对独立性起反作用的条件参数和对独立性起正作用的条件参数;
分析单元303,还用于根据该独立性参数计算该未知簇的独立性数值;
确定单元304,还用于若该独立性数值小于第五阈值,则将该未知簇确定为恶意簇。
在一些实现方式中,分析单元303,还用于若该独立性数值大于第五阈值,对该独立性数值对应的未知簇的数据流进行聚类则生成二次聚类簇,该二次聚类簇为该未知簇聚类所得;
提取单元301,还用于获取该二次聚类簇的大小信息,该大小信息用于确定该二次聚类簇的大小;
确定单元304,还用于若该二次聚类簇的大小大于该第一阈值,则该二次聚类簇为正常簇。
下面结合附图4,对图3中的模块在执行数据流检测过程中的交互关系进行说明,如图4所示,是本实施例提供的一种网络数据流检测过程的框架图。在网络数据流检测过程中,包括提取单元301,聚类单元302,分析单元303和确定单元304。
提取单元301,用于输入多条网络数据流,然后基于多条网络数据流采集所需的加密流量特征生成成特征向量,即训练模型。
聚类单元302,用于针对提取单元301生成的不同的训练模型对多条网络数据流进行特征向量的聚类分析,得到多个簇。
分析单元303,用于对聚类单元302得到的多个簇进行评价分析,以得到特征信息。
确定单元304,用于根据分析单元303得到的特征信息确定簇的类型。
应当注意的是,聚类单元302可以是一个或多个,在实际场景中,可以基于训练模型的数量动态的调整聚类单元302的数量,以适配于不同类型的特征向量,具体聚类单元302的数量因实际场景而定,此处不做限定。
可以理解的是,在本申请实施例中,确定单元304中可能存在未确定属性的流量,此时,可以将未确定属性的网络数据流再次导入聚类单元302中,与接下来的网络数据流进行检测,即二次检测过程,可以理解的是,该二次检测过程可以是大于二次的次数,即该二次检测可以是循环的过程,未确定属性的流量可以进行二次检测三次、四次或更多次,直到未确定属性的流量被标记了属性,具体检测次数因实际场景而定。
在一种可能的场景中,未确定属性的流量可以是未知簇,对于不同的特征向量,可以根据一定的规则将这些特征向量划分为正常簇、恶意簇和未知簇,可以将正常簇和恶意簇输出为检测结果,将未知簇再次导入聚类单元302,待参与接下来的特征向量聚类过程。
应当注意的是,对上述网络数据流检测的框架的描述中,提取单元、聚类单元、分析单元和确定单元等命名方式为相应部件对应功能的描述概括,在可能的场景中,也可以使用其他的命名方式,具体的命名方式不对其功能限定。
下面基于上述网络数据流检测装置的内容,对本申请实施例提供的网络数据流检测的方法进行说明,如图5所示,是本申请实施例提供的一种网络数据流检测的方法流程示意图,该方法包括但不限于如下步骤:
501、针对多条网络数据流提取多条网络数据流的特征向量。
本实施例中,对于多条网络数据流特征向量的提取可以是在预设时间段内间断式的采集,也可以是提取在预设时间段内所有的网络数据流的特征向量,还可以根据相关人员的操作进行获取操作,具体获取方式因实际场景而定,可以理解的是,由于网络数据流可以包含源IP地址、源端口信息、目的IP地址、目的端口信息以及传输层协议等相关信息,对应的特征向量也可以基于上述信息的一种或多种进行提取。
本实施例中,可以以服务器为例,对服务器中的网络数据流检测进行说明。从数据流中提取特征向量可以是基于预设规则筛选的特征向量,例如,获取加密流两端的通信模式或加密流客户端的行为模式,并提取基于该通信模式或行为模式的所有特征;从数据流中提取特征向量也可以是基于规定的特征向量,例如,在检测网络中木马的命令与控制服务器(command and control server,C2)恶意加密通信流量时,规定的特征向量为:安全传输层协议(transport layer security,TLS)客户端指纹、客户端加密套件及扩展、客户端密钥长度、传输过程中的特征、传输时间、收发包数量、收发字节数量、TLS服务端特征、证书是否自签名、证书有效期、证书主题可选名(subject alternative name,SAN)数量、服务端特征、密钥长度、服务端域名字符分布。
可选的,服务器在提取特征向量的过程中,由于数据流的多样性,得到的特征向量可能基于不同的单位,可能需要较复杂的过程进行后续的聚类过程,在这种场景中,可以在获取数据流并提取特征向量之后,对特征向量进行归一化处理,即规定任一特征向量为待处理向量,将其它向量取值分布映射至基于待处理向量设定的坐标系的(-1,1)区间当中,这样可以确保聚类过程中不会由于各个维度的单位不同而影响距离的计算,降低本申请实施例对某个特定聚类算法的依赖性。
可选的,在一种可能的场景中,可能存在很高维度的特征,例如在C2中的加密套件并不是每一个维度都对聚类模型起正面作用;而且,有些不同的问题可以借助特征池中共同的特征解决,比如加密扫描流量可能会利用加密渗透测试中的收发包比例这一特征。为优化在该场景中的特征向量的提取过程,可以在获取数据流并提取特征向量之后,利用网络流量中现实的黑白流量往往分布不均匀(恶意流量往往很少,正常流量很多)这一特点。使用方差选择法,要计算各个特征的方差,然后根据第二阈值,选择方差大于第二阈值的特征。可以理解的是,对于第二阈值的选择,取有限个不同第二阈值,选择相对应的特征进行聚类,得到对应第二阈值下最优的聚类情况,然后,通过聚类结果中恶意流量的比例和簇内平均数量,确定最终的第二阈值。
502、对多条网络数据流进行聚类。
本实施例中,对多条网络数据流进行聚类所涉及的聚类算法可以分为两类,即划分聚类算法和分层聚类算法;其中,划分聚类算法通过优化评价函数把数据集分割为K个部分,它需要K作为输入参数。典型的划分聚类算法有K-means算法、K-medoids算法和CLARANS算法。分层聚类算法即由不同层次的分割聚类组成,层次之间的分割具有嵌套的关系,分层聚类算法不需要输入参数。典型的分层聚类算法有BIRCH算法、DBSCAN算法和CURE算法等。除了可以使用以上的K-means算法、DBSCAN算法等,还可以使用随机森林算法来对数据流进行聚类,或者使用基于上述算法同类型中的其他算法。
可以理解的是,至少一种聚类算法可以包括K-means算法、K-medoids算法、CLARANS算法、BIRCH算法、DBSCAN算法和CURE算法中的一种或多种算法,具体算法的选择可根据具体的特征向量的类型进行选择,多种聚类算法可以混合使用,此处不做限定。
本实施例中,可以从网络数据流中提取预设时间段内的数据报文,在聚类过程中,可以根据规定的特征针对预设时间段内的数据报文提取相应的特征参数,例如可以提取:传输时间、收发包数量或收发字节数量等特征参数;将所提取的特征参数进行归一化计算得到数据序列,例如:利用python的pandas读取csv数据;将该数据序列输入聚类模型,例如:K-means算法模型,得到聚类结果。
在具体的聚类模型构造的过程中,可以是通过调整模型参数,迭代尝试不同的聚类个数,例如:改变k的数值,计算不同k值情况下的聚类情况,最终选取最优的聚类情况下的参数作为模型参数,构建聚类模型。
在一种可能的场景中,待聚类的网络数据流中可能包含已标记的恶意流量,例如:已知的针对端口扫描攻击的流量,此时,可以将该恶意流量与待检测的数据流一起进行聚类,在聚类结果中,与恶意流量聚类紧密的网络数据流可以直接也标记为恶意流量,然后输出检测结果。
503、获取聚类所得簇的特征信息。
本实施例中,通过步骤502中的聚类算法对数据流进行聚类后,一般情况下,在聚类结果中,通常认为一个包含较多数量的数据流的簇为一个正常簇,而恶意簇通常表现为包含较少数量的数据流,因此网络中的正常数据流与恶意数据流的分布差异可以在聚类后基于簇中数据流数量多少的差异来进行区分判断。除了通过簇中数据流的数量来进行数据流的区分判断,聚类后簇的类型也可以通过簇中数据流的源IP地址与目的IP地址的分布差异来进行区分判断,这是由于每个网络数据流中均包含源IP地址与目的IP地址,源IP地址与目的IP地址的数量或访问情况可以反映出网络数据流的大小情况。可以理解的是,目的IP地址和源IP地址在不同场景中可以对应相应的功能实体,例如:对于加密渗透攻击流量的识别场景中,可以通过簇中网络数据流的服务端IP地址与客户端IP地址的分布差异来进行区分判断。由于通常来说,对于恶意簇中,目的IP地址和源IP地址往往比较单一;对于正常簇中,目的IP地址和源IP地址往往比较丰富,因此通常来说,当目的IP地址或源IP地址比较单一的情况下,则可以判断这个簇为恶意簇,当目的IP地址或源IP地址比较丰富的情况下,则可以判断这个簇为正常簇。
如图6所示,是本申请实施例提供的各类簇的大小与类型关系示意图,通常来说在进行聚类之后恶意簇中源IP和目的IP较少,正常簇的源IP和目的IP丰富,而源IP和目的IP的多少可以反应出簇的大小情况,因此可以根据簇中源IP和目的IP的总量来判断簇的类型,即当簇中源IP和目的IP的总量较大时,可以判断该簇为正常簇;当簇中源IP和目的IP的总量较小时,可以判断该簇为恶意簇。
另外,如图6中所示,正常簇和恶意簇之间存在一个簇大小的阈值,在大于阈值的簇均为正常簇,由于一些簇中可能包含多种服务类型,这些服务类型与其他类型的服务流量大小相差较大,例如:互联网协议电视(internet protocol television,IPTV),对于这类服务的源IP单一,但目的IP丰富,这导致包含这类服务的簇的大小介于正常簇与恶意簇之间,难以直观区分,故存在未知簇,其余的则均为恶意流量。
可以理解的是,本实施例中通过簇的大小来作为特征信息,以判定簇的类型,在一些可能的场景中,直接或间接关联到簇的大小的特征信息也可以作为划分簇的类型的依据,例如:按照源IP的数量、目的IP的数量或源IP/目的IP的总量,该类场景所涉及的特征信息元素均包含在本申请的实现方式中,此处以簇的大小来作为特征信息为说明该思想,此处不做限定。
504、确定簇的类型。
本实施例中,预设条件的设定可以是通过二阶差分计算的方法得到正常簇和未知簇之间的阈值、未知簇与恶意簇之间的阈值。二阶差分计算的公式可以是:
Δ(Δy(x))=|Δ(y(x+1)-y(x))|=|Δy(x+1)-Δy(x)|
Δ(Δy(x))=|y(x+2)-2*y(x+1)+y(x)|
公式中Δ(Δy(x))为二阶差分;Δy(x)为一阶差分,x为簇的ID,即x为按照簇的大小由大到小排序的数值;y(x)为该簇的大小。
应当注意的是,x的排列数值选择可以是整数序列,例如:根据簇的大小依次将ID标记为1、2、3,对于ID为1的簇进行二阶差分计算,其中,ID为1的簇的大小为200Byte,ID为2的簇的大小为180Byte,ID为3的簇的大小为100Byte,即y(x)=y(1)=200,y(x+1)=y(2)=180,y(x+2)=y(3)=100,则Δ(Δy(x))=|y(x+2)-2*y(x+1)+y(x)|=|100-2*180+200|=60,即对于ID为1的簇的二阶差分数值为60。
可以理解的是,由于二阶差分数值反映了数据之间的差异程度,故簇的二阶差分数值越大,对应的簇与其他簇的大小差异越大。进一步的,由于正常簇与恶意簇的大小差异很大,故可以取二阶差分值最大的两个点来作为划分正常簇与恶意簇的阈值,在这两个点中,取数值较大的为正常簇与未知簇之间的第一阈值,数值较小的为恶意簇与未知簇之间的第三阈值,即参照该计算方式,可以得到如图6所示的A点和B点,A点即为正常簇与未知簇之间的第一阈值,B点即为未知簇与恶意簇之间的第三阈值。
可以理解的是,此处根据特征信息对于簇类型的划分可以是只对于正常簇的识别,也可以是只对于恶意簇的识别,还可以是对于多种簇(例如:正常簇、未知簇和恶意簇)的划分,具体的应用场景均包含在该通过特征信息划分簇类型的实现方式中。
本实施例中,确定簇的类型可以根据步骤503中与A点或B点的比较而定,在一种可能的场景中,由于特征向量的复杂性,对于A点或B点附近的簇可能划分不准确,此时,可以基于A点或B点选取预设范围作为簇类型的判定依据,例如:选取A±50Byte范围内为未知簇,范围之外的簇再根据大小关系判定类型。
除了上述根据A点,B点进行簇类型划分,即确定簇的类型,还可以根据簇的IP地址数量确定簇的类型。
例如,对加密渗透攻击场景中的服务端和客户端之间的网络数据流进行聚类,最终产生5个簇,其中最大的簇包含72033个客户端IP,其中最小簇包含87个客户端IP,其他簇中分别包含21100、14200、5000个簇,通过历史数据统计,恶意簇中客户端IP数的阈值为100个,即簇中客户端IP数小于100则可判断该簇为恶意簇,故在上述示例中,包含87个客户端IP的簇为恶意簇。
上述实施例通过簇的大小判断簇的类型,由于簇中包含多条网络数据流,即可以对网络数据流的类型进行判断,该过程可以不依赖训练集的广泛性和准确性,不需要高质量训练集的支持,有效降低了高质量训练集带来的成本问题,实现了在不同网络环境下的自适应的网络数据流的检测识别,且对人经验的依赖性更小,具有网络自适应性。
但是,由于正常网络环境下可能存在多种不同的服务类型,比如iptv,与其他服务类型相差很大,这类簇的服务端IP单一,客户端IP丰富,簇的大小介于正常簇和恶意簇之间,难以直观区分,其中可能同时包含着恶意流量和正常流量,这类簇可以称为未知簇,针对未知簇的检测可以在步骤504之后进行,下面结合附图介绍本申请实施例提供的对于未知簇的检测方法。
在一种可能的场景中,针对未知簇的检测方法可以通过图3中的确定单元304的功能实现,具体的,该确定单元304可以采用以下集成的方式划分各个功能模块,如图7所示,是本申请实施例提供的另一种网络数据流检测装置的结构示意图。
如图可见,确定单元304可以包括:获取模块3041、计算模块3042和确定模块3043。
获取模块3041,用于获取网络数据流检测过程中未确定类型的多个未知簇,并对其进行分析,得到预设的独立性参数。
计算模块3042,用于根据获取模块3041得到的独立性参数,计算多个未知簇的独立性数值。
确定模块3043,用于根据计算模块3042计算得到的多个未知簇的独立性数值确定各个未知簇的类型。
可以理解的是,在确定模块3043中未确定类型的未知簇,可以再次将其对应的网络数据流输入聚类单元302中以参与接下来的网络数据流聚类过程。
下面结合上述网络数据流检测装置,对未知簇检测的方法进行说明,如图8所示,是本申请实施例提供的另一种网络数据流检测的方法流程示意图,该方法包括但不限于如下步骤:
801、获取未知簇。
本实施例中,未知簇可以是最近一次检测过程中未确定类型的簇,也可以是上一次检测过程中未确定类型的簇,还可以是历史记录中未确定类型的簇,参照图4中的描述,该过程为一个循环的过程,具体的循环次数因实际场景而定。
802、确定未知簇的独立性参数。
本实施例中,由于特殊簇的产生原因可以是网段内的特殊应用服务所产生的网络数据流的集合,比如基于不同类型的传输协议、特殊web服务、特殊客户端等所产生的网络数据流。由于这类特殊网络数据流的聚类簇会在某些角度呈现聚集状态,例如:簇中服务端IP单一而客户端IP丰富,这与一般网络数据流中的分布存在巨大的差别,故将独立性大的簇从聚类结果中标注出来,即独立性大的簇与包含一般网络数据流的其他簇差异较大,符合包含特殊服务类型所产生的网络数据流的特征,这些簇可以进行二次聚类;独立性较小的簇与包含一般网络数据流的其他簇差异较小,这与特殊服务类型所产生的网络数据流的特征矛盾,则独立性较小的簇中不包含特殊服务类型所产生的网络数据流,其大小较小很可能是由恶意流量造成的,故独立性小的簇则可以认为是恶意簇。
具体的,簇的独立性参数可以包括:对独立性起反作用的条件对应的网络数据流参数,比如在加密渗透测试流量检测中,客户端IP的访问次数为起反作用的条件,则对独立性起反作用的条件参数可以为对该客户端IP的访问次数;和对独立性起正作用的条件对应的网络数据流参数,比如在加密渗透测试中,服务端IP的访问次数为起反作用的条件,则对独立性起反作用的条件参数可以为对该服务端IP的访问次数。
803、计算未知簇的独立性数值。
本实施例中,计算未知簇的独立性数值的公式可以为:
其中,i为未知簇的标识;n为第i个未知簇中数据流的数量,j为第i个未知簇中数据流的标识,x为对未知簇的独立性起反作用的事件;xj为在第j个数据流中x的发生次数;xi为在第i个簇中x的发生次数;y为对未知簇的独立性起正作用的事件;yj为在第j个数据流中y的发生次数;yi为在第i个簇中y的发生次数;ci表示当前计算的未知簇中所有事件发生的次数;p(xj|ci)表示在第j个数据流中的x事件在第i个簇中的发生概率;all表示所有参与聚类的簇中所有事件的发生次数;p(xi|all)表示在第i个簇中的x事件在所有聚类的簇中的发生概率;p(yj|ci)表示在第j个数据流中的y事件在第i个簇中的发生概率;p(yi|all)表示在第i个簇中的y事件在所有聚类的簇中的发生概率。
表1客户端IP与服务端IP访问次数统计
在一种可能的场景中,如表1所示的数据,示出ID为5的簇中包括2组客户端IP与服务端IP的访问情况,对应于上述独立性计算的公式中,即x为客户端IP的访问次数,j=1、2,n=2,x1=10,x2=15;y为服务端IP的访问次数,在簇内y1=12,y2=18,服务端IP总访问次数为1e5,所有数据流中各端口的访问量为2e10则:
D(i)=D(5)=[1-10/(10+15)]/[1-(10+15)/2e10)]+[1-15/25]/[1-(10+15)/2e10)]+(12/30)/(1e5/2e10)+(18/30)/(1e5/2e10)≈21;
由此可知,对于ID为5的簇的独立性为21,将该值记录以参与与其他簇的独立性比较,比较结果作为确定未知簇的类型的依据。
可以理解的是,对于独立性数值的计算也可以在聚类结束之后,按照大小划分簇类型之前进行,即先通过独立性数值的计算将独立性较高的簇独立出来,再进行按照大小划分簇类型的过程,具体流程依实际场景而定,此处不做限定。
804、确定未知簇的类型。
本实施例中,通过步骤803中计算得到的独立性数值与第四阈值的比较,可以确定未知簇的类型,例如:若独立性数值小于第四阈值,则簇标记为恶意簇。对应于表1中的数据场景,第四阈值为500,由于21小于500,则该簇为恶意簇。
可以理解的是,第四阈值的设定可以是根据本轮独立性数值计算结果的分析所得,也可以是根据历史统计的独立性数值设定,具体设定方法因实际场景而定,此处不做限制。
可以理解的是,在历史统计独立性数值过程中,也可以统计该独立性数值对应的具体的事件参数,例如:在表1所述的场景中,簇内客户端IP访问次数大于500可以认为是正常簇,反之则为恶意簇,由于10+15=25<500,则该簇为恶意簇,具体事件或参数因实际场景而定,此处不做限定。
在一种可能的场景中,第四阈值可以是根据当前时间段内比较的簇的独立性数据比较所得,即取独立性较大值或以较大值取一定范围作为第四阈值,如图9所示,是本申请实施例提供的一种独立性数值与簇类型的关系示意图,图示中的特殊服务簇即为未知簇,可以理解的是,该第四阈值可以应用在接下来簇的类型判断中,在接下来簇的类型判断中也可以再次进行如图9所示的划分计算以确定第四阈值。
基于上述网络数据流检测的方法,可以应用到多种场景的网络数据流检测过程中,例如利用上述网络数据流检测的方法对网络中的渗透测试加密流量进行检测,下面结合附图进行说明。
如图10所示,是本申请实施例提供的一种加密渗透测试流量检测过程的框架图。由于在该场景中需对加密流量进行检测,而加密流量需从边界流量中进行提取,故需要通过网络流量分流器旁路采集数据流,然后提取其中的加密数据流,对应的,在该场景中包括:网络边界流量分流器1001、加密流量提取器1002、加密渗透测试流量检测器1003。
其中,网络边界流量分流器1001,用于在网络边界通过旁路采集边界流量;加密流量提取器1002,用于根据TLS协议提取上述边界流量中的加密流量;加密渗透测试流量检测器1003,用于根据预设规则提取上述加密流量的特征向量,例如:发送数据包频率、接收数据包频率等;然后根据特征向量对该加密流量进行聚类,得到多个簇,接下来对多个簇进行分析,得到多个簇的特征信息,最后,根据多个簇的特征信息与第一预设条件的比较,确定加密流量的类型,并输出为检测结果。
下面结合上述场景框架图,对该场景下的具体检测过程进行说明。针对该场景下的网络数据流检测,源IP可以表述为服务端IP,目的IP可以表述为客户端IP,具体的检测方法可采用图5所述的检测流程,应当注意的是,在参照步骤501提取多条网络数据流的特征向量的过程中,基于该场景的特点可以选择如表2所示的特征向量。
表2渗透测试加密流量检测中的特征向量及原因
应当注意的是,特征向量的选择可以是表2中的一种或多种,上述特征向量的命名方式为其功能性的概括,具体的,基于选择上述特征向量的原因的其他特征向量或特征向量的组合也可以包含在本申请实施例的实现方式之中。
在获取上述特征向量后,利用步骤501中归一化的方法对特征向量进行处理,同时,对归一化后的数据计算方差,对方差小的特征进行排除,保留方差大的特征。
参照图5中步骤502的方法,在该场景中,采用K-mean模型聚类,其中,参数聚类数量k采用差距统计(gap statistic)方法自动生成。
参照图5中步骤503-504的方法,获取根据上述特征向量聚类得到簇的大小信息,并根据簇的大小分布划分数据流的类型,具体方式不做赘述。
需要注意的是,在该场景中,对于未知簇的判定,可参照图7中确定未知簇类型的方法,具体的,当应用到独立性数值计算公式时,独立性参数可参照如下规则:
x包括客户端IP,对应的参数可以是访问次数。这是由于若一个簇中的客户端IP分布与整体网络数据流中的IP分布越趋近一致,则这个簇属于正常簇的可能性越高。在这种情况下,每一个客户端IP访问的概率越小,分布越均匀,则簇中的客户端分布与整体流量分布越接近,故该情况下对独立性计算起反作用。因此计算对应条件不发生的概率,与整体环境下该条件不发生的概率作对比。
y包括服务端端口号、服务端证书散列,服务端IP的访问次数。这是由于在网络环境中,特殊流量往往由特殊的应用协议和服务器产生,这类流量需要进行二次划分,从而将其中的正常流量提出,减少误报。极端情况下,一个簇中的服务端IP都来自于同一个服务端地址和端口,而且占据了全流量中所有访问这个服务端地址的大部分流量,那么这一个簇聚类的原因是由于特殊服务应用产生的,故该情况下对独立性计算起正作用。通过计算服务端独立性,可以把服务端分布单一的簇筛选出来。
基于上述规则计算该场景下未知簇的独立性数值,对于独立性依然较小的簇输入到加密流量提取器中进行二次聚类。
表3 C2恶意加密流检测中的特征向量及原因
由上述场景实施例可见,本申请实施例提供的网络数据流检测方法可以实现对于网络边界渗透测试加密流量的检测,在另一种可能的场景中,待检测的数据流中可能会有已标记的恶意流量,例如对于C2恶意加密流的检测,可以获得一些已知的恶意流量,下面对该场景进行说明。
针对该场景下的网络数据流检测,可采用图5所述的检测流程,应当注意的是,在参照步骤501提取多条网络数据流的特征向量的过程中,基于该场景的特点可以选择如表3所示的特征向量。
应当注意的是,特征向量的选择可以是表3中的一种或多种,上述特征向量的命名方式为其功能性的概括,具体的,基于选择上述特征向量的原因的其他特征向量或特征向量的组合也可以包含在本申请实施例的实现方式之中。
由于在计算过程中会涉及具体的数值,对于表3中一些特征可能是判断是否的特征,例如:证书是否自签名,对于此类特征可以按照取固定值的方式带入相关公式中,例如:证书使用自签名,则取值为1,证书未使用自签名,则取值为0,具体取值因实际场景而定。
在获取上述特征向量后,利用步骤501中归一化的方法对特征向量进行处理,由于本场景中已存在标记的恶意流量,可以使用主成分分析(principal component analysis,PCA)降维和决策树的方法过滤上述特征向量,同时,对过滤后的数据计算方差,对方差小的特征进行排除,保留方差大的特征。
参照图5中步骤502的方法,在该场景中,采用K-mean模型聚类,其中,参数聚类数量k采用差距统计方法自动生成。
参照图5中步骤503-504的方法,获取根据上述特征向量聚类得到簇的大小信息,并根据簇的大小分布划分数据流的类型,具体方式不做赘述,由于本场景中已存在标记的恶意流量,对于与已标记的恶意流量的簇相近的簇可以直接标记为恶意簇。
需要注意的是,在该场景中,对于未知簇的判定,可参照图7中确定未知簇类型的方法,具体的,当应用到独立性数值计算公式时,独立性参数可参照如下规则:
x也可以是客户端IP的访问次数。但y包括客户端加密套件使用次数和客户端扩展列表的散列,这是由于在加密C2流量检测中,客户端加密算法是识别恶意流量的一个重要特征,而现实网络环境中往往存在一些特殊的客户端应用,比如杀毒软件客户端,通信软件客户端,这些客户端的加密算法很相似,因此会被聚集在一起。通过比较客户端指纹的独立性和整个流量中客户端指纹的单一性,可以将这类聚类结果划分为特殊簇重新聚类,减少误报。
基于上述规则计算该场景下未知簇的独立性数值,对于独立性依然较小的簇输入到加密流量提取器中进行二次聚类。
通过上述场景实施例,可以发现本申请实施例提供的网络数据流检测方法也可以根据现有的已标记流量对待检测的流量进行划分,有助于提高网络数据流检测的效率。
本申请实施例可以根据上述方法应用于如图3所示的网络数据流检测装置中,也可以应用于可以采用集成的方式划分各个功能模块的网络数据流检测装置中。这里的“模块”可以指特定应用集成电路(application-specific integrated circuit,ASIC),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到图3中的网络数据流检测装置300可以采用图11所示的形式。
如图11所示,是本申请实施例提供的另一种网络数据流检测装置的结构示意图,网络数据流检测装置1100包括:输入/输出(I/O)接口1101、处理器1102、存储器1103。具体的,图11中的处理器1102可以通过调用存储器1103中存储的计算机执行指令,使得网络数据流检测装置1100执行上述方法实施例中的实现网络数据流检测的方法。
具体的,图3中的提取单元301、聚类单元302、分析单元303和确定单元304的功能/实现过程可以通过图11中的处理器1102调用存储器1103中存储的计算机执行指令来实现。或者,图3中的提取单元301、聚类单元302、分析单元303和确定单元304的功能/实现过程可以通过图11中的输入/输出(I/O)接口1101来实现。
由于本申请实施例提供的网络数据流检测装置1100可用于执行网络数据流检测的方法,因此其所能获得的技术效果可参考上述方法实施例,在此不再赘述。
可选的,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,用于支持网络数据流检测装置实现上述网络数据流检测的方法。在一种可能的设计中,该芯片系统还包括存储器。该存储器,用于保存网络数据流检测装置必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件,本申请实施例对此不作具体限定。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
作为本实施例的另一种形式,提供一种计算机可读存储介质,其上存储有指令,该指令被执行时执行上述方法实施例中网络数据流检测装置侧的方法。
作为本实施例的另一种形式,提供一种包含指令的计算机程序产品,该指令被执行时执行上述方法实施例中网络数据流检测装置侧的方法。
应理解,本发明实施例中提及的处理器可以是中央处理单元(centralprocessing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本发明实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double datarate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它类似的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案和范围。
Claims (18)
1.一种网络数据流检测方法,其特征在于,包括:
针对多条网络数据流,提取所述多条网络数据流的特征向量;
基于预设聚类算法和所述多条网络数据流的特征向量对所述多条网络数据流进行聚类,获得一个或多个簇,其中,簇为网络数据流的集合;
针对每个簇获取所述簇的特征信息,所述特征信息包括所述簇的大小;
根据第一预设条件确定所述簇的类型,所述第一预设条件包括比较所述簇的大小与第一阈值的关系。
2.根据权利要求1所述的方法,其特征在于,所述针对多条网络数据流,提取所述多条网络数据流的特征向量之后,所述方法还包括:
对所述特征向量进行归一化处理;
所述基于预设聚类算法和所述多条网络数据流的特征向量对所述多条网络数据流进行聚类,具体包括:
基于预设聚类算法和所述多条网络数据流的进行归一化处理后的特征向量对所述多条网络数据流进行聚类。
3.根据权利要求1或2所述的方法,其特征在于,所述针对多条网络数据流,提取所述多条网络数据流的特征向量之后,所述方法还包括:
计算所述特征向量的方差;
判断所述方差是否大于第二阈值;
若所述方差大于所述第二阈值,则保留所述特征向量;
所述基于预设聚类算法和所述多条网络数据流的特征向量对所述多条网络数据流进行聚类,具体包括:
基于预设聚类算法和保留的所述特征向量对所述多条网络数据流进行聚类。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据第一预设条件确定所述簇的类型,所述第一预设条件包括比较所述簇的大小与第一阈值的关系,具体为:
所述第一预设条件包括判断所述簇的大小是否大于第一阈值,当所述簇的大小大于第一阈值则所述簇为正常簇。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述根据第一预设条件确定所述簇的类型,所述第一预设条件包括比较所述簇的大小与第一阈值的关系,具体为:
所述第一预设条件包括判断所述簇的大小是否小于第一阈值,当所述簇的大小小于第一阈值则所述簇为恶意簇。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:根据第二预设条件确定簇的类型,所述第二预设条件包括判断所述簇的大小是否小于第三阈值,当所述簇的大小小于第三阈值则所述簇为恶意簇,所述第三阈值小于所述第一阈值。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当簇的大小介于第一阈值与第三阈值之间,所述簇为未知簇。
8.根据权利要求6所述的方法,其特征在于,所述第一阈值和所述第三阈值为根据所述簇的大小计算二阶差分所得。
9.根据权利要求6所述的方法,其特征在于,所述方法还包括:
获取未知簇的独立性参数,所述独立性参数包括对独立性起反作用的条件参数和对独立性起正作用的条件参数;
根据所述独立性参数计算所述未知簇的独立性数值,所述独立性数值根据独立性计算公式所得,所述独立性计算公式为:
其中,i为未知簇的标识;n为第i个未知簇中数据流的数量,j为第i个未知簇中数据流的标识;x为对未知簇的独立性起反作用的事件;xj为在第j个数据流中x的发生次数;xi为在第i个簇中x的发生次数;y为对未知簇的独立性起正作用的事件;yj为在第j个数据流中y的发生次数;yi为在第i个簇中y的发生次数;ci表示当前计算的未知簇中所有事件发生的次数;p(xj|ci)表示在第j个数据流中的x事件在第i个簇中的发生概率;all表示所有参与聚类的簇中所有事件的发生次数;p(xi|all)表示在第i个簇中的x事件在所有聚类的簇中的发生概率;p(yj|ci)表示在第j个数据流中的y事件在第i个簇中的发生概率;p(yi|all)表示在第i个簇中的y事件在所有聚类的簇中的发生概率;
若所述独立性数值小于第四阈值,则所述未知簇为恶意簇。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
若所述独立性数值大于第五阈值,对所述独立性数值对应的未知簇的数据流进行聚类生成二次聚类簇;
获取所述二次聚类簇的大小信息,所述大小信息用于确定所述二次聚类簇的大小;
若所述二次聚类簇的大小大于所述第一阈值,则所述二次聚类簇为正常簇。
11.根据权利要求1-10任一项所述的方法,其特征在于,所述特征向量包括:
发送包频率、接收包频率、发送接收比率、发送/接收字节比例、最大发送字节、最小返回字节、发送包接受包标准差、每小时平均连接次数、访问服务端IP数量、安全传输层协议TLS客户端指纹、客户端加密套件及扩展、客户端密钥长度、TLS传输过程中的特征、传输时间、收发包数量、收发字节数量、TLS服务端特征、证书是否自签名、证书有效期、证书SAN数量、服务端特征、密钥长度、服务端域名字符分布中的一个或多个。
12.一种网络数据流检测装置,其特征在于,所述网络数据流检测装置包括:
提取单元,用于针对多条网络数据流提取所述多条网络数据流的特征向量;
聚类单元,用于基于预设聚类算法和所述多条网络数据流的特征向量对所述多条数据流进行聚类,获得一个或多个簇,其中,簇为数据流的集合;
分析单元,用于针对每个簇获取所述簇的特征信息,所述特征信息包括所述簇的大小;
确定单元,用于根据第一预设条件确定所述簇的类型,所述第一预设条件包括比较所述簇的大小与第一阈值的关系。
13.根据权利要求12所述的网络数据流检测装置,其特征在于,
所述提取单元,还用于对所述特征向量进行归一化处理;
所述聚类单元,具体用于基于预设聚类算法和所述多条网络数据流的进行归一化处理后的特征向量对所述多条网络数据流进行聚类。
14.根据权利要求12或13所述的网络数据流检测装置,其特征在于,
所述提取单元,还用于计算所述特征向量的方差;
所述提取单元,还用于判断所述方差是否大于第二阈值;
所述提取单元,还用于若所述方差大于所述第二阈值,则保留所述特征向量;
所述聚类单元,具体用于基于预设聚类算法和保留的所述特征向量对所述多条网络数据流进行聚类。
15.根据权利要求14所述的网络数据流检测装置,其特征在于,
所述确定单元,还用于根据第二预设条件确定簇的类型,所述第二预设条件包括判断所述簇的大小是否小于第三阈值,当所述簇的大小小于第三阈值则所述簇为恶意簇,所述第三阈值小于所述第一阈值。
16.根据权利要求15所述的网络数据流检测装置,其特征在于,
所述提取单元,还用于获取未知簇的独立性参数,所述独立性参数包括对独立性起反作用的条件参数和对独立性起正作用的条件参数;
所述分析单元,还用于根据所述独立性参数计算所述未知簇的独立性数值;
所述确定单元,还用于若所述独立性数值小于第五阈值,则将所述未知簇确定为恶意簇。
17.根据权利要求16所述的网络数据流检测装置,其特征在于,
所述分析单元,还用于若所述独立性数值大于第五阈值,对所述独立性数值对应的未知簇的数据流进行聚类则生成二次聚类簇,所述二次聚类簇为所述未知簇聚类所得;
所述提取单元,还用于获取所述二次聚类簇的大小信息,所述大小信息用于确定所述二次聚类簇的大小;
所述确定单元,还用于若所述二次聚类簇的大小大于所述第一阈值,则所述二次聚类簇为正常簇。
18.一种网络数据流检测装置,其特征在于,包括:处理器和存储器,所述存储器中存储有程序指令;所述处理器用于执行存储器中存储的程序指令,执行如权利要求1至权利要求11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910335753.0A CN110213227B (zh) | 2019-04-24 | 2019-04-24 | 一种网络数据流检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910335753.0A CN110213227B (zh) | 2019-04-24 | 2019-04-24 | 一种网络数据流检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110213227A true CN110213227A (zh) | 2019-09-06 |
CN110213227B CN110213227B (zh) | 2020-12-22 |
Family
ID=67786256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910335753.0A Active CN110213227B (zh) | 2019-04-24 | 2019-04-24 | 一种网络数据流检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110213227B (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110995508A (zh) * | 2019-12-23 | 2020-04-10 | 中国人民解放军国防科技大学 | 基于kpi突变的自适应无监督在线网络异常检测方法 |
CN111031071A (zh) * | 2019-12-30 | 2020-04-17 | 杭州迪普科技股份有限公司 | 恶意流量的识别方法、装置、计算机设备及存储介质 |
CN112000559A (zh) * | 2020-07-30 | 2020-11-27 | 瑞数信息技术(上海)有限公司 | 异常设备检测方法和装置 |
CN112118268A (zh) * | 2020-09-28 | 2020-12-22 | 北京嘀嘀无限科技发展有限公司 | 一种网络流量判定方法和系统 |
CN112261153A (zh) * | 2020-03-04 | 2021-01-22 | 腾讯科技(深圳)有限公司 | 一种网络资源的管理方法以及相关装置 |
CN112583860A (zh) * | 2021-03-02 | 2021-03-30 | 北京智慧易科技有限公司 | 一种互联网流量异常检测的方法、装置及设备 |
CN112637292A (zh) * | 2020-12-14 | 2021-04-09 | 中国联合网络通信集团有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112822121A (zh) * | 2019-11-15 | 2021-05-18 | 中兴通讯股份有限公司 | 流量识别方法、流量确定方法、知识图谱建立方法 |
CN112949743A (zh) * | 2021-03-22 | 2021-06-11 | 四川英得赛克科技有限公司 | 一种网络运维操作的可信判断方法、系统和电子设备 |
CN113111692A (zh) * | 2020-01-13 | 2021-07-13 | 北京地平线机器人技术研发有限公司 | 目标检测方法、装置、计算机可读存储介质及电子设备 |
WO2021139643A1 (zh) * | 2020-01-07 | 2021-07-15 | 南京林业大学 | 加密攻击网络流量检测方法,其装置及电子设备 |
CN113255724A (zh) * | 2021-04-15 | 2021-08-13 | 国家计算机网络与信息安全管理中心 | 一种识别节点类型的方法、装置、计算机存储介质及终端 |
CN113938314A (zh) * | 2021-11-17 | 2022-01-14 | 北京天融信网络安全技术有限公司 | 一种加密流量的检测方法及装置、存储介质 |
CN114172728A (zh) * | 2021-12-08 | 2022-03-11 | 恒安嘉新(北京)科技股份公司 | 一种网络流量的识别方法、装置、设备及介质 |
CN114584377A (zh) * | 2022-03-04 | 2022-06-03 | 奇安信科技集团股份有限公司 | 流量异常检测方法、模型的训练方法、装置、设备及介质 |
CN117675363A (zh) * | 2023-12-07 | 2024-03-08 | 广州融服信息技术有限公司 | 一种基于机器学习的动态网络攻击识别方法 |
CN117978543A (zh) * | 2024-03-28 | 2024-05-03 | 贵州华谊联盛科技有限公司 | 基于态势感知的网络安全预警方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870751A (zh) * | 2012-12-18 | 2014-06-18 | 中国移动通信集团山东有限公司 | 入侵检测方法及系统 |
CN104283737A (zh) * | 2014-09-30 | 2015-01-14 | 杭州华为数字技术有限公司 | 数据流的处理方法和装置 |
CN104468507A (zh) * | 2014-10-28 | 2015-03-25 | 刘胜利 | 基于无控制端流量分析的木马检测方法 |
CN105262729A (zh) * | 2015-09-11 | 2016-01-20 | 携程计算机技术(上海)有限公司 | 木马检测方法及系统 |
CN105577679A (zh) * | 2016-01-14 | 2016-05-11 | 华东师范大学 | 一种基于特征选择与密度峰值聚类的异常流量检测方法 |
CN108769001A (zh) * | 2018-04-11 | 2018-11-06 | 哈尔滨工程大学 | 基于网络行为特征聚类分析的恶意代码检测方法 |
CN109635564A (zh) * | 2018-12-07 | 2019-04-16 | 深圳市联软科技股份有限公司 | 一种检测暴力破解行为的方法、装置、介质及设备 |
-
2019
- 2019-04-24 CN CN201910335753.0A patent/CN110213227B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870751A (zh) * | 2012-12-18 | 2014-06-18 | 中国移动通信集团山东有限公司 | 入侵检测方法及系统 |
CN104283737A (zh) * | 2014-09-30 | 2015-01-14 | 杭州华为数字技术有限公司 | 数据流的处理方法和装置 |
CN104468507A (zh) * | 2014-10-28 | 2015-03-25 | 刘胜利 | 基于无控制端流量分析的木马检测方法 |
CN105262729A (zh) * | 2015-09-11 | 2016-01-20 | 携程计算机技术(上海)有限公司 | 木马检测方法及系统 |
CN105577679A (zh) * | 2016-01-14 | 2016-05-11 | 华东师范大学 | 一种基于特征选择与密度峰值聚类的异常流量检测方法 |
CN108769001A (zh) * | 2018-04-11 | 2018-11-06 | 哈尔滨工程大学 | 基于网络行为特征聚类分析的恶意代码检测方法 |
CN109635564A (zh) * | 2018-12-07 | 2019-04-16 | 深圳市联软科技股份有限公司 | 一种检测暴力破解行为的方法、装置、介质及设备 |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112822121A (zh) * | 2019-11-15 | 2021-05-18 | 中兴通讯股份有限公司 | 流量识别方法、流量确定方法、知识图谱建立方法 |
CN110995508A (zh) * | 2019-12-23 | 2020-04-10 | 中国人民解放军国防科技大学 | 基于kpi突变的自适应无监督在线网络异常检测方法 |
CN110995508B (zh) * | 2019-12-23 | 2022-11-11 | 中国人民解放军国防科技大学 | 基于kpi突变的自适应无监督在线网络异常检测方法 |
CN111031071A (zh) * | 2019-12-30 | 2020-04-17 | 杭州迪普科技股份有限公司 | 恶意流量的识别方法、装置、计算机设备及存储介质 |
CN111031071B (zh) * | 2019-12-30 | 2023-01-24 | 杭州迪普科技股份有限公司 | 恶意流量的识别方法、装置、计算机设备及存储介质 |
WO2021139643A1 (zh) * | 2020-01-07 | 2021-07-15 | 南京林业大学 | 加密攻击网络流量检测方法,其装置及电子设备 |
CN113111692B (zh) * | 2020-01-13 | 2024-04-23 | 北京地平线机器人技术研发有限公司 | 目标检测方法、装置、计算机可读存储介质及电子设备 |
CN113111692A (zh) * | 2020-01-13 | 2021-07-13 | 北京地平线机器人技术研发有限公司 | 目标检测方法、装置、计算机可读存储介质及电子设备 |
CN112261153A (zh) * | 2020-03-04 | 2021-01-22 | 腾讯科技(深圳)有限公司 | 一种网络资源的管理方法以及相关装置 |
CN112000559A (zh) * | 2020-07-30 | 2020-11-27 | 瑞数信息技术(上海)有限公司 | 异常设备检测方法和装置 |
CN112118268A (zh) * | 2020-09-28 | 2020-12-22 | 北京嘀嘀无限科技发展有限公司 | 一种网络流量判定方法和系统 |
CN112637292B (zh) * | 2020-12-14 | 2022-11-22 | 中国联合网络通信集团有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112637292A (zh) * | 2020-12-14 | 2021-04-09 | 中国联合网络通信集团有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112583860B (zh) * | 2021-03-02 | 2021-05-18 | 北京智慧易科技有限公司 | 一种互联网流量异常检测的方法、装置及设备 |
CN112583860A (zh) * | 2021-03-02 | 2021-03-30 | 北京智慧易科技有限公司 | 一种互联网流量异常检测的方法、装置及设备 |
CN112949743B (zh) * | 2021-03-22 | 2022-04-22 | 四川英得赛克科技有限公司 | 一种网络运维操作的可信判断方法、系统和电子设备 |
CN112949743A (zh) * | 2021-03-22 | 2021-06-11 | 四川英得赛克科技有限公司 | 一种网络运维操作的可信判断方法、系统和电子设备 |
CN113255724A (zh) * | 2021-04-15 | 2021-08-13 | 国家计算机网络与信息安全管理中心 | 一种识别节点类型的方法、装置、计算机存储介质及终端 |
CN113938314B (zh) * | 2021-11-17 | 2023-11-28 | 北京天融信网络安全技术有限公司 | 一种加密流量的检测方法及装置、存储介质 |
CN113938314A (zh) * | 2021-11-17 | 2022-01-14 | 北京天融信网络安全技术有限公司 | 一种加密流量的检测方法及装置、存储介质 |
CN114172728A (zh) * | 2021-12-08 | 2022-03-11 | 恒安嘉新(北京)科技股份公司 | 一种网络流量的识别方法、装置、设备及介质 |
CN114172728B (zh) * | 2021-12-08 | 2024-04-26 | 恒安嘉新(北京)科技股份公司 | 一种网络流量的识别方法、装置、设备及介质 |
CN114584377A (zh) * | 2022-03-04 | 2022-06-03 | 奇安信科技集团股份有限公司 | 流量异常检测方法、模型的训练方法、装置、设备及介质 |
CN117675363A (zh) * | 2023-12-07 | 2024-03-08 | 广州融服信息技术有限公司 | 一种基于机器学习的动态网络攻击识别方法 |
CN117978543A (zh) * | 2024-03-28 | 2024-05-03 | 贵州华谊联盛科技有限公司 | 基于态势感知的网络安全预警方法及系统 |
CN117978543B (zh) * | 2024-03-28 | 2024-06-04 | 贵州华谊联盛科技有限公司 | 基于态势感知的网络安全预警方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110213227B (zh) | 2020-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110213227A (zh) | 一种网络数据流检测方法及装置 | |
US10452843B2 (en) | Self-adaptive application programming interface level security monitoring | |
Salman et al. | A review on machine learning–based approaches for Internet traffic classification | |
Shen et al. | Machine learning-powered encrypted network traffic analysis: A comprehensive survey | |
CN109831392B (zh) | 半监督网络流量分类方法 | |
Truong-Huu et al. | An empirical study on unsupervised network anomaly detection using generative adversarial networks | |
Yüksel et al. | Reading between the fields: practical, effective intrusion detection for industrial control systems | |
US10187412B2 (en) | Robust representation of network traffic for detecting malware variations | |
CN103780501B (zh) | 一种不可分小波支持向量机的对等网络流量识别方法 | |
CN109525508A (zh) | 基于流量相似性比对的加密流识别方法、装置及存储介质 | |
He et al. | AppFA: a novel approach to detect malicious android applications on the network | |
Brissaud et al. | Passive monitoring of https service use | |
Wang et al. | Identifying DApps and user behaviors on ethereum via encrypted traffic | |
Wang et al. | An unknown protocol syntax analysis method based on convolutional neural network | |
CN108184146A (zh) | 一种计算直播平台人气的方法及相关设备 | |
Feng et al. | Cj-sniffer: Measurement and content-agnostic detection of cryptojacking traffic | |
CN111182002A (zh) | 基于http首个问答包聚类分析的僵尸网络检测装置 | |
Ren et al. | App identification based on encrypted multi-smartphone sources traffic fingerprints | |
Hu et al. | Network traffic classification model based on attention mechanism and spatiotemporal features | |
CN110225009A (zh) | 一种基于通信行为画像的代理使用者检测方法 | |
Liu et al. | Spatial‐Temporal Feature with Dual‐Attention Mechanism for Encrypted Malicious Traffic Detection | |
Altschaffel et al. | Statistical pattern recognition based content analysis on encrypted network: Traffic for the teamviewer application | |
Niu et al. | Using XGBoost to discover infected hosts based on HTTP traffic | |
CN114422207B (zh) | 基于多模态的c&c通信流量检测方法及装置 | |
Liang et al. | A multi-view deep learning model for encrypted website service classification |
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 |