常常被問到這麼乙個問題:如何評測乙個軟體系統到底有多安全?
乙個回答是:我們不是有專門的軟體安全評測標準和機構嗎?沒錯,我們有專門的國際標準common criteria, iso/iec 15408,國家標準gb 18336。有專門的評測中心,如common criteria lab,和中國資訊保安產品測評認證中心。
似乎我們只要按照標準提供相應文件,把軟體交給評測機構,不就行了?
但是,事實上真的這麼簡單嗎?舉個例子,微軟的windows 2000系統得到了common criteria的eal4+認證,但是還是有這麼多軟體安全補丁發布。問題到底出在什麼地方?
我們先看一下common criteria是如何評估軟體系統的安全的。首先要確定產品對應的protection profile (pp)。乙個pp定義了一類產品的安全特性模板。例如資料庫的pp,防火牆的pp等等。然後,根據pp再提出具體的安全功能需求(security functional requirement),如使用者的身份認證是如何實現的。接下來,確定產品的安全物件(secure target),以及它是如何滿足對應的安全功能需求的。
也就是說,common criteria主要集中在大方向上的軟體設計上的安全。但是,對於具體的編碼實現,和部署則沒有涉及。而sd3,也就是安全設計(secure designed),安全開發(secure development)和安全部署(secure deployment)的三個環節,哪個出問題都不行。
另一方面,最終的使用者關心的核心問題就是「這個軟體安全嗎」。乙個由於設計導致的安全漏洞,和乙個由於實現導致的安全漏洞,對使用者的最終影響沒有區別。common criteria在針對軟體實現和部署上的評估上的不足,可以是說是cc面對的最大挑戰。另外,common criteria要求的文件之多,評估的週期之長,也極大影響了它在評估面向企業和個人使用者的軟體安全性的有效程度。例如,乙個產品的評估週期有時長達2-3年:等評測結果出來,老產品也要被新產品替代了。
評估(並提高)乙個軟體系統的安全程度,需要從設計,實現和部署三個環節同時著手。目前,微軟的安全軟體開發周期(sdl)提供了乙個基於微軟開發模型的參考解決方案。它並不是乙個類似cc的評估測試標準。但是在如何有效的評估軟體實現和部署環節的安全性上(例如fuzz測試),大家可以借鑑一下。
如何評測軟體系統的安全性
常常被問到這麼乙個問題 如何評測乙個軟體系統到底有多安全?乙個回答是 我們不是有專門的軟體安全評測標準和機構嗎?沒錯,我們有專門的國際標準common criteria,iso iec 15408,國家標準gb 18336。有專門的評測中心,如common criteria lab,和中國資訊保安產...
軟體安全性測試
1 產品安全是指產品在系統的所有者或管理員的控制下,保護使用者資訊的保密性 完整性 可獲得性,以及處理資源的完整性和可獲得性。安全漏洞是指使產品不可行的缺陷 即使是正確地使用產品時 來防止攻擊者被竊取系統的使用者許可權 調節操作 破壞資料,或建立未授權的信任。2 黑客獲得訪問許可權的動機 3 測試安...
軟體系統的安全性和保密性
robert bk dewar 2007年7 月原文 譯者 logiciel 2009年8 月8日 在當今世界,我們越來越倚賴於軟體 系統的安全性和保密性。在新生產的轎車中,剎車和控制系統依賴於複雜的軟體。在公眾投票站中,計票機依賴於正確記錄投票的軟體。傳統觀點認為軟體安全性涉及避免引起人員 的邏輯...