Deep learning for cyber security intrusion detection Approaches, datasets, and comparative study

Section 1.摘要

本篇paper是一篇关于入侵检测的综述性文章,设计方法、数据集和研究综述。

在这篇文章中,我们做了网络安全入侵检测深度学习方法的调查,使用的数据集,并进行比较研究。具体来说,我们提供了基于深度学习方法的入侵检测系统的综述。数据集在入侵检测中起着重要的作用,因此我们描述了35个有名的网络数据集(cyber datasets),并将这些数据集分为7类;network traffic-based dataset, electrical network-based dataset, internet traffic-based dataset, virtual private network-based dataset, android apps-based dataset, IoT traffic-based dataset, and internet-connected devices-based dataset. 我们分析了七种深度学习模型,包括递归神经网络、深度神经网络、受限玻尔兹曼机、深度信念网络、卷积神经网络、深度玻尔兹曼机和深度自动编码器(recurrent neural networks, deep neural networks, restricted Boltzmann machines, deep belief networks, convolu- tional neural networks, deep Boltzmann machines, and deep autoencoders)。对于每个模型,我们在两个新的真实流量数据集,即CSE-CIC-IDS2018数据集和Bot-IoT数据集下研究了两类分类(二分类和多分类)的性能。此外,我们使用最重要的性能指标,即准确性、误报率和检测率来评估几种方法的效率。

主要贡献:

  • 回顾了使用机器学习技术的入侵检测系统
  • 分析了七个深度学习方法
  • 研究了每个深度学习模型在CSE-CIC-IDS2018 dataset & Bot-IoT dataset 两个数据集上的表现
  • 比较了深度学习和四个传统机器学习方法(Naive Bayes, Artificial neural network, SVM, Random Forest)

读这篇paper的主要原因就是它是使用深度学习方法构建入侵检测系统这类技术的方法、数据集等各项指标的研究综述,且是比较新的,2019年的研究2020年发表在《Journal of Information Security and Applications》

Section 3.基于深度学习的入侵检测系统

目前来说有十种用于入侵检测的深度学习技术:(1) deep neural network, (2) feed forward deep neural network, (3) recurrent neural network, (4) convolutional neural network, (5) restricted Boltzmann machine, (6) deep belief network, (7) deep auto-encoder, (8) deep migration learning, (9) self-taught learning, and (10) replicator neural network

接下来针对每种方法各列举了几篇研究论文,简单叙述了各个研究的准确率。这里我不打算翻译一遍这些方法记下来只附一张表,想看的话可以文末连接看原文。我只想看看都有那些数据集。

20210307191725.jpg

Section 4.公开数据集

20210307191727.png

20210307191726.png

4.1 Network traffic-based dataset

4.1.1 DARPA 1998 dataset

该数据集基于网络流量和审计日志,最早于1998二月公开可用。training data包含七周的网络攻击流量,testing data包含两周。根据Sharafaldin等人的研究,该数据集不能代表真实世界的网络流量。

4.1.2 KDD Cup 1999 dataset

KDD CUP 99 数据集使用的是DARPA 1998 DataSet的原始数据,在DARPA 98数据集的基础上进行了预处理,提取出了以“连接”为单位的一条条记录。

4.1.3 NSL-KDD dataset

此数据集由Tavallaee等人提出,为了解决KDD CUP 99数据集固有的一些问题。与原始KDD数据集相比,(1)不包含冗余记录,(2)不包含重复的记录

4.1.4 UNSW-NB15 dataset

该数据集由四个工具创建:IXIAPerfect-Stormtool,Tcpdumptool,Argustool,andBro-IDStool. 这些工具用于创建攻击,包括DoS,漏洞利用,通用,侦察,Shellcode和蠕虫。

4.1.5 DEFCON dataset

该数据集有两个版本:DEFCON-8(2000)andDEFCON-10(2002). DEFCON-8 包含端口扫描和指针溢出,DEFCON-10 包含探测和非探测攻击(e.g.,badpacket,portsscan,portsweeps,etc.).

4.1.6 CAIDAs dataset

该数据集由Center of Applied Internet Data Analysis 发布,包含不同数据集:CAIDA DDOS, CAIDA Internet traces 2016, RSDos Attack Metadata(2018-09). 具体来说,CAIDA DDOS 包含一小时的DDos流量,数据集被分割为5min为单位的pcap文件。RSDos Attack Metadata(2018-09) 中包含随机spoofed denial-of-service 攻击流量。

4.1.7 CDX dataset

此数据集是由Homoliak等人在network warfare competition期间创建的,其中包含网络服务上的恶意和合法TCP通信。这些网络服务存在指针溢出的可利用漏洞,这些服务包括:Postfix Email FreeBSD, Apache Web Server Fedora 10, OpenFire Chat FreeBSD, and BIND DNS FreeBSD.

4.1.8 KYOTO dataset

该数据集基于真实的三年流量数据,这些数据是使用四个工具创建的:honeypots, darknet sensors, e-mail server and web crawler.

4.1.9 TWENTE dataset

该数据集是在6天的时间内收集的,包含14.2M流量和7.6M警告。TWENTE数据集使用三个IP协议(包括UDP,TCP和ICMP)表示一个子分类。
4.1.10 CIC Dos dataset

该数据集包含使用不同工具的4种不同类型的应用层DoS攻击。CICDoS数据集由Jazi等人提出。high-volume HTTP attacks, low-volume HTTP attack

4.1.11 CICDS2017 dataset

该数据集包含从2017年7月3日星期一到2017年7月7日星期五捕获的数据.CICIDS2017数据集由Sharafaldin等人提出。其中攻击手段包括:BruteForceSSH,DoS,Heartbleed,WebAttack,Infiltration,BotnetandDDoS,andBruteForceFTP.

4.1.12 CSE-CIC-IDS2018dataset

该数据集由Communications Security Establishment(CSE)&the Canadian Institute(CIC)联合发布,包含7种攻击:Heartbleed,Brute-force,DoS,DDoS,Webattacks,Botnet,andinfiltration.

4.1.13 ISCX dataset

该数据集由Shiravi等人创建,七天的网络活动(包含恶意和正常流量)组成。恶意活动包括:(1)内网渗透(2)HTTP拒绝服务攻击(3)分布式拒绝服务攻击(4)爆破SSH。在ISCX dataset中有两种通用的profiles类别:(1)试图以明确的方式描述攻击场景的profiles (2)封装提取的特定实体的数学分布或行为的profiles

4.1.14 ADFA2013 dataset

该数据集由Creech和Hu提出,包含了攻击Ubuntu系统的向量和payload:password brute-force, add new super user, java based meterpreter, linux meterpreter payload, and C100 Webshell. 数据集结构包含三种数据类型,即(1)正常training data (2)正常validation data (3)attack data. 正常训练数据包含4373条trace。正常验证数据包含833条trace。攻击数据包含每个vector 的10次攻击。

4.2 Electrical network-based dataset

4.2.1 LBNL dataset

该数据集是使用uPMU在劳伦斯·伯克利国家实验室电气网络收集到的。uPMU是微相量测量单元,它产生12个120赫兹的高精度值流,时间戳精确到100纳秒。该数据集可用于微电网同步以及负载和分布式发电的表征。

4.2.2 ICS cyber attack dataset

该数据集包含五个不同的数据集:(1)Power System Datasets, (2) Gas Pipeline Datasets, (3) Energy Management System Data, (4) New Gas Pipeline (5) Gas Pipeline and Water Storage Tank.

电力系统包含37个场景,分为8个自然事件,1个无事件和28个攻击事件。有三类攻击,包括:(1)继电器设置改变,(2)远程跳闸命令注入,(3)数据注入。这些数据集可用于工业控制系统中的计算机安全入侵检测

4.2.3 IEEE 300-bus power test system

该数据集提供了电网的拓扑和电气结构,特别用于检测智能电网中的虚假数据注入攻击。系统有411个分支,平均度(< k >)为2.74。关于这个标准测试系统的更多细节,我们请读者参考Hines等人的工作。IEEE 300-bus电源测试系统已用于与网络攻击分类相关的多项工作

4.3 Internet traffic-based dataset

4.3.1 UMASS dataset

该数据集包含两个不同的数据集:(1)strong flow correlation attacks (2)OneSwarm上的简单定时攻击

前者是使用tor客户端在tor网络上访问top 50,0 0 0 Alexa websites。后者具体来说有三种独立的攻击,包括基于时间信息的攻击、基于查询转发的攻击和基于TCP吞吐量的攻击

4.3.2 Tor-nonTor dataset

该数据集由Lashkari等人提出,包含来自超过18种很具代表性应用程序的8种流量类型(VOIP, chat, audio-streaming, video-streaming, mail, P2P, browsing, and File Transfer)。

4.3.3 URL dataset

该数据集由Mamun等人提出,包含5种类型的url:1)Benign URLs 2)Spam URLs 3) Phishing URLs 4) Malware URLs 5) Defacement URLs.

4.3.4 MAWI dataset

该数据集包含数据包捕获形式的每日流量,该数据包捕获自日本和美国之间的跨太平洋链路。

4.4 Virtual private network-based dataset

4.4.1. VPN-nonVPN dataset

该数据集由Draper-Gil提出,它捕获了普通会话和通过虚拟专用网络(VPN)的会话。具体来说,该数据集由标记的网络流量组成,包括浏览器(例如Firefox)、电子邮件(例如SMPTS)、聊天(例如Skype)、流媒体(例如Youtube)、文件传输(例如SFTP)、网络电话(例如Hangouts语音呼叫)和P2P(Uutrent)。

4.5 Android apps-based dataset

4.5.1 Android validation dataset

数据集由72个原始应用组成,具有以下操作:替换图标、替换文件、插入垃圾代码、不同对齐、插入垃圾文件和替换字符串,Android validation dataset由Gonzalez等人提出,为了找寻上述这些android app之间的关系。他们提取了两个特征,即,(1)元信息(伴随每个.apk文件) (2) N -grams(表征.dex文件)。此外,Android validization数据集引入了以下定义,概述了应用程序之间的关系:双胞胎、兄弟姐妹、假兄弟姐妹、继兄弟姐妹、假继兄弟姐妹和表兄弟姐妹。原始基本集包含72个应用程序,而包含转换应用程序的完整集包含792个应用程序。

4.5.2 Android adware dataset

该数据集由190个应用程序生成,分为三类,包括广告软件(250个应用程序)、一般恶意软件(150个应用程序)和良性软件(1500个应用程序)。

4.5.3. Android malware dataset

该数据集名为CICAndMal2017,包含恶意软件和良性应用程序,这些样本来自谷歌应用市场2015-2017。CICAndMal2017数据集由Shiravi等人提出。

4.6 IoT traffic-based dataset

4.6.1. Bot-IoT dataset

此数据集包含72,000,000以上的记录,包含的攻击手段有:DDoS, DoS, OS and Service Scan, Keylogging and Data exfiltration attacks. Bot-IoT数据集是由Koroniotis等人提出,在IoT安全领域这是一个全新的数据集。作者使用节点红工具模拟物联网设备的网络行为。为了连接机器到机器(M2M)的通信,数据集使用了MQTT协议,这是一种轻量级的通信协议。试验台中使用了五种物联网场景,即气象站、智能冰箱、运动激活灯、远程激活车库门和智能恒温器。

4.7 Internet-connected devices-based dataset

4.7.1 Botnet dataset

该数据集由Beigi等人提出,分为训练数据集和测试数据集,分别包括7种和16种僵尸网络。僵尸网络类型在训练数据集中的分布包括:Neris, Rbot, Virut, NSIS, SMTP Spam, Zeus, and Zeus control (C&C). 测试数据集中僵尸网络类型的分布包括:Neris, Rbot, Menti, Sogou… etc. 僵尸网络拓扑可以是集中式、分布式(例如P2P)或随机化的。使用的功能分为四组,即基于字节、基于数据包、基于时间和基于行为。

论文链接:https://www.sciencedirect.com/science/article/abs/pii/S2214212619305046