2010最危險(xiǎn)的編程錯(cuò)誤
網(wǎng)絡(luò)無(wú)處不在的今天,安全問(wèn)題日益嚴(yán)峻,攻擊事件層出不窮,應(yīng)該說(shuō),軟件系統(tǒng)中代碼存在安全漏洞是主要的禍因之一。而這實(shí)際上反映了軟件開(kāi)發(fā)人員在編程的安全性方面缺乏必要的培訓(xùn)和常識(shí)。
由CWS(美國(guó)國(guó)土安全部下屬的軟件保證項(xiàng)目)與SANS(權(quán)威安全培訓(xùn)組織)聯(lián)合編制的最危險(xiǎn)的25個(gè)編程錯(cuò)誤,是軟件開(kāi)發(fā)人員非常好的快速學(xué)習(xí)資料。日前,兩個(gè)機(jī)構(gòu)發(fā)布了2010年的編程錯(cuò)誤列表。最新的25個(gè)最危險(xiǎn)的編程錯(cuò)誤如下。
1. 跨站點(diǎn)腳本攻擊(4)
2. SQL注入(3)
3. 經(jīng)典緩沖區(qū)溢出(1)
4. 跨站點(diǎn)請(qǐng)求偽造(7)
5. 不正確的訪問(wèn)控制(授權(quán))
6. 在安全決策中依賴(lài)不可信的輸入
7. 不正確地將路徑名限制為受限路徑
8. 上傳危險(xiǎn)類(lèi)型的文件不受限
9. 操作系統(tǒng)命令中特殊因素的處理不正確(操作系統(tǒng)命令注入)(5)
10. 敏感信息未加密(6)
11. 使用硬編碼憑據(jù)(21)
12. 以不正確的長(zhǎng)度值訪問(wèn)緩沖區(qū)
13. PHP程序中Include/Require語(yǔ)句文件名控制不正確(PHP文件侵入)
14. 數(shù)組下標(biāo)驗(yàn)證不正確
15. 異常條件檢查不正確
16. 錯(cuò)誤消息泄露信息(9)
17. 整數(shù)溢出
18. 緩沖區(qū)大小計(jì)算錯(cuò)誤
19. 關(guān)鍵函數(shù)缺乏身份驗(yàn)證
20. 下載未經(jīng)完整性檢查的代碼(15)
21. 對(duì)關(guān)鍵資源的錯(cuò)誤權(quán)限分配(22)
22. 資源分配沒(méi)有限制
23. URL重導(dǎo)向到不受信的資源
24. 使用被破解或有風(fēng)險(xiǎn)的加密算法(20)
25. 存在競(jìng)爭(zhēng)情況(Race condition)(8)
其中后加括號(hào)有數(shù)字的,是該項(xiàng)錯(cuò)誤去年的排名。顯然,連續(xù)兩年都入選的錯(cuò)誤,千萬(wàn)不要再犯了。
另外,我們對(duì)比了去年前25名名單,列出今年落榜的錯(cuò)誤如下,相信這些錯(cuò)誤仍然具有相當(dāng)?shù)娘L(fēng)險(xiǎn)性。
2. 不正確的編碼或轉(zhuǎn)義輸出
10. 限定緩沖區(qū)內(nèi)操作失敗
11. 外部控制重要狀態(tài)數(shù)據(jù)
12. 外部控制文件名或路徑
13. 不可信搜索路徑
14. 控制代碼生成錯(cuò)誤(代碼注入)
15. 錯(cuò)誤的資源關(guān)閉或發(fā)布
17. 不正確的初始化
18. 錯(cuò)誤計(jì)算
19. 可滲透防護(hù)
23. 隨機(jī)值的錯(cuò)誤利用
24. 濫用特權(quán)操作
25. 客戶(hù)端執(zhí)行服務(wù)器端安全
推薦大家下載并仔細(xì)研讀完整的報(bào)告,有條件的可以組織開(kāi)發(fā)團(tuán)隊(duì)和公司集中學(xué)習(xí)。這個(gè)報(bào)告相對(duì)枯燥了一些,如果你對(duì)哪些錯(cuò)誤有比較直觀的一看就懂的示例或者解釋?zhuān)瑲g迎在下面回復(fù),或者與我們聯(lián)系。
【編輯推薦】