KDD Cup 99网络入侵检测数据的分析
该数据集是从一个模拟的美国空军局域网上采集来的 9 个星期的网络连接数据, 分成具有标识的训练数据和未加标识的测试数据。测试数据和训练数据有着不同的概率分布, 测试数据包含了一些未出现在训练数据中的攻击类型, 这使得入侵检测更具有现实性。
在训练集中包含了1种正常的标识类型 normal 和 22种训练攻击类型。
1、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 |
标识位用来表示该条连接记录是正常的,或是某个具体的攻击类型;(正常标识有一种,攻击标识有22种)
DOS:有6种,back,land,neptune,pod,smurf,teardropl
Probing:有4种,ipsweep,nmap,portsweep,satan;
R2L:有8种,ftp_wrute,guess_passwd,imap,multipod,phf,spy,warezclient,waremaster;
U2R:有4种,buffer_overflow,loadmodule,perl,rootkit;
2、特征属性
在41个固定的特征属性中,9个特征属性为离散型,其他均为连续型;
duration,protocol_type,service,flag,src_bytes,dst_bytes,land,
wrong_fragment,urgent,ho,num_failed_logins,logged_in,num_compromised,
root_shell,su_attempted,num_root,num_file_creations,num_shells,
num_access_files,num_outbound_cmds,is_host_login,is_guest_login,count,
srv_count,serror_rate,srv_serror_rate,rerror_rate,srv_rerror_rate,
same_srv_rate,diff_srv_rate,srv_diff_host_rate,dst_host_count,
dst_host_srv_count,dst_host_same_srv_rate,dst_host_diff_srv_rate,
dst_host_same_src_port_rate,dst_host_srv_diff_host_rate,
dst_host_serror_rate,dst_host_srv_serror_rate,dst_host_rerror_rate,
dst_host_srv_rerror_rate,class
通过对41个固定特征属性的分析,比较能体现出状态变化的是前31个特征属性,其中9个离散型,22个连续型。因此对连接记录的分析处理是针对该31个特征属性。接下来将这31个特征属性进行总结分析。
3、单个TCP连接的基本特征
| 特征名 | 描述 | 类型 |
|---|---|---|
| Duration | 连接时间长度(单位:秒) | 连续型 |
| Protocol_type | 协议类型,如tcp,udp | 离散型 |
| Service | 在目标机的网络服务,如http,telnet等 | 离散型 |
| src_bytes | 源地址到目标地址的数据流量 | 连续型 |
| dst_bytes | 目标地址到源地址的数据流量 | 连续型 |
| flag | 连接状态(正常或错误) | 离散型 |
| land | 1表示数据连接源地址和目标地址为同一主机或端口;0表示其他 | 离散型 |
| wrong_fragment | 错误碎片的数目 | 连续型 |
| urgent | 紧迫数据包的个数 | 连续型 |
4、一次连接中包含的内容特征
| 特征名 | 描述 | 类型 |
|---|---|---|
| hot | 访问系统敏感文件和目录的次数 | 连续型 |
| mum_failed_logins | 尝试登录失败的次数 | 连续型 |
| loggged_in | 1表示成功登录,0表示其他 | 离散型 |
| num_compromised | 受到威胁状态的次数 | 连续型 |
| root_shell | 1表示超级用户的shell外壳,0表示其他 | 离散型 |
| su_attempted | 1表示命令执行尝试,0表示其他 | 离散型 |
| num_root | root权限访问的次数 | 连续型 |
| num_file_creations | 文件创作的操作次数 | 连续型 |
| num_shells | shell提示符合的个数 | 连续型 |
| num_access_files | 访问控制文件的次数 | 连续型 |
| num_outbound_cmds | 一次ftp会话中传递命令的次数 | 连续型 |
| is_hot_login | 1表示属于热点清单的登录,0表示其他 | 离散型 |
| is_guest_login | 1表示guest用户登录,0表示其他用户名登录 | 离散型 |
- 在实验研究中, 一般使用 KDDCup99 中的网络入侵检测数据包kddcup_data_10percent。 kddcup_data_10percent 数 据 包 是 对kddcup_data 数据包( 约 490 万条数据记录) 10%的抽样。
5、数据预处理
- 聚类算法中要使用计算距离的方法对数据进行聚类, 而连接记录的固定特征属性中有两种类型的数值: 离散型和连续型。 对于连续型特征属性, 各属性的度量方法不一样。
- 一般而言, 所用的度量单位越小, 变量可能的值域就越大, 这样对聚类结果的影响也越大, 即在计算数据间距离时对聚类的影响越大, 甚至会出现“大数”吃“小数”的现象。 因此为了避免对度量单位选择的依赖, 消除由于属性度量的差异对聚类产生的影响, 需要对属性值进行标准化。
- 设训练数据集有 n 条网络连接记录, 每个记录中有 22 个连续型属性向量记作 Xij(1≤i≤n,11≤j≤32)。 对 Xij 数据预处理分为两步: 数值标准化和数值归一化。
6、以2秒时间窗口计算的流量特征
| 特征名 | 描述 | 类型 |
|---|---|---|
| count | 过去2秒内与当前连接有着相同的目的地址的连接 | 连续型 |
| serror_rate | 出现SYN错误的连接次数 | 连续型 |
| rerroe_rate | 出现REJ错误的连接次数 | 连续型 |
| same_srv_rate | 建立相同服务的连接次数 | 连续型 |
| diff_srv_rate | 建议不同服务的连接次数 | 连续型 |
| srv_count | 过去2秒时间内出现和当前连接服务相同的连接次数 | 连续型 |
| srv_serror_rate | 出现SYN错误的连接次数 | 连续型 |
| srv_rerror_rate | 出现REJ错误的连接次数 | 连续型 |
| srv_diff_host_rate | 连接不相同主机的次数 | 连续型 |
7、31个特征属性

8、小结
- 在基于数据挖掘的网络入侵检测技术研究中, 数据源的获取是研究的基础;
- 数据源的预初步处理更是直接影响入侵检测技术的效果;
9、KDDCup99数据集完整分析
基本介绍:
KDD CUP 99 dataset
即KDD竞赛在1999年举行的数据挖掘与知识发现竞赛时采用的数据集;
该数据集收集了9周时间的TCPdump(*)网络连接和系统审计数据,仿真各种用户类型、各种不同的网络流量和攻击手段;
原始数据包含两个部分:
(1)7周时间的训练数据(**),大概包括5000000多个网络连接记录;
(2)剩下的2周时间的测试数据大概包含2000000个网络连接记录;
网络连接被标记为正常或异常,其中异常类型包括4大类39种攻击类型(22种攻击类型在训练集中,另外17种未知攻击类型出现在测试集中)
(1)DOS攻击,denial-of service.拒绝服务攻击;
(2)R2L,unauthorized access from a remote machine to a local machine.来自远程主机的未授权访问;
(3)U2L,unauthorized access to local superuser privileges by a local unpivileged user.未授权的本地超级用户特权访问;
(4)PROBING,surveillance and probing.端口监视或扫描
KDD99数据集总共41个特征,加上最后的标记,一共有42项;其中前41项特征分为4类:
数据为:2, tcp, smtp, SF, 1684, 363, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0.00, 0.00, 0.00, 0.00, 1.00, 0.00, 0.00,
104, 66, 0.63, 0.03, 0.01, 0.00, 0.00, 0.00, 0.00, 0.00,
标记为:normal
详细分析:
1、TCP连接基本特征(共9种,1~9)
duration:连接持续时间,连续;protocal_type:协议类型;service:目标主机的网络服务类型,离散类型;
flag:连接正常或错误的状态;src_bytes:从源主机到目标主机的数据的字节数,连续类型;dst_bytes:从目标主机到源主机的数据的字节数,连续类型;
land:若连接来自同一个主机则为1,否则为0;wrong_fragment:错误分段的数量,连续类型;urgent:加急包的个数,连续类型。
2、TCP连接的内容特征(共13种,10~22)
hot:访问系统敏感文件和目录的次数,连续;num_failed_logins:尝试登陆失败的次数,连续;logged_in:成功登录为1,否则为0;
num__compromised:compromised条件(**)出现的次数,连续;root_shell:若获得root shell则为1,否则为0;su_attempted:若出现"su root"命令则为1,否则为0;
num_root:root用户访问次数,连续;num_file_creations:文件创建操作的次数,连续;num_shells;使用shell命令的次数,连续;
num_access_files:访问控制文件的次数,连续;num_outbound_cmds:一个FTP会话中出站连接的次数,连续;is_hot_login:登录是否属于“hot”列表(***),是为1,否则为0;
is_guest_login:若是guest登录则为1,否则为0;
3、基于时间的网络流量统计特征(共9种,23~31)
只观察过去两秒内与当前连接有相同目标主机的连接(same host)
只观察过去两秒内与当前连接有相同服务的连接(same service)
count:过去两秒内,当前连接具有相同目标主机的连接数,连续;srv_conut:与当前连接具有相同服务的连接数;serror_rate:与当前连接具有相同目标主机的连接中,出现"SYN"错误的连接的百分比,连续;
srv_serror_rate:与当前连接具有相同服务的连接中,出现"SYN"错误的连接的百分比,连续;rerror_rate:与当前连接具有相同目标主机的连接中,出现"REJ"错误的连接的百分比;srv_rerror_rate:在当前连接具有相同服务的连接中,出现"REJ"错误的连接的百分比,连续;
same_srv_rate:在与当前连接具有相同目标主机的连接中,与当前连接具有相同服务的百分比,连续;diff_srv_rate:在于当前连接具有相同目标主机的连接中,与当前连接具有不同服务的连接的百分比,连续;srv_diff_host_rate:在于当前连接具有相同服务的连接中,与当前连接具有不同目标主机的连接;
4、基于主机的网络流量统计特征(共10种,32~41)
按照目标主机进行分类,使用一个具有100个连接的时间窗,统计当前连接之前100个连接记录中与当前连接具有相同目标主机的统计信息;
dst_hots_count:前100个连接中,与当前连接具有相同目标主机的连接数,连续;dst_host_srv_count:与当前连接具有相同目标主机相同服务的连接数,连续;dst_host_same_srv_rate:与当前连接具有相同目标主机相同服务的连接所占的百分比,连续;
dst_host_diff_srv_rate:与当前连接具有相同目标主机不同服务的连接所占的百分比,连续;dst_host_same_src_port_rate:与当前连接具有相同目标主机相同源端口的连接所占的百分比,连续;dst_host_srv_diff_host_rate:与当前连接具有相同目标主机相同服务的连接中,与当前连接具有不同源主机的连接所占的百分比,连续;
dst_host_serror_rate:与当前连接具有相同目标主机的连接中,出现SYN错误的连接所占的百分比,连续;dst_host_srv_serror_rate:与当前连接具有相同目标主机相同服务的连接中,出现REJ错误的连接所占的百分比,连续;dst_host_rerror_rate:与当前连接具有相同目标主机的连接中,出现REJ错误的连接所占的百分比,连续;
st_host_srv_rerror_rate:与当前连接具有相同目标主机系湍妨维接中,出现REJ错误的连接所占的百分比,连续;
连续量和离散量分类:
连续量:(5种)duration,src_bytes,dst_bytes,wrong_fragment,urgent;
(8种)hot,num_failed_logins,num__compromised,num_root,num_file_creations,num_shells,num_access_files,num_outbound_cmds;
(9种)count,srv_conut,serror_rate,srv_serror_rate,rerror_rate,srv_rerror_rate,same_srv_rate,diff_srv_rate,srv_diff_host_rate;
(10种)dst_hots_count,dst_host_srv_count,dst_host_same_srv_rate,dst_host_diff_srv_rate,dst_host_same_src_port_rate,dst_host_srv_diff_host_rate,dst_host_serror_rate
离散量:5+5
(来自哥伦比亚大学的Sal Stolfo 教授和来自北卡罗莱纳州立大学的 Wenke Lee 教授采用数据挖掘等技术对以上的数据集进行特征分析和数据预处理,形成了一个新的数据集。
该数据集用于1999年举行的KDD CUP竞赛中,成为著名的KDD99数据集。
虽然年代有些久远,但KDD99数据集仍然是网络入侵检测领域的事实Benckmark,为基于计算智能的网络入侵检测研究奠定基础)
另外kddcup99数据集可参考:
kddcup99详细解读
KDD Cup 99网络入侵检测数据的分析的更多相关文章
- 网络入侵检测规避工具fragrouter
网络入侵检测规避工具fragrouter 网络入侵检测系统可以通过拦截数据包,获取内容进而判断是否为恶意数据包.对于传输较大的数据包,通常会采用分片的方式,将大数据包拆分为小数据包进行传输.如果入 ...
- 【转】关于KDD Cup '99 数据集的警告,希望从事相关工作的伙伴注意
Features From: Terry Brugger Date: 15 Sep 2007 Subject: KDD Cup '99 dataset (Network Intrusion) cons ...
- qemu网络虚拟化之数据流向分析二
2016-09-27 上篇文章大致介绍了qemu网络虚拟化相关的数据结构,本篇就结合qemu-kvm源代码分析下各个数据结构是如何初始化以及建立联系的. 这里还是分为三个部分: 1.Tap设备区 2. ...
- qemu网络虚拟化之数据流向分析一
插曲: 今天下午欣喜的想写点关于qemu网络部分的功能,但是中途出现了点小插曲,电脑被某人搞得死机了,并且文章也没有保存.结果,,,就只能重新写了!!所以这里强烈建议开发团队提供自动保存的功能! ...
- qemu网络虚拟化之数据流向分析三
2016-09-27 前篇文章通过分析源代码,大致描述了各个数据结构之间的关系是如何建立的,那么今天就从数据包的角度,分析下数据包是如何在这些数据结构中间流转的! 这部分内容需要结合前面两篇文章来看, ...
- 入侵检测课设之Libnids开发包
Libnids开发包介绍 Libnids是一个用于网络入侵检测开发的专业编程接口,它使用了Libpcap所以它具有捕获数据包的功能.同时,Libnids提供了TCP数据流重组功能,所以对于分析 ...
- 机器学习在入侵检测方面的应用 - 基于ADFA-LD训练集训练入侵检测判别模型
1. ADFA-LD数据集简介 ADFA-LD数据集是澳大利亚国防学院对外发布的一套主机级入侵检测数据集合,包括Linux和Windows,是一个包含了入侵事件的系统调用syscall序列的数据集(以 ...
- SNORT入侵检测系统
SNORT入侵检测系统 YxWa · 2015/10/09 10:38 0x00 一条简单的规则 alert tcp 202.110.8.1 any -> 122.111.90.8 80 (ms ...
- IDS入侵检测系统
目录 IDS入侵检测系统 入侵检测系统的作用 入侵检测系统功能 入侵检测系统的分类 入侵检测系统的架构 入侵检测工作过程 数据检测技术 误用检测 异常检测 IDS的部署 基于网络的IDS 基于主机的I ...
随机推荐
- ununtu 18.04 163 mirror
deb http://mirrors.163.com/ubuntu/ bionic main restricted deb http://mirrors.163.com/ubuntu/ bionic- ...
- Win10子系统Ubuntu安装llvm+clang
https://apt.llvm.org/ 首先 然后 再然后修改/etc/apt/sources.list,添加下面的东西 然后 参考: https://blog.kowalczyk.info/ar ...
- 【AI】微软人工智能学习笔记(二)
微软Azure机器学习服务 01|机器学习概述 首先上一张图, 这个图里面的大神是谁我也不清楚反正,但是看起来这句话说得很有哲理就贴出来了. 所以在人工智能领域下面的这个机器学习,到底是一个什么样的概 ...
- -第2章 JS方法实现下拉菜单显示和隐藏
知识点 onmouseover 鼠标经过 onmouseout 鼠标移出 function 关键字 getElementsByTagName 获取一组标签 length 获取对象成员个数 思路 给一级 ...
- 忘记mysql密码处理方案
https://blog.csdn.net/lisongjia123/article/details/57418989 http://blog.51cto.com/lxsym/477027
- HDU 4318 Power transmission(最短路)
http://acm.hdu.edu.cn/showproblem.php?pid=4318 题意: 给出运输路线,每条路线运输时都会损失一定百分比的量,给定起点.终点和初始运输量,问最后到达终点时最 ...
- Unicode转字符串
/// <summary> /// Unicode转字符串 /// </summary> /// <returns>The to string.</retur ...
- 通用程序返回结果类 ApplicationResult.cs
using System.Collections.Generic; using System.Linq; namespace System { /// <summary> /// 表示应用 ...
- 微信小程序之倒计时插件 wxTimer
微信小程序之倒计时插件 wxTimer 介绍: 用于在微信小程序中进行倒计时的组件. 功能: 1.最基础的当然就是倒计时功能了. 2.可以设置倒计时结束后执行的事件. 3.可以设置倒计时执行过程中 ...
- Centos7安装配置Apache+PHP+Mysql+phpmyadmin
转载自: Centos7安装配置Apache+PHP+Mysql+phpmyadmin 一.安装Apache yum install httpd 安装成功后,Apache操作命令: systemctl ...