Chromium團隊的安全開發核心準則

bigship發表於2012-04-24

Google設立的Chromium瀏覽器安全獎勵計劃想必大家都還記憶猶新,找出漏洞併成功修復的人將有重賞,總計將有100萬美金用於獎勵支出。想看看Chromium的開發團隊對於安全性問題的看法嗎?

別跳出來擋道

確保使用者的安全就意味著需要仔細地平衡產品的可用性、效能以及安全性。如果我們實現的很好的話,所有這些因素應該能夠緊密的關聯在一起而且這一切對使用者來說這幾乎是透明的。我們通過透明式的自動更新來避免給使用者帶來過多的升級提示,並且避免出現彈出對話方塊這類東西,這些只會讓有條件的使用者忽略安全提示。當安全提示確實有必要出現時,確保提示的內容清晰明瞭,而且只將最重要的資訊著重呈現出來,比如位址列中的使用者名稱和SSL狀態。

設計縱深型的防禦架構(還得更有深度)

我們設計Chrome的安全性架構的目標就是實現層級性防禦,並且要避免出現單點故障。Chrome的沙盒架構代表了這種策略中最有效的部分之一,但這離完整的架構還遠著呢。我們也採用了最優秀的反攻擊技術——包括ASLRDEPJIT hardeningSafeSEH,以及我們在Chrome OS專案中自定義的技術像是Safe Browsingout-of-date plugin blocking、silent auto-update以及verified boot。我們將繼續努力研究,並推進關於沙盒和控制流完整性等方面的研究成果。

安全性是整個團隊的責任

有一種常見的誤區,那就是安全性只是產品的一種特性或者是可增加的元件。事實上,任何複雜的軟體產品的安全性問題都是橫跨領域的,由數百萬個看似無害的決策而定,這些決策每天都會在開發者腦中跳出來。這就是為什麼對於開發團隊的每個成員來說都要注意安全開發實踐準則,並協同安全團隊一起在整個專案的生命週期內協同工作,這一點至關重要。開發人員對於安全開發的常識性認識有助於我們在正常的安全審查過程中完成審計和迴歸測試。

速度決定一切

使用者的安全性取決於快速響應並解決安全漏洞問題,無論這個缺陷是內部測試發現的還是由第三方提交的報告中出現的。我們致力於解決所有的安全性問題,並通過快速自動更新機制來提供給我們的使用者。這種方式讓我們在處理安全缺陷問題的響應時間上一度保持著業內領先水平。即使是在處理一個複雜的以及帶有政治色彩的問題上,儘管我們並不是內容釋出的源頭,但我們依然盡力去解決了(這就是傳說中的內容審查和過濾機制吧)。

做到透明化處理

我們不會去淡化安全性問題帶來的影響,或者通過默默的升級來掩埋缺陷,因為這麼做對使用者的體驗來說是很差的。相反的,我們會提供給使用者和管理員他們所需要的資訊,以此來準確定位和評估風險。我們已經對外公開了我們的安全性問題處理步驟文件,關於Chrome以及依賴於Chrome元件的缺陷報告,凡是修補過的我們都已經關閉了——不管是我們內部發現的還是外部報告的。只要有可能,我們就會在release note中列出所有已經修補過的安全性問題,並公開底層的細節,只要其它受此影響的專案有足夠的時間來應對。

融入社群的懷抱

沒有哪個軟體產品是完美無缺的,即使有最好的開發和審查流程也依然會有bug成為漏網之魚。這就是為什麼我們會對那些能夠幫助我們找到並解決軟體缺陷的獨立安全研究組織和社群所做出的貢獻報以最高的敬意。作為回報,我們將盡自己所能,通過報導給予獎金、贊助安全性研討會議的方式來對他們所做出的貢獻表示感謝。我們充分利用社群的支援,並盡我們所能將社群擴充套件到更大。我們可以直接僱傭社群中的程式設計師到我們的團隊中來,並與獨立的安全顧問公司保持合作關係,這些可都是業界的翹楚。

使網際網路對每個人來說都變得更安全

安全問題不是遊戲。一個瀏覽器如果在安全問題上不成功那其他的都是白搭。當最好的安全性技術能夠被每個人所利用時,我們才會變得更好。為了達到這個目標,我們同標準制定組織以及其他瀏覽器廠商緊密合作,以此推動我們在多個標準上的合作,包括:public key pinning, Content Security Policies以及SPDY。我們也將技術開源化,或者使我們的安全技術得到廣泛存在。(例如,Native Client/Pepper, Open Type Sanitizer application sandboxing 以及Safe Browsing)。

 

英文原文:The Chromium Projects      編譯:伯樂線上 — 陳舸

【如需轉載,請標註並保留原文連結、譯文連結和譯者等資訊,謝謝合作!】

 

相關文章