论文部分内容阅读
计算机网络已经广泛应用到了社会各行各业,网络安全问题也受到了前所未有的关注,网络入侵检测技术是维护网络安全的关键技术之一。传统的基于规则的入侵检测方法,存在依赖于人工介入,规则数据库难以及时更新,难以检测未知入侵等缺点。本文研究基于深度学习的网络入侵检测方法,通过深度神经网络提取网络入侵过程中不可避免产生的信息痕迹,针对不同网络入侵场景,提出了相应的检测方法。首先,利用常见的网络入侵的信息痕迹通常具有时间相关性的特点,提出了一种基于门控循环单元的网络入侵检测方法。我们将带有门控循环单元的循环神经网络和多层感知器结合起来,构建了一个入侵检测系统,并使用深度学习的方法来训练其自动提取和筛选有效特征,取得了较好的入侵检测性能。在KDD 99数据集和N S L-KDD数据集上的实验表明,提出的系统使用双向门控循环单元和多层感知器时,总体检测率最高达到了 99.42%和99.24%,误报率分别低至0.05%和0.84%,与同类研究相比有更优的性能。其次,本文研究了被恶意软件隐秘控制的僵尸主机构成的僵尸网络中通信的关键手段,即利用域名生成算法产生的恶意域名(DGA域名)。为了有效检测DGA域名,本文将n-gram和深度卷积神经网络组合,提出了一种域名分类网络模型,通过对域名的语义表达和分类,设计了 DGA域名的端到端检测方法。我们使用了不同种类的真实DGA域名和正常域名构建了带有标签的数据集对提出的检测方法进行了测试,结果表明提出的检测方法可以有效检测多种类型的DGA域名,其平均检测率达到98.69%,平均F值达到0.9829。与最近文献上已有工作的对比表明,提出的检测方法具有较好的鲁棒性,对于Suppobox、Matsnu和Symmi等基于单词表和可发音的检测难度较大的DGA域名有很好的性能表现,远超已有检测方法的检测效果。第三,考虑网络入侵检测中安全机构只能截获到少量攻击样本的场景,即零日攻击等场景,提出了一种基于元学习框架的小样本网络入侵检测方法。该方法将正常流量和恶意流量这两种类型的网络数据流组合后构成一对数据流,并将比较区分一对网络流量样本作为学习的任务。我们提出了由可以提取样本特征的网络F-Net和比较网络C-Net组成的深度神经网络FC-Net来完成小样本检测任务,从而实现小样本网络入侵检测。FC-Net通过学习大样本的网络流量,可以获取检测网络入侵的先验知识,实现只通过较少的样本数量来检测新的流量类型。为了评估提出的方法,我们设计了 一种从网络流量数据源中构造适用于小样本场景下网络入侵检测数据集的方法,并使用2个公开的网络流量数据源中构造了 2个数据集。在同一个数据集上的训练和测试表明提出的方法性能和大样本场景下的同类工作接近,平均检测率最高可达98.88%。进一步的,在跨数据集的训练和测试中提出的检测方法甚至可以取得更好的效果,即在小样本场景下可以通过学习到的先验知识检测从未训练过的数据集中的未知入侵类型,平均检测率最高可达 99.62%。最后,针对低速率拒绝服务(Low-rate Denialof Service,LDoS)攻击隐蔽性较强,传统的基于信号分析的方法较难在波动较大的正常流量中检测出低速率拒绝服务攻击流量的不足,提出了 一种基于混合深度神经网络的低速率拒绝服务攻击检测方法,利用网络流量的时间统计信息,通过一维卷积神经网络和门控循环单元来实现检测。为了真实有效地评估提出的方法,本文设计了网络流量采集系统,从某高校的Web站点获取真实用户的流量,选取其中不含拒绝攻击的部分作为正常流量,并在实验室环境对该网站的镜像站进行了多种实际的LDoS攻击,获取了攻击流量。通过对采集得到的流量进行检测表明,在大样本场景下,我们提出的方法可以在波动较大的HTTP流量中有效检测多种形式的LDoS攻击,具有较好的适应性,平均检测率达到98.68%。在小样本场景下,提出的检测方法平均检测率为89.54%。进一步的实验分析表明,提出的检测方法还可以检测HTTPS加密流量中的LDoS攻击,平均检测率达到95.85%。