“kwpwf.dll”的问题不能归咎于绿坝
“绿坝-花季护航”刚出来没几天,很多网友就对它展开了技术分析,其中不乏一些有趣的结论,较火的一条当属绿坝的密码保存方式:把密码的MD5值直接保存在“C:\WINDOWS\system32\kwpwf.dll”文件中。这被很多网站炒作成“致命漏洞”、“小学生发现的破解”。我相信绿坝这东西潜在的漏洞会有不少,真要推广的话恐怕会给互联网带来“暴风门”那样潜在的灾难。但仅就这个密码保存方式的问题,我想只能算是一个缺陷,并没有上升到所谓“致命漏洞”的地步。
原因很简单,在Windows XP中只有管理员账户才有权限修改system32目录下的文件,普通账户只能查看。如果保持良好的系统使用习惯,让家长持有Windows管理员密码,只在安装软件等必要场合使用;小孩只能使用普通账户,可以查看kwpwf.dll却无法得知或修改原密码,这样就不会存在密码被轻易修改的问题。这与早期版本UNIX的passwd文件的机理是一致的,缺陷也基本一样:小孩可以通过cmd5.com之类的数据库做MD5反查,只要家长选择的是个弱口令,小孩就能查出原始密码。
因此,这个问题不能归咎于绿坝,原因是小孩能够使用本来不该让他使用的管理员权限。其根源一在微软,二在品牌机厂商,三在用户。我认为Windows XP最大的败笔就在于默认账户具有管理员权限。微软当年这样设计,无非是想让Windows 9X的用户平滑地过渡到XP平台,然而却因此造成了病毒和流氓软件泛滥,同时为Vista(UAC)的推广埋下了隐患。品牌机厂商做操作系统的OEM时,本来可以针对用户的特点,默认建立普通账户,然后向用户警告管理员权限的重要性和危险性,但目前多数厂商也都没有在这一层把关,让知识储备不足的用户失去了培养良好使用习惯的机会。而用户是一方面是微软这是项决策的受害者,病毒泛滥就是一个例证;另一方面也需要反思自己有没有用好Windows既有的安全机制,用正确的使用方式、良好的使用习惯来保证系统、软件、文档的安全性及其访问控制。
如果说绿坝有“致命漏洞”,我想不在于密码保存的机制,而有可能在于软件本身的访问控制机制及其实现。由于绿坝没有加壳,相信很快会有人分析出它是怎么实现对自身功能的访问控制的。密码保护会不会只是一个可以轻易绕过的幌子?内存中的密码或其MD5是否可以轻易被修改?从直观印象上猜测,这些都是有可能的。不过那些清高的crackers很可能不把绿坝这种小儿科的东西放在眼里,把它整明白的价值可能并不大。
有关密码保存方式早已有不少成熟的模型,比如现代的Linux使用的带salt的crypt函数加shadow文件,可以克服上述明文摘要的缺陷。Windows XP和NTFS的特性完全可以实现这一套,绿坝要想改进,不如直接模仿。访问控制模型也类似。但唯一的前提就是用户需要正确分配和使用不同权限的账户。如果所有用户都有管理员权限,没有什么不可以,除非绿坝完全学习流氓软件和那些用流氓方式保护自己的所谓安全工具的伎俩,来增加用户发现和修改密码的难度。这样就不是真正机制上的安全,只是实现上的以暴制暴。
我相信绿坝不会带来太大的社会影响,因为各方都得到了各自想要的。只要它未来不变成Big Brother的telescreen,就会在短期内被人们遗忘,没几年也会被既得利益者抛弃。





4条评论 关于 ““kwpwf.dll”的问题不能归咎于绿坝”
由 文甬 发表于2009-06-13
顶
说的很有道理
这只是其中的一个方面
不看好绿坝
完全就是一个商业案例
根本没有直接为用户考虑
由 tina 发表于2009-06-15
深刻,顶一个!
由 kwpwf 发表于2009-06-20
绿坝 有致命漏洞 关XP啥事 楼主真能瞎拜 佩服 你是公务员把
由 gggg 发表于2009-09-23
哈哈,魔高一尺道高一丈!