风云防火墙更新版仍存漏洞,低权限用户可导致系统崩溃
|
| 更新时间:2007-7-11 2:08:58 | 责任编辑:池天 |
|
|
风云防火墙在昨天我的文章出来后,连夜更新了软件,先赞一个!这样卓越的态度才是国产安全软件商需要学习的
上午生病了,中午拿到新版一看 可惜的是,更新的版本仍存在漏洞,安装了风云防火墙后,低权限用户仍可使系统崩溃 新版的代码修改后大体是这样的(还是以ZwCreateKey为例)
MyZwCreateKey(....IN POBJECT_ATTRIBUTES Oba) { ...some codes.... if (MmIsAddressVaild(Oba) { if (MmIsAddressVaild(Oba.ObjectName) { if (MmIsAddressVaild(Oba.ObjectName.RootDirectory) ....some codes... GetObjectName(Oba.RootDirectory,Oba.ObjectName,Pool); ....some codes..
} } ....some codes... }
现在是对引用的每个指针做有效性检查,不过程序员疏忽了一点 就是在进行完MmIsAddressVaild后,在使用这个参数前(GetObjectName),如果发生了线程切换,导致Oba指针所在内存变成了无效页,那么系统还是会崩溃
所以正确的办法是,在使用参数前,对其所在的页使用MmMapLockedPages等系列函数给所在页上锁,然后再进行使用,这样才能真正保证使用时该页不是无效的
正如昨天某位访客说的,安全软件使用驱动程序,和操作系统紧密结合,如果一旦出现任何问题,就会导致系统崩溃,蓝屏重启,甚至用户重要文件丢失,所以安全软件的驱动程序必须要经过大量测试和检验,才能投放市场,带病写了这篇文章(- -出了一身汗),希望这次的事件能给存在更严重漏洞的国内其它几家安全/杀毒软件,敲响警钟,尽快修改,以免被人利用,导致用户遭受安全风险 也希望风云防火墙的作者看到此文,尽快修复该漏洞 | | |