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