网络安全 频道

浅析“美萍安全卫士”存在的几点安全问题

p>写在前面<br />
&nbsp;&nbsp;&nbsp; 不要相信任何呆头呆脑的机器,它只能是人类的服务工具。如果你过于相信或依赖它,你将丧失人类所特有的,最为伟大的——智慧。<br />
<br />
漏洞初现:找到消失的C盘。<br />
&nbsp;&nbsp;&nbsp; 初次见到“美萍安全卫士”(以下简称“美”)是在今年二月数学系机房里见到的。“美”居然可以屏蔽Windows桌面,确实让我惊叹不已(此软件可能像“虚拟光驱”一样使用了VXD技术)。<br />
<br />
&nbsp;&nbsp;&nbsp; 上了一会儿机,突然耳边传来一阵声音:“咦,怎么这个机器没有C盘?”我于是也打开自己机器上的资源管理器,果然没有。那一定是被隐藏了呗。往地址栏里键入“C:\”,回车,C盘里的东西全看见了。(你也可以右击一个快捷方式指向C盘目录的图标,点“属性”,点“查找目标”便进去了)。<br />
<br />
设置屏蔽了的Internet属性<br />
&nbsp;&nbsp;&nbsp; 没过一会儿,问题又来了。因为有些网站无法登陆,比如www.china.com &lt;http://www.china.com/&gt;,为了能访问这些网站,同时为了隐藏自己的IP,便不得不进行代理服务器的设置。而当我兴冲冲地将刚找到的代理服务器地址写入IE中时,却发现菜单栏中的“Internet属性”亦被屏蔽了,于是尝试打开“我的电脑”下的“控制面板”,选择“Internet”,居然打开了,我的代理服务器便顺利地设好了。(其实“控制面板”里的“Internet属性”也可以隐藏的)<br />
<br />
安全设想<br />
&nbsp;&nbsp;&nbsp; 没过几天,“美”在数学系的机房正式“服役”,其在线登陆、退出的功能确实给上机者带来了极大的方便(不必到网管那里排队登陆或退出)。同时,我由此也感到一丝不安,如果旁边的机器上安了“网络嗅觉器”,截获了登陆者向服务器发送的信息,其后果不堪设想。<br />
<br />
&nbsp;&nbsp;&nbsp; 此时,宿舍的同学像我提出了一个很吸引人的问题:“能否不用登陆,也能使用电脑?”(这句话说白了就是如何上机不花钱)我当时对他说:“那你就用A盘引导,玩Dos版的游戏吧。”<br />
<br />
&nbsp;&nbsp;&nbsp; 晚上睡觉时,我便对“美”的情况分析了一下,其前提就是假如我没有登陆便获得了机器的使用权。对于想上机的人见我使用了此机器,自然不会认为我不花钱就上机,因为他们认为不登陆就无法使用该机器。对于网管,他知道那台登陆了,那台没有登陆,可由于它过于相信“美”的安全性,便不会一台一台地去察看哪一台没有登陆的机器被人非法使用。看来被发现的可能性是有的,但可能性很小。<br />
问题的关键就是如何不登陆便使用电脑。其实方法也很简单,不让电脑启动“美”。凭我的经验“美”的启动代码应放在Autoexec.bat、Config.sys、Win.ini或注册表中,我只要从A盘启动,然后将其从启动文件中删掉,或将“美”的主执行文件改名(在Windows中是不能改名的,因为它在执行中),便可达到目的。不过要是机子安了硬盘保护卡就不大好办,因为不能重启机器了。<br />
<br />
&nbsp;&nbsp;&nbsp; 一切还是回家自己装一个“美”好好研究一下再说吧。<br />
<br />
峰回路转<br />
&nbsp;&nbsp;&nbsp; 一星期后,我那张借出去的含有“美”的光盘终于回到了我的手中。回到家,便迅速装上了机器,此版本为V6.9。设好三个密码,在“启动Windows自动运行安全卫士”前选择,重启机器,并回到Windows桌面 ,开始检查启动文件。终于,在注册表中找到了它。位置是HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce,键名是“SMENU”,键值为“c:\SMENU\SMENU/EXE/lock”。而以后的发展情况连我自己都想不到,同时也改变了我的破解方向。<br />
<br />
“美”不该将密文放在如此显眼的位置。<br />
&nbsp;&nbsp;&nbsp; 当我打开注册表中“美”注册的位置HKEY_LOCAL_MACHINE\Software\Mpsoft\Smenu\时,居然看到了“exitpassword”“quitpassword”“setuppassword”的键名,看来键值便是密码信息。难道“美”对自己的加密方法很自信?我觉得如此重要的数据应放到Windows系统注册的键中,因为Windows自身注册的东西很多,就像一个大迷宫,如果密文放在这里是很难找到的。<br />
“美”不应在自述文件中谈“密码忘了怎么办?”这样的问题。<br />
<br />
&nbsp;&nbsp;&nbsp; 对于想破解的人当然不知道密码。这个问题不是摆明要告诉破解者如何破解吗。好在它所说的方法对于有硬盘写保护的机器是不会成功的,而且即便成功了,也容易让网管发现有人非法登陆过,因为密码变了嘛。这会引起网管的警觉,下次“犯案”就不容易了。<br />
“美”不应该用如此“幼稚”的加密方法。<br />
<br />
&nbsp;&nbsp;&nbsp; 看来最好的办法就是破解出注册表中的那段密文。先硬着头皮试试吧。结果,没想到加密算法竟如此简单!<br />
<br />
全面破解<br />
&nbsp;&nbsp;&nbsp; 首先,我发现密文不区分大小写,因为大小写分别输入后密文未变。再深入研究,竟发现其采用的是ASCII代码调换加密法,且仅支持64个字符,对应如表一。<br />
<br />
&nbsp;&nbsp;&nbsp; 可以说这已经破解了密文,我只要使用switch语句,便能编写密文的还原程序。不过我想此算法的加密与解密是同一方法。加密程序是“美”自带的,一定不麻烦,所以解密程序也不会用switch语句<br />
进一步研究,我发现“美”只是将密码原文中的ASCII码二进制个别位的0变1,1变0。比如“a”为01100001 加密后为00101000即“(”左括号。所以用C语言写这个破解程序的核心语句应是:<br />
假设串a[255]为密文。<br />
int i=0;<br />
while(a[i]!=’\0’)<br />
{<br />
a[i]^=0x49;<br />
i++;<br />
};<br />
我想加密程序也是这样编写的。<br />
至此,“美”密码全面告破,我将掌握机器的最高权力。当然,下一步便是编写程序。因为我以前从未编写过Windows程序,这可难坏了我。我找来关于VC++编程的书,重点学习了一下注册表方面的知识,似懂非懂的写了一上午,2001年3月13日中午12点,我的第一个Windows程序出炉了,名为“美萍安全卫士密码破解器v0.1”,编译后其为20Kb。<br />
表 一<br />
032 (space) 033 ! 034 ” 035 # 036 $ 037 % 038 &amp; 039 ’ 040 ( 041 ) 042 * 043 + 044 , 045 - 046 . 047 /&nbsp;&nbsp;&nbsp; ` 96 a 97 b 98 c 99 d 100 e 101 f 102 g 103 h 104 i 105 j 106 k 107 l 108 m 109 n 110 o 111&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 048 0 049 1 050 2 051 3 052 4 053 5 054 6 055 7 056 8 057 9 058 : 059 ; 060 &lt; 061 = 042 &gt; 063 ?&nbsp;&nbsp;&nbsp; p 112 q 113 r 114 s 115 t 116 u 117 v 118 w 119 x 120 y 121 z 122 { 123 | 124 } 125 ~ 126 &amp;127; 127&nbsp;&nbsp;&nbsp; <br />
<br />
开始测试<br />
&nbsp;&nbsp;&nbsp; 星期天上午,我来到数学系机房的一台机器前,用已注册的名字登陆,进入Windows,插入软盘,双击我的第一个Windows程序,接着鼠标移向“获取密码”按钮,心中默念“成败在此一举”。当我按按下鼠标左键后,那三个密码显出来,全是selectabc。我确信这就是我所想要的密码,因为它体现了计算机人设计密码的特点:好记、难破(指字典破解法)。“退出登陆”,密码搞到。<br />
点“退出系统”,在对话框中写入刚获得的密码,我又见到了Windows桌面,一切都这样顺利。<br />
<br />
写在后面<br />
&nbsp;&nbsp;&nbsp; “网管”会发现我的,因为“美”在退出时,会记录下“退出美萍安全卫士”的信息,但在一百多台机器里发现这条信息是很难的,因为网管对系统的安全性过于自信,况且登陆后,可把这条消息及时删掉。<br />
<br />
&nbsp;&nbsp;&nbsp; 总之,我希望数学系的“网管”们在“美”还没有提高安全性的情况下不要使用此系统。你们应该看到它的安全性有多么的差,虽然我没有传播自己的软件,也没有将密码告诉他人,但我这个仅对电脑一知半解的人,便可如此轻易的破解,相信其他人也会破解的,当然方法可能不尽相同,比如,虽然Ctrl+Alt+Del看不见“美”,那是因为Windows这个监控程序太“烂”了,我们可以用第三方的“程序监控程序”看见“美”并把它关了,然后到网管那里下线,回来你就可以免费上机了。<br />
<br />
&nbsp;&nbsp;&nbsp; 不要相信机器,要相信人自己!<br />
<br />
浅谈对策<br />
&nbsp;&nbsp;&nbsp; 我没有“美萍网管大师”这个软件(以下简称“美管”),所以这只是设想。<br />
“美”应该改变加密算法,现在加密算法很多,不要使用如此古老的算法!<br />
“美管”应该增加一个功能,可检验是否机器开着,是否“美”运行。如果机器开者,而“美”未运行,便发出警示信息通知网管。<br />
“美”退出时应向“美管”发出信息,“美管”则发出警示信息通知网管。<br />
求助:<br />
<br />
&nbsp;&nbsp;&nbsp; 那位老师能点播我一下,包括“美”方面的问题。最好能系统的教我一下“汇编”“C++”以及“VC++”,我想编写出比“美”更好、更安全的软件。<br />
0
相关文章