你的代碼(軟件)安全嗎?
原文鏈接:Are You Practicing Safe Coding?
2011年安全事件層出不窮,幾乎可以稱為“黑客年”。以前黑客通常是利用程序漏洞來造成破壞,令網站陷入尷尬的境地,但如今他們卻是為了竊取 數據、IP 地址,或者通過在網站中植入木馬將惡意軟件安裝到訪客的電腦里,更有甚者轉移賬戶、違反行業規定等等,因此應用程序的安全顯得越來越重要。
安全漏洞 TOP5
據統計,10個程序中有 8 個以上在第一次測試時都不能通過 OWASP(Open Web Application Security Project,開放式 Web 應用程序安全項目)的檢查,而且有一半的開發者在基礎程序安全評估中都只能獲得C級甚至更低的評級。
下圖展示了排名前五位的安全漏洞。其中橙色表示受影響的 Web 應用的比例,XSS 最高;藍色表示被黑客利用的比例,SQL 注入的比例最高。
編程語言中的安全漏洞
下圖展示了一些流行的編程語言中比例最高的 3 種安全漏洞。其中 XSS 的威脅依然很高,而信息泄露和加密問題也不容忽視。
不同開發模式的安全漏洞
下圖展示了各種開發模式(內部開發、商業項目、開源項目)所帶來的安全漏洞,其中 XSS 高居榜首。
首次提交 OWASP 測試的合格率
下圖展示了內部項目、商業項目、開源項目、外包項目、綜合開發項目在首次提交 OWASP 測試的合格率,其中內部項目最高,外包項目最低。
Android 應用也不安全
Android 應用的安全問題主要有兩類:一類是加密問題,另一類是信息泄露問題。加密問題中 61% 是缺乏熵編碼的問題,這通常是由于在 Java 程序中使用統計 RNG 而不用加密 RNG 所致。而這些問題用一行代碼就能修復。
修復安全問題所需時間
其中外包項目中的安全問題通常能在一周之內修復,其次是開源項目。而其他項目的修復周期相對來說比較長一些。
如何增強程序安全性?
- 及時更新軟件。自己編寫安全的軟件或要求供應商及時修復安全問題。
- 不斷學習。自學鞏固程序安全基礎知識,參加培訓班。
- 要求供應商為其軟件提供安全保證。要求供應商查看程序代碼,在合同里寫入安全保證條款。