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