KDD99数据集课案.docx
- 文档编号:4322127
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:7
- 大小:23.05KB
KDD99数据集课案.docx
《KDD99数据集课案.docx》由会员分享,可在线阅读,更多相关《KDD99数据集课案.docx(7页珍藏版)》请在冰豆网上搜索。
KDD99数据集课案
新疆大学
毕业论文之任务报告2
班级:
信息安全11-1
姓名:
乔萨础拉
论文(设计)题目:
面向网络安全的测试数据集构建工具实现
论文(设计)来源:
指导老师拟定
要求完成的内容:
1.了解NETPDL和KDD99数据集
指导老师:
努尔布力
1.XML技术
1.1可扩展标记语言(XML)简介
XML(eXtensibleMarkupLanauage)即扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。
源自于标准导引标识语言SGML(StandandGeneralizedMarkupLanauage)。
SGML是一种灵活描述数据的语言,早期以它的的强大描述能力和灵活性而广泛应用于出版业,但它有一个缺点,就是使用起来相对复杂,不易推广。
而XML是一个简化版本的SGML。
它提供80%的SGML能力。
应用起来方便很多,XML是一个平台独立的描述数据的一个标准。
XML可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。
1.2XML的特点
XML的特点有:
1、XML使用Unicode字符集,可生成英文、中文、希腊文等多种语言。
2、可将多个来源汇合进一个XML文档。
3、可利用DTD或Schema(模式)管理一致性问题。
DTD主要用于文档型文档,Schema主要用数据型文档。
4、具有很好的扩展性,可定义自已的元素和属性。
5、通过XML可从关系数据库管理系统中提取数据到结构化文档。
它还被设计成可对各种数据对象进行操作。
6、在一个设计良好的XML应用中,XML标记不涉及文档如何显示,只表示文档的结构。
1.3XML的语法
1)元素:
它的语法格式如下:
<标签>文本内容<标签>
元素是由起始标签、元素内容和结束标签组成。
用户把要描述的数据对象放在起始标签和结束标签之间。
无论文本内容有多长或者多么复杂,XML元素中还可以再嵌套别的元素,这样使信息构成等级结构。
(2)处理指令
处理指令给XML解析器提供信息,使其能够正确解释文档内容,它的起始标识是“
”,结束标识是“?
>”。
常见的XML声明就是一个处理指令:
xmlversion=”1.0”?
>
处理指令还可以有其他的用途,比如定义文档的编码方式是GB码还是Unicode编码方式,或是把一个样式单文件应用到XML文档上用以显示。
(3)注释
注释是XML文件中用作解释的字符数据,XML处理器不对它们进行任何处理。
注释是用“
--”和“
”引起来的,可以出现在XML元素间的任何地方,但是不可以嵌套:
—这是一个注释
(4)根元素和子元素
如果一个元素从文件头的序言部分之后开始一直到文件尾,包含了文件中所有的数据信息,我们称之为根元素。
XML元素是可以嵌套的,那么被嵌套在内的元素称为子元素。
(5)属性
属性给元素提供进一步的说明信息,它必须出现在起始标签中。
属性以名称/取值对出现,属性名不能重复,名称与取值之间用等号“=”分割,并用引号把值引起来。
例如:
1.4访问XML
DocumentObjectModel(文档对象模型)简称为DOM,是对Web文档进行应用开发、编程的应用程序接口(API),是W3C公布的一种跨平台的、于语言无关的接口规范[4]。
DOM采用对象模型和一系列的接口开描述XML文档的内容和结构,即利用对象把文档模型化。
这种对象模型实现的基本功能包括:
(1)描述文档标示和操作的接口;
(2)接口的行为和属性;
(3)接口之间的关系以及互操作。
DOM对结构化的XML文档进行解析,文档中的指令、元素、实体、属性等所有个体都可以用对象模型标示。
整个文档的逻辑结构类似一棵树,生成的对象模型就是树的节点,每个对象同时包含了方法和属性。
利用DOM,开发人员可以进行动态地创建XML文档、便利结构、添加、修改、删除内容等操作。
DOM面向对象的特性,使人们在处理和XML解析相关的事务时节省大量精力,是一种符合代码重用思想的强有力编程工具[16]。
2.KDD99数据集
2.1KDD99数据集简介
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,为基于计算智能的网络入侵检测研究奠定基础。
2.2数据特征描述
KDD99数据集中每个连接(*)用41个特征来描述:
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.
0, tcp, private, REJ, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 0.00, 0.00, 1.00, 1.00, 0.03, 0.55, 0.00, 208, 1, 0.00, 0.11, 0.18, 0.00, 0.01, 0.00, 0.42, 1.00, portsweep.
0, tcp, smtp, SF, 787, 329, 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, 76, 117, 0.49, 0.08, 0.01, 0.02, 0.00, 0.00, 0.00, 0.00, normal.
面是数据集中的3条记录,以CSV格式写成,加上最后的标记(label),一共有42项,其中前41项特征分为4大类,下面按顺序解释各个特征的含义:
1. TCP连接基本特征(共9种)
基本连接特征包含了一些连接的基本属性,如连续时间,协议类型,传送的字节数等。
(1)duration. 连接持续时间,以秒为单位,连续类型。
范围是 [0, 58329] 。
它的定义是从TCP连接以3次握手建立算起,到FIN/ACK连接结束为止的时间;若为UDP协议类型,则将每个UDP数据包作为一条连接。
数据集中出现大量的duration = 0 的情况,是因为该条连接的持续时间不足1秒。
(2)protocol_type. 协议类型,离散类型,共有3种:
TCP, UDP, ICMP。
(3)service. 目标主机的网络服务类型,离散类型,共有70种。
‟aol‟, „auth‟, „bgp‟, „courier‟, „csnet_ns‟, „ctf‟, „daytime‟, „discard‟, „domain‟, „domain_u‟, „echo‟, „eco_i‟, „ecr_i‟, „efs‟, „exec‟, „finger‟, „ftp‟, „ftp_data‟, „gopher‟, „harvest‟, „hostnames‟, „http‟, „http_2784′, „http_443′, „http_8001′, „imap4′, „IRC‟, „iso_tsap‟, „klogin‟, „kshell‟, „ldap‟, „link‟, „login‟, „mtp‟, „name‟, „netbios_dgm‟, „netbios_ns‟, „netbios_ssn‟, „netstat‟, „nnsp‟, „nntp‟, „ntp_u‟, „other‟, „pm_dump‟, „pop_2′, „pop_3′, „printer‟, „private‟, „red_i‟, „remote_job‟, „rje‟, „shell‟, „smtp‟, „sql_net‟, „ssh‟, „sunrpc‟, „supdup‟, „systat‟, „telnet‟, „tftp_u‟, „tim_i‟, „time‟, „urh_i‟, „urp_i‟, „uucp‟, „uucp_path‟, „vmnet‟, „whois‟, „X11′, „Z39_50′。
(4)flag. 连接正常或错误的状态,离散类型,共11种。
‟OTH‟, „REJ‟, „RSTO‟, „RSTOS0′, „RSTR‟, „S0′, „S1′, „S2′, „S3′, „SF‟, „SH‟。
它表示该连接是否按照协议要求开始或完成。
例如SF表示连接正常建立并终止;S0表示只接到了SYN请求数据包,而没有后面的SYN/ACK。
其中SF表示正常,其他10种都是error。
(5)src_bytes. 从源主机到目标主机的数据的字节数,连续类型,范围是 [0, 1379963888]。
(6)dst_bytes. 从目标主机到源主机的数据的字节数,连续类型,范围是 [0. 1309937401]。
(7)land. 若连接来自/送达同一个主机/端口则为1,否则为0,离散类型,0或1。
(8)wrong_fragment. 错误分段的数量,连续类型,范围是 [0, 3]。
(9)urgent. 加急包的个数,连续类型,范围是[0, 14]。
2.TCP连接的内容特征(共13种)
对于U2R和R2L之类的攻击,由于它们不像DoS攻击那样在数据记录中具有频繁序列模式,而一般都是嵌入在数据包的数据负载里面,单一的数据包和正常连接没有什么区别。
为了检测这类攻击,Wenke Lee等从数据内容里面抽取了部分可能反映入侵行为的内容特征,如登录失败的次数等。
(10)hot. 访问系统敏感文件和目录的次数,连续,范围是 [0, 101]。
例如访问系统目录,建立或执行程序等。
(11)num_failed_logins. 登录尝试失败的次数。
连续,[0, 5]。
(12)logged_in. 成功登录则为1,否则为0,离散,0或1。
(13)num_compromised. compromised条件(**)出现的次数,连续,[0, 7479]。
(14)root_shell. 若获得root shell 则为1,否则为0,离散,0或1。
root_shell是指获得超级用户权限。
(15)su_attempted. 若出现”su root” 命令则为1,否则为0,离散,0或1。
(16)num_root. root用户访问次数,连续,[0, 7468]。
(17)num_file_creations. 文件创建操作的次数,连续,[0, 100]。
(18)num_shells. 使用shell命令的次数,连续,[0, 5]。
(19)num_access_files. 访问控制文件的次数,连续,[0, 9]。
例如对 /etc/passwd 或 .rhosts 文件的访问。
(20)num_outbound_cmds. 一个FTP会话中出站连接的次数,连续,0。
数据集中这一特征出现次数为0。
(21)is_hot_login.登录是否属于“hot”列表(***),是为1,否则为0,离散,0或1。
例如超级用户或管理员登录。
(22)is_guest_login. 若是guest 登录则为1,否则为0,离散,0或1。
3.基于时间的网络流量统计特征 (共9种,23~31)
由于网络攻击事件在时间上有很强的关联性,因此统计出当前连接记录与之前一段时间内的连接记录之间存在的某些联系,可以更好的反映连接之间的关系。
这类特征又分为两种集合:
一个是 “same host”特征,只观察在过去两秒内与当前连接有相同目标主机的连接,例如相同的连接数,在这些相同连接与当前连接有相同的服务的连接等等;另一个是 “same service”特征,只观察过去两秒内与当前连接有相同服务的连接,例如这样的连接有多少个,其中有多少出现SYN错误或者REJ错误。
(23)count. 过去两秒内,与当前连接具有相同的目标主机的连接数,连续,[0, 511]。
(24)srv_count. 过去两秒内,与当前连接具有相同服务的连接数,连续,[0, 511]。
(25)serror_rate. 过去两秒内,在与当前连接具有相同目标主机的连接中,出现“SYN” 错误的连接的百分比,连续,[0.00, 1.00]。
(26)srv_serror_rate. 过去两秒内,在与当前连接具有相同服务的连接中,出现“SYN” 错误的连接的百分比,连续,[0.00, 1.00]。
(27)rerror_rate. 过去两秒内,在与当前连接具有相同目标主机的连接中,出现“REJ” 错误的连接的百分比,连续,[0.00, 1.00]。
(28)srv_rerror_rate. 过去两秒内,在与当前连接具有相同服务的连接中,出现“REJ” 错误的连接的百分比,连续,[0.00, 1.00]。
(29)same_srv_rate. 过去两秒内,在与当前连接具有相同目标主机的连接中,与当前连接具有相同服务的连接的百分比,连续,[0.00, 1.00]。
(30)diff_srv_rate. 过去两秒内,在与当前连接具有相同目标主机的连接中,与当前连接具有不同服务的连接的百分比,连续,[0.00, 1.00]。
(31)srv_diff_host_rate. 过去两秒内,在与当前连接具有相同服务的连接中,与当前连接具有不同目标主机的连接的百分比,连续,[0.00, 1.00]。
4.基于主机的网络流量统计特征 (共10种,32~41)
基于时间的流量统计只是在过去两秒的范围内统计与当前连接之间的关系,而在实际入侵中,有些 Probing攻击使用慢速攻击模式来扫描主机或端口,当它们扫描的频率大于2秒的时候,基于时间的统计方法就无法从数据中找到关联。
所以Wenke Lee等按照目标主机进行分类,使用一个具有100个连接的时间窗,统计当前连接之前100个连接记录中与当前连接具有相同目标主机的统计信息。
(32)dst_host_count. 前100个连接中,与当前连接具有相同目标主机的连接数,连续,[0, 255]。
(33)dst_host_srv_count. 前100个连接中,与当前连接具有相同目标主机相同服务的连接数,连续,[0, 255]。
(34)dst_host_same_srv_rate. 前100个连接中,与当前连接具有相同目标主机相同服务的连接所占的百分比,连续,[0.00, 1.00]。
(35)dst_host_diff_srv_rate. 前100个连接中,与当前连接具有相同目标主机不同服务的连接所占的百分比,连续,[0.00, 1.00]。
(36)dst_host_same_src_port_rate. 前100个连接中,与当前连接具有相同目标主机相同源端口的连接所占的百分比,连续,[0.00, 1.00]。
(37)dst_host_srv_diff_host_rate. 前100个连接中,与当前连接具有相同目标主机相同服务的连接中,与当前连接具有不同源主机的连接所占的百分比,连续,[0.00, 1.00]。
(38)dst_host_serror_rate. 前100个连接中,与当前连接具有相同目标主机的连接中,出现SYN错误的连接所占的百分比,连续,[0.00, 1.00]。
(39)dst_host_srv_serror_rate. 前100个连接中,与当前连接具有相同目标主机相同服务的连接中,出现SYN错误的连接所占的百分比,连续,[0.00, 1.00]。
(40)dst_host_rerror_rate. 前100个连接中,与当前连接具有相同目标主机的连接中,出现REJ错误的连接所占的百分比,连续,[0.00, 1.00]。
(41)dst_host_srv_rerror_rate. 前100个连接中,与当前连接具有相同目标主机相同服务的连接中,出现REJ错误的连接所占的百分比,连续,[0.00, 1.00]。
2.3KDD99数据集的应用
建立KDD99数据集的目的就是为入侵检测系统提供统一的性能评价基准,它的应用一般局限在学术范围内,用来检验入侵检测算法的好坏。
入侵检测的方法从根本上讲就是设计一个分类器,能将数据流中的正常与异常数据区分出来,从而实现对攻击行为的报警。
通常的,我们将数据集中的的10%训练集来训练分类器,然后用corrected测试集测试分类器性能,这个分类器可以是基于贝叶斯的、决策树的、神经网络的或者是支持向量机的。
特征选择是KDD99数据集的另一个主要应用。
KDD99数据集中,每个连接有41个特征,对于一个分类器来说,要从这么多特征中提取规则是费时且不精确的,这体现在一些无关或冗余的特征往往会降低分类器模型的检测精度和速度。
而且对于从原始的tcpdump数据中提取特征这一过程,也将是困难和费时的,这对于在线入侵检测系统是致命的。
因此去除冗余特征或不重要特征,对于提高分类器训练速度和检测精度来说,是必要的。
要说明的是对于不同的分类器来说,最优的特征子集可以是不同的。
关于特征选择,以后写一篇文章详细介绍下。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- KDD99 数据 集课案
![提示](https://static.bdocx.com/images/bang_tan.gif)