网络安全之协同分析文献一

IDS:入侵检测系统

tcpdump:dump
the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。

计算机网络安全的挑战可以分为三个阶段:

1.预防:尽可能避免入侵;明确系统的弱项以及如何补救,对用户身份验证、授权和访问控制是很重要的。

2.检测:系统遭到入侵时可以尽快检测到;安装和使用配置良好的防病毒软件、防火墙和IDS有助于早期检测。

3.反应:应对入侵的措施;确定问题所在,阻止入侵者与数据恢复。

IDS入侵检测系统可以分为以下几类

   1.网络入侵检测系统;通过监控数据包来判断是否有入侵者入侵系统,典型的例子是一个系统监视大量TCP连接请求到目标机器上的许多不同端口;

   2.系统完整性验证程序或主机入侵检测系统监控系统文件,以确定入侵者是否进行了更改;

   3.日志文件监视器;监视网络服务生成的日志文件,一个典型的例子是解析器寻找HTTP服务器日志文件中的模式以发现一些攻击;

   4.欺骗系统;包含为模拟系统和网络的伪服务,这些系统包括常用的网址以欺骗黑客。

当前系统存在的缺点:

1.所有的安全系统单独作用都是会被规避、欺骗的,包括防火墙、IDS、防病毒软件等;

2.当前的安全系统只能单独地检测攻击,而不擅长协调分布地来检测攻击;

当前联合分析存在的问题:仅仅依赖于IDS生成的警报,不能访问未由IDS分析的网络日志。

方法:分析不同日志中不同攻击的记录方式以及如何关联着写日志以帮助识别攻击。

   采用两种方式——自上而下和自下而上

目标:证明日志关联可以帮助改进入侵检测系统;

自上而下:

   采取已知攻击并分析其行为以推断那些日志可能包含攻击痕迹。

   优点:无须对大型日志文件进行详细的分析。

WinNuke攻击是一种拒绝服务攻击。WinNuke攻击又称带外传输攻击,它的特征是攻击目标端口,被攻击的目标端口通常是139、138、137、113、53,而且URG位设为“1”,即紧急模式。(针对DNS系统的DoS攻击)

nslookup:nslookup可以指定查询的类型,可以查到DNS记录的生存时间还可以指定使用哪个DNS服务器进行解释。在已安装TCP/IP协议的电脑上面均可以使用这个命令。主要用来诊断域名系统(DNS) 基础结构的信息。Nslookup(name server lookup)(域名查询):是一个用于查询Internet域名信息或诊断DNS 服务器问题的工具.

pings:Ping是Windows、Unix和Linux系统下的一个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。应用格式:ping空格IP地址。该命令还可以加许多参数使用,具体是键入ping按回车即可看到详细说明。

NetFlow是一种网络监测功能,可以收集进入及离开网络界面的IP封包的数量及资讯,最早由思科公司研发,应用在路由器及交换器等产品上。经由分析Netflow收集到的资讯,网络管理人员可以知道封包的来源及目的地,网络服务的种类,以及造成网络壅塞的原因[1]。

Syslog常被称为系统日志或系统记录,是一种用来在互联网协议(TCP/IP)的网上中传递记录档消息的标准。这个词汇常用来指涉实际的syslog 协议,或者那些提交syslog消息的应用程序或数据库。

TCPDump可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

   自下而上:

在自下而上的方法中,我们尝试从多个日志中收集相关信息以识别特定的攻击实例。决策树在这个方法里面很有用,可以预测什么时间段对日志进行检查并且对日志进行分组与丢弃,以使正常日志丢弃,只留下可疑日志进行关联分析。

4.攻击和漏洞

远程攻击者利用系统的漏洞,通过网络作为该计算机的用户获得对计算机的未经授权的本地访问;

拒绝服务攻击:重载计算或内存的资源、拒绝合法用户访问计算机;

5.自上而下的相关性记录方法

涉及到的日志:NetFlow log、防火墙日志、系统日志、TCPdump、DNS日志、身份验证日志、网络日志、邮件日志和FTP日志。

见表一;

分析的是特定的攻击以及其如何影响不同的日志,而不是专注于系统漏洞;

   漏洞可以分为两类:拒绝其他人访问、授予自己访问权限;

其中重要的日志是NetFlow日志和syslogs,有助于提高IDS性能。

6.一个例子

首先展示特定攻击如何在不同的日志中反映出来,其次是真正的攻击者尝试将系统用于恶意目的的示例。

1.DNS查询探测通常用于确定BIND(DNS服务器软件BIND)是否遭受攻击;且此操作记录在系统日志中间。

2.系统受到noop攻击,可以通过查看TCP数据包来确定;

3.创建用户以获得root访问权限,通过telnet(远程访问日志显示)获得权限后创建了两个具有相同密码的用户,其中之一拥有超级权限;

4.入侵者获得超级用户权限后,系统日志显示其为创建新用户而打开的会话;

5.攻击者试图将此系统用于恶意目的,IDS记录了攻击的行为;

   1)登录到系统使用“twin”,然后获得超级用户访问权限为“hantu”

   2)从另一个系统下载ftp攻击工具

   3)安装漏洞,允许未经授权访问TERM设置为任何人均可访问;

   4)通过删除受影响日志来掩盖攻击行为;

   5)几天之后通过漏洞登录;

   6)下载安装Trinoo[7]客户端;

   7)尝试将该系统作为工具对其他系统进行攻击;(Trinoo是DDoS攻击工具,分布式拒绝服务攻击,简称DDoS,是一种分布的、协同的大规模攻击方式)。

最后,系统管理员断开连接,使攻击者无法实现其目的。

7.自下而上的方法:异常情况的检测

   使用数据挖掘工具来在大量数据中进行异常检测(尤其是Yaha病毒的存在)

   使用方法:预测下一次系统调用和日志关联;

   Yaha是第一个发送给他们的邮箱; 一旦用户打开受感染的邮件,病毒就会在计算机上搜索电子邮件地址,并将大约115条受感染的邮件发送到它发现的电子邮件地址。 这种入侵发生在后台,用户不知道,并且这些内容会显示在用户文本框中。这个可以通过查看系统调用序列,观测到异常行为。

   以前的文献使用了数据挖掘,但是并未将日志关联起来分析;接下来是两种用与异常检测数据挖掘分类模型:

   1.第一种方法是使用“正常”和“异常”(系统调用或网络)序列将训练数据提供给RIPPER。 由此,RIPPER输出可用于预测(系统调用或网络)序列是“正常”还是“异常”的规则。

2.仅使用“正常”行为的第二种方法。 RIPPER的每个输出规则必须具有一些信息:匹配示例的数量和训练数据中不匹配的示例的数量。 这些规则用于分析新序列。

   这两种方法的第一步都是使用网络流量和系统调用的正常日志来训练RIPPER,为此,我们从电子邮件服务器生成了数小时的正常电子邮件/请求。 我们在运行Windows XP的计算机上捕获了系统调用以及网络流量。 实验在与互联网隔离的实验室中的两个相互连接的工作站上进行。 Windows XP计算机安装了电子邮件客户端和日志记录工具,Linux盒作为电子邮件服务器。

   APISpy32是一个系统API查看工具,适用于Windows 9x/NT/2000和Millenium。它能够拦截所有Windows进程和他们使用的DLL发起的API调用。然后挖掘是否发生了入侵。

然后第二种方法使用系统序列来预测下一个系统调用;处理完数据后,RIPPER会生成一系列规则。比如可以是:如果系统调用1是打开的,那么系统调用7应该是关闭的。

每个规则的置信度为匹配示例的数量除以匹配和不匹配的数量总和。在挖掘数据时,根据序列总数得出违反规则的数量以得出一个分数用于确定是否入侵。

联合日志查询通常可以通过轻微的异常以一定的置信水平察觉出单个日志无法识别的异常(比如:网络流量的的轻微异常,在系统调用时,置信水平可能会发生变化)。

8.实验设计与实施

8.1设计

两个戴尔工作基站,奔腾4处理器,2.56GHz
512MBRAM;

体系结构由不同的记录日志程序组成,以便从不同的角度来监视系统活动;

8.2训练

训练数据(190万个数据点)是由五个用户生成的。 每个人大约花费4个小时来记录“正常”和“异常”数据。

每个用户发邮件,其中有部分邮件含有病毒,其他的与正常邮件相同;

8.3格式化数据

用五个系统调用来预测第六个系统调用;活动窗口机制将扫描一系列独特的系统调用序列,并创建一系列独特的系统调用。滑动窗口的大小有实验确定。

8.4产生规则

RIPPER处理完数据后,生成规则列表。且引入前十秒钟内的连接数作为数据项,因为网络流量激增可能是入侵的预兆; 换句话说就是RIPPER可以产生过去10秒的预期流量数。

8.5应用规则

大约20%的数据保存用于测试,将生成规则应用于测试数据以确定痕迹的异常程度。RIPPER会返回一个列表,其中包含预测结果以及实际值,并提供预测中使用的特定规则的置信度。

8.6系统调用的处理

在RIPPER返回的预测值和实际值列表上传递了大小为13的滑动窗口。 如果预测值与实际值不同,则将惩罚值设置为违反规则的置信度。 然后,将罚值从滑动窗口的13个空间中求和,如果该值大于一半(6.5),则将该“区域”视为异常,否则视为正常。

我们选择将置信度级别用作惩罚值的原因是为了避免规则具有相同的权重。

最后,将异常区域的数量相加并除以区域总数,该值表示特定轨迹的异常程度。

8.7网络流量的处理

与系统调用的处理相同,从训练生成的数据规则用于判断过去的10s内连接数是否异常,然后会有一个正常的区间段,超过这个区间段有根据具体异常情况有一个罚分。最后罚分统计下来用于后期处理。

8.8流量与系统调用的关联

图1(a)显示了如何使用滑动窗口检测区域是否异常。 在图1(a)中,该区域是正常的,因为只有3个异常,阈值是3.5。 在图1(b)中,我们将阈值降低了1。请注意,现在认为同一区域是异常的。 降低阈值等于增加怀疑。

与第8.6节中的相同步骤,前一步的结果再次用于处理系统调用,所不同的是,确定的时间序列及其惩罚值用于关联数据。 惩罚值用于调整阈值以确定区域是否“异常”。

然后处理系统调用。 当序列的时间值为1 pm到1:10 pm之间时,阈值降低惩罚值(3)。 根据不同日志中的数据,这会增加怀疑级别。 相关之后,仅用3.5的值就可以将一个区域声明为异常,而不是原来的6.5值。

在正常时间段内增加阈值,有助于消除误报,例如,如果网络流量在1:10 pm和1:30 pm之间是正常的,我们可以将检测到异常区域的阈值增加1。因此,在该时间段内将一个区域标记为异常将需要7.5。

9.结果

   从实验获得的结果总结在表2和3中。表2显示正常行为轨迹,表3显示异常行为轨迹。 迹线t3,t7,t10,t14,t45,t23,t24,t51,t53,t33,t35,t40均为正常行为迹线。 跟踪t100-t104都是异常行为跟踪。 “序列大小”是我们用来预测下一个系统调用的数量。 “无相关性”是未进行关联时的异常百分比。 “

WithCorr。”是两个日志中的数据关联后的异常百分比。 “差异”是引入相关性后异常的变化。

从表中可以看出,结果表明相关性提高了入侵检测系统的准确性。 关联后,正常迹线变得更正常,而异常迹线变得更加异常(请参见图2)。 我们相信我们的数据挖掘技术可以应用于其他IDS,以提高入侵检测的准确性。

优点:异常检测方面更加明显;联合分析对检测异常的效果有明显提升;

缺陷:对正常行为的误报几率增加;

10未来进展

   需要通过大量的实验数据来确定最佳序列大小和活滑动窗口大小,测试其他数据挖掘工具。

11.结论

   关联日志分析可以提高入侵检测系统的有效性,但是需要使用数据挖掘从噪声中提取有用的信息。

   本文特定了事件(雅哈病毒)的多个日志中的数据,不仅能使异常更明显,也能使正常更加正常来减少误报。

优点:异常检测方面更加明显;联合分析对检测异常的效果有明显提升;

缺陷:对正常行为的误报几率增加;

10未来进展

   需要通过大量的实验数据来确定最佳序列大小和活滑动窗口大小,测试其他数据挖掘工具。

11.结论

   关联日志分析可以提高入侵检测系统的有效性,但是需要使用数据挖掘从噪声中提取有用的信息。

   本文特定了事件(雅哈病毒)的多个日志中的数据,不仅能使异常更明显,也能使正常更加正常来减少误报。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值