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