杜绝隐患 防范网络入侵的措施
来源:IT世界 更新时间:2007-04-13

  
    网管,断网啦!

  相信网管们都经常会碰到这样的一道难题,虽然断网不可避免,但我们可以尽量做好防范工作,让断网来得更少一些。试问,一家经常断网的网吧,它的生意会好吗?因此,身为网管人员就要把好这道关卡了。

  排除硬件非人为损坏外,其实我们还是可以做很多事前的防范工作。断网的因素有很多,线路故障、路由器、网络风暴、病毒和黑客攻击等,都有可能造成断网,网管的工作是要把内网梳理好,并防止病毒、黑客的攻击。下面,我们就一起探讨、分析黑客入侵的防范措施。

一、IP地址盗用方法分析

  IP地址盗用是指盗用者使用未经授权的IP地址来配置网上的计算机。目前IP地址盗用行为非常常见,许多“不法之徒”用盗用地址的行为来逃避追踪、隐藏自己的身份。IP地址的盗用行为侵害了网络正常用户的权益,并且给网络安全、网络的正常运行带来了巨大的负面影响。IP地址的盗用方法多种多样,其常用方法主要有以下几种:

1、静态修改IP地址

  对于任何一个TCP/IP实现来 说,IP地址都是其用户配置的必选项。如果用户在配置TCP/IP或修改TCP/IP配置时,使用的不是授权机构分配的IP地址,就形成了IP地址盗用。由于IP地址是一个逻辑地址,是一个需要用户设置的值,因此无法限制用户对于IP地址的静态修改,除非使用DHCP服务器分配IP地址,但又会带来其它管理问题。

2、成对修改IP-MAC地址

  对于静态修改IP地址的问题,现在很多单位都采用静态路由技术加以解决。针对静态路由技术,IP盗用技术又有了新的发展,即成对修改IP-MAC地址。MAC地址是设备的硬件地址,对于我们常用的以太网来说,即俗称的计算机网卡地址。每一个网卡的MAC地址在所有以太网设备中必须是唯一的,它由IEEE分配,是固化在网卡上的,一般不能随意改动。但是,现在的一些兼容网卡,其MAC地址可以使用网卡配置程序进行修改。如果将一台计算机的IP地址和MAC地址都改为另外一台合法主机的IP地址和MAC地址,那静态路由技术就无能为力了。另外,对于那些MAC地址不能直接修改的网卡来说,用户还可以采用软件的办法来修改MAC地址,即通过修改底层网络软件达到欺骗上层网络软件的目的。

3、动态修改IP地址

  对于一些黑客高手来说,直接编写程序在网络上收发数据包,绕过上层网络软件,动态修改自己的IP地址(或IP-MAC地址对),达到IP欺骗并不是一件很困难的事。

  目前发现IP地址盗用比较常用的方法是定期扫描网络各路由器的ARP(address resolution protocol)表,获得当前正在使用的IP地址以及IP-MAC对照关系,与合法的IP地址表,IP-MAC表对照,如果不一致则有非法访问行为发生。另外,从用户的故障报告(盗用正在使用的IP地址会出现MAC地址冲突的提示)也可以发现IP地址的盗用行为。在此基础上,常用的防范机制有:IP-MAC捆绑技术、代理服务器技术、IP-MAC-USER认证授权以及透明网关技术等。

  这些机制都有一定的局限性,比如IP-MAC捆绑技术用户管理十分困难;透明网关技术需要专门的机器进行数据转发,该机器容易成为瓶颈。更重要的是,这些机制都没有完全从根本上防止IP地址盗用行为所产生的危害,只是防止地址盗用者直接访问外部网络资源。事实上,由于IP地址盗用者仍然具有IP子网内完全活动的自由,因此一方面这种行为会干扰合法用户的使用:另一方面可能被不良企图者用来攻击子网内的其他机器和网络设备。如果子网内有代理服务器,盗用者还可以通过种种手段获得网外资源。 
 
 

任何病毒和木马存在于系统中,都无法彻底和进程脱离关系,即使采用了隐藏技术,也还是能够从进程中找到蛛丝马迹,因此,查看系统中活动的进程成为我们检测病毒木马最直接的方法。但是系统中同时运行的进程那么多,哪些是正常的系统进程,哪些是木马的进程,而经常被病毒木马假冒的系统进程在系统中又扮演着什么角色呢?请看本文。

病毒进程隐藏三法

当我们确认系统中存在病毒,但是通过“任务管理器”查看系统中的进程时又找不出异样的进程,这说明病毒采用了一些隐藏措施,总结出来有三法:

1.以假乱真

系统中的正常进程有:svchost.exe、explorer.exe、iexplore.exe、winlogon.exe等,可能你发现过系统中存在这样的进程:svch0st.exe、explore.exe、iexplorer.exe、winlogin.exe。对比一下,发现区别了么?这是病毒经常使用的伎俩,目的就是迷惑用户的眼睛。通常它们会将系统中正常进程名的o改为0,l改为i,i改为j,然后成为自己的进程名,仅仅一字之差,意义却完全不同。又或者多一个字母或少一个字母,例如explorer.exe和iexplore.exe本来就容易搞混,再出现个iexplorer.exe就更加混乱了。如果用户不仔细,一般就忽略了,病毒的进程就逃过了一劫。

2.偷梁换柱

如果用户比较心细,那么上面这招就没用了,病毒会被就地正法。于是乎,病毒也学聪明了,懂得了偷梁换柱这一招。如果一个进程的名字为svchost.exe,和正常的系统进程名分毫不差。那么这个进程是不是就安全了呢?非也,其实它只是利用了“任务管理器”无法查看进程对应可执行文件这一缺陷。我们知道svchost.exe进程对应的可执行文件位于“C:\WINDOWS\system32”目录下(Windows2000则是C:\WINNT\system32目录),如果病毒将自身复制到“C:\WINDOWS\”中,并改名为svchost.exe,运行后,我们在“任务管理器”中看到的也是svchost.exe,和正常的系统进程无异。你能辨别出其中哪一个是病毒的进程吗?

3.借尸还魂

除了上文中的两种方法外,病毒还有一招终极大法——借尸还魂。所谓的借尸还魂就是病毒采用了进程插入技术,将病毒运行所需的dll文件插入正常的系统进程中,表面上看无任何可疑情况,实质上系统进程已经被病毒控制了,除非我们借助专业的进程检测工具,否则要想发现隐藏在其中的病毒是很困难的。

系统进程解惑

上文中提到了很多系统进程,这些系统进程到底有何作用,其运行原理又是什么?下面我们将对这些系统进程进行逐一讲解,相信在熟知这些系统进程后,就能成功破解病毒的“以假乱真”和“偷梁换柱”了。

svchost.exe

常被病毒冒充的进程名有:svch0st.exe、schvost.exe、scvhost.exe。随着Windows系统服务不断增多,为了节省系统资源,微软把很多服务做成共享方式,交由svchost.exe进程来启动。而系统服务是以动态链接库(DLL)形式实现的,它们把可执行程序指向scvhost,由cvhost调用相应服务的动态链接库来启动服务。我们可以打开“控制面板”→“管理工具”→服务,双击其中“ClipBook”服务,在其属性面板中可以发现对应的可执行文件路径为“C:\WINDOWS\system32\clipsrv.exe”。再双击“Alerter”服务,可以发现其可执行文件路径为“C:\WINDOWS\system32\svchost.exe -k LocalService”,而“Server”服务的可执行文件路径为“C:\WINDOWS\system32\svchost.exe -k netsvcs”。正是通过这种调用,可以省下不少系统资源,因此系统中出现多个svchost.exe,其实只是系统的服务而已。

在Windows2000系统中一般存在2个svchost.exe进程,一个是RPCSS(RemoteProcedureCall)服务进程,另外一个则是由很多服务共享的一个svchost.exe;而在WindowsXP中,则一般有4个以上的svchost.exe服务进程。如果svchost.exe进程的数量多于5个,就要小心了,很可能是病毒假冒的,检测方法也很简单,使用一些进程管理工具,例如Windows优化大师的进程管理功能,查看svchost.exe的可执行文件路径,如果在“C:\WINDOWS\system32”目录外,那么就可以判定是病毒了。

explorer.exe

常被病毒冒充的进程名有:iexplorer.exe、expiorer.exe、explore.exe。explorer.exe就是我们经常会用到的“资源管理器”。如果在“任务管理器”中将explorer.exe进程结束,那么包括任务栏、桌面、以及打开的文件都会统统消失,单击“任务管理器”→“文件”→“新建任务”,输入“explorer.exe”后,消失的东西又重新回来了。explorer.exe进程的作用就是让我们管理计算机中的资源。

explorer.exe进程默认是和系统一起启动的,其对应可执行文件的路径为“C:\Windows”目录,除此之外则为病毒。

iexplore.exe

常被病毒冒充的进程名有:iexplorer.exe、iexploer.exeiexplorer.exe进程和上文中的explorer.exe进程名很相像,因此比较容易搞混,其实iexplorer.exe是Microsoft Internet Explorer所产生的进程,也就是我们平时使用的IE浏览器。知道作用后辨认起来应该就比较容易了,iexplorer.exe进程名的开头为“ie”,就是IE浏览器的意思。

iexplore.exe进程对应的可执行程序位于C:\ProgramFiles\InternetExplorer目录中,存在于其他目录则为病毒,除非你将该文件夹进行了转移。此外,有时我们会发现没有打开IE浏览器的情况下,系统中仍然存在iexplore.exe进程,这要分两种情况:1.病毒假冒iexplore.exe进程名。2.病毒偷偷在后台通过iexplore.exe干坏事。因此出现这种情况还是赶快用杀毒软件进行查杀吧。

rundll32.exe

常被病毒冒充的进程名有:rundl132.exe、rundl32.exe。rundll32.exe在系统中的作用是执行DLL文件中的内部函数,系统中存在多少个Rundll32.exe进程,就表示Rundll32.exe启动了多少个的DLL文件。其实rundll32.exe我们是会经常用到的,他可以控制系统中的一些dll文件,举个例子,在“命令提示符”中输入“rundll32.exe user32.dll,LockWorkStation”,回车后,系统就会快速切换到登录界面了。rundll32.exe的路径为“C:\Windows\system32”,在别的目录则可以判定是病毒。

spoolsv.exe

常被病毒冒充的进程名有:spoo1sv.exe、spolsv.exe。spoolsv.exe是系统服务“Print Spooler”所对应的可执行程序,其作用是管理所有本地和网络打印队列及控制所有打印工作。如果此服务被停用,计算机上的打印将不可用,同时spoolsv.exe进程也会从计算机上消失。如果你不存在打印机设备,那么就把这项服务关闭吧,可以节省系统资源。停止并关闭服务后,如果系统中还存在spoolsv.exe进程,这就一定是病毒伪装的了。

限于篇幅,关于常见进程的介绍就到这里,我们平时在检查进程的时候如果发现有可疑,只要根据两点来判断:1.仔细检查进程的文件名;2.检查其路径。通过这两点,一般的病毒进程肯定会露出马脚。

 
二、防范技术

  针对IP盗用问题,网络专家采用了各种防范技术,现在比较通常的防范技术主要是根据TCP/IP的层次结构,在不同的层次采用不同的方法来防止IP地址的盗用。

1、交换机控制

  解决IP地址的最彻底的方法是使用交换机进行控制,即在TCP/IP第二层进行控制:使用交换机提供的端口的单地址工作模式,即交换机的每一个端口只允许一台主机通过该端口访问网络,任何其它地址的主机的访问被拒绝。但此方案的最大缺点在于它需要网络上全部采用交换机提供用户接入,这在交换机相对昂贵的今天不是一个能够普遍采用的解决方案。

2、路由器隔离

  采用路由器隔离的办法其主要依据是MAC地址作为以太网卡地址全球唯一不能改变。其实现方法为通过SNMP协议定期扫描校园网各路由器的ARP表,获得当前IP和MAC的对照关系,和事先合法的IP和MAC地址比较,如不一致,则为非法访问。对于非法访问,有几种办法可以制止,如:

a.使用正确的IP与MAC地址映射覆盖非法的IP-MAC表项;
b.向非法访问的主机发送ICMP不可达的欺骗包,干扰其数据发送;
c.修改路由器的存取控制列表,禁止非法访问。

  路由器隔离的另外一种实现方法是使用静态ARP表,即路由器中IP与MAC地址的映射不通过ARP来获得,而采用静态设置。这样,当非法访问的IP地址和MAC地址不一致时,路由器根据正确的静态设置转发的帧就不会到达非法主机。

  路由器隔离技术能够较好地解决IP地址的盗用问题,但是如果非法用户针对其理论依据进行破坏,成对修改IP-MAC地址,对这样的IP地址盗用它就无能为力了。

3、防火墙与代理服务器

  使用防火墙与代理服务器相结合,也能较好地解决IP地址盗用问题:防火墙用来隔离内部网络和外部网络,用户访问外部网络通过代理服务器进行。使用这样的办法是将IP防盗放到应用层来解决,变IP管理为用户身份和口令的管理,因为用户对于网络的使用归根结底是要使用网络应用。这样实现的好处是,盗用IP地址只能在子网内使用,失去盗用的意义;合法用户可以选择任意一台IP主机使用,通过代理服务器访问外部网络资源,而无权用户即使盗用IP,也没有身份和密码,不能使用外部网络。

  使用防火墙和代理服务器的缺点也是明显的,由于使用代理服务器访问外部网络对用户不是透明的,增加了用户操作的麻烦;另外,对于大数量的用户群(如高校的学生)来说,用户管理也是一个问题。

4、利用端口定位及时阻断IP地址盗用

  交换机是局域网的主要网络设备,它工作在数据链路层上,基于MAC地址来转发和过滤数据包。因此,每个交换机均维护着一个与端口对应的MAC地址表。任何与交换机直接相连或处于同一广播域的主机的MAC地址均会被保存到交换机的MAC地址表中。通过SNMP(Simple Network Management protocol)管理站与各个交换机的SNMP代理通信可以获取每个交换机保存的与端口对应的MAC地址表,从而形成一个实时的Switch-Port-MAC对应表。将实时获得的Switch-Port-MAC对应表与事先获得的合法的完整表格对照,就可以快速发现交换机端口是否出现非法MAC地址,进一步即可判定是否有IP地址盗用的发生。如果同一个MAC地址同时出现在不同的交换机的非级联端口上,则意味着IP-MAC成对盗用。

  发现了地址盗用行为后,实际上也已经将盗用行为定位到了交换机的端口。再通过查询事先建立的完整的Switch-Port-MAC对应表,就可以立即定位到发生盗用行为的房间。发生了地址盗用行为后,可以立即采取相应的方法来阻断盗用行为所产生的影响,技术上可以通过SNMP管理站向交换机代理发出一个SNMP消息来关断发生盗用行为的端口,这样盗用IP地址的机器无法与网络中其他机器发生任何联系,当然也无法影响其他机器的正常运行。

  端口的关断可以通过改变其管理状态来实现。在MIB(Management Information Base)中有一个代表端口管理状态的可读写对象ifAdminStatus(对象标识符号为1.3.6.1.2.1.2.2.1.7),给ifAdminStatus赋不同的值,可以改变端口的管理状态,即“1”—开启端口,“2”—关闭端口,“3”—供测试用。 这样,通过管理站给交换机发送赋值信息(Set Request),就可以关闭和开启相应的端口,比如要关闭某一交换机(192.168.1.1)的2号端口,可以向该交换机发出如下信息:

set("private" 192.168.1.1 1.3.6.1,2.1.2.2.1.7.2.0.2).

  结合IP-MAC绑定技术,通过交换机端口管理,可以在实际使用中迅速发现并阻断IP地址的盗用行为,尤其是解决了IP-MAC成对盗用的问题,同时也不影响网络的运行效率。

  三、总结

  通过IP -MAC地址的绑定及端口-MAC地址的绑定,内联网的IP地址盗用问题在很大程度上可以得到解决。但仍然有可能存在未经授权的用户使用未经授权的IP地址而造成IP冲突,侵犯合法用户的权益。尽管盗用者无法使用该IP,但给网络带来了混乱。我们可以利用网络交换设备的网络管理功能,完善检测手段,提高网络故障的检测能力。目前有多种网络交换机内置了网络管理软件,具备寻找IP地址设置冲突对应交换机端口的功能,可以迅速准确地定位和查找故障主机点。