面向大流量基于可信度的网络恶意行为检测方法与流程

文档序号:11156710阅读:1418来源:国知局
面向大流量基于可信度的网络恶意行为检测方法与制造工艺



背景技术:
:网络恶意行为在不断的演化和变异,而且网络流量越来越大,隐藏在大量正常网络流量中的网络恶意行为越来越难以发现。机器学习技术被认为是海量恶意代码自动分析的重要方法,但是现有机器学习模型的退化问题比较严重。同时,随着数据量的增加,统计分析的计算复杂度越来越高,基于可信度的恶意行为检测方法的效率问题越来越突出。因此需要一种能够处理大流量网络数据,实时吸收新发现的知识,根据网络恶意行为知识库、用户正常行为知识库和用户可接受的最大错误概率,实时高速分析和检测恶意行为的方法。



技术实现要素:
:本发明目的是解决现有机器学习模型退化比较严重的问题和基于可信度的检测方法的效率较低的问题,提出一种通过实时的统计分析用户的网络行为和已知网络恶意行为,设立滑动窗口,动态跟踪用户的行为习惯,基于用户给定的可接受最大错误概率,实时并高速地检测网络恶意行为的方法。

本发明的技术方案

面向大流量基于可信度的网络恶意行为检测方法,该方法包括:

第1步、本发明涉及的一些基本概念:

(1)网络恶意行为:网络恶意行为是指,以数据包为载体的,在未明确提示用户或未经用户许可的情况下,通过网络对用户计算机或其他终端进行的、侵犯用户合法权益的恶意行为;

(2)不一致性函数:描述一个样本与一组样本的不一致性,输入是一组样本和一个测试样本,输出是一个数值,也叫做不一致性得分;不同样本与同一组样本的不一致性得分之间可以比较,得分越高,说明样本与该组样本越不一致,得分越低,说明样本与该组样本越一致;

(3)统计量p-value:描述一个样本的不一致性得分在一组样本中的百分位,取值范围在0到1之间,从统计的角度刻画一个样本与一组样本的相似性。

(4)时间窗:一个时间段,用来进行网络行为的过滤。判断网络行为的发生时间是否在指定的时间段内,如果在该时间段内,就说明该网络行为可以在指定的时间窗内被观测到。当前时间窗,是指以当前时间作为终点的过去的一段指定长度的时间段。

第2步、网络行为特征的提取

第2.1、确定网络行为的表示粒度,其中包括:数据包级粒度,每个数据包表示一个网络行为;NetFlow级粒度,一个网络连接过程的所有网络数据表示一个网络行为;应用级粒度,一个应用过程的所有数据包表示一个网络行为;

第2.2、提取网络行为的特征点f;根据不同的数据集,可以选择不同的网络行为特征点f;

第2.3、选择特征点,将网络行为抽象成特征向量V;在可选网络行为特征点中,选择n个特征点组成特征向量V(f1,f2,...fn),使用选择的网络行为特征点作为网络行为的抽象表示,将二进制的网络数据映射成特征点组成的特征向量;

第2.4、网络恶意行为集合的特征矩阵表示;网络恶意行为集合中包含了N个行为,每个行为都使用相同结构的特征向量Vi表示,1≤i≤N,这N个特征向量组成网络恶意行为特征矩阵C;特征矩阵的每一列表示一个特征点、每一行表示一个网络恶意行为的特征向量;

第3步、当前时间窗内用户正常行为与网络恶意行为一致性度量

第3.1、确定不一致性度量函数A(V,C);不一致性度量函数的输入是网络行为特征向量V,恶意行为特征矩阵C,返回值是V与C的不一致得分s;不一致性度量函数A是任何能够表示不一致性的函数;

第3.2、提取当前时间窗内所有用户正常行为,正常行为个数为N1,根据第2.4步的网络行为特征提取方法,提取正常行为特征矩阵B;

第3.3、计算正常行为特征矩阵B中的所有网络行为特征向量V和恶意行为特征矩阵C的不一致性得分,得到所有正常行为特征向量对于恶意行为特征矩阵的不一致得分集合SB

第4步、未知网络行为与时间窗内用户正常行为一致性度量

第4.1、计算未知网络行为特征向量V相对于恶意行为特征矩阵C的不一致得分sv

第4.2、统计不一致性得分集合SB中小于sv的元素个数,记为Nv;未知网络行为相对于时间窗内用户正常行为的统计量p-value=Nv/(N+1);

第5步、面向大流量基于可信度的恶意行为检测

第5.1、用户给出可接受的可信度Conf,用户只接受准确率在Conf之上的检测结果;

第5.2、计算可接受的最大错误率ε=1-Conf;

第5.3、如果网络行为特征向量V与恶意行为特征矩阵C的不一致得分sv,对于时间窗内所有正常行为特征向量对于恶意行为特征矩阵的不一致得分集合SB的p-value大于ε,则有Conf的可信度,预测该网络行为是网络恶意行为,按照用户设定的处理方法进行处理;

第5.4、如果检测结果显示,该网络行为不是恶意行为,则该网络行为的特征向量V将自动吸收进用户正常行为特征矩阵B中,根据当前的时间点,滑动时间窗,删除时间窗之外的用户正常行为,生成更新后的用户正常行为特征矩阵B',原有的特征矩阵将过期,后面的检测使用新的特征矩阵B';

第5.5、如果在吸收网络行为V之后,发现新的未知网络行为V',对于V'是否为恶意的判断将采用最新的正常行为特征矩阵B',然后重复第4步和第5步的分析过程。

本发明的优点和积极效果:

本发明方法的优点和积极效果体现在,设立滑动窗口,动态跟踪时间窗内的用户行为习惯,不断更新用户正常行为知识库,使其始终体现最新的正常行为模式,解决机器学习模型退化的问题,并且基于已经计算过的用户正常行为的一致性得分集合和用户给定的最大可接受错误概率给出检测结果,解决基于可信度的检测方法的效率较低问题,在大流量环境下实时高速地检测网络恶意行为。

附图说明

图1面向大流量基于可信度的网络恶意行为快速检测方法的流程图。

具体实施方式

1、用户正常行为和网络恶意行为

1.1、公开数据集CTU-13(http://mcfp.weebly.com/the-ctu-13-dataset-a-labeled-dataset-with-botnet-normal-and-background-traffic.html)共包含13个文件,对应13个真实环境下所采集的数据,每一个监控环境中执行不同的恶意软件,采集的数据中包含了大量的正常数据和恶意数据。选用第十个文件作为实验数据(https://mcfp.felk.cvut.cz/publicDatasets/CTU-Malware-Capture-Botnet-51/)。

2、网络行为特征的提取

2.1、确定网络行为的表示粒度为应用级粒度。

2.2、选择五个不同的网络行为特征点,分别为网络行为的持续时间平均值ti_avg、时间间隔平均值dur_avg、发送字节数平均值txbyte_avg、接收字节数平均值rxbyte_avg和快速傅里叶变换fft值。

2.3、提取特征点,使用所选的5个网络行为特征点作为网络行为的抽象表示,经计算,网络恶意行为特征矩阵

3、当前时间窗内用户正常行为与网络恶意行为一致性度量

3.1、选择BotFinder(http://www.cs.ucsb.edu/~vigna//publications/2012_CoNEXT_BotFinder.pdf)的度量函数作为不一致性度量函数A(V,C)。BotFinder计算的是向量与矩阵之间的相似程度,所以返回的不一致性得分s为相似性得分,得分越高,说明V与C越一致,得分越低,说明V与C越不一致。

3.2、规定时间窗为3小时。提取当前时间窗内所有用户正常行为,正常行为个数N1=100。使用所选的5个网络行为特征点作为网络行为的抽象表示,经计算,用户正常行为特征矩阵

3.3、计算正常行为特征矩阵B中的所有网络行为特征向量V和恶意行为特征矩阵C的不一致得分,经计算,得到不一致得分集合SB={0.0247,0.248,0.2274,0.2271,0.2254,0.226,0.0053,0.2313,0.2258,0.0007,0.0045,0.2311,0.0026,0.0191,0.7256,0.2398,0.0036,0.2229,0.2301,0.2743,0.2274,0.0095,0.0248,0.2733,0.2502,0.2229,0.2527,0.4961,0.4993,0.2251,0.223,0.2238,0.2284,0.2373,0.2238,0.2293,0.2503,0.2401,0.2229,0.2273,0.226,0.0032,0.2251,0.2241,0.2277,0.2277,0.2286,0.2277,0.2272,0.7155,0.2333,0.2302,0.2241,0.2526,0.2245,0.0031,0.2358,0.4968,0.2513,0.2355,0.2494,0.247,0.2748,0.2231,0.2229,0.2229,0.223,0.2229,0.2231,0.2229,0.2707,0.2229,0.2229,0.2229,0.7158,0.2331,0.2229,0.2241,0.2232,0.2327,0.2235,0.2237,0.7354,0.7172,0.022,0.2241,0.224,0.2229,0.2317,0.2244,0.2253,0.9925,0.2229,0.2234,0.2346,0.2275,0.2237,0.2498,0.0329,0.0095}。

4、未知网络行为与时间窗内用户正常行为一致性度量

4.1、捕获到一个未知网络行为,经计算,其特征向量V=(1055.120535,90.0596824,438.5,66.8,36.66795367)。计算未知网络行为特征向量V相对于恶意行为特征矩阵C的不一致得分sv=0.2322。

4.2、统计不一致性得分集合SB中小于sv的元素个数Nv=69,未知网络行为相对于时间窗内用户正常行为的统计量p-value1=Nv/(N+1)=0.6832。

5、面向大流量基于可信度的恶意行为检测

5.1、假设用户给出的可信度Conf=0.5。

5.2、计算可接受的最大错误率ε=1-Conf=0.5。

5.3、未知网络行为的p-value1=0.6832大于ε=0.5,所以有Conf=0.5的可信度,预测该网络行为是恶意行为,报告给用户,进行特殊处理。

6、下一个未知网络行为的检测

6.1、捕获到下一个网络未知行为,计算其特征向量为V1=(1411.91,1802.96,411.8,272.5,6.906522)。计算未知网络行为特征向量V1相对于恶意行为特征矩阵C的不一致得分sv1=0.2251。

6.2、统计不一致性得分集合SB中小于sv1的元素个数Nv1=47,未知网络行为相对于时间窗内用户正常行为的统计量p-value2=Nv1/(N+1)=0.4653。

6.3、未知网络行为的p-value2=0.4653小于等于ε=0.5,所以有Conf=0.5的可信度,预测该网络行为是正常行为。

6.4、因为预测该网络行为是正常行为,所以网络行为的特征向量V1自动吸收进用户正常行为特征矩阵B中。根据当前的时间点,滑动时间窗,删除时间窗之外的用户正常行为,生成更新后的用户正常行为特征矩阵B',原有的特征矩阵将过期,后面的检测使用新的特征矩阵B'。经计算,

6.5、对于之后新发现的未知网络行为V'的判断将采用最新的正常行为特征矩阵B',然后重复第4步和第5步的分析过程。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1