第一章 绪论
1.1 课题背景及意义
随着移动互联网时代的到来,不仅给人们的生活带来便利,也正在改变各行各业的生产模式,结构供给。但带来便捷的同时黑客攻击事件正越发频繁。根据国家互联网应急中心(CNCERT/CC)2020 年 7 月出版的《2019 年中国互联网网络安全报告》统计,在 2020 年上半年,捕获计算机恶意程序样本数量约 1,815 万个,日均传播次数达 483 万余次,比去年同比增长了 463.91 万次,涉及计算机恶意程序家族约 1.1 万余个,如图 1.1 所示。网络攻击事件呈现连年递增的趋势,虽在 2018-2019 年有些放缓。但由于 2020 年疫情冠状病毒(COVID-19)全球的爆发,改变了很多机构组织的运转方式,远程办公正趋于常态。新形式下家中办公环境存在大量未知的安全漏洞,它正帮助全球网络黑客参与者更轻易完成渗透攻击。
网络攻击不仅给个人带来资产损失,对产业带来重大风险,也对国家安全构成威胁。根据国家互联网应急中心(CNNERT)2020 年 9 月发布的《2020 年上半年我国互联网网络安全监测数据分析报告》统计,我国感染计算机恶意软件的主机约 304 万台,同比增长 25.7%。国外约 25000 台计算机恶意软件控制服务器控制着中国约 303 万台主机。从中国控制的主机数量来看,美国、荷兰和德国的控制服务器排名前三,分别控制了中国约 252 万台、127 万台和 117 万台主机。
1.2 论文的主要研究内容网络入侵检测系统是网络安全领域中重要的研究热点之一。随着通信网络技术的发展,网络的用户规模、网络拓扑和网络流量呈现爆发式增长,随之而来的是网络攻击事件频发,攻击形式也正呈现出复杂多变的特点,基于端口匹配[1]、有效载荷(或者叫 DPI,深度报文检测)[2]等传统方法难以有效应付,各种基于深度学习的入侵检测算法成为安全领域研究者主要关注的方向。入侵检测关键技术主要分为异常检测(Anomaly Detection)和误用检测(Misuse Detection)两种,其中异常检测技术具有检测新型、未知恶意攻击的优点,近年来,也有研究人员提出将无监督深度学习技术应用于异常检测,从思路上可有效解决上文提到的几个缺点。然而,无监督异常检测方法仅能检测出异常,无法识别出具体的细粒度攻击种类,DPI 技术通过检测报文净荷,可准确识别具体应用,因此,本文将 DPI 技术和 Deep Learning 技术相结合,提出一种基于异常检测(Anomaly Detection)的无监督深度学习 IDS 算法,一方面利用无监督深度学习在异常检测方面的鲁棒性优点,另一方面也应用传统的 DPI 技术能够准确甄别细粒度攻击类别的优点,从而提升网络入侵检测算法的鲁棒性和准确率。主要的研究内容包括:
(1)本文提出了一种基于异常检测(Anomaly Detection)的无监督深度学习 IDS 算法,解决基于规则的传统算法和有监督 ML/DL 算法无法检测未知恶意攻击的缺点。本文提出了 3种创新型的异常检测深度学习算法 CE-SAE、COD-VAE、Packet-GAN, 其中 Packet-GAN 深度异常检测算法相比于其他算法有着更高的查准率和更低的误报率,该模型算法主要用于区分正常网络流量与恶意网络流量,在 COD-VAE 的基础上加入生成对抗网络的策略让算法的生成器可以更好的拟合正常网络流量数据集的分布。并加入新的编码器学习生成网络数据流的隐层空间特征信息让异常得分算法表现出更好的鲁棒性。后续实验证明,该模型能更好学习正常网络流的空间分布情况,且系统的整体检测性能有了进一步的提高,在多分类的检测性能上整体也表现不错。
(2)本文提出一种 DPI 和无监督深度异常检测算法相融合的解决方案,解决无监督算法无法检测具体细分类的问题。无监督的深度异常检测算法作为前置模块检测出网络数据流中的恶意流量,将恶意流量送往后端的 DPI 检测引擎,一方面通过二分类异常检测进行粗粒度的识别和分拣,另一方面也大幅缓解 DPI 检测引擎的处理压力。使用成熟的深度包检测技术进行净荷匹配判断出具体的攻击类型,一旦发现恶意攻击可联动网络下发策略予以控制。此种架构解决了传统入侵检测系统无法检测未知攻击的能力,也巧妙的解决了无监督算法无法识别具体攻击类型的问题。
第二章 相关技术研究
2.1 入侵检测系统研究现状
本小节主要从入侵检测系统的应用领域、数据源、入侵检测技术、架构设计、响应方式、报警策略不同的角度对入侵检测系统进行详细的介绍和划分。
2.1.1 入侵检测系统概述
入侵检测系统(Intrusion Detection System, IDS)[24]是采用积极防护的安全策略,对网络流量数据进行监控,分析出恶意攻击事件并提供主动或被动的响应策略帮助安全管理人员抵御攻击。当前入侵检测在军事、医疗、交通、物联网安全、工业控制系统等领域均有广泛应用。
物联网:由于物联网(IOT)[25]环境异构、碎片化、不支持互操作,因此很难设计出具体的安全机制。研究人员为提高物联网设备的安全性提出相关理论研究,包括提供数据保密、认证、物联网内部的访问控制以及保护用户的个人信息和隐私。然而即使有这些机制,物联网网络仍然容易受到攻击。因此,我们需要为物联网开发更多的安全工具,入侵检测系统(IDS)可以解决这一问题。
军事领域:无线传感器网络在军事系统中有着广泛的应用[26],但网络容易受到路由攻击。针对可重构路由协议的网络攻击包括泛洪攻击[27]、黑洞攻击[28]、选择性转发攻击[29]等,这些攻击会导致设备性能下降,对军事任务构成更大威胁。基于分布式跨层机器学习异常检测系统[8],可以有效检测军事网络攻击,保护军事网络安全。
交通:智能车辆在智能互联交通系统的发展中发挥着重要作用。现代智能车辆是由传感器、电子控制单元和执行器组成的复杂系统[30]。电子控制单元通过控制器局域网进行通信。由于缺乏消息认证和广播传输,控制器局域网容易受到各种网络攻击[31],如通过 CD 播放器、蓝牙等攻击媒体对车辆进行攻击,导致车辆失控[32],可能造成严重交通事故,基于神经网络算法的车辆入侵检测系统[33]能够检测出车辆的异常情况并及时做出响应。入侵检测系统(IDS)能够检测车辆网络中潜在的网络攻击,引起了人们的极大关注
2.2 基于机器学习的入侵检测技术研究现状
入侵检测技术作为网络安全的第一道安全门起着重要的作用,作为热门安全技术一直被国内外的学者深入研究,从单机防护到整个复杂网络环境的安全防护,从基于模式规则到机器学习再至深度学习,入侵检测模型算法的性能也在逐步提升。
2.2.1 基于机器学习的入侵检测系统
随着人工智能的高速发展并在数据挖掘、数据预测、图像识别、自然语言处理领域取得不错的成就,研究人员开始尝试迁移优秀的机器学习算法至入侵检测领域。Horng 在 1999 年尝试利用数据挖掘的思想实现一个入侵检测系统[6],采集整个网络流量数据和主机安全日志刻画出基于异常的入侵检测模型,这是机器学习在入侵检测系统的最早尝试并取得不错的效果,至此入侵检测技术向机器学习领域发展。
支持向量机(Support Vector Machine, SVM)被认为是最有效的入侵检测算法,该算法能更好的解决小样本问题。Deng 提出一种基于 SVM 的入侵检测系统[44],采用 z-score 的方式归一化 KDD1999[8]数据集,利用支持向量机算法先特征压缩再特征分类,该方法能有效检测探测攻击,拒绝服务等恶意攻击。但该模型只能检测特定的攻击流量。
Xu 使用隐马尔可夫算法模型(Hidden Markov Models, HMM)开发出自适应的网络入侵检测算法[9],该方法对有效净荷负载进行压缩和分析,检测文本类型的攻击有很好的效果例如XSS 和 SQL 注入。但该方法存在没有合理考虑净荷负载长度,检测时间过长损耗较大等问题。
决策树算法(Decision Tree, DT)是最流行的异常检测算法,Safavian 在改进决策树网络中使用按比例划分恶意攻击的评估算法[10],降低了对大数据集的决策偏向性,提高了模型的真阳率。
聚类算法 K-means 在无监督算法中解释性强,收敛快。Shah 使用优化后的 K-means 算法[11]、SVM、极限学习机(extreme learning machine, ELM)构建入侵检测系统,有效的识别出多分类的恶意流量攻击。K-means 算法刻画的聚类模型虽然有很好的解释性,但不同的数据集需设置不同的聚类中心。
高斯混合模型(Gaussian Mixture Model, GMM)是基于概率的无监督机器学习算法,适合解决同一数据集下的不同类型分布。Bahrololum 使用分层的高斯混合模型对正常流量样本集建模[12],训练出一组评估异常的高斯概率分类器。实验结果表明相比于其他机器学习算法该方法能够有效减少漏报并准确预测 IDS 中可能的攻击行为。
第三章 基于自动编码器的无监督 NIDS 异常检测算法 ............................. 21
3.1 基于自动编码器的深度学习入侵检测算法框架 .........................