这是不是蜜罐?
看看有WEB服务吗?只要不是什么重要服务器,是蜜罐又能怎么样,他能把你怎么的?就当是练手吧!我这里也有一个服务器啃到一半了,给你玩玩吧!221.214.1.26,端口22,SSH登录,用户名和密码都是wwroom
什么叫目标完整性检测??
在网络安全领域,随着黑客应用技术的不断“傻瓜化”,入侵检测系统IDS的地位正在逐渐增加。一个网络中,只有有效实施了IDS,才能敏锐地察觉攻击者的侵犯行为,才能防患于未然!本文对IDS的概念、行为及策略等方面内容以问答形式进行全面介绍,期望帮助管理者更快和更好地使用IDS。
问:都有哪些重要的IDS系统?
根据监测对象不同,IDS系统分为很多种,以下是几种很重要的IDS系统:
1、NIDS
NIDS是network intrusion detection system的缩写,即网络入侵检测系统,主要用于检测hacker或cracker通过网络进行的入侵行为。
NIDS的运行方式有两种,一种是在目标主机上运行以监测其本身的通讯信息,另一种是在一台单独的机器上运行以监测所有网络设备的通讯信息,比如hub、路由器。
2、SIV
SIV是system integrity verifiers的缩写,即系统完整性检测,主要用于监视系统文件或者Windows 注册表等重要信息是否被修改,以堵上攻击者日后来访的后门。SIV更多的是以工具软件的形式出现,比如“Tripwire”,它可以检测到重要系统组件的变换情况,但并不产生实时的报警信息。
3、LFM
LFM是log file monitors的缩写,即日志文件监测器,主要用于监测网络服务所产生的日志文件。LFM通过检测日志文件内容并与关键字进行匹配的方式判断入侵行为,例如对于HTTP服务器的日志文件,只要搜索“swatch”关键字,就可以判断出是否有“phf”攻击。
4、Honeypots
蜜罐系统,也就是诱骗系统,它是一个包含漏洞的系统,通过模拟一个或多个易受攻击的主机,给黑客提供一个容易攻击的目标。由于蜜罐没有其它任务需要完成,因此所有连接的尝试都应被视为是可疑的。蜜罐的另一个用途是拖延攻击者对其真正目标的攻击,让攻击者在蜜罐上浪费时间。与此同时,最初的攻击目标受到了保护,真正有价值的内容将不受侵犯。蜜罐最初的目的之一是为起诉恶意黑客搜集证据,这看起来有“诱捕”的感觉。
问:谁是入侵者?
通常我们将入侵者称为hacker,但实际上这是不准确的。可以这么说:hacker是发现系统漏洞并修补漏洞的,cracker才是利用漏洞占山头搞破坏的入侵者。为了不混淆视听,在此干脆统一叫作入侵者吧。一般来说,入侵者分为两类:内部和外部。内部入侵者通常利用社会工程学盗用非授权帐户进行非法活动,比如使用其他人的机器、冒充是处长或局长;外部入侵者则要借助一定的攻击技术对攻击目标进行监测、查漏,然后采取破坏活动。
有一点请牢记:统计表明,入侵行为有80%来自内部。
问:入侵者如何进入系统?
主要有三种方式:
1、物理入侵
指入侵者以物理方式访问一个机器进行破坏活动,例如趁人不备遛进机房重地赶紧敲打两下键盘试图闯入操作系统、拿着钳子改锥卸掉机器外壳“借”走硬盘装在另一台机器上进行深入研究。
2、系统入侵
指入侵者在拥有系统的一个低级账号权限下进行的破坏活动。通常,如果系统没有及时“打”最近的补丁程序,那么拥有低级权限的用户就可能利用系统漏洞获取更高的管理特权。
3、远程入侵
指入侵者通过网络渗透到一个系统中。这种情况下,入侵者通常不具备任何特殊权限,他们要通过漏洞扫描或端口扫描等技术发现攻击目标,再利用相关技术执行破坏活动。NIDS主要针对的就是这种入侵。
问:入侵者为何能闯入系统?
苍蝇不盯无缝的蛋,入侵者只要找到复杂的计算机网络中的一个缝,就能轻而易举地闯入系统。所以,了解这些缝都有可能在哪里,对于修补它们至关重要。通常,裂缝主要表现在软件编写存在bug、系统配置不当、口令失窃、明文通讯信息被监听以及初始设计存在缺陷等方面。
1、软件编写存在bug
无论是服务器程序、客户端软件还是操作系统,只要是用代码编写的东西,都会存在不同程度的bug。Bug主要分为以下几类:
缓冲区溢出:指入侵者在程序的有关输入项目中了输入了超过规定长度的字符串,超过的部分通常就是入侵者想要执行的攻击代码,而程序编写者又没有进行输入长度的检查,最终导致多出的攻击代码占据了输入缓冲区后的内存而执行。别以为为登录用户名留出了200个字符就够了而不再做长度检查,所谓防小人不防君子,入侵者会想尽一切办法尝试攻击的途径的。
意料外的联合使用问题:一个程序经常由功能不同的多层代码组成,甚至会涉及到最底层的操作系统级别。入侵者通常会利用这个特点为不同的层输入不同的内容,以达到窃取信息的目的。例如:对于由Perl编写的程序,入侵者可以在程序的输入项目中输入类似“ mail /etc/passwd”的字符串,从而使perl让操作系统调用邮件程序,并发送出重要的密码文件给入侵者。借刀杀人、借Mail送“信”,实在是高!
不对输入内容进行预期检查:有些编程人员怕麻烦,对输入内容不进行预期的匹配检查,使入侵者输送炸弹的工作轻松简单。
Race conditions:多任务多线程的程序越来越多,在提高运行效率的同时,也要注意Race conditions的问题。比如说:程序A和程序B都按照“读/改/写”的顺序操作一个文件,当A进行完读和改的工作时,B启动立即执行完“读/改/写”的全部工作,这时A继续执行写工作,结果是A的操作没有了表现!入侵者就可能利用这个处理顺序上的漏洞改写某些重要文件从而达到闯入系统的目的,所以,编程人员要注意文件操作的顺序以及锁定等问题。
2、系统配置不当
默认配置的不足:许多系统安装后都有默认的安全配置信息,通常被称为easy to use。但遗憾的是,easy to use还意味着easy to break in。所以,一定对默认配置进行扬弃的工作。
管理员懒散:懒散的表现之一就是系统安装后保持管理员口令的空值,而且随后不进行修改。要知道,入侵者首先要做的事情就是搜索网络上是否有这样的管理员为空口令的机器。
临时端口:有时候为了测试之用,管理员会在机器上打开一个临时端口,但测试完后却忘记了禁止它,这样就会给入侵者有洞可寻、有漏可钻。通常的解决策略是:除非一个端口是必须使用的,否则禁止它!一般情况下,安全审计数据包可用于发现这样的端口并通知管理者。
信任关系:网络间的系统经常建立信任关系以方便资源共享,但这也给入侵者带来借牛打力、间接攻击的可能,例如,只要攻破信任群中的一个机器,就有可能进一步攻击其他的机器。所以,要对信任关系严格审核、确保真正的安全联盟。
3、口令失窃
弱不禁破的口令:就是说虽然设置了口令,但却简单得再简单不过,狡猾的入侵者只需吹灰之力就可破解。
字典攻击:就是指入侵者使用一个程序,该程序借助一个包含用户名和口令的字典数据库,不断地尝试登录系统,直到成功进入。毋庸置疑,这种方式的关键在于有一个好的字典。
暴力攻击:与字典攻击类似,但这个字典却是动态的,就是说,字典包含了所有可能的字符组合。例如,一个包含大小写的4字符口令大约有50万个组合,1个包含大小写且标点符号的7字符口令大约有10万亿组合。对于后者,一般的计算机要花费大约几个月的时间才能试验一遍。看到了长口令的好处了吧,真正是一两拨千斤啊!
4、嗅探未加密通讯数据
共享介质:传统的以太网结构很便于入侵者在网络上放置一个嗅探器就可以查看该网段上的通讯数据,但是如果采用交换型以太网结构,嗅探行为将变得非常困难。
服务器嗅探:交换型网络也有一个明显的不足,入侵者可以在服务器上特别是充当路由功能的服务器上安装一个嗅探器软件,然后就可以通过它收集到的信息闯进客户端机器以及信任的机器。例如,虽然不知道用户的口令,但当用户使用Telnet软件登录时就可以嗅探到他输入的口令了。
远程嗅探:许多设备都具有RMON(Remote monitor,远程监控)功能以便管理者使用公共体字符串(public community strings)进行远程调试。随着宽带的不断普及,入侵者对这个后门越来越感兴趣了。
5、TCP/IP初始设计存在缺陷
即使软件编写不出现bug,程序执行时也按照正确的步骤进行,但初始设计存在缺陷仍会导致入侵者的攻击。TCP/IP协议现在已经广为应用、大行其道了,但是它却是在入侵者猖狂肆虐的今天之很早以前设计出来的。因此,存在许多不足造成安全漏洞在所难免,例如smurf攻击、ICMP Unreachable数据包断开、IP地址欺骗以及SYN湮没。然而,最大的问题在于IP协议是非常容易“轻信”的,就是说入侵者可以随意地伪造及修改IP数据包而不被发现。幸好,大救星Ipsec协议已经开发出来以克服这个不足。
问:入侵者如何获取口令?
1、监听明文口令信息
大量的通讯协议比如Telnet、Ftp、基本HTTP都使用明文口令,这意味着它们在网络上是赤裸裸地以未加密格式传输于服务器端和客户端,而入侵者只需使用协议分析器就能查看到这些信息,从而进一步分析出口令,成为真用户的克隆。
2、监听加密口令信息
当然,更多的通讯协议是使用加密信息传输口令的。这时,入侵者就需要借助字典或者采用暴力攻击法来解密了。注意,我们并不能察觉到入侵者的监听行为,因为他在暗处,是完全被动的,没有发送任何信息到网络上,入侵者的机器仅被用于分析这些口令信息。
3、重放攻击(Replay attack)
这又是一种间接的攻击方式,就是说:入侵者不必对口令进行解密,需要的是重新编写客户端软件以使用加密口令实现系统登录。
4、窃取口令文件
口令文件通常都保存在一个单独的文件中,例如UNIX系统的口令文件是/etc/passwd(也可能是那个文件的镜像),WinNT系统的口令文件是/winnt/system32/config/sam。入侵者一旦获取了口令文件,就可以使用破解程序发现其中的弱口令信息。
5、观察
用户可能由于设置的口令复杂难记而将它写在一张纸上压在键盘下随时查看,或者在输入口令的时候不管身后有没有站着一位“看客”。入侵者的搜索力与记忆力都非常好,这些操作习惯对他们来说简直就是轻松练兵。所以,别忽视入侵者的眼睛!
6、社会工程
前面提到过这个问题,社会工程就是指采用非隐蔽方法盗用非授权帐户进行的非法活动,比如使用其他人的机器、冒充是处长或局长骗取管理员信任得到口令等等。记住:如果有人想要你的口令,无论他说是为了什么,请记住他,一旦发生了关于口令的案件,那个人就是头号嫌疑犯!
问:典型的入侵场景有哪些?
所谓入侵场景,就是指入侵者都会从哪些方面采取哪些步骤尝试攻击系统。典型的入侵画面是这样一幕幕展开的:
1、外部调研
知己知彼,百战不殆。入侵者攻击的第一步就是尽一切可能对攻击目标进行调研以获取充足的资料。采取的方法包括:使用whois工具获取网络注册信息;使用nslookup或dig工具搜索DNS表以确定机器名称;搜索关于公司的公开新闻。这一步对于被攻击者是完全不知的。
2、内部分析
确定了攻击目标的基本属性(站点地址、主机名称),入侵者将对它们进行深入剖析。方法有:遍历每个Web页面搜索是否存在CGI漏洞;使用ping工具一一探寻“活”着的机器;对目标机器执行UDP/TCP扫描以发现是否有可用服务。这些行为都属于正常的网络操作,还不能算作入侵行为,但是NIDS系统将能够告诉管理者“有人正在撼动门把手……”
3、漏洞利用
现在到了开始动手的时候了!破坏花样实在繁多,在此择优列举如下:通过在输入项目中写入壳命令字符串(shell command)来考验CGI脚本的安全性;通过发送大量数据以确定是否存在臭名昭著的缓冲区溢出漏洞;尝试使用简单口令破解登录障碍。当然,混合使用多种方式是攻占成功的不二法门。
4、站稳脚跟
对于入侵者而言,一旦成功地入侵了网络中的一台机器,就可以说是站稳脚跟了。入侵者现在要做的就是隐藏入侵痕迹并制造日后再攻的后门,这就需要对日志文件或其他系统文件进行改造,或者安装上木马程序、或者替换系统文件为后门程序。这时,SIV(系统完整性检测)系统会注意到这些文件的变化。由于内部网络中的安全措施通常都比较少,进一步地,入侵者将以这第一台机器作为跳板,攻击网络中的其他机器,寻找下一个安身之家。
5、享受成果
到此,入侵者可以说是完成了攻击任务,剩下的就是享受成果了:或者对窃取的秘密文件肆意使用、或者滥用系统资源、或者篡改Web页面内容,甚至将你的机器作为跳板攻击其他机器。
以上讨论是的有目的入侵者的通常行为。还有一种入侵场景通常被称为“birthday attack”,我想其含义是模拟生日时接收到许多熟人或者未知朋友的礼物吧,不过用在这里还要在礼物前加上“攻击”两字了。Birthday attack的一般步骤是:随机搜索一个Internet地址;搜索其上是否有指定的漏洞;如果有,根据已知的漏洞利用方法进行攻击。
基于网络的入侵检测数据集研究
摘要:标记数据集是训练和评估基于异常的网络入侵检测系统所必需的。本文对基于网络的入侵检测数据集进行了重点的文献综述,并对基于包和流的底层网络数据进行了详细的描述。本文确定了15种不同的属性来评估单个数据集对特定评估场景的适用性。这些属性涵盖了广泛的标准,并被分为五类,例如用于提供结构化搜索的数据量或记录环境。在此基础上,对现有数据集进行了全面的综述。本综述还强调了每个数据集的特性。此外,本工作还简要介绍了基于网络的数据的其他来源,如流量生成器和数据存储库。最后,我们讨论了我们的观察结果,并为使用和创建基于网络的数据集提供了一些建议。
一、引言
信息技术安全是一个重要的问题,入侵和内部威胁检测的研究已经投入了大量的精力。在处理与安全相关的数据[1]-[4]、检测僵尸网络[5]-[8]、端口扫描[9]-[12]、蛮力攻击[13]-[16]等方面已经发表了许多贡献。所有这些工作的共同点是,它们都需要具有代表性的基于网络的数据集。此外,基准数据集是评价和比较不同网络入侵检测系统(NIDS)质量的良好基础。给定一个带标签的数据集,其中每个数据点都被分配给类normal或attack,可以使用检测到的攻击数量或虚警数量作为评估标准。
不幸的是,没有太多具有代表性的数据集。Sommer和Paxson[17](2010)认为,缺乏具有代表性的公共可用数据集是基于异常的入侵检测面临的最大挑战之一。Malowidzki等人(2015)和Haider等人(2017)也发表了类似的声明。然而,社区正在解决这个问题,因为在过去几年中已经发布了几个入侵检测数据集。其中,澳大利亚网络安全中心发布了UNSW-NB15[20]数据集,科堡大学发布了CIDDS-001[21]数据集,新布伦瑞克大学发布了CICIDS 2017[22]数据集。未来还会有更多数据集发布。然而,现有数据集没有全面的索引,很难跟踪最新的发展。
本文对现有的基于网络的入侵检测数据集进行了文献综述。首先,对底层数据进行更详细的研究。基于网络的数据以基于包或基于流的格式出现。基于流的数据只包含关于网络连接的元信息,而基于包的数据也包含有效负载。然后,对文献中常用的评价网络数据集质量的不同数据集属性进行了分析和分组。本调查的主要贡献是对基于网络的数据集进行了详尽的文献综述,并分析了哪些数据集满足哪些数据集属性。本文重点研究了数据集内的攻击场景,并强调了数据集之间的关系。此外,除了典型的数据集之外,我们还简要介绍了流量生成器和数据存储库作为网络流量的进一步来源,并提供了一些观察和建议。作为主要的好处,本调查建立了一组数据集属性,作为比较可用数据集和确定合适数据集的基础,给出了特定的评估场景。此外,我们创建了一个网站1,其中引用了所有提到的数据集和数据存储库,我们打算更新这个网站。
本文的其余部分组织如下。下一节将讨论相关工作。第三部分详细分析了基于包和流的网络数据。第四部分讨论了文献中常用来评价入侵检测数据集质量的典型数据集属性。第五节概述了现有的数据集,并根据第四节确定的属性检查每个数据集。第六节简要介绍了基于网络的数据的进一步来源。在本文件以摘要结束之前,第七节讨论了意见和建议。
二、相关工作
本节回顾基于网络的入侵检测数据集的相关工作。需要注意的是,本文没有考虑基于主机的入侵检测数据集,比如ADFA[23]。读者可以在Glass-Vanderlan等人的[24]中找到关于基于主机的入侵检测数据的详细信息。
Malowidzki等人[18]将缺失的数据集作为入侵检测的一个重要问题进行了讨论,对好的数据集提出了要求,并列出了可用的数据集。Koch等人的[25]提供了入侵检测数据集的另一个概述,分析了13个数据源,并根据8个数据集属性对它们进行了评估。Nehinbe[26]为IDS和入侵防御系统(IPS)提供了关键的数据集评估。作者研究了来自不同来源的七个数据集(如DARPA数据集和DEFCON数据集),强调了它们的局限性,并提出了创建更真实数据集的方法。由于在过去的四年中发布了许多数据集,我们延续了2011年到2015年[18],[25],[26]的工作,但提供了比我们的前辈更最新和更详细的概述。
虽然许多数据集论文(如CIDDS-002[27]、ISCX[28]或UGR ' 16[29])只对一些入侵检测数据集做了一个简要的概述,但Sharafaldin等人对[30]提供了更详尽的综述。他们的主要贡献是一个生成入侵检测数据集的新框架。Sharafaldin等人还分析了11个可用的入侵检测数据集,并根据11个数据集属性对其进行了评估。与早期的数据集论文相比,我们的工作重点是对现有的基于网络的数据集提供一个中立的概述,而不是提供一个额外的数据集。
最近的其他论文也涉及到基于网络的数据集,但主要关注的焦点有所不同。Bhuyan等人对网络异常检测进行了全面的综述。作者描述了现有的9个数据集,并分析了现有异常检测方法所使用的数据集。类似地,Nisioti等人的[32]关注于用于入侵检测的无监督方法,并简要参考了现有的12个基于网络的数据集。Yavanoglu和Aydos[33]分析比较了最常用的入侵检测数据集。然而,他们的审查只包含七个数据集,包括其他数据集,如HTTP CSIC 2010[34]。总而言之,这些作品往往有不同的研究目标,而且只是接触对于基于网络的数据集,则略有不同。
三、数据
通常,网络流量以基于包或基于流的格式捕获。在包级捕获网络流量通常是通过镜像网络设备上的端口来完成的。基于包的数据包含完整的有效载荷信息。基于流的数据更加聚合,通常只包含来自网络连接的元数据。Wheelus等人通过一个说明性的比较强调了这一区别:“捕获包检查和NetFlow之间的一个很好的区别示例是徒步穿越森林,而不是乘坐热气球飞越森林”[35]。在这项工作中,引入了第三类(其他数据)。另一个类别没有标准格式,并且因每个数据集而异。
A基于分组的数据
基于包的数据通常以pcap格式捕获,并包含有效负载。可用的元数据取决于使用的网络和传输协议。有许多不同的协议,其中最重要的是TCP、UDP、ICMP和IP。图1显示出了不同的报头。TCP是一种可靠的传输协议,它包含诸如序列号、确认号、TCP标志或校验和值之类的元数据。UDP是一种无连接的传输协议,它的头比TCP小,TCP只包含四个字段,即源端口、目标端口、长度和校验和。与TCP和UDP相比,ICMP是一个包含状态消息的支持协议,因此更小。通常,在报头旁边还有一个可用的IP报头传输协议的。IP报头提供源和目标IP地址等信息,如图1所示。
b .流为基础数据
基于流的网络数据是一种更简洁的格式,主要包含关于网络连接的元信息。基于流的数据将所有在时间窗口内共享某些属性的包聚合到一个流中,通常不包含任何有效负载。默认的五元组定义,即,源IP地址、源端口、目标IP地址、目标端口和传输协议[37],是一种广泛使用的基于流的数据属性匹配标准。流可以以单向或双向格式出现。单向格式将主机A到主机B之间共享上述属性的所有包聚合到一个流中。从主机B到主机A的所有数据包聚合为另一个单向流。相反,一个双向流总结了主机a和主机B之间的所有数据包,不管它们的方向如何。
典型的基于流的格式有NetFlow[38]、IPFIX[37]、sFlow[39]和OpenFlow[40]。表I概述了基于流的网络流量中的典型属性。根据特定的流格式和流导出器,可以提取额外的属性,如每秒字节数、每个包的字节数、第一个包的TCP标志,甚至有效负载的计算熵。
此外,可以使用nfdump2或YAF3之类的工具将基于包的数据转换为基于流的数据(但不是相反)。读者如果对流导出器之间的差异感兴趣,可以在[41]中找到更多细节,并分析不同的流导出器如何影响僵尸网络分类。
c .其他数据
这个类别包括所有既不是纯基于包也不是基于流的数据集。这类的一个例子可能是基于流的数据集,这些数据集已经用来自基于包的数据或基于主机的日志文件的附加信息进行了丰富。KDD CUP 1999[42]数据集就是这一类别的一个著名代表。每个数据点都有基于网络的属性,比如传输的源字节数或TCP标志的数量,但是也有基于主机的属性,比如失败登录的数量。因此,这个类别的每个数据集都有自己的一组属性。由于每个数据集都必须单独分析,所以我们不对可用属性做任何一般性的说明。
四、数据集属性
为了能够比较不同的入侵检测数据集,并帮助研究人员为其特定的评估场景找到合适的数据集,有必要将公共属性定义为评估基础。因此,我们研究了文献中用于评估入侵检测数据集的典型数据集属性。一般概念FAIR[43]定义了学术数据应该遵循的四个原则实现,即可查找性、可访问性、互操作性和可重用性。在与这个一般概念相一致的同时,本工作使用更详细的数据集属性来提供基于网络的入侵检测数据集的重点比较。通常,不同的数据集强调不同的数据集属性。例如,UGR ' 16数据集[29]强调较长的记录时间来捕捉周期效应,而ISCX数据集[28]强调精确的标记。由于我们的目标是研究基于网络的入侵检测数据集的更一般的属性,所以我们试图统一和概括文献中使用的属性,而不是采用所有的属性。例如,一些方法评估特定类型攻击的存在,比如DoS(拒绝服务)或浏览器注入。某些攻击类型的存在可能是评估这些特定攻击类型的检测方法的相关属性,但是对于其他方法没有意义。因此,我们使用一般的属性攻击来描述恶意网络流量的存在(见表三)。第五节提供了关于数据集中不同攻击类型的更多细节,并讨论了其他特定的属性。
我们不像Haider et al.[19]或Sharafaldin et al.[30]那样开发评估评分,因为我们不想判断不同数据集属性的重要性。我们认为,某些属性的重要性取决于具体的评估场景,不应该在调查中普遍判断。相反,应该让读者能够找到适合他们需要的数据集。因此,我们将下面讨论的数据集属性分为五类,以支持系统搜索。图2总结了所有数据集属性及其值范围。
A.一般资料
以下四个属性反映了关于数据集的一般信息,即创建年份、可用性、正常网络流量和恶意网络流量的存在。
1)创建年份:由于网络流量受概念漂移影响,每天都会出现新的攻击场景,因此入侵检测数据集的年龄起着重要作用。此属性描述创建年份。与数据集发布的年份相比,捕获数据集的底层网络流量的年份与数据集的最新程度更相关。
2)公共可用性:入侵检测数据集应公开可用,作为比较不同入侵检测方法的依据。此外,数据集的质量只能由第三方检查,如果它们是公开可用的。表III包含此属性的三个不同特征:yes, o.r. (on request)和no。On request是指在向作者或负责人发送消息后授予访问权限。
3)正常用户行为:此属性指示数据集中正常用户行为的可用性,并接受yes或no值。值yes表示数据集中存在正常的用户行为,但它不声明是否存在攻击。一般来说,入侵检测系统的质量主要取决于其攻击检测率和误报率。此外,正常用户行为的存在对于评估IDS是必不可少的。然而,缺少正常的用户行为并不会使数据集不可用,而是表明它必须与其他数据集或真实世界的网络流量合并。这样的合并步骤通常称为覆盖或盐化[44]、[45]。
4)攻击流量:IDS数据集应包含各种攻击场景。此属性指示数据集中是否存在恶意网络通信,如果数据集中至少包含一次攻击,则该属性的值为yes。表四提供了关于特定攻击类型的附加信息。
B.数据的性质
此类别的属性描述数据集的格式和元信息的存在。
1)元数据:第三方很难对基于包和基于流的网络流量进行内容相关的解释。因此,数据集应该与元数据一起提供关于网络结构、IP地址、攻击场景等的附加信息。此属性指示附加元数据的存在。
2)格式:网络入侵检测数据集以不同的格式出现。我们大致将它们分为三种格式(参见第三节)。(1)基于分组的网络流量(例如pcap)包含带负载的网络流量。(2)基于流的网络流量(如NetFlow)只包含关于网络连接的元信息。(3)其他类型的数据集可能包含基于流的跟踪,带有来自基于包的数据甚至来自基于主机的日志文件的附加属性。
3)匿名性:由于隐私原因,入侵检测数据集往往不会公开,或者只能以匿名的形式提供。此属性指示数据是否匿名以及哪些属性受到影响。表III中的none值表示没有执行匿名化。值yes (IPs)表示IP地址要么被匿名化,要么从数据集中删除。同样,值yes (payload)表示有效负载信息被匿名化,要么从基于分组的网络流量中删除。
C.数据量
此类别中的属性根据容量和持续时间描述数据集。
1) Count:属性Count将数据集的大小描述为包含的包/流/点的数量或物理大小(GB)。
2)持续时间:数据集应涵盖较长时间内的网络流量,以捕捉周期性影响(如白天与夜晚或工作日与周末)[29]。属性持续时间提供每个数据集的记录时间。
D.记录环境
此类别中的属性描述捕获数据集的网络环境和条件。
1)流量类型:描述网络流量的三种可能来源:真实的、模拟的或合成的。Real是指在有效的网络环境中捕获真实的网络流量。仿真的意思是在测试床或仿真网络环境中捕获真实的网络流量。综合意味着网络流量是综合创建的(例如,通过一个流量生成器),而不是由一个真实的(或虚拟的)网络设备捕获的。
2)网络类型:中小企业的网络环境与互联网服务提供商(ISP)有着本质的区别。因此,不同的环境需要不同的安全系统,评估数据集应该适应特定的环境。此属性描述创建相应数据集的基础网络环境。
3)完整网络:该属性采用Sharafaldin等人的[30],表示数据集是否包含来自具有多个主机、路由器等网络环境的完整网络流量。如果数据集只包含来自单个主机(例如蜜罐)的网络流量,或者只包含来自网络流量的一些协议(例如独占SSH流量),则将值设置为no。
E.评价
以下特性与使用基于网络的数据集评估入侵检测方法有关。更精确地说,这些属性表示预定义子集的可用性、数据集的平衡和标签的存在。
1)预定义的分割:有时,即使在相同的数据集上对不同的IDS进行评估,也很难对它们的质量进行比较。在这种情况下,必须明确是否使用相同的子集进行训练和评估。如果数据集附带用于训练和评估的预定义子集,则此属性提供信息。
2)均衡:基于异常的入侵检测通常采用机器学习和数据挖掘方法。在这些方法的训练阶段(例如,决策树分类器),数据集应该与其类标签相平衡。因此,数据集应该包含来自每个类(normal和attack)的相同数量的数据点。然而,真实世界的网络流量是不平衡的,它包含了比攻击流量更多的正常用户行为。此属性指示数据集是否与其类标签相平衡。在使用数据挖掘算法之前,应该通过适当的预处理来平衡不平衡的数据集。他和Garcia[46]提供了从不平衡数据中学习的良好概述。
3)带标签:带标签的数据集是训练监督方法、评估监督和非监督入侵检测方法所必需的。此属性表示是否标记了数据集。如果至少有两个类normal和attack,则将此属性设置为yes。此属性中可能的值为:yes, yes with BG。(yes with background)、yes (IDS)、indirect和no。是的,有背景意味着有第三类背景。属于类背景的包、流或数据点可以是正常的,也可以是攻击。Yes (IDS)是指使用某种入侵检测系统来创建数据集的标签。数据集的一些标签可能是错误的,因为IDS可能不完美。间接意味着数据集没有显式标签,但是可以通过其他日志文件自己创建标签。
五、数据集
我们认为,在搜索足够的基于网络的数据集时,标记的数据集属性和格式是最决定性的属性。入侵检测方法(监督的或非监督的)决定是否需要标签以及需要哪种类型的数据(包、流或其他)。因此,表II提供了关于这两个属性的所有研究的基于网络的数据集的分类。表三给出了关于第四节数据集属性的基于网络的入侵检测数据集的更详细概述。在搜索基于网络的数据集时,特定攻击场景的存在是一个重要方面。因此,表III显示了攻击流量的存在,而表IV提供了数据集中特定攻击的详细信息。关于数据集的论文描述了不同抽象级别的攻击。例如,Vasudevan等人在他们的数据集中(SSENET- 2011)将攻击流量描述为:“Nmap、Nessus、Angry IP scanner、Port scanner、Metaploit、Backtrack OS、LOIC等是参与者用来发起攻击的一些攻击工具。”相比之下,Ring等人在他们的CIDDS-002数据集[27]中指定了执行端口扫描的数量和不同类型。因此,攻击描述的抽象级别可能在表四中有所不同。对所有攻击类型的详细描述超出了本文的范围。相反,我们推荐感兴趣的读者阅读Anwar等人的开放存取论文“从入侵检测到入侵响应系统:基础、需求和未来方向”。此外,一些数据集是其他数据集的修改或组合。图3显示了几个已知数据集之间的相互关系。
基于网络的数据集,按字母顺序排列
AWID [49]。AWID是一个公共可用的数据集4,主要针对802.11网络。它的创建者使用了一个小型网络环境(11个客户机),并以基于包的格式捕获了WLAN流量。在一个小时内,捕获了3700万个数据包。从每个数据包中提取156个属性。恶意网络流量是通过对802.11网络执行16次特定攻击而产生的。AWID被标记为一个训练子集和一个测试子集。
Booters[50]。Booters是罪犯提供的分布式拒绝服务(DDoS)攻击。Santanna et. al[50]发布了一个数据集,其中包括九种不同的启动程序攻击的跟踪,这些攻击针对网络环境中的一个空路由IP地址执行。结果数据集以基于分组的格式记录,包含超过250GB的网络流量。单独的包没有标记,但是不同的Booters攻击被分成不同的文件。数据集是公开可用的,但是出于隐私原因,booters的名称是匿名的。
僵尸网络[5]。僵尸网络数据集是现有数据集的组合,可以公开使用。僵尸网络的创建者使用了[44]的叠加方法来组合ISOT[57]、ISCX 2012[28]和CTU-13[3]数据集的(部分)。结果数据集包含各种僵尸网络和正常用户行为。僵尸网络数据集被划分为5.3 GB训练子集和8.5 GB测试子集,都是基于包的格式。
CIC DoS[51]。CIC DoS是加拿大网络安全研究所的一组数据,可以公开使用。作者的意图是创建一个带有应用层DoS攻击的入侵检测数据集。因此,作者在应用层上执行了8种不同的DoS攻击。将生成的跟踪结果与ISCX 2012[28]数据集的无攻击流量相结合生成正常的用户行为。生成的数据集是基于分组的格式,包含24小时的网络流量。
CICIDS 2017 [22]。CICIDS 2017是在模拟环境中历时5天创建的,包含基于分组和双向流格式的网络流量。对于每个流,作者提取了80多个属性,并提供了关于IP地址和攻击的附加元数据。正常的用户行为是通过脚本执行的。数据集包含了多种攻击类型,比如SSH蛮力、heartbleed、僵尸网络、DoS、DDoS、web和渗透攻击。CICIDS 2017是公开可用的。
cidds - 001 [21]。CIDDS-001数据集是在2017年模拟的小型商业环境中捕获的,包含为期四周的基于单向流的网络流量,并附带详细的技术报告和附加信息。该数据集的特点是包含了一个在互联网上受到攻击的外部服务器。与蜜罐不同,来自模拟环境的客户机也经常使用此服务器。正常和恶意的用户行为是通过在GitHub9上公开可用的python脚本执行的。这些脚本允许不断生成新的数据集,并可用于其他研究。CIDDS-001数据集是公开可用的,包含SSH蛮力、DoS和端口扫描攻击,以及从野外捕获的一些攻击。
cidds - 002 [27]。CIDDS-002是基于CIDDS-001脚本创建的端口扫描数据集。该数据集包含两个星期的基于单向流的网络流量,位于模拟的小型业务环境中。CIDDS-002包含正常的用户行为以及广泛的不同端口扫描攻击。技术报告提供了关于外部IP地址匿名化的数据集的附加元信息。数据集是公开可用的。
系统自带防火墙可以挡住黑客扫描端口吗
不行,只能挡住普通的。建议下载一个免费的防火墙,和杀毒软件配合使用(如果你的杀软自带防火墙就不需要了,不然可能起冲突)
蜜罐系统捕捉Hack
在此需要说明的是:我们要把访问诱捕节点的22端口转发过去,且rinetd要转发的源端口不能被本地
占用,所以需要把诱捕节点服务器的SSH先改为其他端口,22端口预留给转发rinetd使用,流量可以转发到蜜罐
所在物理机的任意端口,然后通过vmware端口映射把流量最终镜像给蜜罐服务器的2222端口(kippo的
默认端口是2222)
-q 或 - -quiet 参数可以使script命令以静默模式运行,不显示script启动和exit的命令的输出信息,
Hack可以完全察觉不到在录屏。
自动触发监控,Hack登陆的操作与实时监控
思路:用户登录到系统后,自动触发 script 录屏,并记录登录时间、登录的用户。
这个时候就只要让 script 命令在登录时自动运行,我们可以把它添加进 shell 环境配置文件中。
创建一个目录用于存放录制后的文件,这里我故意伪装为 dhcpd,让Hack不容易察觉到
0条大神的评论