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、数据预处理

  1. 聚类算法中要使用计算距离的方法对数据进行聚类, 而连接记录的固定特征属性中有两种类型的数值: 离散型和连续型。 对于连续型特征属性, 各属性的度量方法不一样。
  2. 一般而言, 所用的度量单位越小, 变量可能的值域就越大, 这样对聚类结果的影响也越大, 即在计算数据间距离时对聚类的影响越大, 甚至会出现“大数”吃“小数”的现象。 因此为了避免对度量单位选择的依赖, 消除由于属性度量的差异对聚类产生的影响, 需要对属性值进行标准化
  3. 设训练数据集有 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详细解读

posted @ 2018-09-24 22:48  hugechuanqi  阅读(14779)  评论(0编辑  收藏  举报