為了徹底掃除Vista給微軟帶來的陰影,并且力爭能使Windows 7成為一個成功地商業(yè)案例,微軟還有很多事情可以做。微軟曾經(jīng)向用戶承諾,Windows 7的安全性將會給大家?guī)砣碌捏w驗,為了做到這一點(diǎn),微軟必須做更多的事情而不僅僅是口頭呼吁。它必須對其新的操作系統(tǒng)在設(shè)計、開發(fā)和管理策略上進(jìn)行徹底的改變。也許,只有時間才能告訴我們微軟的Windows 7將能否滿足這些要求。不過,以下五件事情是我認(rèn)為是微軟應(yīng)該做的:
1.在所有與安全性相關(guān)的功能中,使用標(biāo)準(zhǔn)的、經(jīng)同行評議過的工具和協(xié)議。在軟件行業(yè)中,“非我發(fā)明(not invented here)”是微軟最知命的企業(yè)文化之一。雖然微軟確實也使用過很多非自己創(chuàng)造的代碼,但是它從來沒有一成不變地照搬照抄,并且有可能的話,微軟都是首先購買代碼創(chuàng)作者的版權(quán),然后再將這些外部軟件或代碼融合到自己的商業(yè)產(chǎn)品中。即使在非常罕見的情況下---微軟使用了一些它無法控制后續(xù)開發(fā)的代碼或軟件,微軟一旦采納了這些軟件或代碼,就不能再返還了,只能在內(nèi)部繼續(xù)開發(fā)并常常按照某種驚人的方式改變其功能,通常打破了它與代碼基礎(chǔ)相同的其它分支的互操作性---比如BSD Unix網(wǎng)絡(luò)堆棧和MIT Kerberos中使用的代碼。這給微軟帶來了許多安全漏洞,因為這些代碼已經(jīng)不能真正“享受”外部開發(fā)人員的集體智慧了。微軟需要自己維護(hù)這些海量代碼,而之前,它們是由眾多的外部自由開發(fā)人員共同維護(hù)的。正因為如此,微軟的遠(yuǎn)程登錄工具、加密功能以及網(wǎng)絡(luò)協(xié)議實施的安全特點(diǎn)從一開始就遭到人們的質(zhì)疑。充分利用經(jīng)過同行審議過的、一流的并且經(jīng)過良好測試的工具所具備的巨大廣度和深度是開發(fā)一個用戶可以信任的操作系統(tǒng)的關(guān)鍵。
2.部署真正、全面的系統(tǒng)架構(gòu)特權(quán)分離。微軟的操作系統(tǒng)近年來發(fā)生了重大演變,從早期的MS-DOS一直到MS Windows Vista。任何人都可以很容易地看到這些重大變化都是經(jīng)過了精心設(shè)計的。一個似乎一遍又一遍發(fā)生的改變是系統(tǒng)架構(gòu)特權(quán)分離,借此保護(hù)操作系統(tǒng)關(guān)鍵組件免遭未經(jīng)授權(quán)的無特權(quán)用戶訪問造成的損害。這種特權(quán)分離“看似”一再發(fā)生的原因就是因為它并沒有實際發(fā)生過;微軟只是做了一些微小的改變,看似解了決這一特權(quán)分離問題,但是,當(dāng)下一版MS Windows打入市場后,特權(quán)分離其實從來就沒有真正完成就成為了大家眾所周知的事實了。對于發(fā)生的這種變化,微軟將不得不讓自己試圖抑制人們?nèi)绾问褂糜嬎銠C(jī)的想法更加不易被人察覺,并停止尋找能讓微軟的軟件繞過其它微軟軟件安全功能的方法。
3.開始認(rèn)真對待漏洞補(bǔ)丁程序。七年的時間才發(fā)現(xiàn)嚴(yán)重的漏洞比如SMB漏洞(首次發(fā)現(xiàn)至少應(yīng)該在2001年3月),這個過程實在是長了點(diǎn)。對于微軟所有的安全漏洞而言,修補(bǔ)周期最快的是MS06-001,微軟在正式發(fā)現(xiàn)了這個漏洞10天后,就提前發(fā)布了補(bǔ)丁程序。2003年使絕大多數(shù)互聯(lián)網(wǎng)陷入癱瘓的SQL Slammer蠕蟲病毒,在它真正稱為一個威脅之前的很長一段時間就已經(jīng)被微軟“平息”了---但是如果這些補(bǔ)丁安裝的次數(shù)沒有遵守微軟的要求,那么后學(xué)的補(bǔ)丁程序?qū)遁d之前安裝的補(bǔ)丁,這會使用戶的計算機(jī)非常脆弱(微軟指責(zé)管理員沒有有效地給自己的系統(tǒng)打補(bǔ)。。同時,微軟應(yīng)該向開源項目學(xué)習(xí),后者定期發(fā)布穩(wěn)定、有效的安全補(bǔ)丁,并且遇到緊急情況,一般不會超過一個星期就會發(fā)布漏洞修補(bǔ)程序,有時甚至數(shù)小時就能完成。在MS Windows 7的安全性被大多數(shù)安全專業(yè)人士真正認(rèn)真對待之前,這是一個必須加以處理嚴(yán)重的問題領(lǐng)域。在Windows 7的預(yù)覽測試版發(fā)布之前,微軟最近就已經(jīng)發(fā)布了一個補(bǔ)丁,這看起來像一個好兆頭,但也可能只是曇花一現(xiàn)。只有時間以及微軟在不久之后的表現(xiàn)才能真正告訴我們答案。
4.不要讓向后兼容性超過默認(rèn)的安全性。這是可以理解的,為了挽留客戶群,微軟希望支持向后兼容性,我也很贊成微軟這方面的努力。但是,這并不意味著有損安全性的功能允許勝過預(yù)設(shè)的安全性。如果必須要包括某個危及安全的功能,那么它應(yīng)當(dāng)被設(shè)計成一個可配置的選項,而不是默認(rèn)設(shè)置。并且在任何情況下,它應(yīng)該也不會,需要犧牲基本的系統(tǒng)架構(gòu)級別的安全性。一個相關(guān)的問題是一般的安全默認(rèn)設(shè)置---比如新安裝的MS Windows操作系統(tǒng)上默認(rèn)運(yùn)行的不必要的服務(wù)服務(wù)高得令人無法接受。