Office 2010帶給我們的五個(gè)安全教訓(xùn)
原創(chuàng)【51CTO.com快譯自12月7日外電頭條】雖然仍然是測(cè)試版,但Office 2010不斷的給我驚喜。除了用戶(hù)界面更加適合于現(xiàn)實(shí)世界中的數(shù)據(jù)之外,微軟在安全性上也做出了另一個(gè)重大改進(jìn)。最新版的Office結(jié)構(gòu)復(fù)雜,功能豐富,也成為了惡意軟件和其他安全隱患的目標(biāo)。由于巨大和多樣化的用戶(hù)群,微軟必須把安全考慮放在首位,因此即使是犧牲一些現(xiàn)有功能來(lái)?yè)Q取安全性也無(wú)可厚非。今年9月份曾經(jīng)有一個(gè)Office的0day,造成了一股掛馬風(fēng)。
然而,Office 2010的開(kāi)發(fā)團(tuán)隊(duì)并沒(méi)有這樣做,他們給出了一套新的安全戰(zhàn)略,通過(guò)分析過(guò)去的漏洞來(lái)了解漏洞是如何被利用的,還要如何做才能防止今后出現(xiàn)類(lèi)似的情況。Office 2010基于五個(gè)基本準(zhǔn)則建立了新的多層次的安全模型,這是任何一個(gè)開(kāi)發(fā)者都應(yīng)該記住的:
1.在執(zhí)行之前驗(yàn)證所有用戶(hù)輸入
任何一個(gè)好的程序員都知道輸入驗(yàn)證是關(guān)鍵的步驟之一,未經(jīng)驗(yàn)證的文本框可能會(huì)導(dǎo)致緩沖區(qū)溢出、代碼注入攻擊和其他軟件缺陷。但往往程序員只考慮到驗(yàn)證表單字段、文本輸入框和其他用戶(hù)界面元素,而忽略了對(duì)文檔進(jìn)行驗(yàn)證。
Office 2010通過(guò)使用文檔模式庫(kù)來(lái)預(yù)先驗(yàn)證文檔,避免了不必要的安全問(wèn)題。新的Office將能夠識(shí)別特定的文件類(lèi)型,在開(kāi)始解釋代碼之前實(shí)施積極的安全措施,比如在發(fā)現(xiàn)要打開(kāi)的文檔符合庫(kù)中已知的宏病毒的特點(diǎn)時(shí)會(huì)提早禁用宏功能。51CTO.com編者按:宏病毒、CIH病毒、蠕蟲(chóng)病毒和木馬病毒四大類(lèi)曾經(jīng)是計(jì)算機(jī)用戶(hù)的噩夢(mèng),但到目前為止,除了CIH之外,另外三個(gè)依然在威脅網(wǎng)民的計(jì)算機(jī)安全。
2.查找隨機(jī)缺陷和不典型使用案例
精心設(shè)計(jì)的Use cases在軟件測(cè)試時(shí)至關(guān)重要,但即使是最好的質(zhì)量工程師也不能想到一切,錯(cuò)誤可能來(lái)自意想不到的地方,有時(shí)一些字節(jié)也會(huì)觸發(fā)這些bug。
Office團(tuán)隊(duì)使用一種叫做“模糊文件(file fuzzing)”的技術(shù)來(lái)查找意外的使用情況。例如通過(guò)交換參數(shù)和改變字段內(nèi)容把文件模糊化處理,或者把隨機(jī)垃圾數(shù)據(jù)引入文件中。
理想情況下Office應(yīng)用應(yīng)該能夠順利處理文件。但在最壞的情況打開(kāi)一個(gè)模糊文件會(huì)導(dǎo)致應(yīng)用崩潰,這時(shí)可能會(huì)檢測(cè)出安全漏洞。據(jù)微軟說(shuō)Office 2010處理模糊文件的能力超過(guò)Office 2007十倍。
3.不要相信第三方庫(kù)
和其他應(yīng)用一樣,現(xiàn)實(shí)中的Office文檔不僅僅包含簡(jiǎn)單的ASCII數(shù)據(jù),它們可能還包含著圖片、音頻、視頻等等從其他應(yīng)用嵌入的數(shù)據(jù)。經(jīng)過(guò)多年對(duì)Office 2007的測(cè)試,微軟的工程師得出了出人意料的結(jié)論:他們發(fā)現(xiàn)嚴(yán)重的安全漏洞大多不是Office代碼本身的錯(cuò),而是那些用來(lái)渲染JPEG、GIF和其他圖形的核心第三方代碼庫(kù)出現(xiàn)了問(wèn)題。
因此在Office 2010中微軟轉(zhuǎn)向了自己的圖像處理庫(kù)Windows Imaging Component。對(duì)于其他應(yīng)用的開(kāi)發(fā)者,這個(gè)教訓(xùn)再明白不過(guò):絕不要認(rèn)為廣泛使用的第三方類(lèi)庫(kù)是完美無(wú)缺的。
4.不要把安全措施推給用戶(hù)
非常多的桌面應(yīng)用喜歡使用對(duì)話(huà)框式的安全模型,在碰到問(wèn)題時(shí)詢(xún)問(wèn)用戶(hù):“你的操作可能帶來(lái)安全風(fēng)險(xiǎn),是否要繼續(xù)進(jìn)行(Y/N)?”這種做法不僅懶惰而且危險(xiǎn),因?yàn)樵谌狈θ魏斡幸饬x的指導(dǎo)下,普通用戶(hù)都會(huì)選擇“Yes”,即使是更詳細(xì)的警告信息也不會(huì)有什么幫助。
Office 2010采取了積極主動(dòng)的做法。文件驗(yàn)證過(guò)程會(huì)在后臺(tái)進(jìn)行,而不是繼續(xù)使用對(duì)話(huà)框與用戶(hù)對(duì)抗,在用戶(hù)交互之前先進(jìn)行基礎(chǔ)并且理性的后臺(tái)決策,增強(qiáng)了漏洞管理。
5.選擇降一級(jí)的用戶(hù)體驗(yàn),而不是全盤(pán)否定
從前的Office遇到安全風(fēng)險(xiǎn)時(shí)用戶(hù)真正只有兩個(gè)選擇:無(wú)視威脅照常打開(kāi)文檔;或者再也不打開(kāi)文檔,這兩個(gè)都不是理想的選擇。
Office 2010試圖通過(guò)為用戶(hù)提供一種中立的立場(chǎng)。例如,如果Word 2010碰到文檔中包含有風(fēng)險(xiǎn)的宏,它會(huì)在打開(kāi)文件時(shí)停用宏。用戶(hù)仍然會(huì)得到一個(gè)警告消息,但無(wú)論如何文檔被打開(kāi)了,這時(shí)文本是可見(jiàn)的,但想要使用宏需要額外的確認(rèn)步驟。
這種“一半滿(mǎn)足用戶(hù)”的哲學(xué)是新Office的安全模型中最重要的理念之一,在用戶(hù)和軟件的拉鋸戰(zhàn)之間建立一個(gè)折中的局面。通過(guò)新的漸進(jìn)的多層次安全模式,Office 2010試著與用戶(hù)建立起安全性的伙伴關(guān)系,這個(gè)教訓(xùn)任何應(yīng)用開(kāi)發(fā)者都應(yīng)該牢記在心?!?1CTO.com編者按:在文末順便再多說(shuō)一句,雖然大部分人都認(rèn)為Office沒(méi)有OpenOffice之類(lèi)的免費(fèi)產(chǎn)品安全,但是法國(guó)軍方卻認(rèn)為OpenOffice不比Office更安全,而持這種意見(jiàn)的人還有很多。
原文:Five security lessons learned from Office 2010 作者:Neil McAllister
【51CTO.COM 獨(dú)家翻譯,轉(zhuǎn)載請(qǐng)注明出處及作者!】
【編輯推薦】
- 前陣子爆發(fā)的FreeBSD漏洞終于發(fā)官方補(bǔ)丁了(rtld模塊)
- 安全廠商Juniper為FreeBSD帶來(lái)MIPS支持
- 應(yīng)用防火墻的下一代
- 如何自己打造高性能寬帶路由防火墻
- 提高管理與維護(hù)水平 企業(yè)網(wǎng)絡(luò)防火墻管理經(jīng)驗(yàn)談
- 合理設(shè)置Vista系統(tǒng)防火墻讓其獨(dú)當(dāng)一面
- 簡(jiǎn)單三步幫助企業(yè)解決Web業(yè)務(wù)安全防護(hù)問(wèn)題
- 如何選擇合適的Web安全網(wǎng)關(guān)
- Web準(zhǔn)入認(rèn)證—破除802.1x部署之爭(zhēng)
- Web應(yīng)用安全技巧