CN110808971A - 一种基于深度嵌入的未知恶意流量主动检测***及方法 - Google Patents
一种基于深度嵌入的未知恶意流量主动检测***及方法 Download PDFInfo
- Publication number
- CN110808971A CN110808971A CN201911040786.9A CN201911040786A CN110808971A CN 110808971 A CN110808971 A CN 110808971A CN 201911040786 A CN201911040786 A CN 201911040786A CN 110808971 A CN110808971 A CN 110808971A
- Authority
- CN
- China
- Prior art keywords
- class
- sample
- network flow
- training
- network
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computer Security & Cryptography (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种基于深度嵌入的未知恶意流量主动检测***及方法,包括:预处理模块、深度嵌入模块、最优边界搜索模块和检测模块;预处理模块将长度不一的各个应用中的网络流表示为固定大小的流矩阵;深度嵌入模块:在训练阶段,以预处理模块输出的流矩阵作为输入,通过训练孪生卷积神经网络学***面,最后构建分类器;检测模块基于最优边界搜索模块得到的分类器,判断待识别的网络流是否来自未知的恶意应用。
Description
技术领域
本发明涉及一种基于深度嵌入的未知恶意流量主动检测***及方法,属于网络安全技术 领域。
背景技术
近年来,随着网络技术的发展,网络攻击事件层出不穷。据腾讯安全发布的《2017年度互联网安全报告》显示,在2017年,全球有高达86%的公司曾经经历至少一次网络 攻击。网络流量作为网络攻击的载体,往往包含攻击相关信息,因此对网络流量进行异 常检测对于有效识别恶意软件保障网络安全至关重要。
当前的恶意软件检测方法可以归为两类:基于签名的方法和基于机器学习的方法。 基于签名的方法根据已知恶意软件样本来生成签名数据库,通过将待识别样本与签名数 据库中的签名进行匹配来检测恶意样本。这种方法检测准确率高,但是其检测能力局限于签名数据库中包含的已知恶意样本。与基于签名的方法相比,基于机器学习的方法具 有检测新的未知恶意软件的能力。根据训练阶段是否需要标签信息,基于机器学习的方 法又可以进一步分为监督式方法和非监督式方法两类。虽然非监督式的方法具有天生的 检测未知的能力,但是它的高误报率限制了它在现实环境下的应用。相比于非监督式的 方法,监督式的方法在已标记的恶意样本上训练分类器,可以获得更高的准确率和更低 的误报率。但是其仍面临以下两个方面的不足:第一,分类器的检测能力依赖于训练使 用的恶意软件样本,只有已知的恶意软件样本或者其变种可以被成功检测;第二,获得 大量的恶意软件样本非常困难,对于未知恶意软件和0-day攻击,甚至都没有训练样本可 供获取。因此,仅使用正常样本来构建具有未知威胁检测能力的分类器十分必要。
传统的多类分类器的构建往往是建立在“封闭世界”的假设(closed worldassumption) 之下的,即,其认为在测试阶段出现的样本类别在训练阶段都出现过。一旦分类器构建 完毕,其类别也随之确定,任何测试样本都会被分类到已知类别中。但是在现实情况下, 测试阶段往往可能出现新的未知类别数据,例如,0-day攻击或新的未知恶意软件产生的 数据。
基于单类分类器的恶意流量检测方法也是通过对正常网络流量建模来检测恶意流 量。其中,单类SVM是最常被使用的算法,在这些相关文献中,不同的特征被提取来表 征流量数据。Schwenk等人提出了DUMONT,它从HTTP请求中提取了包括熵、头部字 段长度、流量时序特点等17个数字特征来检测隐秘传输。Sakib等人从HTTP请求数据包 和DNS响应数据包中提取了统计特征来检测基于HTTP的僵尸主机C&C通信流量。 Nguyen等人在提取的2v-gram特征上应用卡方检验来选择最优特征集来进行入侵检测。 虽然基于单类分类器的方法具有一定程度的未知威胁检测能力,但是由于其在构建检测 模型时只考虑了本类别自身的信息,而没有考虑其他类别的信息,因此已有的基于多类 分类器的恶意软件检测方法往往是建立在封闭世界的假设之下,其检测能力局限于已知 恶意软件样本或者其变种。而基于单类分类器的方法虽然可以检测新的未知恶意软件, 但是由于其在构建检测模型时只考虑了本类别自身的信息而没有考虑其他类别的信息, 因此,往往具有较高的误报率和较低的检测率。
发明内容
本发明技术解决问题:克服现有技术的不足,提供一种基于深度嵌入的未知恶意流 量主动检测***及方法,通过解决开放空间分类问题来识别未知恶意流量,具有更低的误报率和更高的检测率。
本发明技术解决方案:
一种基于深度嵌入的未知恶意流量主动检测***,包括:预处理模块、深度嵌入模块、最优边界搜索模块和检测模块;
预处理模块:将各个应用产生的长度不一的网络流表示为固定大小的流矩阵,以满 足深度嵌入模块中孪生卷积神经网络(Siamese Convolutional Neural Network,SCNN) 的输入格式要求;将经过预处理得到的满足输入格式要求的流矩阵称为网络流样本,其 中,每个应用产生的网络流对应一个类别,不同应用产生的网络流属于不同的类别,而 SCNN则由两个共享网络权重参数的完全相同的卷积神经网络(CNN)组成;
深度嵌入模块:将已收集的所有应用产生的网络流样本作为训练集,在训练阶段,将训练集中的网络流样本作为输入,通过在对比损失函数(contrastive loss)的监督下训练SCNN来学习一种非线性映射,使得在非线性映射后的嵌入空间下,同一个应用产生 的网络流分布更加紧凑,即欧式距离更小,不同应用产生的网络流分布更加离散,即欧 式距离更大,其中,非线性映射由训练好的SCNN中的CNN所表示;训练完成后,使 用训练好的CNN将训练集中的网络流样本映射到嵌入空间下;在测试阶段,使用训练 好的CNN将待识别的网络流样本映射到嵌入空间下;
最优边界搜索模块:最优边界搜索模块通过在嵌入空间下为训练集中各个已知类别 (即训练集中已包含的类别)的网络流寻找最优分类超平面来构建分类器C,具体过程为:首先,对于训练集中的每个已知类别,为其寻找一个分类超球面;然后,以训练集 中该类所包含的网络流样本为正类,训练集中其他的不属于该类的网络流样本为负类, 利用SVM算法训练二值分类器得到相应的SVM分类面;接着,使用得到的SVM分类 面来对上述分类超球面进行约束,进而得到针对该类别的最优分类超平面;最后,基于 得到的所有已知类别的最优分类超平面来构建分类器,所述分类器由全部已知类别的分 类超平面组成;
检测模块:在嵌入空间下,基于最优边界搜索模块得到的分类器,判断待识别的网络流样本是否来自未知的恶意应用。
所述预处理模块具体处理流程如下:
(1)所述网络流为具有相同IP五元组<源IP,源端口,目的IP,目的端口,传输 层协议>的一组连续的数据包;对于基于tcp连接的网络流来说,前3个数据包是相同的 用来建立tcp连接的握手数据包,因此若网络流长度即,包含的数据包个数小于4,则 丢弃,否则跳转至步骤(2);
(2)截取每条网络流前n个数据包和每个数据包的前m个字节,将每条网络流表 示为特征向量;优选截取网络流的前32个数据包,并且对于每个数据包,截取从传输 层头开始的512个字节,若网络流长度小于32或者IP包长度小于512,则用0填充, 将网络流表示成大小为32*512的矩阵;
(3)将步骤(2)中所得矩阵的每个元素除以255来对该矩阵进行归一化处理;
(4)将步骤(3)中所得矩阵大小重新调整为128*128;
经过以上预处理过程,每条网络流被表示为了大小为128*128的流矩阵。
所述深度嵌入模块具体实现如下:
在训练阶段:
(1)将训练集中的网络流样本作为输入,构建样本对集合pairs;
(2)以样本对集合pairs中的样本对作为输入,在对比损失函数的监督下,对SCNN进行训练来学习一种非线性映射,使得在非线性映射后的嵌入空间下,同一个应用产生 的网络流之间欧式距离更小,不同应用产生的网络流之间欧式距离更大。其中,非线性 映射由训练好的SCNN中的CNN所表示,对比损失函数的具体定义如下:
其中x∈X={xi|i=1,2,...,N}是训练样本集中的网络流样本,是样本对指示 器,表示样本对(xi,xj)是否来自同一类别,h(x)=max(0,1-x)是hinge函数,D(xi,xj)是 样本对(xi,xj)在嵌入空间下的欧几里得距离,具体如下:
D(xi,xj)=||f(xi)-f(xj)||2 (2)
其中f()是由CNN所表示的非线性映射函数,f(x)为样本x在嵌入空间下的特征 表示,||·||2为L2范数。式(1)中的第一项用来最小化来自同一类别的样本对之间的距 离,对于来自不同类别的样本对,它们之间的距离大于一个预定义的边距m,因此式(1) 中的第二项用来惩罚那些来自不同类别且距离小于m的样本对。
(3)使用训练好的CNN将训练集中的网络流样本映射到嵌入空间下。
在测试阶段:
以待检测的网络流样本作为输入,使用训练好的CNN将待检测的网络流样本映射到嵌入空间下。
所述样本对生成的具体过程如下:
给定训练样本集X={xi|i=1,2,...,N}和相应的类别标签Y={yi|i=1,...,N},
(1)初始化样本对集合pairs为空:pairs←{};
(2)获取训练集中所有训练样本的标签集合:label_set←set(Y);
(4)对于训练集中的每个样本xi,随机从{0,1}中选择一个值赋值给样本对指示器
(7)随机从label_set中选择一个不等于yi的标签y′;
(8)随机选择一个标签为y′的样本x′;
所述最优边界搜索模块具体实现如下:
首先,在嵌入空间下为各个已知类别应用的网络流样本寻找最优分类超平面。即对 于每个已知类别y,给定类别y在嵌入空间下的训练样本集合和预定义的泛化系数β,其中f()是由训练好的CNN所表示的非线性映射函数,f(x)为样 本x在嵌入空间下的特征表示,表示来自类别y的第i个样本,m+1为类别y包含的训 练样本数,通过以下过程来获取类别y的最优分类超平面:
(6)初始化分类超平面Sy为:以center[y]为中心,半径rO为的超球面;
(7)初始化循环变量j=1;
(8)判断循环变量j的大小,若j<10,则跳转至(9),否则若j=10,跳转至(10);
(9)若百分位数间隔集合A={a0,a1,...,a99}中第(89+j)个百分位数间隔大于 μ+β×σ,即a89+j>μ+β×σ,则更新半径rO为已排序距离集合中的第 个元素与μ+β×σ的和,即:然后跳转至步骤(11);否则,更新循环变量j为j←j+1,然后跳转至(8);
(11)在嵌入空间下,以训练集中属于类别y的样本为正类,以训练集中其他不属于类别y的样本为负类,使用SVM算法训练二值分类器,令h为该 二值SVM分类器的分类超平面;
(12)使用得到的二值SVM分类器的分类超平面h对分类超球面Sy进行约束,更 新Sy为:Sy←Sy∩h;
(13)返回类别y的分类超平面Sy;
通过对训练集中的每个已知类别yi,使用上述(1)~(13)过程在嵌入空间下为该类别寻找相应的最优分类超平面最终的分类器C由训练集中所有已知类别的最优分 类超平面所组成:即:分类器C依次根据C中的最优分类超平面 来判断待检测样本是否属于已知类别yi,其中k为训练集中已知类别的个数。
(3)若存在包含多于一个分类超平面的集合subset(C)∈C,且该集合中所有分类超 平面都将待检测样本判别为正类,则将该集合subset(C)中类别中心距离最近 的类别标签分配给待检测样本否则跳转至(4);
(5)返回待检测样本集合Ftest相应的类别标签集合。
所述深度神经网络模型采用2维深度卷积神经网络。
本发明的一种基于深度嵌入的未知恶意流量主动检测方法,包括以下步骤:
步骤1:网络流预处理。将各个应用产生的长度不一的网络流表示为固定大小的流矩阵,以满足深度嵌入模块中孪生卷积神经网络(Siamese Convolutional NeuralNetwork, SCNN)的输入格式要求,将经过预处理得到的满足输入格式要求的流矩阵称为网络流 样本。其中,每个应用产生的网络流对应一个类别,不同应用产生的网络流属于不同的 类别,而SCNN则由两个共享网络权重参数的完全相同的卷积神经网络(CNN)组成。
步骤2:网络流深度嵌入。将已收集的所有应用产生的网络流样本作为训练集,在训练阶段,将训练集中的网络流样本作为输入,通过在对比损失函数的监督下训练SCNN 来学习一种非线性映射,使得在非线性映射后的嵌入空间下,同一个应用产生的网络流 分布更加紧凑,即欧式距离更小,不同应用产生的网络流分布更加离散,即欧式距离更 大,其中,非线性映射由训练好的SCNN中的CNN所表示,训练完成后,使用训练好 的CNN将训练集中的网络流样本映射到嵌入空间下;在测试阶段,使用训练好的CNN 将待识别的网络流样本映射到嵌入空间下;
步骤3:最优边界搜索,在嵌入空间下,为各个已知类别(即,训练集中已包含的 类别)的网络流寻找最优分类超平面,具体过程为:首先,对于训练集中的每个已知类 别,为其寻找分类超球面;然后,以该类所包含的网络流样本为正类,训练集中其他的 不属于该类的网络流样本为负类,利用SVM算法训练二值分类器得到相应的SVM分类 面;接着,使用得到的SVM分类面来对上述分类超球面进行约束,进而得到针对该类 别的最优分类超平面;最后,基于得到的所有已知类别的最优分类超平面来构建分类器, 所述分类器由全部已知类别应用的分类超平面组成;
步骤4:检测,在嵌入空间下,基于最优边界搜索模块得到的分类器,判断待识别的网络流样本是否来自未知的恶意应用。
本发明与现有技术相比的优点在于:
(1)本发明通过解决开放空间分类问题来检测未知恶意流量。其利用深度度量学习技术学习正常数据中相同类别数据之间的相似性和不同类别数据之间的差异性,使得在特征空间下,相同类别数据分布更加紧凑,不同类别数据分布更加离散。在构建分类 器时,本发明既考虑了每个类别数据自身的信息,也考虑了该类别数据与其他类别数据 之间的差异信息,进而使得检测结果具有更低的误报率和更高的检测率。
(2)本发明的基于深度嵌入的未知恶意流量主动检测***,通过解决“开放世界分类”(open world classification)问题来检测未知恶意流量。所谓开放世界分类是指,给定测试数据集,分类器应该能够将已知类别数据分类到相应的类别,并且识别那些不 属于任何已知类别的数据。考虑到恶意样本获取困难,本发明仅使用正常应用产生的流 量数据进行模型构建。
基于单类分类器的恶意流量检测方法也是通过对正常网络流量建模来检测恶意流 量。Schwenk等人提出了DUMONT,它从HTTP请求中提取了包括熵、头部字段长度、 流量时序特点等17个数字特征来检测隐秘传输。Sakib等人从HTTP请求数据包和DNS响 应数据包中提取了统计特征来检测基于HTTP的僵尸主机C&C通信流量。Nguyen等人在 提取的2v-gram特征上应用卡方检验来选择最优特征集来进行入侵检测。虽然基于单类 分类器的方法具有一定程度的未知威胁检测能力,但是由于其在构建检测模型时只考虑 了本类别自身的信息,而没有考虑其他类别的信息,因此,其往往具有较高的误报率和 较低的检测率。与之相比,本发明充分考虑了正常数据中相同类别数据之间的相似性和 不同类别数据之间的差异性,在构建分类器时,本发明既考虑了每个类别数据自身的信 息,也考虑了该类别数据与其他类别数据之间的差异信息,其检测结果具有更低的误报 率和更高的检测率。
附图说明
图1为本发明***的组成框图。
具体实施方式
下面结合附图及实施例对本发明进行详细说明。
1.问题定义
在训练阶段,给定训练样本集其中是训练样 本,yi∈{l1,l2,...,lk}是xi相应的类别标签。在测试阶段,需要预测一个开放样本集 D0={(xi,yi)}∞的类别标签yi,其中yi∈{l1,l2,...,lk,...,lK},K>k。在本文中,每个样本xi代 表一条网络流(即,具有相同IP五元组<源IP,源端口,目的IP,目的端口,传输层协 议>的一组连续的数据包),相应的类别标签yi代表产生xi的应用。本发明的目标是使 用给定的训练样本集构建一个分类器C:x→Y′={l1,l2,...,lk,unknown},其中unknown代表 在训练阶段没有出现过的类别。测试阶段被分类到unknown类别的网络流则被判定为未 知恶意流量。
2.如图1所示,本发明具体实施步骤
步骤1:预处理模块
预处理模块以原始的网络流作为输入,将每条网络流表示为固定大小的流矩阵。具 体处理流程如下:
(1)若网络流长度(即,包含的数据包个数)小于4,则丢弃,否则跳转至(2);
(2)截取网络流的前32个数据包,并且对于每个数据包,截取从传输层头开始的512个字节,若网络流长度小于32或者IP包长度小于512,则用0填充,将网络流表 示成大小为32*512的矩阵;
(3)将步骤(2)中所得矩阵的每个元素除以255来对该矩阵进行归一化处理;
(4)将步骤(3)中所得矩阵大小重新调整为128*128。
经过以上预处理过程,每条网络流被表示为了大小为128*128的流矩阵。
步骤2:深度嵌入模块
以步骤1中所得到的流矩阵作为输入,在对比损失(contrastive loss)函数的监督下 对孪生神经网络进行训练来学习一种非线性映射,使得经过映射后的网络流在嵌入空间 下具有更小的类内距离和更大的类间距离。
与传统的经验损失函数不同,对比损失函数以样本对作为输入,其定义:
D(xi,xj)=||f(xi)-f(xj)||2 (2)
其中f()是由CNN所表示的非线性映射函数,f(x)为样本x在低维嵌入空间下的 特征表示,||·||2为L2范数。
从式(1)中可以看出,当(xi,xj)来自于同一类别时,我们希望最小化样本对在低维嵌入空间下的距离D(xi,xj);当(xi,xj)来自于不同的类别时,我们希望样本对之间的距 离不小于一个预定义的边距m,当不同类别之间的样本距离小于m时,式(1)的第二 项会对最终的损失产生作用。
考虑到当训练集中包含大量训练样本时,会产生一个巨大的样本对空间。具体来说, 给定一个包含N个样本的训练集,存在个可能的样本对。若使用全部的样本对进行CNN训练会带来很高的计算代价。此外,在整个样本对空间中,存在很多的负样本对(即, 样本对中的两个样本来自不同的类别)满足式(1)中第二项的约束。由于它们对CNN 的训练不起作用,所以往往使得CNN网络参数的收敛速度很慢。下面本发明使用一种 简单的训练样本对生成策略来使得CNN的训练更加有效。给定训练样本集 X={xi|i=1,2,...,N}和相应的标签Y={yi|i=1,2,...,N},样本对生成的具体过程如下:
(1)初始化样本对集合pairs为空:pairs←{};
(2)获取训练样本的标签集合:label_set←set(Y);
(7)随机从label_set中选择一个不等于yi的标签y′;
(8)随机选择一个标签为y′的样本x′;
(9)将加入到pairs,跳转(4)执行。
步骤3:最优边界搜索模块
最优边界搜索模块通过在嵌入空间下为各个已知类别应用的网络流样本寻找最优 分类超平面来构建分类器C。即对于每个已知类别y,给定类别y在嵌入空间下的训练 样本集合和预定义的泛化系数β,其中f()是由训练好的CNN所表 示的非线性映射函数,f(x)为样本x在嵌入空间下的特征表示,表示来自类别y的第 i个样本,m+1为类别y包含的训练样本数,通过以下过程来获取类别y的最优分类超平 面:
(1)计算类别y在嵌入空间下的类别中心center[y]:
(4)计算已排序距离集合中相邻百分位数之间的间隔,即对于 i∈{0,1,2,...,99},依次计算其中是对M向下取整操作,得 到百分位数间隔集合A={a0,a1,...,a99};(例如m=350,则 );
(7)初始化循环变量j=1;
(8)判断循环变量j的大小,若j<10,则跳转至(9),否则若j=10,跳转至(10);
(12)使用得到的二值SVM分类器的分类超平面h对分类超球面Sy进行约束,更 新Sy为:Sy←Sy∩h;
(13)返回类别y的分类超平面Sy。
通过对训练集中的每个已知类别yi,使用上述(1)~(13)过程在嵌入空间下为该类别寻找相应的最优分类超平面最终的分类器C由训练集中所有已知类别的最优分 类超平面所组成:其中k为训练集中已知类别的个数。
上述最优边界搜索算法的核心思想是:初始化目标类别y的分类超平面为仅包含90%目标类别样本的超球面,此时模型处于过特化(overspecialization)的状态。然后通过逐渐增加超球面的半径来不断提高模型的泛化能力,直到两者达到平衡状态。进一步地,通过使用二值SVM分类器的分类超平面对上述分类超球面进行约束,使得模型的 构建同时考虑了正类(目标类别)和负类(非目标类别的其他已知类别)信息。
步骤4:检测模块
(3)若存在包含多于一个分类超平面的集合subset(C)∈C,且该集合中所有分类超 平面都将待检测样本判别为正类,则将该集合subset(C)中类别中心距离最近 的类别标签分配给待检测样本否则跳转至(4);
(5)返回待检测样本集合Ftest相应的类别标签集合。
总之,本发明克服了传统基于多分类的方法只能检测已知恶意软件或者其变种的不 足,通过解决开放空间分类问题来检测未知恶意流量。其利用深度度量学习技术学习正常数据中相同类别数据之间的相似性和不同类别数据之间的差异性,使得在特征空间下,相同类别数据分布更加紧凑,不同类别数据分布更加离散。在构建分类器时,本发明既 考虑了每个类别数据自身的信息,也考虑了该类别数据与其他类别数据之间的差异信息, 进而使得检测结果具有更低的误报率和更高的检测率。
以上虽然描述了本发明的具体实施方法,但是本领域的技术人员应当理解,这些仅 是举例说明,在不背离本发明原理和实现的前提下,可以对这些实施方案做出多种变更或修改,因此,本发明的保护范围由所附权利要求书限定。
Claims (8)
1.一种基于深度嵌入的未知恶意流量主动检测***,其特征在于,包括:预处理模块、深度嵌入模块、最优边界搜索模块和检测模块;
预处理模块:将各个应用产生的长度不一的网络流表示为固定大小的流矩阵,以满足深度嵌入模块中孪生卷积神经网络SCNN(Siamese Convolutional Neural Network,SCNN)的输入格式要求;将经过预处理得到的满足输入格式要求的流矩阵称为网络流样本,其中,每个应用产生的网络流对应一个类别,不同应用产生的网络流属于不同的类别,而SCNN则由两个共享网络权重参数的完全相同的卷积神经网络(CNN)组成;
深度嵌入模块:将已收集的所有应用产生的网络流样本作为训练集,在训练阶段,将训练集中的网络流样本作为输入,通过在对比损失函数(contrastive loss)的监督下训练SCNN来学习一种非线性映射,使得在非线性映射后的嵌入空间下,同一个应用产生的网络流分布更加紧凑,即欧式距离更小,不同应用产生的网络流分布更加离散,即欧式距离更大,其中,非线性映射由训练好的SCNN中的CNN所表示;训练完成后,使用训练好的CNN将训练集中的网络流样本映射到嵌入空间下;在测试阶段,使用训练好的CNN将待识别的网络流样本映射到嵌入空间下;
最优边界搜索模块:最优边界搜索模块通过在嵌入空间下为训练集中各个已知类别即训练集中已包含的类别的网络流寻找最优分类超平面来构建分类器C,具体过程为:首先,对于训练集中的每个已知类别,为其寻找一个分类超球面;然后,以训练集中该类所包含的网络流样本为正类,训练集中其他的不属于该类的网络流样本为负类,利用SVM算法训练二值分类器得到相应的SVM分类面;接着,使用得到的SVM分类面来对上述分类超球面进行约束,进而得到针对该类别的最优分类超平面;最后,基于得到的所有已知类别的最优分类超平面来构建分类器,所述分类器由全部已知类别的分类超平面组成;
检测模块:在嵌入空间下,基于最优边界搜索模块得到的分类器,判断待识别的网络流样本是否来自未知的恶意应用。
2.根据权利要求1所述的基于深度嵌入的未知恶意流量主动检测***,其特征在于:所述预处理模块具体处理流程如下:
(1)所述网络流为具有相同IP五元组<源IP,源端口,目的IP,目的端口,传输层协议>的一组连续的数据包;对于基于tcp连接的网络流来说,前3个数据包是相同的用来建立tcp连接的握手数据包,因此若网络流长度即,包含的数据包个数小于4,则丢弃,否则跳转至步骤(2);
(2)截取每条网络流前n个数据包和每个数据包的前m个字节,将每条网络流表示为特征向量;优选截取网络流的前32个数据包,并且对于每个数据包,截取从传输层头开始的512个字节,若网络流长度小于32或者IP包长度小于512,则用0填充,将网络流表示成大小为32*512的矩阵;
(3)将步骤(2)中所得矩阵的每个元素除以255来对该矩阵进行归一化处理;
(4)将步骤(3)中所得矩阵大小重新调整为128*128;
经过以上预处理过程,每条网络流被表示为了大小为128*128的流矩阵。
3.根据权利要求1所述的基于深度嵌入的未知恶意流量主动检测***,其特征在于:所述深度嵌入模块具体实现如下:
在训练阶段:
(1)将训练集中的网络流样本作为输入,构建样本对集合pairs;
(2)以样本对集合pairs中的样本对作为输入,在对比损失函数的监督下,对SCNN进行训练来学习一种非线性映射,使得在非线性映射后的嵌入空间下,同一个应用产生的网络流之间欧式距离更小,不同应用产生的网络流之间欧式距离更大,其中,非线性映射由训练好的SCNN中的CNN所表示,对比损失函数的具体定义如下:
其中x∈X={xi|i=1,2,...,N}是训练样本集中的网络流样本,是样本对指示器,表示样本对(xi,xj)是否来自同一类别,h(x)=max(0,1-x)是hinge函数,D(xi,xj)是样本对(xi,xj)在嵌入空间下的欧几里得距离,具体如下:
D(xi,xj)=||f(xi)-f(xj)||2 (2)
其中f(·)是由CNN所表示的非线性映射函数,f(x)为样本x在嵌入空间下的特征表示,||·||2为L2范数,式(1)中的第一项用来最小化来自同一类别的样本对之间的距离,对于来自不同类别的样本对,它们之间的距离需大于一个预定义的边距m,因此式(1)中的第二项用来惩罚那些来自不同类别且距离小于m的样本对;
(3)使用训练好的CNN将训练集中的网络流样本映射到嵌入空间下;
在测试阶段:
以待检测的网络流样本作为输入,使用训练好的CNN将待检测的网络流样本映射到嵌入空间下。
4.根据权利要求2所述的基于深度嵌入的未知恶意流量主动检测***,其特征在于:所述样本对生成的具体过程如下:给定训练样本集X={xi|i=1,2,...,N}和相应的类别标签Y={yi|i=1,2,...,N},
(1)初始化样本对集合pairs为空:pairs←{};
(2)获取训练集中所有训练样本的标签集合:label_set←set(Y);
(6)若样本对指示器等于0,跳转(7)执行;
(7)随机从label_set中选择一个不等于yi的标签y′;
(8)随机选择一个标签为y′的样本x′;
5.根据权利要求1所述的基于深度嵌入的未知恶意流量主动检测***,其特征在于:所述最优边界搜索模块具体实现如下:
首先,在嵌入空间下为各个已知类别应用的网络流样本寻找最优分类超平面,即对于每个已知类别y,给定类别y在嵌入空间下的训练样本集合和预定义的泛化系数β,其中f(·)是由训练好的CNN所表示的非线性映射函数,f(x)为样本x在嵌入空间下的特征表示,表示来自类别y的第i个样本,m+1为类别y包含的训练样本数,通过以下过程来获取类别y的最优分类超平面:
(4)计算已排序距离集合中相邻百分位数之间的间隔,即对于i∈{0,1,2,...,99},依次计算其中是对M向下取整操作,得到百分位数间隔集合A={a0,a1,...,a99};(例如m=350,则 );
(7)初始化循环变量j=1;
(8)判断循环变量j的大小,若j<10,则跳转至(9),否则若j=10,跳转至(10);
(9)若百分位数间隔集合A={a0,a1,...,a99}中第(89+j)个百分位数间隔大于μ+β×σ,即a89+j>μ+β×σ,则更新半径rO为已排序距离集合中的第个元素与μ+β×σ的和,即:然后跳转至步骤(11);否则,更新循环变量j为j←j+1,然后跳转至(8);
(12)使用得到的二值SVM分类器的分类超平面h对分类超球面Sy进行约束,更新Sy为:Sy←Sy∩h;
(13)返回类别y的分类超平面Sy;
6.根据权利要求1所述的基于深度嵌入的未知恶意流量主动检测***,其特征在于:所述检测模块使用得到的分类器C,在嵌入空间下对待识别的网络流进行分类,判断其是否属于未知恶意流量,给定嵌入空间下待检测的样本集合和分类器检测过程如下:
(3)若存在包含多于一个分类超平面的集合subset(C)∈C,且该集合中所有分类超平面都将待检测样本判别为正类,则将该集合subset(C)中类别中心距离最近的类别标签分配给待检测样本否则跳转至(4);
(4)将类别标签unknown分配给待检测样本
(5)返回待检测样本集合Ftest相应的类别标签集合。
7.根据权利要求1所述的基于深度嵌入的未知恶意流量主动检测***,其特征在于:所述深度神经网络模型采用2维深度卷积神经网络。
8.一种基于深度嵌入的未知恶意流量主动检测方法,其特征在于,包括以下步骤:
步骤1:网络流预处理,将各个应用产生的长度不一的网络流表示为固定大小的流矩阵,以满足深度嵌入模块中孪生卷积神经网络(Siamese Convolutional Neural Network,SCNN)的输入格式要求,将经过预处理得到的满足输入格式要求的流矩阵称为网络流样本,其中,每个应用产生的网络流对应一个类别,不同应用产生的网络流属于不同的类别,而SCNN则由两个共享网络权重参数的完全相同的卷积神经网络(CNN)组成;
步骤2:网络流深度嵌入,将已收集的所有应用产生的网络流样本作为训练集,在训练阶段,将训练集中的网络流样本作为输入,通过在对比损失函数的监督下训练SCNN来学习一种非线性映射,使得在非线性映射后的嵌入空间下,同一个应用产生的网络流分布更加紧凑,即欧式距离更小,不同应用产生的网络流分布更加离散,即欧式距离更大,其中,非线性映射由训练好的SCNN中的CNN所表示,训练完成后,使用训练好的CNN将训练集中的网络流样本映射到嵌入空间下;在测试阶段,使用训练好的CNN将待识别的网络流样本映射到嵌入空间下;
步骤3:最优边界搜索,在嵌入空间下,为各个已知类别(即,训练集中已包含的类别)的网络流寻找最优分类超平面,具体过程为:首先,对于训练集中的每个已知类别,为其寻找分类超球面;然后,以该类所包含的网络流样本为正类,训练集中其他的不属于该类的网络流样本为负类,利用SVM算法训练二值分类器得到相应的SVM分类面;接着,使用得到的SVM分类面来对上述分类超球面进行约束,进而得到针对该类别的最优分类超平面;最后,基于得到的所有已知类别的最优分类超平面来构建分类器,所述分类器由全部已知类别应用的分类超平面组成;
步骤4:检测,在嵌入空间下,基于最优边界搜索模块得到的分类器,判断待识别的网络流样本是否来自未知的恶意应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911040786.9A CN110808971B (zh) | 2019-10-30 | 2019-10-30 | 一种基于深度嵌入的未知恶意流量主动检测***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911040786.9A CN110808971B (zh) | 2019-10-30 | 2019-10-30 | 一种基于深度嵌入的未知恶意流量主动检测***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110808971A true CN110808971A (zh) | 2020-02-18 |
CN110808971B CN110808971B (zh) | 2021-01-01 |
Family
ID=69489526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911040786.9A Active CN110808971B (zh) | 2019-10-30 | 2019-10-30 | 一种基于深度嵌入的未知恶意流量主动检测***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110808971B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611280A (zh) * | 2020-04-29 | 2020-09-01 | 南京理工大学 | 一种基于cnn和sae的加密流量识别方法 |
CN111786951A (zh) * | 2020-05-28 | 2020-10-16 | 东方红卫星移动通信有限公司 | 流量数据特征提取方法、恶意流量识别方法及网络*** |
CN112269992A (zh) * | 2020-06-01 | 2021-01-26 | 中国科学院信息工程研究所 | 基于人工智能处理器的实时恶意样本检测方法及电子装置 |
CN112491849A (zh) * | 2020-11-18 | 2021-03-12 | 深圳供电局有限公司 | 一种基于流量特征的电力终端漏洞攻击防护方法 |
CN112953924A (zh) * | 2021-02-04 | 2021-06-11 | 西安电子科技大学 | 网络异常流量检测方法、***、存储介质、终端及应用 |
CN113098895A (zh) * | 2021-04-26 | 2021-07-09 | 成都中恒星电科技有限公司 | 一种基于dpdk的网络流量隔离*** |
CN113612733A (zh) * | 2021-07-07 | 2021-11-05 | 浙江工业大学 | 一种基于孪生网络的少样本虚假数据注入攻击检测方法 |
CN113887642A (zh) * | 2021-10-11 | 2022-01-04 | 中国科学院信息工程研究所 | 一种基于开放世界的网络流量分类方法及*** |
CN114386514A (zh) * | 2022-01-13 | 2022-04-22 | 中国人民解放军国防科技大学 | 基于动态网络环境下的未知流量数据识别方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103001825A (zh) * | 2012-11-15 | 2013-03-27 | 中国科学院计算机网络信息中心 | Dns流量异常的检测方法和*** |
CN103023725A (zh) * | 2012-12-20 | 2013-04-03 | 北京工业大学 | 一种基于网络流量分析的异常检测方法 |
CN103490944A (zh) * | 2013-07-31 | 2014-01-01 | 东莞中山大学研究院 | 一种基于bp神经网络的混合式p2p流量监测*** |
CN106790256A (zh) * | 2017-01-24 | 2017-05-31 | 浙江中都信息技术有限公司 | 用于危险主机检测的主动机器学习*** |
CN107370732A (zh) * | 2017-07-14 | 2017-11-21 | 成都信息工程大学 | 基于神经网络和最优推荐的工控***异常行为发现*** |
CN108200030A (zh) * | 2017-12-27 | 2018-06-22 | 深信服科技股份有限公司 | 恶意流量的检测方法、***、装置及计算机可读存储介质 |
CN109522716A (zh) * | 2018-11-15 | 2019-03-26 | 中国人民解放军战略支援部队信息工程大学 | 一种基于时序神经网络的网络入侵检测方法及装置 |
US20190149568A1 (en) * | 2014-09-08 | 2019-05-16 | Seven Networks, Llc | Device activity and data traffic signature-based detection of mobile device health |
-
2019
- 2019-10-30 CN CN201911040786.9A patent/CN110808971B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103001825A (zh) * | 2012-11-15 | 2013-03-27 | 中国科学院计算机网络信息中心 | Dns流量异常的检测方法和*** |
CN103023725A (zh) * | 2012-12-20 | 2013-04-03 | 北京工业大学 | 一种基于网络流量分析的异常检测方法 |
CN103490944A (zh) * | 2013-07-31 | 2014-01-01 | 东莞中山大学研究院 | 一种基于bp神经网络的混合式p2p流量监测*** |
US20190149568A1 (en) * | 2014-09-08 | 2019-05-16 | Seven Networks, Llc | Device activity and data traffic signature-based detection of mobile device health |
CN106790256A (zh) * | 2017-01-24 | 2017-05-31 | 浙江中都信息技术有限公司 | 用于危险主机检测的主动机器学习*** |
CN107370732A (zh) * | 2017-07-14 | 2017-11-21 | 成都信息工程大学 | 基于神经网络和最优推荐的工控***异常行为发现*** |
CN108200030A (zh) * | 2017-12-27 | 2018-06-22 | 深信服科技股份有限公司 | 恶意流量的检测方法、***、装置及计算机可读存储介质 |
CN109522716A (zh) * | 2018-11-15 | 2019-03-26 | 中国人民解放军战略支援部队信息工程大学 | 一种基于时序神经网络的网络入侵检测方法及装置 |
Non-Patent Citations (2)
Title |
---|
MURTAZ, M.: "A framework for android malware detection and classification", 《2018 IEEE 5TH INTERNATIONAL CONFERENCE ON ENGINEERING TECHNOLOGIES AND APPLIED SCIENCES (ICETAS)》 * |
李佳,云晓春: "基于混合结构深度神经网络的HTTP恶意流量检测方法", 《通信学报》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611280A (zh) * | 2020-04-29 | 2020-09-01 | 南京理工大学 | 一种基于cnn和sae的加密流量识别方法 |
CN111786951B (zh) * | 2020-05-28 | 2022-08-26 | 东方红卫星移动通信有限公司 | 流量数据特征提取方法、恶意流量识别方法及网络*** |
CN111786951A (zh) * | 2020-05-28 | 2020-10-16 | 东方红卫星移动通信有限公司 | 流量数据特征提取方法、恶意流量识别方法及网络*** |
CN112269992A (zh) * | 2020-06-01 | 2021-01-26 | 中国科学院信息工程研究所 | 基于人工智能处理器的实时恶意样本检测方法及电子装置 |
CN112269992B (zh) * | 2020-06-01 | 2023-10-20 | 中国科学院信息工程研究所 | 基于人工智能处理器的实时恶意样本检测方法及电子装置 |
CN112491849A (zh) * | 2020-11-18 | 2021-03-12 | 深圳供电局有限公司 | 一种基于流量特征的电力终端漏洞攻击防护方法 |
CN112953924A (zh) * | 2021-02-04 | 2021-06-11 | 西安电子科技大学 | 网络异常流量检测方法、***、存储介质、终端及应用 |
CN113098895A (zh) * | 2021-04-26 | 2021-07-09 | 成都中恒星电科技有限公司 | 一种基于dpdk的网络流量隔离*** |
CN113612733A (zh) * | 2021-07-07 | 2021-11-05 | 浙江工业大学 | 一种基于孪生网络的少样本虚假数据注入攻击检测方法 |
CN113612733B (zh) * | 2021-07-07 | 2023-04-07 | 浙江工业大学 | 一种基于孪生网络的少样本虚假数据注入攻击检测方法 |
CN113887642A (zh) * | 2021-10-11 | 2022-01-04 | 中国科学院信息工程研究所 | 一种基于开放世界的网络流量分类方法及*** |
CN114386514A (zh) * | 2022-01-13 | 2022-04-22 | 中国人民解放军国防科技大学 | 基于动态网络环境下的未知流量数据识别方法及装置 |
CN114386514B (zh) * | 2022-01-13 | 2022-11-25 | 中国人民解放军国防科技大学 | 基于动态网络环境下的未知流量数据识别方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110808971B (zh) | 2021-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110808971B (zh) | 一种基于深度嵌入的未知恶意流量主动检测***及方法 | |
CN112953924B (zh) | 网络异常流量检测方法、***、存储介质、终端及应用 | |
CN109284606B (zh) | 基于经验特征与卷积神经网络的数据流异常检测*** | |
Yu et al. | Session-based network intrusion detection using a deep learning architecture | |
CN110796196B (zh) | 一种基于深度判别特征的网络流量分类***及方法 | |
CN111340191B (zh) | 基于集成学习的僵尸网络恶意流量分类方法及*** | |
CN109117634B (zh) | 基于网络流量多视图融合的恶意软件检测方法及*** | |
CN109194612B (zh) | 一种基于深度置信网络和svm的网络攻击检测方法 | |
US11195120B2 (en) | Detecting dataset poisoning attacks independent of a learning algorithm | |
Bodström et al. | State of the art literature review on network anomaly detection with deep learning | |
US12014277B2 (en) | Physical layer authentication of electronic communication networks | |
Kong et al. | Identification of abnormal network traffic using support vector machine | |
CN115811440B (zh) | 一种基于网络态势感知的实时流量检测方法 | |
Cui et al. | WEDL-NIDS: Improving network intrusion detection using word embedding-based deep learning method | |
Rong et al. | TransNet: Unseen malware variants detection using deep transfer learning | |
CN112884121A (zh) | 基于生成对抗深度卷积网络的流量识别方法 | |
KR102525593B1 (ko) | 네트워크 공격 탐지 시스템 및 네트워크 공격 탐지 방법 | |
Chen et al. | Using adversarial examples to bypass deep learning based url detection system | |
Lin et al. | Raregan: Generating samples for rare classes | |
Alam et al. | DeepMalware: a deep learning based malware images classification | |
Fan et al. | An intrusion detection framework for IoT using partial domain adaptation | |
BP et al. | Deep machine learning based Usage Pattern and Application classifier in Network Traffic for Anomaly Detection | |
CN110061869B (zh) | 一种基于关键词的网络轨迹分类方法及装置 | |
Ahuja et al. | DDoS attack traffic classification in SDN using deep learning | |
Juvonen et al. | Anomaly detection framework using rule extraction for efficient intrusion detection |
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 |