002Q  Windows系统中存在哪些安全隐患?

A Windows系统中主要存在核心代码中的潜在BUG、扩展名欺骗、设备文件名问题和庞大而复杂的注册表等安全隐患。

由于Windows操作系统是人为编写出来的,它必然受到当时客观条件和技术的限制。再加上其含有大量的程序段以及人为的各种原因,因此该系统中或多或少会存在安全隐患。

核心代码中的潜在BUG

对于Windows操作系统这种含有大量程序代码的软件而言,它潜在的BUG往往与程序的大小成正比。无论是Windows XP还是Windows 7,甚至即将问世的Windows 8,它们的核心代码都没有太大的变化,从而导致Windows新版本操作系统在继承了Windows老版本操作系统中核心代码的同时,也将其潜藏的BUG继承下来。

扩展名欺骗

Windows操作系统不完全是按照扩展名来处理文件的,而是根据文件头部的信息对文件性质作出初步的判断。如果重命名一个文件"abc.html.exe",其中用ASC Ⅱ的255来代替其中的空格,那么在Windows系统中只能看见abc.html。恶意者可能会将该文件连接到一个可执行文件,但是其他人会将该文件视为一个HTML网页。

设备文件名问题

在Windows系统中,用户可以通过字符链接的形式来访问大部分设备,例如可以使用"\.F:"这样的方式来试图访问F盘。

庞大而复杂的注册表

注册表对Windows来说是非常重要的,注册表实际上是一个很庞大的数据库,包含了应用程序和计算机系统的配置,系统和应用程序的初始化信息,应用程序和文档文件的关联关系,硬件设备的说明、状态和属性,以及各种状态信息和数据等。由于注册表过于庞大和复杂,因此很容易出现漏洞而被人所利用。

系统权限分配繁冗

Windows操作系统中几乎每个东西都可以设置权限,包括每一个对象、注册表项目、设备等,这么庞大的访问控制列表实在难以一一审核,而其中有很多可以被黑客用来作为后门。

设计失误

Windows操作系统在设计方面存在着很多失误,例如账号锁定和IIS的安全设计之间就存在冲突(coolwais最早提出)。一旦启用账号锁定策略,即可对IUSER_和IWAN_进行穷举,这两个账号锁定后,任何人都无法访问IIS,这样一来用很小的代价就能实现DoS。类似的问题还有不少。