Windows操作系统的内置防火墙功能越来越强大,特别是Windows XP SP2系统中的防火墙配置起来也很简单,可选规则也很丰富。不过,最近笔者发现了通过注册表中的一个小小键值就可以轻松突破Windows防火墙的阻拦,突破阻拦后就可以让原本被防火墙禁止通行的程序随意访问网络了。
点击“开始→运行”,在对话框中输入regedit,打开注册表编辑器。存在安全问题的键值的位置是在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters
\FirewallPolicy\StandardProfile\AuthorizedApplications\List中。
我们只要在LIST项中建立新的字符串项即可,在新的字符串项的数值数据处按“容许突破Windows防火墙阻拦的程序:*:enable:程序名”的格式进行填写。
笔者在此以QQ为例,qq.exe程序在D:\QQ\QQ.exe目录下,在填写数值数据时就要像下图所示的一样,新字符串项的值为D:\QQ\QQ.exe:*:Enabled:QQ。
小提示: 在数值数据处除了填写程序路径外还有几个参数,在此为大家讲解一下。*代表任意端口,当然如果你希望程序只使用某一个端口,那么你可以将该端口号写在此处。enable表示允许,而Disabled则表示禁止通行。最后的“QQ”则是出现在防火墙允许列表里的名称。
配置完毕后QQ就出现在防火墙设立的容许访问网络的程序列表中,而普通用户并没有在防火墙中进行过任何设置。虽然这个漏洞只有在掌握了本机的操作权时才会发生,不过当黑客利用其他漏洞或本机没有开启防火墙时攻击了计算机,拥有了放置程序的权限后可以将木马程序放入本地计算机的硬盘中。
然后再按照上面介绍的方法建立一个容许该木马程序访问网络的注册表文件并设置为随系统启动而启动,这样即使计算机再重新开启Windows默认防火墙也无法阻止该木马程序对网络的访问,因为木马程序已经偷偷摸摸通过注册表程序将容许其访问网络的策略与规则添加到了防火墙的容许列表中。
木马通过注册表键值的加载从而饶过了本地防火墙,黑客就能为所欲为了。
既然知道了这样大的漏洞我们应该如何防范呢?当然平时必要的安全措施是要做足的,例如安装杀毒软件以及第三方防火墙,将自身的远程注册表服务关闭,将自身的IPC$等默认共享关闭。当然我们也可以将HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters
\FirewallPolicy\StandardProfile\AuthorizedApplications\List键值的权限进行设置,只容许管理员对其进行操作,其他用户都禁止修改该处的数值即可。方法是先通过任务栏的开始->运行->输入regedt32启动注册表编辑器,然后定位到上面提到的键值,选择菜单中的“编辑->权限”,然后将除了administrators以外的所有用户对该键值的“完全控制权限”去掉,仅仅保留只读或不设置任何权限即可。如下图,这样一般用户就不能通过上面介绍的方法随意饶过防火墙了。
防范措施: 通过这个小小的漏洞,我们可以得出一个结论,那就是微软的东西被很多人所研究,研究的人越多漏洞被发现的就越来越多,特别是在安全方面,笔者建议大家还是应该使用第三方工具,毕竟有些工具的稳定性和安全性都比系统自带的要强很多。