引子:德國著名電腦雜志《PC Welt》(PC世界)近日批露,微軟最新版本Office軟件Word 2003中存在安全隱患,可以輕易破解“保護文檔”的密碼!duba.net在1月8日的“微軟Word文檔加密功能受質(zhì)疑 可輕易被修改”文章中也對此事做過報道。近日,中關(guān)村在線對此漏洞做了詳細(xì)說明,讓我們來看看這個漏洞究竟是如何產(chǎn)生的。
熟悉MS Office的用戶都知道,“保護文檔”是Word的一項功能,讓用戶在菜單中選擇“工具→保護文檔”選項,“保護內(nèi)容”選擇“窗體”并設(shè)置一個密碼,之后除非用戶知道密碼,并在菜單中選擇“工具→解除文檔保護”后正確輸入密碼,否則對此文檔只能觀看而不能修改。這項功能原本一直為大量有特殊需要的用戶提供了方便,安全性也較高,直到Word 2003出現(xiàn)。某安全組織Guardeonic Solutions的成員 Thorsten Delbrouck Konetzko公布,他發(fā)現(xiàn)了一個簡單的方法破解“保護文檔”的密碼,使用的主要工具竟然就是微軟最新的Word 2003。
破解方法如下:
1、首先用Word 2003打開已設(shè)置有密碼的“保護文檔”(原始DOC文件),此文檔可由Word 2000/XP(2002)/2003創(chuàng)建(保護文檔創(chuàng)建方法見上文);
2、在菜單中選擇“文件→另存為Web頁”,保存為HTML文件后關(guān)閉Word;
3、用“記事本”或其他字處理軟件打開上步中保存的HTML文件;
4、查找“”標(biāo)簽,“”和“”之間的為你設(shè)置的密碼加密后的十六進(jìn)制格式,
5、記錄密碼字符,例如本例中“3E36C48A”,關(guān)閉“記事本”;
6、使用十六進(jìn)制文件編輯器(例如WinHex或者UltraEdit)以十六進(jìn)制(Hex)格式打開原始DOC文件;
7、反序查找記錄的十六進(jìn)制密碼字符,例如本例中查找“8A C4 36 3E”;
8、將查找到的4個雙字節(jié)均用“0”覆蓋,保存文件,關(guān)閉十六進(jìn)制文件編輯器;(相信即使破解經(jīng)驗極少的人對步驟6~8操作起來也是易如反掌)
9、使用Word打開原始DOC文件,在菜單中選擇“工具→解除文檔保護”,密碼為空。
至此,設(shè)置有密碼的“保護文檔”完全被破解,與沒有經(jīng)過保護的文檔毫無區(qū)別?!禤C Welt》還以次假設(shè)了一種更惡毒的情況:入侵者破解了文檔并作了修改,之后再次利用十六進(jìn)制文件編輯器將原始密碼(如上例中“8A C4 36 3E”)寫回,這樣表面看起來“保護文檔”好像是原封未動,實際上內(nèi)容早已乾坤扭轉(zhuǎn)了。
有意思的是,老版本的Word雖然也能將“保護文檔”另存為HTML文件,但是其中卻沒有“UnprotectPassword”標(biāo)簽,不知為何微軟要在Word 2003中添加入這個“強大的功能”。
Delbrouck在2003年11月就此漏洞通知了微軟,但是直到上星期微軟宣稱不會發(fā)放補丁解決這個問題,于是Delbrouck于上星期在SecurityFocus網(wǎng)站公布了他的發(fā)現(xiàn)。微軟隨后更改了一篇名為“Overview of Office Features That Are Intended to Enable Collaboration and That Are Not Intended to Increase Security”的技術(shù)支持文檔,并稱此問題并非漏洞,而是新版本的一個“Feature”(特性),建議用戶僅在可信賴的范圍內(nèi)使用“保護文檔”功能,并且聲稱此項技術(shù)僅僅用來防止文檔被同事無意中更改,不具備更高安全性。
看來微軟是不打算徹底解決此問題,建議用戶如有需要重點保護的敏感文件,使用“保護文檔”則要慎之又慎。