軟件bug和設計缺陷是兩個完全不同的安全概念,人們熱衷于在bug上花費大量精力財力,但是導致50%軟件安全問題的軟件安全設計,卻鮮有人問津。
IEEE安全設計中心(CSD)是IEEE計算機協會于2014年啟動的網絡安全計劃的一部分,目的是擴大IEEE在網絡安全領域的影響力。
IEEE安全設計中心專注于軟件設計缺陷的檢測,近日該機構發布了一個報告《避免十大軟件安全設計缺陷》,該報告采集并分析了全球最頂尖科技企業的真實數據并得出結論。
過去數十年中,安全設計一直是安全開發的阿喀琉斯之踵,主要是因為技術門檻太高,懂行的專家又太少。因而IEEE CSD將關注的重點放在了當今最棘手的信息安全問題——安全設計。以下是CSD報告中指出的避免十大軟件安全設計缺陷的忠告(有興趣的讀者還可以在文章結尾下載報告原文,密碼:aqniu):
爭取或給予,但永遠不要假設、相信(可信)
使用無法繞過或者篡改的認證機制
先認證后授權
嚴格分離數據和控制指令,永遠不要執行來自非可信源的控制指令
定義一種方法來確保所有數據都被顯式驗證(explicitly validated)
正確使用加密技術(參考閱讀:企業需升級SSL/TLS加密算法)
識別敏感數據及相應的處理方法
永遠從用戶角度出發
了解對外部組件的集成將如何改變你的攻擊面(attack surface)
保持面向未來(對象和人員)的靈活性