网络攻击追踪方法的分析与系统模型的建立张 震(延安大学计算机学院 陕西延安716000)摘 要: 目前,计算机网络安全问题越来越严重。
入侵检测是识别网络攻击的主要手段,现有的入侵检测系统可以检测到大多数基于网络的攻击,但不能提供对真实攻击来源的有效追踪。
本文分析了IP地址追踪方法,结合现有的入侵检测技术提出了网络攻击源追踪系统的模型,阐述了该系统的体系结构和各部分的主要功能,给出了利用相关性分析对攻击者的攻击路径进行回溯的基本思想,对网络安全管理具有一定的借鉴意义。
关键词: 网络安全 网络攻击 IP追踪 入侵检测 随着计算机技术的发展,计算机安全问题已成为人们关注的焦点。
虽然已有了加密技术、防火墙技术、安全路由器等安全措施,但是,网络安全是一个综合的、复杂的工程,任何网络安全措施都不能保证万无一失。
因此,对于一些重要的部门,一旦网络遭到攻击,如何追踪网络攻击,追查到攻击者并将其绳之以法,是十分必要的。
追踪网络攻击就是找到事件发生的源头。
它有两方面意义:一是指发现IP地址、M AC地址或是认证的主机名;二是指确定攻击者的身份。
网络攻击者在实施攻击之时或之后,必然会留下一些蛛丝马迹,如登录的纪录、文件权限的改变等虚拟证据,如何正确处理虚拟证据是追踪网络攻击的最大挑战。
在追踪网络攻击中另一需要考虑的问题是:IP地址是一个虚拟地址而不是物理地址,很容易被伪造。
大部分网络攻击者采用IP地址欺骗技术,这样追踪到的攻击源是不正确的。
因此,必须采用一些方法识破攻击者的欺骗,找到攻击源的真正IP地址。
1 IP地址追踪方法1.1 netstat命令使用netstat命令可以获得所有联接被测主机网络用户的IP地址。
Windows系列、UNIX系列、Linux 等常用网络操作系统都可以使用“netstat”命令。
使用“netstat”命令的缺点是只能显示当前的连接,如果使用“netstat”命令时攻击者没有联接,则无法发现攻击者的踪迹。
为此,可以使用Scheduler建立一个日程安排,安排系统每隔一定的时间使用一次“netstat”命令,并使用netstat>>textfile格式把每次检查时得到的数据写入一个文本文件中,以便需要追踪网络攻击时使用。
1.2 日志数据系统的日志数据提供了详细的用户登录信息。
在追踪网络攻击时,这些数据是最直接的、有效的证据。
但有些系统的日志数据不完善,网络攻击者也常会把自己的活动从系统日志中删除。
因此,需要采取补救措施,以保证日志数据的完整性。
1.2.1 UNIX和Linux的日志UNIX和Linux的日志文件较详细的记录了用户的各种活动,如登录的I D用户名、用户IP地址、端口号、登录和退出时间、每个I D最近一次登录时间、登录的终端、执行的命令、用户I D的账号信息等。
通过这些信息可以提供ttyname(终端号)和源地址,是追踪网络攻击的最重要的数据。
大部分网络攻击者会把自己的活动记录从日记中删去,而且UDP和基于X Windows的活动往往不被记录,给追踪者带来困难。
为了解决这个问题,可以在系统中运行wrapper工具,这个工具记录用户的服务请求和所有的活动,且不易被网络攻击者发觉,可以有效的防止网络攻击者消除其活动纪录。
1.2.2 Window s NT和Window s2000的日志Windows NT和Windows2000有系统日志、安全收稿日期:2004202207日志和应用程序日志等三个日志,而与安全相关的数据包含在安全日志中。
安全日志记录了登录用户的相关信息,安全日志中的数据是由配置所决定的。
因此,应该根据安全需要合理进行配置,以便获得保证系统安全所必需的数据。
但是,Windows NT和Windows2000的安全日志存在重大缺陷,它不记录事件的源,不可能根据安全日志中的数据追踪攻击者的源地址。
为了解决这个问题,可以安装一个第三方的能够完整记录审计数据的工具。
1.2.3 防火墙日志作为网络系统中的“堡垒主机”,防火墙被网络攻击者攻陷的可能性要小得多。
因此,相对而言防火墙日志数据不太容易被修改,它的日志数据提供最理想的攻击源的源地址信息。
但是,防火墙也不是不可能被攻破的,它的日志可能被删除和修改。
攻击者也可向防火墙发动拒绝服务攻击,使防火墙瘫痪或至少降低其速度使其难以对事件做出及时响应,从而破坏防火墙日志的完整性。
因此,在使用防火墙日志之前,应该运行专用工具检查防火墙日志的完整性,防止得到不完整的数据,贻误追踪时机。
1.3 原始数据包由于系统主机有被攻陷的可能,因此利用系统日志获取攻击者的信息有时并不可靠。
所以,捕获原始数据包并对其数据进行分析,是确定攻击源的另一个重要的、比较可靠的方法。
1.3.1 包头数据分析表1是一个原始数据包的IP包头数据。
表中的第一行是最有用的数字。
第一行的最后8位代表源地址。
本例中的地址是0xd2、0x1d、0x84、0x96,对应的IP地址是210.45.1342.150。
通过分析原始数据包的包头数据,可以获得较为可靠的网络攻击者的IP地址,因为这些数据不会被删除或修改。
但是,这种方法也不是完美无缺的,如果攻击者对其数据包进行加密,对收集到的数据包的分析就没有意义了。
1.3.2 捕获数据包在一个交换网络环境下捕获数据包比较困难,这主要是因为集线器和交换机在数据交换中具有本质的不同。
集线器采用的是广播式传输,它不支持连接,而是把包发送到除源端口外的所有端口,与集线器相连的所有机器都可以捕获到通过它的数据包。
而交换机支持端到端的连接,当一个数据包到达时,交换机为它建立一个暂时的连接,数据包通过这个连接传到目的端口。
所以,在交换环境下抓包不是一件容易的事。
为了获得交换环境下的数据包,可以用下面方法解决:(1)把交换机的一个“spanning port”(生成端口)配置成类似一个集线器,通过这个端口的数据包不再与目的主机建立连接,而是广播式地发送给与此端口相连的所有机器。
设置一个包捕获主机,便可以捕获到通过“spanning port”的数据包。
但在同一时刻,交换机只能由一个端口被设置成“spanning port”,因此,不能同时捕获多台主机的数据包;(2)在交换机之间,或路由器和交换机之间安装一个集线器。
通过集线器的数据包可以被捕获主机捕获。
表1 一个IP包头数据0x000045c0c8230000d30660022c06d21d8496 0x001022ab b365c234000000004066dd1d8818 0x00207034ecf800005b887708b9014a88de34 0x00309812a5c60011838696180000a1236907 0x004055c50023340100005505b1c500000000 0x005000000000000000000000 在用捕获数据包获取攻击者的源地址的方法中,有两个问题需要注意:一是保证包捕获主机有足够的存储空间,因为如果捕获数据包时网络吞吐量很大,硬盘很快会被填满;二是在分析数据包时,可编制一段小程序自动分析,手工分析大量数据是不可能的。
1.4 搜索引擎利用搜索引擎获得网络攻击者的源地址,从理论上讲没有什么根据,但往往会收到意想不到的效果,给追踪工作带来意外惊喜。
黑客们在Internet上有自己的虚拟区,他们在那儿讨论网络攻击技术方法,并炫耀其战果。
因此,在那里经常会暴露攻击源的信息甚至其身份。
利用搜索引擎追踪网络攻击者的IP地址就是使用一些好的搜索引擎(如搜狐的搜索引擎)搜索网页,搜索关键词是攻击主机所在域名、IP地址或主机名,看是否有贴子是关于对上述关键词所代表的机器进行攻击。
虽然网络攻击者一般在发贴子时会使用伪造的源地址,但也有很多人在这时比较麻痹而使用了真实的源地址。
因此,往往可以用这种方法意外地发现网络攻击者的踪迹。
由于不能保证网络中贴子源地址的真实性,所以不加分析的使用可能会牵连到无辜的用户。
但当与其方法结合起来使用时,使用搜索引擎还是非常有用的。
2 构建攻击源追踪系统模型 入侵检测是识别网络攻击的主要手段。
现有的入侵检测系统可以实时地监控网络和主机系统的活动,实时地发现攻击行为并采取相应的措施(如阻断、隔离和系统恢复等),以避免攻击的发生或尽量减少攻击造成的危害[1,2],但为了从法律和管理上惩罚攻击者的攻击行为,在实际的安全保障系统中除了需要提供入侵检测功能之外,更重要的是追查攻击者的攻击源头(如地址、标识等),从而为打击计算机犯罪提供举证。
现有的入侵检测系统侧重于攻击的发现与防范[3],尽管可以检测到大多数基于网络的攻击,但均不能提供对攻击者真正来源的追踪。
本文提出的网络攻击源追踪系统旨在弥补这一缺陷,其基本原理是在一个可控或相对封闭的网络系统(如Internet、内联网、政务网、金融网等)的每个共享网段内均安装监听器,该监听器将网络中的入侵报警信息发送给管理器,一旦某个监听器发现入侵,则可以通过管理器查找响应的记录来回溯攻击报文的路径,从而确定攻击者所在的网段甚至确定其最初来源。
文中对该系统进行了模拟实现。
2.1 网络攻击源追踪系统的体系结构本系统是一个基于网络分布式入侵检测与追踪系统,采用误用入侵检测模型,对攻击者的入侵行为进行识别与追踪。
系统的主要功能:对网络中传输的报文进行监听、过滤、记录数据包信息、识别并记录攻击行为或异常情况、对网络事件进行相关性分析、对攻击者的来源进行追踪。
它可以识别多种基于网络的攻击报文,如目前流行的WinNuke攻击、Land攻击、针对Win2k的IIS攻击、T earDrop攻击等,而且误报警率较低。
2.1.1 系统模型本系统由多个网络监听器(NM)和一个(可扩展为多个)管理器(Manager)组成。
NM负责截获所有网络报文进行入侵检测分析,并将报警信息发送给Manager。
对于广播式局域网,NM应设在各个不同的局域网段中的任意位置。
对于其他类型的网络, NM可设在网关处。
Manager负责接收NM发送的报警信息进行相关性分析,并提供管理、配置界面。
它可以设在与Internet相连的任意网段上,但为了使报警信息能尽快到达,Manager所处的位置到各NM的平均带宽越大越好,总体结构如图1所示。
图1 网络攻击源追踪系统基本构架 在图1中,攻击者(Attacker)通过网关G1和G2对攻击目标(Victim)发动攻击,此时,Victim收到的报文源地址是G2的内网地址。
NM分别设在At2 tacker所在的网段、G1到G2之间的网段和Victim所在网段上。
NM1在时刻t1截获一份从Attacker到G1的攻击类型标识为S的攻击信息,NM2在时刻t2截获从G1到G2的攻击信息,NM3在时刻t3截获从G2到Victim的攻击信息。