2024年3月7日发(作者:)

网络蠕虫基本知识

所谓网络蠕虫是一种能够独立运行,并能通过寻找和攻击远方主机的漏洞进行自主传播的恶意代码。 他不同于病毒。 具有它们自己独特的传播方式和巨大的破坏力。

1 网络蠕虫的特性

1)单一性:大量相同的数据包在蠕虫爆发初期出现,这是由于蠕虫发出的扫描包大多数是相同的,另外蠕虫在进行复制时传输的文件也是相同的;

2)自主性:网络上感染规模不断增大这是由于蠕虫是自主传播,不受管理员的干涉,被感染主机数量以及扫描都呈指数级迅速增长。 这个可以有上边的模型看出;

3)随机性:被感染主机会随机探测某个地址的固定端口,网络上会出现大量目标地址不可达或连接请求失败;

4)利用软件漏洞,造成网络拥塞,系统消耗资源,留下安全隐患的特性。

2 蠕虫的运行技术介绍

2.1 红色代码(CODE RED)

2001年8月爆发的 Code Red 利用 IIS WEB 服务器 .IDA 缓冲区溢出漏洞传播。这个蠕虫病毒使用服务器的端口 80 进行传播,而这个端口正是Web 服务器与浏览器进行信息交流的渠道。Code

Red 主要有如下特征:入侵 IIS 服务器,code red 会将 WWW 英文站点改为:"Hello! Welcome to

! Hacked by Chinese! ";

与其它病毒不同的是,Code Red 并不将病毒信息写入被攻击服务器的硬盘。 它只是驻留在被攻击服务器的内存中,并借助这个服务器的网络连接攻击其它的服务器。 这也正是蠕虫与计算机病毒之间最大的区别。

红色代码根据上述漏洞将自己作为一个 TCP/IP 流直接发送到染毒系统的缓冲区,蠕虫依次扫描

WEB,以便能够感染其他的系统。 一旦感染了当前的系统,蠕虫会检测硬盘中是否存在 c:notworm,如果该文件存在,蠕虫将停止感染其他主机。 在被感染主机上蠕虫将进行如下操作感染其他主机:

1)起初始蠕虫环境,进行自我复制。 并开始获得控制权。

2)建立起 n 个蠕虫线程。 (n 一般取 100)。

3)前 n-1 个线程会传播感染其它主机。

4)第 n 个线程会检查自身是否运行于一个英文版本的 Windows NT/2000.如果是,它将会替换该主机页面 Welcome to ! Hacked By Chinese! 该信息会在 10 小时后自动消失,除非再次受到感染。 如果不是英文版本,它也会被用作感染其它主机。

5)每个线程会检查当地时间如果时间位于 20:00 UTC 和 23:59 UTC 间,该线程会往

发送 100K 字节数据。如果小于 20:00 UTC,它会继续传播感染其它主机。

“红色代码”蠕虫能够造成大范围的访问速度下降甚至阻断。 它所造成的破坏主要是涂改网页,对网络上的其它服务器进行攻击,被攻击的服务器又可以继续攻击其它服务器。 所以导致全世界很多的网络陷于瘫痪状态,所产生的破坏性我们是无法估计的。

2.2 SQL 杀手

2003 年 2 月爆发的 SQL 杀手蠕虫病毒是利用 Microsoft SQL Server 2000 缓冲区溢出漏洞进

行传播 , 对未安装 MS SQL Server2000 SP3 的系统进行攻击并获得控制权。 导致蠕虫的讯速传播并且形成整个互联网范围内的拒绝服务攻击, 网络带宽大量被占用。 所幸该蠕虫并未感染或者传播文件形式病毒体,纯粹在内存中进行蔓延。

SQL 杀手的运行过程为:该病毒入侵未受保护的机器后,取得三个 Win32 API 地址,GetTickCount、socket、sendto,接着病毒使用GetTickCount 获得一个随机数,进入一个死循环继续传播。 在该循环中蠕虫使用获得的随机数生成一个随机的 ip 地址,随后创建一个 UDP socket,将自身代码发送到目的被攻击机器的 1434 端口,随后进入一个无限循环中,重复上述产生随机数计算 ip

地址,发动攻击一系列动作。

“SQL 杀手”病毒与“红色代码”病毒有着惊人的相似之处。 直接危害都是导致网络流量堵塞,服务器宕机。 都利用了“缓存区溢出”这一黑客技术对存在漏洞的机器进行攻击,病毒传播路径都是内存到内存,不向硬盘上写任何文件,不对系统数据造成破坏,也不破坏硬件设备。 都是利用微软流行软件中的漏洞,通过已知的开放的端口,使用广播数据包方式进行自身的传播和复制。 都可以随机计算出大量的 IP

地址,对他们发起 DoS 攻击,使得被攻击的电脑网速特别慢,最终由于网络流量负载严重而宕机。

3 网络蠕虫的防范措施

对于蠕虫的防范措施和报警系统应该着眼于以下两点:

1)是能够在第一时间发现蠕虫;

2)是在最短的时间内对蠕虫的传播能够进行控制。

3.1 对未知蠕虫进行检测

对蠕虫在网络中产生的异常,有多种方法可以对未知的蠕虫进行检测,比较通用的方法是对流量异常的统计分析,对 TCP 连接异常的分析,理论依据是:正常主机对外访问是有限的,因而很少会出现连接失败;蠕虫在确定攻击目标是随机的,因此很容易出现连接失败现象。 另外在上述两种分析的基础上,在路由建立一个监测模块,对所产生的数据进行分析。 这样可以更全面的检测网络中的未知蠕虫。

当蠕虫病毒在网络上扫描具有漏洞的目标机时,会存在许多空的或者不可达的 IP 地址,从而在一段时间里,蠕虫主机会接收到大量的来自不同路由器的数据包。 通过对这些数据包进行检测和统计,在蠕虫的扫描阶段将其发现,然后对蠕虫主机进行隔离,对蠕虫其进行分析,进而采取防御措施。

3.2 蠕虫防范策略

1)利用防火墙防范:通过控制防火墙的策略,对感染主机的对外访问数据进行控制,防止蠕虫对外网的主机进行感染。 同时如果发现外网的蠕虫对内网进行扫描和攻击,也可以和防火墙进行互动,防止外网的蠕虫传染内网的主机。

2)交换机防范内网传播:交换机通过 SNMP 协议进行联动,当发现内网主机被蠕虫感染时,可以切断感染主机同内网的其他主机的通讯,防止感染主机在内网的大肆传播,同时可以控制因为蠕虫发作而产生的大量的网络流量。 同时为了适应用户的网络环境,最好还能提供 Telnet 配置网络设备的接口,这样可以和网络任何支持 Telnet 管理的网络设备进行联动。

3)就是分析蠕虫病毒对其进行查杀并对响应的漏洞进行补丁的安装。 防止蠕虫进一步感染其他网络上的计算机。