基于机器学习的网络异常流量分析系统.docx

基于机器学习的网络异常流量分析系统.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

?

?

基于机器学习的网络异常流量分析系统

?

?

方洋李旗张瑞霞

摘要:该系统使用机器学习方法对异常流量进行判别,设计一个异常流量的检测模型,通过对HTTP请求头字段进行特征提取,形成多维特征库,应用到机器学习的高斯混合模型中,进行验证和评估。经过测试证明特征计算方法在高斯混合模型中有较好的准确率和召回率。

关键词:异常流量;特征计算;高斯混合模型;sklearn

:TP393

:A

:1009-3044(2020)04-0024-02

1背景

恶意软件的传播数量越来越多。根据国家互联网应急响应中心[1](CNCERT)发布的安全报告,2018年,CNCERT全年捕获计算机恶意程序样本数量超过1亿个,涉及计算机恶意程序家族51万余个,较2017年增加8132个;全年计算机恶意程序传播次数日均达500万余次。在这背景下可以看出,恶意软件对当前社会带来了巨大的影响,在如此大的威胁下,恶意软件不仅对用户和企业带来直接的经济损失,它的快速变种能力也对研究人員和查杀技术带来很大的困扰。传统的通过静态规划匹配的网络异常检测方法在动态、复杂的网络环境中难以检测出未知异常和攻击类型,不能满足网络安全检测的要求,机器学习具有自学习、自演化的特性,可以适应复杂多变的网络环境,能够检测出未知的异常,满足实时准确检测的需求[2]。本课题可以通过使用机器学习的方法,利用其自学习的特性,对异常流量进行学习,通过使用合适的机器学习算法,可以发现未知的异常流量。

2高斯混合模型和EM算法

高斯混合模型(GaussianMixedModel,简称GMM)是用高斯概率密度函数(正态分布曲线)精确地量化事物,将一个事物分解为若干的基于高斯概率密度函数形成的模型。通俗地讲,无论观测数据集如何分布以及呈何种规律,都可以通过多个单一高斯模型的混合进行拟合。

高斯混合模型(GMM)就是指对样本的概率密度分布进行估计,而估计釆用的模型(训练模型)是几个高斯模型的加权和(具体是几个要在模型训练前建立好),每个高斯模型就代表了一个类(Cluster),对样本中的数据分别在几个高斯模型上投影,就会分别得到在各个类上的概率,然后我们可以选取概率最大的类所为判决结果[3]。

期望最大(ExpectationMaximization,简称EM)算法,称为机器学习的十大算法之一。它是一种从不完全数据或有数据丢失的数据集中求解概率模型参数的最大似然估计方法。高斯混合模型由均值、协方差和混合系数共同决定,所以在进行迭代的过程之前,首先需要为均值、协方差以及混合系数选择一个初值,然后交替进行期望步骤和最大化步骤[4]。

与K-means算法相比,EM算法在达到收敛之前经历了更多次的迭代,每次迭代都需要更多的计算量,因此,通常在进行高斯混合模型训练时,用K-means算法找到高斯混合模型的一个合适的初始化值,接下来用EM算法进行迭代求解,可以方便地将协方差矩阵初始化为通过K-means算法找到的聚类样本协方差,混合系数可以被初始化为分配到相应聚类中的数据点所占的比例。

3异常流量检测

3.1数据预处理

3.1.1样本收集

本课题使用的数据集UNSW-NB15[5]来自新南威尔士大学,数据集包含研究人员分析出的CSV标记集和数据集的PCAP原始流量,该数据集是在linux下使用tcpdump分别在2015年1月22日和2015年2月17日进行捕获,其中包含了许多正常的上网流量和异常流量。同时我们需要单独的恶意样本对训练模型进行验证。恶意样本主要来自MALWARE-TRAFFIC-ANALYSIS.NET,该网站上包含了自从2013年以来安全研究员分析的恶意软件样本,网络流量样本,以及恶意软件行为。

3.1.2HTTP流量提取

根据课题的研究背景,本系统主要分析流量中的HTTP协议,因此在对数据集的提取过程中,只需要提取HTTP流量作为数据集,并根据需要对HTTP请求头部进行字段的提取。

目前需要的字段主要有:Method,URI,Version,Host,User-Agent,Accept,Connection,Content-type,共8个字段的信息以及一些标识字段:时间,源端口,源IP,目的端口,目的IP共5个字段的信息,并将这些字段信息保存在CSV(逗号分隔符)文件中。

3.1.3数据集处理

UNSW-NB15数据集中提供了恶意流量标记集,该标记集中包含对原始流量中发生的恶意事件进行分析,包括HTTP的异常流量、恶意软件的产生的流量和各种0day漏洞的利用过程中产生的流量,分析的结果包含流量的开始时间,结束时间,攻击类别,协议,源IP,源端口,目的IP,目的端口,攻击名称,攻击参考等信息。

通过标记集给定的信息,对原始中的HTTP异常流量进行提取,按照所需

文档评论(0)

159****4253 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档