ccidnet????

出版日期:2004-08-30 总期号:1343 本年期号:64

本期导读
要闻综合
中国信息化
中国网络大会会刊
产品与应用
渠道与市场
华东专刊
华南专刊
东北专刊
西北专刊
信息安全
巧用ACL封堵病毒

沈建苗

  你有没有想过,不必等防病毒公司更新杀毒程序、不必等微软发布的最新补丁安装到你的所有PC上,就可以阻止在贵公司肆虐的新病毒。一家专门帮助给企业Windows系统打补丁的厂商想出了一个办法,采用隔离技术(Cratering)。

  巧用ACL防毒

  隔离技术利用了这样一个原理:Windows NT、2000、XP和2003都支持“访问控制列表(ACL)”特性,访问控制列表位于PC上,控制着可以访问哪些文件,网络管理员可以远程更改这种列表。只要利用合适的软件工具,网络管理员无需离开办公桌,就能远程更改企业网内成千上万台PC上的ACL。提出使用ACL遏制病毒活动的是位于加利福尼亚州的Lieberman & Associates公司,它们销售的企业级PC管理软件就具有这项功能。不过使用免费软件程序同样可以运用这一技术。

  在考虑那些软件替代方案之前,不妨先看一下利用ACL控制病毒感染的基本步骤。首先,进行病毒检测。如果你的求助台接到电话反映PC不断重新启动,或者某个程序占用了100%CPU时间,那么罪魁祸首可能就是未被防病毒软件发现的一种新病毒。年初泛滥的MyDoom蠕虫就是这样。据电子邮件咨询公司MessageLabs评估,MyDoom出来后很快成为历史上感染速度最快的蠕虫;高峰时期,每12封电子邮件里面就有1封被它感染。据安全软件公司eEye Digital Security声称,该蠕虫传播近两天后,诸防病毒程序才推出能够识别它的更新版本。

  其次,文件访问拒绝。病毒的工作原理就是执行某个文件,这通常借助Windows注册表里面的“运行”自动执行。只要检查被感染系统有没有在运行的程序(使用内置的Windows任务管理器或者类似工具),就可以识别病毒文件。

  然后,把ACL设置成“拒绝”。使用Windows内置的命令行实用程序Cacls.exe,或者下文所介绍的其它工具,就可以把ACL设置成所有用户拒绝可执行病毒文件。这样就可以防止任何用户、甚至防止操作系统本身运行可执行病毒文件。为了阻挡已经在运行的病毒文件,重新启动PC。病毒不会再次启动,即便它列在注册表里面的“运行”行上,因为访问该文件的权限已被拒绝。简而言之,该病毒已“被隔离”。利用网络管理工具,管理员就可以在网络上任何位置,对在被感染机器上设置ACL,然后重新启动的过程实行自动化管理。

  在冲击波中成功运用

  Lieberman & Associates总裁Phil Lieberman说,去年8月臭名昭著的MSBlaster蠕虫对全球各地的网络兴风作浪时,他想到了隔离病毒的想法。该病毒甚至导致他检查的一台被感染机器无法下载补丁。Lieberman解释道:“蠕虫所占用的网络带宽高得你几乎没法退出。”这使他想到了通过ACL拒绝访问权限,以阻止可执行病毒文件运行。一旦设置好了ACL、重新启动那台机器,病毒就没法启动,然后机器又可以通过正常手段进行升级了。当然,这种ACL方法代替不了定期更新Windows及防病毒特征文件的严格机制,它也无法成批对付随机生产新文件名的某类特别的病毒。不过,这办法的确适用于危机发生的时候,即新病毒有可能让企业网络不堪重负的时候。如果你的选择办法是,把整个公司网络从因特网上断开和仅仅防止有某个文件名的文件运行,那么后一种选择对你的工作环境造成的破坏肯定比较小。

  除了上面提到的内置的Calcs.exe程序外,微软还提供了Xcalcs,这个程序包含在微软的Windows 资源包里面。另外还可以使用第三方工具,譬如SetACL。除了其它众多事务外,功能较为先进的网络管理套件还可以对跨整个域设置PC上的ACL实行自动化管理。Lieberman & Associates去年8月发布了版本4.66的User Manager Pro,此后版本的这款软件就提供这种特性。