淘先锋技术网

首页 1 2 3 4 5 6 7

00×1 ADFA简介

系统调用序列被广泛认为是基于异常的系统在检测入侵的时候的最准确的方式。

ADFA数据集是澳大利亚国防学院(缩写为ADFA)对外发布的一套主机级入侵检测系统的数据集合,被广泛应用于入侵检测类产品的测试。数据集内已经将各类系统调用完成了特征化,并针对攻击类型进行了标注。

该数据集包括Linux(ADFA-LD)和Windows(ADFA-WD)两个OS平台,分别记录了各类系统调用次序。

下面对其中的ADFA-LD数据集进行介绍。

00×2 ADFA-LD

2.1 主机配置信息操作系统:Ubuntu Linux version 11.04

Apache 2.2.17

PHP 5.3.5

FTP、SSH、MySQL14.14使用默认端口开启服务。

TikiWiki 8.1(一个基于web的协同工具)选择这个版本的原因是因为它有一个已知的远程php代码注入漏洞,从而可以让我们发起基于web的攻击。

这个配置合理概括了当前(ADFA数据集是2012年的一个数据集)市面上最常见的linux local服务器——提供文件共享、数据库服务、远程连接和web服务器的功能,同时也有一些小型的残余漏洞。

在制作这个数据集的时候,配置人员已经非常小心仔细地考虑了渗透测试人员和黑客通常采用的方法,并在目标系统的脆弱性与现实主义之间进行了微妙的权衡。

虽然远程攻击非常强大,且对于接收者来说可能是灾难性的,但现代的补丁系统中很难找到它们。因此,ADFA-LD12的目标服务器已经完全修补,来使服务器目标更加真实。

除此之外,因为服务器漏洞过多或漏洞只能起到微不足道的作用的情况是罕见的,如果出现了这种情况,更可能是完全人为的。因此配置人员设计了一个小漏洞,即TikiWiki远程执行代码漏洞。这代表一个在良好配置的服务器中的小缺陷,能够很好的对现实世界进行模拟。

2.2 包含的攻击类型

前两个攻击类型代表了攻击方尝试在开放服务上暴力猜解密码的系统序列。因为FTP和SSH是常用的服务,如果暴露于外部来源,它们就会经常受到攻击。 因此,在这个数据集也包含了这样一种攻击类型。

在Linux环境进行提权可能非常困难,而提权的常见方法是创建一个具有超级用户权限的新用户。这可以通过许多不同的方式完成,在这个数据集里,使用了客户端侧攻击来实现添加新的超级用户的paylaod。攻击者通过使用Metasploit将一个payload编码为Linux可执行文件,然后在模拟社会工程攻击中将这个可执行文件上传到服务器。然后攻击者就可以使用诸如本地文件包含和模拟社会工程等技术来远程和本地地触发这个有效payload。

Meterpreter是免费的Metasploit框架所独有的自定义payload。Metasploit可以说是最受欢迎的开源黑客工具包,被安全届内的人士广泛使用。Meterpreter是增强的功能命令shell,极大地促进了目标系统的远程妥协。TikiWiki漏洞用于上传Java Meterpreter有效内容的副本,该副本在执行时启动了与攻击者计算机的反向TCP连接。一旦shell建立起来,攻击者就可以在主机系统上执行各种操作,包括本地提权,尝试访问隐藏密码文件以及安装持续性更长的后门工具。

类似地,使用社会工程和执行的类似操作上载了Meterpreter有效载荷的Linux可执行版本。这代表了Java版本的不同攻击。

最后,我们使用了一个基于PHP的远程文件包含漏洞来上传C100 webshel​​l,后者用于进一步破坏主机系统并升级权限。

C100 shell是一个复杂的PHP代码,通过Web浏览器为攻击者提供了非法的GUI界面,从而允许操作底层的操作系统。

这种攻击的集合代表了中级技能水平的黑客可能采用的攻击方式。它利用所有可用的攻击途径,从低级密码猜测到社会工程和基于Web的攻击到远程攻击。这是代表性的的现行做法,为IDS评估提供了现代化的攻击。

2.3 文件结构

数据集分为三组,每一组都包含了原始系统调用顺序。

每个训练集(Training_Data_Master)和验证集(Validation_Data_Master)的数据都是在主机的正常操作过程中收集的,包括从浏览web到准备latex文档的各种活动。调用序列通过auditd Unix程序生成,然后按大小进行过滤。

其中训练集数据大小在300比特到6kb之间,验证集数据在300kb到10kb之间,这是为了有效权衡数据保真度和不必要的处理负担。

攻击数据集(Attack_Data_Master)里共有6种攻击方式,对其的详细解释见上[2 包含的攻击类型]

下面是一个样本文件的样子——

看官们冷静!不是在坑你!前面我们已经说到了ADFA数据集已经对系统调用进行了特征化,所以对于每一个系统调用函数,ADFA都已经用数字来编号了。对应的编号见ADFA-LD+Syscall+List.txt文件。

00×3 ReferencesGideon Creech,Student Member;IEEE, and Jiankun Hu,Member,IEEE“Generation of a new IDS Test Dataset:Time to Retire the KDD Collection” IEEE WCNC:SERVICES & APPLICATIONS, pp4487-4492, 2013.