概述
数据和算法就像黄油和面包一样缺一不可,很多时候数据比算法还要重要。在AI安全刚入门阶段,强烈建议使用常见的数据集进行测试,便于快速入门。刚入门阶段就急不可耐的使用生产环境的数据往往会带来很多意想不到的问题。本文将介绍常见的入门级安全相关的数据集,这些数据集来自现实环境同时千锤百炼,经过人们的长期使用,并且有些已经帮助读者进行了初步的特征提取。
KDD 99数据
KDD是数据挖掘与知识发现的简称,KDD CUP是由ACM组织的年度竞赛。KDD 99 数据集就是KDD竞赛在1999年举行时采用的数据集。
1998年美国国防部高级规划署(DARPA)在MIT林肯实验室进行了一项入侵检测评估项目。林肯实验室建立了模拟美国空军局域网的一个网络环境,收集了9周时间的网络连接和系统审计数据,仿真各种用户类型、各种不同的网络流量和攻击手段,使它就像一个真实的网络环境。一个网络连接定义为在某个时间内从开始到结束的TCP数据包序列,并且在这段时间内,数据在预定义的协议下从源IP地址到目的IP地址的传递。每个网络连接被标记为正常(normal)或异常(attack),异常类型被细分为4大类共39种攻击类型,其中22种攻击类型出现在训练集中,另有17种未知攻击类型出现在测试集中。
KDD 99 攻击类型详情
随后来自哥伦比亚大学的Sal Stolfo 教授和来自北卡罗莱纳州立大学的 Wenke Lee 教授采用数据挖掘等技术对以上的数据集进行特征分析和数据预处理,形成了一个新的数据集。该数据集用于1999年举行的KDD竞赛中,成为著名的KDD 99数据集。虽然年代有些久远,但KDD99数据集仍然是网络入侵检测领域的权威测试集,为基于计算智能的网络入侵检测研究奠定基础。
KDD99数据集中每个连接用41个特征来描述:
0,udp,private,SF,105,146,0,0,0,0,0,0,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,255,254,1.00,0.01,0.00,0.00,0.00,0.00,0.00,0.00,normal.
0,udp,private,SF,105,146,0,0,0,0,0,0,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,255,254,1.00,0.01,0.00,0.00,0.00,0.00,0.00,0.00,normal.
0,udp,private,SF,105,146,0,0,0,0,0,0,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,255,254,1.00,0.01,0.00,0.00,0.00,0.00,0.00,0.00,normal.
0,udp,private,SF,105,146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0.00,0.00,0.00,0.00,1.00,0.00,0.00,255,254,1.00,0.01,0.00,0.00,0.00,0.00,0.00,0.00,snmpgetattack.
上面是数据集中的3条记录,以CSV格式写成,加上最后的标记(label),一共有42项,其中前41项特征分为4大类。
TCP连接基本特征,基本连接特征包含了一些连接的基本属性,如连续时间,协议类型,传送的字节数等
KDD 99 TCP连接基本特征
TCP连接的内容特征
KDD 99 TCP连接内容特征
基于时间的网络流量统计特征
KDD 99 基于时间的网络流量统计特征
基于主机的网络流量统计特征
KDD 99 基于主机的网络流量统计特征
HTTP DATASET CSIC 2010
HTTP DATASET CSIC 2010包含大量的标注过的针对web服务的36000个正常以及25000个攻击请求,攻击类型包括sql注入、缓冲区溢出、信息泄露、文件包含、xss等,被广泛用于WAF类产品的功能评测。
正常请求格式为:
CSIC 2010正常请求示例
攻击请求格式为:
CSIC 2010攻击请求示例
SEA数据集
2001年Schonlau等人第一次将内部攻击者分类成叛徒(Traitor)与伪装者(Masquerader),其中叛徒指攻击者来源于组织内部,本身是内部合法用户,而伪装者指外部攻击者窃取了内部合法用户的身份凭证,从而利用内部用户身份实施内部攻击。随后该团队构造了一个公开的检测伪装者攻击的数据集SEA,该数据被广泛用于内部伪装者威胁检测研究。
SEA数据集涵盖70多个UNIX系统用户的行为日志,这些数据来自于UNIX系统acct机制记录的用户使用的命令。SEA数据集中每个用户都采集了15000条命令,从用户集合中随机抽取50个用户作为正常用户,剩余用户的命令块中随机插入模拟命令作为内部伪装者攻击数据。SEA数据集中的用户日志类似于下面的命令序列:
{cpp, sh,cpp, sh, xrdb, mkpts…}
每个用户的数据按照100命令长度分为150个块,前三分之一数据块用作训练该用户正常行为模型,剩余三分之二数据块随机插入了测试用的恶意数据。SEA数据集中恶意数据的分布具有统计规律,任意给定一个测试集命令块,其中含有恶意指令的概率为1%;而当一个命令块中含有恶意指令,则后续命令块也含有恶意指令的概率达到80%。可以看出SEA中的数据集将连续数据块看作一个会话,只能模拟连续会话关联的攻击行为;此外由于缺乏用户详细个人信息(职位、权限等)、数据维度单一(仅有命令信息)以及构造性(恶意数据由人工模拟)等因素,数据集在内部威胁检测研究中作用有限。
Schonlau在他的个人网站http://www.schonlau.net/上发布了SEA数据集。
ADFA-LD数据集
ADFA-LD数据集是澳大利亚国防学院对外发布的一套主机级入侵检测系统的数据集合,被广泛应用与入侵检测类产品的测试。该数据集包括Linux和Windows,记录了系统调用数据,Gideon Creech为这个项目的负责人,项目主页为:https://www.unsw.adfa.edu.au
ADFA-LD已经将各类系统调用完成了特征化,并针对攻击类型进行了标注,各种攻击类型列举如下:
ADFA-LD攻击类型
ADFA-LD的每个数据文件都独立记录了一段时间内的系统调用顺序,每个系统调用都用数字编号,对应的编号举例如下:
#define __NR_io_setup 0 __SYSCALL(__NR_io_setup, sys_io_setup)
#define __NR_io_destroy 1 __SYSCALL(__NR_io_destroy, sys_io_destroy)
#define __NR_io_submit 2 __SYSCALL(__NR_io_submit, sys_io_submit)
#define __NR_io_cancel 3 __SYSCALL(__NR_io_cancel, sys_io_cancel)
#define __NR_io_getevents 4 __SYSCALL(__NR_io_getevents,sys_io_getevents)
#define __NR_setxattr 5 __SYSCALL(__NR_setxattr, sys_setxattr)
#define __NR_lsetxattr 6 __SYSCALL(__NR_lsetxattr, sys_lsetxattr)
Movie Review Data
Movie Review Data数据集包含1000 条正面的评论和1000条负面评论,被广泛应用于文本分类尤其是恶意评论识别方面。本书使用其最新的版本,polaritydataset v2.0。
Movie Review Data数据集记录的都是原始评论数据,全部为英文,文本内容举例如下:
films adapted from comic books have had plenty of success , whetherthey’re about superheroes ( batman , superman , spawn ) , or geared toward kids( casper ) or the arthouse crowd ( ghost world ) , but there’s never reallybeen a comic book like from hell before .
for starters , it was created by alan moore ( and eddie campbell ) ,who brought the medium to a whole new level in the mid ’80s with a 12-partseries called the watchmen .
the film , however , is all good .
2 : 00 – r for strong violence/gore , sexuality , language and drugcontent
文件分别包含在neg和pos两个文件夹下面,分别代表正面和负面评价。
Movie Review Dat文件夹结构
Movie Review Data对应网址为:http://www.cs.cornell.edu/People/pabo/movie-review-data/
SpamBase数据集
SpamBase是入门级的垃圾邮件分类训练集。
SpamBase的数据不是原始的邮件内容而是已经特征化的数据,对应的特征是统计的关键字以及特殊符号的词频,一共58个属性,其中最后一个是垃圾邮件的标记位。
特征属性举例如下:
SpamBase数据特征举例
数据来源为4601封邮件,其中1813封为垃圾邮件,数据内容举例如下:
0,0.64,0.64,0,0.32,0,0,0,0,0,0,0.64,0,0,0,0.32,0,1.29,1.93,0,0.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.778,0,0,3.756,61,278,10.21,0.28,0.5,0,0.14,0.28,0.21,0.07,0,0.94,0.21,0.79,0.65,0.21,0.14,0.14,0.07,0.28,3.47,0,1.59,0,0.43,0.43,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0,0,0,0,0,0,0,0,0,0,0,0,0.132,0,0.372,0.18,0.048,5.114,101,1028,1
SpamBase对应网址为:http://archive.ics.uci.edu/ml/datasets/Spambase
Enron数据集
Enron在2001年宣告破产之前,拥有约21000名雇员,曾是世界上最大的电力、天然气以及电讯公司之一,2000年披露的营业额达1010亿美元之巨。公司连续六年被财富杂志评选为“美国最具创新精神公司”,然而真正使Enron公司在全世界声名大噪的,却是这个拥有上千亿资产的公司2002年在几周内破产,持续多年精心策划、乃至制度化系统化的财务造假丑闻。安然欧洲分公司于2001年11月30日申请破产,美国本部于2日后同样申请破产保护。但在其破产前的资产规模为498亿美元,并有312亿的沉重债务。过度膨胀的快速发展使其无法应对经济环境的逆转,而导致无法经营运作状况的恶化,以破产结束企业。机器学习领域使用Enron公司的邮件归档来研究文档分类、词性标注、垃圾邮件识别等,由于Enron的邮件都是真实环境下的真实邮件,非常具有实际意义。本书使用的Enron数据集是经过人工标注过的正常邮件和垃圾邮件,属于狭义的Enron数据集合,广义的Enron数据集指全量真实且未被标记的Enron公司归档邮件。
Enron数据集合使用不同文件夹区分正常邮件和垃圾邮件。
Enron数据集文件夹结构
正常邮件内容举例如下:
Subject: christmas baskets
the christmas baskets have been ordered .
we have ordered several baskets .
individual earth – sat freeze – notis
smith barney group baskets
rodney keys matt rodgers charlie
notis jon davis move
team
phillip randle chris hyde
harvey
freese
faclities
垃圾邮件内容举例如下:
Subject: fw : this is the solution imentioned lsc
oo
thank you ,
your email address was obtained from apurchased list ,
reference # 2020 mid = 3300 . if you wishto unsubscribe
from this list , please click here andenter
your name into the remove box . if youhave previously unsubscribed
and are still receiving this message , youmay email our abuse
control center , or call 1 – 888 – 763 -2497 , or write us at : nospam ,
6484 coral way , miami , fl , 33155 “. 2002
web credit inc . all rights reserved .
Enron数据集对应的网址为:http://www2.aueb.gr/users/ion/data/enron-spam/
本文链接:http://www.yunweipai.com/24751.html