网络安全是一个综合的、复杂的工程, 任何网络安全措施都不能保证万无一 失。因此,对于一些重要的部门,一旦 网络遭到攻击,如何追踪网络攻击,追 查到攻击者并将其绳之以法,是十分必 要的。 追踪网络攻击就是找到事件发生的 源头。它有两个方面意义:一是指发现IP 地址、MAC地址或是认证的主机名;二是 指确定攻击者的身份。网络攻击者在实 施攻击之时或之后,必然会留下一些蛛 丝马迹,如登录的纪录,文件权限的改 变等虚拟证据,如何正确处理虚拟证据 是追踪网络攻击的最大挑战。 在追踪网络攻击中另一需要考虑的 问题是:IP地址是一个虚拟地址而不是一 个物理地址,IP地址很容易被伪造,大 部分网络攻击者采用IP地址欺骗技术。 这样追踪到的攻击源是不正确的。使得 以IP地址为基础去发现攻击者变得更加 困难。因此,必须采用一些方法,识破 攻击者的欺骗,找到攻击源的真正IP地 址。 ★ netstat命令----实时察看文击者 使用netstat命令可以获得所有联接 被测主机的网络用户的IP地址。 Windows系列、Unix系列、Linux等常用 网络操作系统都可以使用“netstat”命令。 使用“netstat”命令的缺点是只能显示 当前的连接,如果使用“netstat”命令时攻 击者没有联接,则无法发现攻击者的踪 迹。为此,可以使用Scheduler建立一个 日程安排,安排系统每隔一定的时间使 用一次“netstat”命令,并使用 netstat>>textfile格式把每次检查时得到 的数据写入一个文本文件中,以便需要 追踪网络攻击时使用。 ★ 日志数据--最详细的攻击记录 系统的日志数据提供了详细的用户 登录信息。在追踪网络攻击时,这些数 据是最直接的、有效的证据。但是有些 系统的日志数据不完善,网络攻击者也 常会把自己的活动从系统日志中删除。 因此,需要采取补救措施,以保证日志 数据的完整性。 Unix和Linux的日志 Unix和Linux的日志文件较详细的记 录了用户的各种活动,如登录的ID的用 户名、用户IP地址、端口号、登录和退 出时间、每个ID最近一次登录时间、登 录的终端、执行的命令,用户ID的账号 信息等。通过这些信息可以提供 ttyname(终端号)和源地址,是追踪网络 攻击的最重要的数据。 大部分网络攻击者会把自己的活动 记录从日记中删去,而且UOP和基于X Windows的活动往往不被记录,给追踪 者带来困难。为了解决这个问题,可以 在系统中运行wrapper工具,这个工具记 录用户的服务请求和所有的活动,且不 易被网络攻击者发觉,可以有效的防止 网络攻击者消除其活动纪录。 Windows NT和Windows 2000的日 志 Windows NT和Windows 2000有系 统日志、安全日志和应用程序日志等三 个日志,而与安全相关的数据包含在安 全日志中。安全日志记录了登录用户的 相关信息。安全日志中的数据是由配置 所决定的。因此,应该根据安全需要合 理进行配置,以便获得保证系统安全所 必需的数据。 但是,Windows NT和Windows 2000的安全日志存在重大缺陷,它不记 录事件的源,不可能根据安全日志中的 数据追踪攻击者的源地址。为了解决这 个问题,可以安装一个第三方的能够完 整记录审计数据的工具。 防火墙日志 作为网络系统中的“堡垒主机”,防火 墙被网络攻击者攻陷的可能性要小得 多。因此,相对而言防火墙日志数据不 太容易被修改,它的日志数据提供最理 想的攻击源的源地址信息。 但是,防火墙也不是不可能被攻破 的,它的日志也可能被删除和修改。攻 击者也可向防火墙发动拒绝服务攻击, 使防火墙瘫痪或至少降低其速度使其难 以对事件做出及时响应,从而破坏防火 墙日志的完整性。因此,在使用防火墙 日志之前,应该运行专用工具检查防火 墙日志的完整性,以防得到不完整的数 据,贻误追踪时机。 ★ 原始数据包----比较可靠的分析方法 由于系统主机都有被攻陷的可能, 因此利用系统日志获取攻击者的信息有 时就不可靠了。所以,捕获原始数据包 并对其数据进行分析,是确定攻击源的 另一个重要的、比较可靠的方法。 包头数据分析 表1是一个原始数据包的IP包头数 据。表中的第一行是最有用的数字。第 一行的最后8位代表源地址。本例中的地 址是0xd2、0x1d、0x84、0x96,对应的 IP地址是210.45.132.150。通过分析原始 数据包的包头数据,可以获得较为可靠 的网络攻击者的IP地址,因为这些数据 不会被删除或修改。但是,这种方法也 不是完美无缺的,如果攻击者对其数据 包进行加密,对收集到的数据包的分析 就没有什么用处了。 表1 一个IP包头数据 0x0000 45c0 c823 0000 d306 6002 2c06 d21d 8496 0x0010 22ab b365 c234 0000 0000 4066 dd1d 8818 0x0020 7034 ecf8 0000 5b88 7708 b901 4a88 de34 0x0030 9812 a5c6 0011 8386 9618 0000 a123 6907 0x0040 55c5 0023 3401 0000 5505 b1c5 0000 0000 0x0050 0000 0000 0000 0000 0000 捕获数据包 在一个交换网络环境下捕获数据包 比较困难,这主要是因为集线器和交换 机在数据交换中本质的不同。集线器采 用的是广播式传输,它不支持连接,而 是把包发送到除源端口外的所有端口, 与集线器相连的所有机器都可以捕获到 通过它的数据包。而交换机支持端到端 的连接,当一个数据包到达时交换机为 它建立一个暂时的连接,数据包通过这 个连接传到目的端口。所以,在交换环 境下抓包不是一件容易的事。为了获得 交换环境下的数据包,可以用下面方法 解决: (1)把交换机的一个“spanning port”(生成端口)配置成象一个集线器一 样,通过这个端口的数据包不再与目的 主机建立连接,而是广播式地发送给与 此端口相连的所有机器。设置一个包捕 获主机,便可以捕获到通过“spaning port”的数据包。但是,在同一时刻,交 换机只能由一个端口被设置成“spanning port”,因此,不能同时捕获多台主机的 数据包。 (2)在交换机之间,或路由器和交换 机之间安装一个集线器。通过集线器的 数据包便可以被捕获主机捕获。 在用捕获数据包获取攻击者的源地 址的方法中,有两个问题需要注意:一是 保证包捕获主机由足够的存储空间,因 为如果在捕获数据包时网络吞吐量很大 的话,硬盘很快会被填满;二是在分析数 据包时,可编制一段小程序自动分析, 手工分析这么多的数据是不可能的。 ★ 搜索引擎----也许会有外的惊喜 利用搜索引擎获得网络攻击者的源 地址,从理论上讲没有什么根据,但是 它往往会收到意想不到的效果,给追踪 工作带来意外惊喜。黑客们在Internet上 往往有他们自己的虚拟社区,他们在那 儿讨论网络攻击技术方法,同时炫耀自 己的战果。因此,在那里经常会暴露他 们攻击源的信息甚至他们的身份。 利用搜索引擎追踪网络攻击者的IP 地址就是使用一些好的搜索引擎(如搜狐 的搜索引擎)搜索网页,搜索关键词是攻 击主机所在域名、IP地址或主机名,看 是否有贴子是关于对上述关键词所代表 的机器进行攻击的。虽然网络攻击者一 般在发贴子时会使用伪造的源地址,但 也有很多人在这时比较麻痹而使用了真 实的源地址。因此,往往可以用这种方 法意外地发现网络攻击者的踪迹。 由于不能保证网络中贴子源地址的 真实性,所以,不加分析的使用可能会 牵连到无辜的用户。然而,当与其方法 结合起来使用时,使用搜索引擎还是非 常有用的。
剑术是永无止境的—剑魂 电脑上的一些小技巧
(240) (20