BIOS中一个危险的密码缺陷
Abusys公司系统部
廖红旭
---- 通过对个人电脑(PC)主板BIOS的深入分析,发现目前国内在PC主板上普遍使用的Award
BIOS其密码研判算法内含缺陷,导致用户事前设置的密码基本上都可以找到一个机器同样接受的“等价”密码,这个密码却不是用户事前设定的,也就是说,这个“等价”的密码与用户事前设定的密码是完全不相同的,即使无法得到用户事前设定的“合法”密码,只要获得这个“等价”密码,同样可以轻松使用这台受“保护”的机器,这是一个危险的计算机安全隐患,而大部分用户目前也许并不知道这个危险的密码缺陷。
而且“Crack”这个“等价”密码并不需要大功率计算机,我们在一台Pentium
150MHz机器上对使用Award BIOS密码研判算法设定的长度为129位的密码进行“Crack”仅仅用了不到10秒,就找到了一个“等价”密码。本文就我们的分析给出部分结果,并附上一个我们开发的检测程式,读者可以使用这个程式检测自己的Award
BIOS是否存在这个危险的密码缺陷,如果缺陷存在,这个程式就尝试“Crack”,请大家参考。
----(一)、 问题的提出
----
在一次应某金融机构要求,对其计算机网络应用系统进行安全性评估的过程里,我们意外地发现了一个在PC上普遍存在的危险的密码缺陷,这个缺陷造成了PC不容忽视的安全隐患,由于上述密码缺陷并非所有PC用户都了解,在此将其作为问题提出,实在必要并希望引起大家足够的关注。
事情的经过是这样的:在上述金融机构的一台负责网管的P
II机器上,客户单位操作员将机器电源打开,机器POST结束,屏幕提示要求输入密码,操作员将密码轻声地说了出来,我们的工程师随即将听到的密码在键盘上输入进去,工程师一边键入密码,一边轻声复述,机器顺利启动了。然而,很偶然地,我们的工程师将密码“输错”了,当时大家都没有觉察,正准备按计划工作时,这位工程师自言自语到:“奇怪,密码可能有问题”…..经过再次确认,问题被发现了。事后,经过测试、整理,下面给出我们在上述过程里使用的测试对照表的一小部分,简单明了,大家可以按照该表对自己的Award
BIOS进行测试,看看自己的机器是否存在这个危险的密码缺陷:
-
|
事前设定的“合法”密码 |
有效的“等价”密码 |
|
29996666 |
0aa8qz |
|
ww44ee70 |
0munz |
|
chinese! |
a0a0v |
|
abcdefg |
a087 |
|
12612612 |
e0iwz |
|
wellcome |
0a8nw |
|
hello169 |
euyow |
|
aaaabbbb |
0qqxz |
|
xxxxyyyy |
00007x |
(二)、 关于我们开发的测试程序
----
在用户现场,当时我们将问题限定在用户的网管P II机器上,随着分析的深入,我们发现问题的涉及面相当广,于是我们尽可能扩大测试范围。
最后的分析、测试结果是:
在支持486一直到支持PII的机器上,使用的Award
BIOS都存在这个危险的密码缺陷,该缺陷仅与机器的BIOS有关,与机器的品牌、配置无关。本文给出一个程式,可以检测上述缺陷,如果缺陷存在就尝试“Crack”事前设定的密码。
---- 附:
汇编程序
(Zip 5KB)
|