安全組織:25個最危險軟件編程錯誤
黑客利用來攻擊網站和企業服務器的大多數漏洞,通常是由于常見的和眾所周知的編程錯誤所造成的。
本周一,一個由35個高知名度機構組成的組織對外公布了一份列有25個這種最嚴重編程錯誤的清單,這個組織的成員包括微軟、賽門鐵克、美國國土安全部(DHS)和國家安全局信息保障司。這個首創項目由SANS研究所和MITRE公司負責協調開展。MITRE公司是聯邦政府資助的一個研發中心。
Paul Kurtz是Good Harbor咨詢公司的一個合伙人,他還是“美國國家網絡保護戰略文件”的主要作者之一。Kurtz把這份清單稱作“令人難以置信的、重要的發展。 ”
在周一上午舉行的新聞發布會上,Paul Kurtz表示,不幸的是,安全界居然過了這么久才拿出了一份文件,承認常見的和長期存在的編碼錯誤。
SANS的官員在一份聲明中表示,公布這份不尋常文件的目的,是讓人們把注意力集中在不安全的軟件開發實踐和避免這些做法的途徑上。公布這份清單的目的是給軟件買家、開發人員和培訓項目提供一個工具,他們可以用來識別那些已知的、將會構成嚴重安全風險的編程錯誤。展望未來,這份清單將在必要的時候進行調整,以增加任何新出現的或特別危險的代碼錯誤。
這份清單分為三大類,涵蓋了各種熟知的問題。其中9個安全錯誤屬于“程序部件之間不安全互動”。9個錯誤被視為“危險的資源管理”錯誤,其余7個錯誤被稱為“有很多漏洞的防御”問題。
這些編碼錯誤是根據它們發生的頻率和它們所構成的安全風險的嚴重性評出的。
25大軟件編程錯誤
1.輸入驗證不當
2.不適當的編碼或輸出逃逸
3. SQL查詢結構維護失?。?SQL注入)
4.網頁結構維護失敗(跨站點腳本攻擊)
5.操作系統指令結構維護失敗(操作系統命令注入)
6.明文傳輸敏感信息
7.偽造跨站點請求
8.紊亂情況
9.錯誤信息泄露
10.內存緩沖區邊界限制失敗
11.外部控制臨界狀態數據
12.外部控制文件名或路徑
13.不可信的搜索路徑
14.代碼生成控制失?。ùa注入)
15.代碼下載沒有完整性檢查
16.關閉或釋放資源不當
17.初始化不當
18.計算不正確
19.防御出現多個漏洞
20.使用失效的或危險的加密算法
21.硬編碼(Hard-coded)密碼
22.為關鍵資源賦予不安全的操作權限
23.使用不充分的隨機值
24.采用不必要的權限進行執行
25.把服務器端的安全放在客戶端執行