“ KDD CUP 99 dataset ”就是KDD竞赛在1999年举行时采用的数据集。http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html
1998年美国国防部高级规划署(DARPA)在MIT林肯实验室进行了一项入侵检测评估项目。林肯实验室建立了模拟美国空军局域网的一个网络环境,收集了9周时间的 TCPdump(*) 网络连接和系统审计数据,仿真各种用户类型、各种不同的网络流量和攻击手段,使它就像一个真实的网络环境。这些TCPdump采集的原始数据被分为两个部分:7周时间的训练数据 (**) 大概包含5,000,000多个网络连接记录,剩下的2周时间的测试数据大概包含2,000,000个网络连接记录。
一个网络连接定义为在某个时间内从开始到结束的TCP数据包序列,并且在这段时间内,数据在预定义的协议下(如TCP、UDP)从源IP地址到目的IP地址的传递。每个网络连接被标记为正常(normal)或异常(attack),异常类型被细分为4大类共39种攻击类型,其中22种攻击类型出现在训练集中,另有17种未知攻击类型出现在测试集中。
4种异常类型分别是:
1. DOS, denial-of-service. 拒绝服务攻击,例如ping-of-death, syn flood, smurf等;
2. R2L, unauthorized access from a remote machine to a local machine. 来自远程主机的未授权访问,例如guessing password;
3. U2R, unauthorized access to local superuser privileges by a local unpivileged user. 未授权的本地超级用户特权访问,例如buffer overflow attacks;
4. PROBING, surveillance and probing, 端口监视或扫描,例如port-scan, ping-sweep等。
随后来自哥伦比亚大学的Sal Stolfo 教授和来自北卡罗莱纳州立大学的 Wenke Lee 教授采用数据挖掘等技术对以上的数据集进行特征分析和数据预处理,形成了一个新的数据集。该数据集用于1999年举行的KDD CUP竞赛中,成为著名的KDD99数据集。虽然年代有些久远,但KDD99数据集仍然是网络入侵检测领域的事实Benckmark,为基于计算智能的网络入侵检测研究奠定基础。
(*) tcpdump 是linux下的网络分析工具,它可以根据使用者的定义对网络上的数据包进行截获。同类工具有Wireshark和sniffer。
(**) 训练(train)与测试(test) 是机器学习中的概念,通常用在分类器设计中。训练数据包含输入与输出,输入的是特征集合(features),输出的是分类结果(label);而测试数据集只包含输入(特征集合)。这个学习过程简单的讲就是经过训练数据训练过的模型,能够给测试数据标定分类结果。
但KDD99与DARPA98并不是一一对应的,Wende Lee等人在处理原始连接数据时将部分重复数据去除,例如进行DoS攻击时产生大量相同的连接记录,就只取攻击过程中5分钟内的连接记录作为该攻击类型的数据集。同时,也会随机抽取正常(normal)数据连接作为正常数据集。
KDDCup99入侵检测实验数据的标识类型
标识类型 |
含义 |
具体分类标识
|
Normal |
正常记录 |
normal
|
DOS |
拒绝服务攻击 |
back、land、neptune、pod、smurf、teardrop
|
Probing |
监视和其他探测活动 |
ipsweep、nmap、portsweep、satan
|
R2L |
来自远程机器的非法访问 |
ftp_write、guess_passwd、imap、multihop、phf、spy、warezclient、warezmaster |
U2R |
普通用户对本地超级用户特权的非法访问 |
buffer_overflow、loadmodule、perl、 rootkit |
KDD99数据集总共由500万条记录构成,它还提供一个10%的训练子集和测试子集,它的样本类别分布表如下:
标签 | 类别 | 训练集(10%) | 测试集(Corrected) |
---|---|---|---|
39种攻击 | |||
0 | NORMAL | 97278 | 60593 |
1 | PROBE | 4107 | 4166 |
ipsweep | 1247 | 306 | |
mscan | / | 1053 | |
nmap | 231 | 84 | |
portsweep | 1040 | 354 | |
saint | / | 736 | |
satan | 1589 | 1633 | |
2 |