发信人: lcw_424(开心的人)
整理人: saintrobust(2001-02-01 20:15:43), 站内信件
|
谈谈网络防火墙和病毒防火墙
在许多人的思想中,特别是电脑的初学者,都对防火墙有一种错误的认识。即分不清什么是网络防火墙以及病毒防火墙,认为病毒防火墙就可以代替网络防火墙,所以就掉以轻心,成了网络的受害者。其实病毒防火墙和网络防火墙有很大的不同。下面,我就从这两种防火墙的工作原理谈起,再谈谈它们的区别和选择。
首先,我从病毒防火墙的原理谈起。病毒防火墙主要是针对计算机病毒而设计的,它的防毒原理是:在病毒进入系统前,先取得系统的控制权,并监视一切程序的运行,做到实时监控。正是因为这个原理,所以在安装了病毒防火墙的系统里,最先被加载的程序往往就是病毒防火墙程序。例如金山毒霸的kavdex.exe和VRV的bav2000.exe等。而且基本上都要加载两次。(这可以在WINDOWS里运行msconfig就可以看见具体加载的程序)我想这应该是对DOS和WINDOWS分别加载的吧(这是我的猜测,如果有不正确的地方还请各位指正)就以windows和金山毒霸为例,我对病毒防火墙的加载流程作一个介绍:其实WIN98也是DOS下的应用程序。它还是要靠DOS7.0来启动。在开机自检完成后,DOS开始启动。然后执行config.sys和autoexec.bat。这时,在autoexec.bat中,第一个被执行的就是KAVDX.EXE这个防毒程序。这样,就保证了DOS下无毒。然后再加载一些DOS下的应用程序和需要实模式驱动的驱动程序,在这些程序完成后,Windows的启动文件Win.com才被加载,随后就进入了Windows的界面,这时KAVDX.EXE又会被加载一遍,此时就是为了在病毒之前获得系统的控制权。然后再加载其它的启动程序,比如Explorer等。怎样获得系统的控制权?我只知道VRV是以.VXD(虚拟设备驱动)这种方式来取得控制权的。其他的我想也是类似这样。在Windows启动后,病毒防火墙便常驻内存,监视系统的一举一动。当我们要运行一个程序时,防火墙便被激活,对这个程序进行扫描,如果发现这个程序含有病毒特征码,就拦截该程序,使之不能运行。然后根据预先设定的内容进行杀毒或删除或等待用户确认等;如果没有检测到病毒特征码,就进行智能分析,以判断是否含有未知病毒,若含有,就按前面那样处理,若没有,就让该程序运行。这里提到了病毒特征码和智能分析,也就顺带说说杀毒程序判断是否染毒的方法。其方法有两种:1、根据病毒特征码判断:每一种病毒都有不同的病毒特征码,这些通过一定的组合就形成了病毒程序。杀毒软件多有一个叫病毒库的文件,这个文件其实是一个文本文件,里面就写着不同病毒的特征码,杀毒软件就是通过对比这些特征码来判断是否带毒的。但是,这种方法一旦遇到新病毒就不行了,于是就产生了第二种方法:智能分析、判断是否带毒,这是通过分析病毒发作特征来查毒的,由于现在计算机的普及率及性能的不断提高,每天都有很多新病毒被制造出来,所以智能判断病毒这个功能也越来越重要,其判断的准确程度也是衡量一个防毒软件好坏的重要依据。
"木马算病毒吗?"这个问题至今还在争论中。可据我所知,许多杀毒软件对木马却无能为力,或者只杀得了几种木马。比如VRV查不出"冰河"(至少我做这个实验时杀不了),金山毒霸就可以。好了,谈了那么久的病毒防火墙后,也该让网络防火墙出面了,网络防火墙,顾名思义,就是面向网络的防火墙,它使专门针对木马和各种攻击而开发出来的防御软件。其原理和病毒防火墙有类似的地方,但也有很大的不同。下面,我就谈谈网络防火墙的原理,在这里要提到一个概念,就是OSI参考模型,它是由国标标准组织ISO所制定的,OSI的全称是开放系统连接(Open System Interconnection)。OSI模型将网络通信系统作层次划分,由低层的通信物件到高层的网络应用,分为七个层次,分别使:Layer 1,物理层:规定在网络通信介质中,如何使通信的两端得以正确的接收比特流;Layer 2,数据链路层:规定取得通信介质的方式。同时也必须与通信的对方建立起收发数据的默契,以便数据能可靠地传至接收端;Layer 3,网络层:规定在同一网络中,传输路径的选择及建立方式,以便数据能由起点通过可能的中间点而到达终点。在TCP/IP协议中,网络层中的协议有两个:IP(Internat Protocol)和ICMP(Internet Control Message Protocol),负责传输路径的建立(IP协议),并将Layer 4的TPDU(Transport Protocol Data Unit) 切成小段,形成数据包(packet),并在网络路由器或接收端,将其重组起来;Layer 4,传输层:在TCP/IP中,该层的协议有TCP(Transmission Control Protocol.传输控制协议)和UDP(User Datagram Protocol)两种。负责传送数据。TCP与UDP的区别是:前者是连接式服务,而后者是非连接式服务;Layer 5,会话层:提供控制机能,将下四层的信息流控制成会话形式;Layer 6,表示层:以建立连接,传送数据,控制会话及活动的同步为主,网络防火墙就位于这一层;Layer 7,应用层:提供三种协议以便与下层通信,并提供软件的应用的平台。OSI模型就简单地介绍完了,现在继续接着前面谈,网络防火墙运行后,其会监视Layer 6的活动,对每一个通过的数据包进行检测,同时也会守住每一个端口。端口位于Layer 4,使在传输层中建立的数据传输虚拟通道,作用和门一样,每一个程序要在网络上传送数据,就要开一个"门"(端口),就这样通过"门"对"门"进行数据传输的。网上的额数据也是通过端口进入计算机的,一个计算机最多有65536个端口,重1到65536,程序就是通过这即端口进行一对一的通信,例如OICQ,其默认的端口就是4000,当4000这个端口没有被其它程序占用时,OICQ就通过这个端口收发讯息,如果该端口被占用了,就会另外选一个空闲的断口进行通讯。用netstat -a就可以看见开了那些端口,当然也可以用软件来看,我的主页上就有这一类的软件,大家可以来看看(http://networms.yeah.net)。一般来说,只要程序没有退出,其占用的端口就不会被释放。因为一旦建立了通信对方就只会向这个端口发送数据,这时,如果改变了端口,而对方并不知道,对方发送的数据就会收不到,造成通信失败。只有退出了程序,其所占用的端口才会被释放,供其他的程序使用。但是,有一部分的端口是固定不变的,用于专门的通信,其他的程序施展不了的。比如20端口就是Ftp Data、21端口就是FTP Open Server、23端口就是Telnet服务、137~139端口是用于netbios的,等等。网络防火墙就是守住这些门的卫士,它可以过滤掉一些有害的数据包。
什么是有害的数据包?在前面的OSI模型中的Layer 3和Layer 4中,我们提到了几种数据传输协议,分别是ICMP、TCP、UDP、IGMP等,这些传输协议都有一些漏洞(准确地说是设计时的缺陷),如果利用这些漏洞进行攻击,则有可能让被攻击者泄密,或者远程共享等,许多攻击软件就是利用这些漏洞来设计的,危害很大。网络防火墙拦截到这些有害数据后,就会把它过滤掉。是这些数据包不再进入上层中去,也就不会对计算机形成危害了。但是,有些攻击也不是利用这些漏洞来攻击的,比如古老的PING攻击。 这种攻击简单地说就是不断地发送ICMP数据包,是对方的机器瘫痪从而造成破坏我们设攻击者为A,被攻击者为B。PING的原理是A向B发送一个ICMP数据包,B在受到这个数据包时给A一个回应,告诉A该数据包已收到。A就可以以此判断出网络已经连通,否则网络就有问题,所以PING这个命令是用来监测网络连通的软件。而PING攻击就是A不断地PING B,使B不断地回复数据,从而是B的系统资源耗尽而死掉,这就是PING攻击的原理。因为linux的发包速度比win9x快得多,所以PING攻击者常常是用的linux。当然这也要攻击者的机器够快才行,否则他也会因为来不及处理B返回的数据而死掉。有的防火墙也能过滤掉ICMP数据包,比如天网防火墙。使攻击者收到的是TimeOut(超时),从而也就无法攻击了。
网络防火墙还有一个重要的作用,就是防止木马的连接。因为木马通常由两个程序组成:客户端和服务器端。受害者的电脑上运行的就是服务器端的程序。当计算机运行了服务器端的程序后,这个程序就会打开一个端口,这个端口可以用客户端的程序设置。客户端程序找这些中了木马的计算机的方法是:PING这些计算机的端口(就是设定的木马端口),并发送一个连接请求,如果是没有中木马的计算机,就不会理会这个请求,也就不会与客户端连接。而中了木马的计算机,在收到这个请求时,就会产生回应,并于之相连。使客户端可以共享主机(也就是中了木马的计算机)的资源,权限就和NT例的Administrator一样。可以看到一切东西,包括帐号和密码等信息。这也就是木马的危害之处。网络防火墙的作用就是拦截这个请求,并过滤掉,使计算机不响应,也就不能连接上客户端了。
网络防火墙与病毒防火墙也正是这些区别,由于病毒防火墙不具有端口监控的能力,所以不能防止木马的连接,最多也就是杀木马而已。而且也不能对数据包进行过滤,并不能防止网络上的攻击。所以,病毒防火墙并不能代替网络防火墙。说了这么多,大家也应该对这两种防火墙有一个比较清醒的认识了。(什么?还不知道?我倒:-()
还有一点错误的认识,就是不要以为装了一个网络防火墙就可以防止一切入侵。各个网络防火墙都有一定的弱点,比如大名鼎鼎的lockdown2000,它可是网络防火墙中的佼佼者,能防的木马也最多, 但是…………"冰河"这个国产精品,它就不能防,不信吗?试试就知道了。其实"冰河"这个软件做得可真不错,用来作局域网的管理好得很,作者也正是基于这个目的而开发的,现在却成了木马中的"精品",真实令作者始料不及,其作者也停止了对这个软件的开发。天网,也是国货精品,就能防止"冰河"的连接。这也算是符合中国国情吧 :P
最后,我再谈谈关于病毒和木马的防治方法。对病毒而言,一个实时监控的防火墙是必不可少的,像Norton、金山毒霸、PC-cillin都很好。资源占用率比其他的软件低很多。Norton应该算是最好的,是杀毒软件中的老大。PC-cillin性价比很高,是我等平民的最佳选择。而且这三个软件都能杀大部分木马(这也是我选择它们的一个理由),还有就是即使装了病毒防火墙,也要做到及时更新升级,因为病毒库的更新总是在新病毒出现后才会有的,防毒软件始终是处于被动的,只有及时更新,才能最大化的杀灭已知病毒,病毒库最好每个月都升级一次,并养成定期杀毒的习惯。这样才能最大限度地保证不会"中毒"。这一点往往是许多人忽视了的。对木马的预防,最主要的还是自己在拿到陌生程序时,最好见用杀毒程序(当然是能杀木马的软件)杀一遍,既能防毒又能防木马,这样就能最大程度地避免木马在你的电脑里生根。在定时用杀马程序(如cleaner等,我的主页也有)查一下,再配一两个网络防火墙,就可以算是天衣无缝了。这里我向大家推荐两个网络防火墙:就是lockdown2000和天网防火墙,一个是老外的,一个是国产的,两个配合,天下无敌,可以到我的主页来下,还有lockdown2000的注册器,另外,在我的主页中,还有许多有用的软件,大家可以看看,如果有什么问题,请给我发一个E-mail,谢谢。
补记:现在大家用了ME了吧,大家也许会发现在ME中大多数的网络防护墙都用不起了。原因就是ME中把TCP/IP堆饯进行了重写,所以很多网络防火墙也就用不起了。因为网络防火墙是建立在通讯协议上的。通讯协议都改变了,网络防火墙也就起不到保护的作用了。怎么办呢?lockdown2k现在好像还没有ME版的,在这里,我再向大家介绍两个支持ME的网络防火墙:就是天网的2.03版和ZONEALARM。都是很好用的防火墙天网防火墙在www.sky.net.cn下载;ZONEALARM可以在www.zonelabs.com下载。这两个软件的安装都很简单,唯一要注意的是在安装ZONEALARM时,要选择个人使用(这个是英文的,具体的记不清楚了)否则是要收费的,ZONEALARM对个人用户是不收费的,所以就选个人使用了,呵呵。
---- */. . . * .
.\* . [] * __
*/ . ./\~~~~~~~~~~~~'\. |◆
* ,/,..,\,...........,\.
|| ..▎# ▎田 田 ▎ | ▎◆
|| &&▎ ▎ ▎'|'▎ o
我的小屋:http://networms.yeah.net
|
|