捷克論壇 JKF

 找回密碼
 加入會員
搜尋
查看: 838 | 回覆: 0 | 跳轉到指定樓層
CCSUN
王子 | 2009-4-14 12:48:28

專家列出25個最危險的程式設計錯誤

文/陳曉莉 (編譯) 2009-01-13

MITRE計畫是由美國國家安全局推動及贊助,參與的還包括微軟、賽門鐵克,可謂結合了產官學的力量。

網路管理與安全機構SANS及專門承接美國政府資安計畫的MITRE號召了逾30家的全球軟體業者及美國資安相關部門的專家,在近日揭露了25個最危險的程式設計錯誤,並提醒開發人員如何避免犯下這些可能導致資安風險的失誤。

來自MITRE的該計畫經理Bob Martin表示,這25項最危險的錯誤將導致安全臭蟲而引發網路犯罪,更驚人的是,程式設計師對大多數的錯誤都不甚理解。此外,在2008年,光是其中的兩個錯誤就讓全球超過150萬個網站有安全漏洞,而且讓造訪這些網站的使用者系統可能成為僵屍電腦。

這25個最危險的程式錯誤被歸為三類,分別是元件間的不安全互動,佔了9項;危險的資源管理,亦佔了9項;多孔防禦(Porous Defenses)則佔了7項。

其中軟體安全的最大殺手則是不當的輸入驗證(Input Validation),錯誤的輸入驗證程式可讓駭客竄改並導致漏洞,採用合適的輸入驗證至少能減少現在最普遍的安全漏洞;另一個與輸入驗證相關的則是加密輸出的缺失,因為程式人員經常忘記要分開資料上的控制資訊與元資料,而讓駭客有機可趁。

在不安全的元件互動方面,常見的危險錯誤還包括未能妥善保護SQL查詢架構、網頁架構,與作業系統命令架構,傳輸機密資料時未適當加密,偽造的跨站請求,導致競賽情況(race condition)及錯誤訊息的資訊揭露等。

在危險的資源管理中常見的錯誤則包括未能確保於記憶體緩衝的範圍下執行運作、對重要狀態資訊的外部控制、對檔案名稱及路徑的外部控制、不信任的搜尋路徑、未能適當控制程式的產生、沒有完善的檢查就下載程式、未能適當移除或釋出不要的資源、沒有適當初始化資料,及變數與錯誤的運算式等。

另多孔防禦的錯誤涵蓋錯誤的存取控制、使用有瑕疵或不安全的密碼運算法則、使用可能導致無法輕易修正系統安全的固定密碼(Hard- Coded)、對重要資源的不安全權限分配.使用不足的隨機值讓駭客輕易識破規則、執行不必要的額外權限功能、讓客戶端可控制伺服器端的安全機制等。

該計畫是由美國國家安全局推動及贊助,希望可以藉由揭露最危險的程式設計錯誤,教育程式開發人員如何撰寫安全的程式,以確保商業軟體及國防資安架構的安全。參與該計畫的還包括微軟、賽門鐵克、日本的IPA,美國政府各類資安部門以及加州大學戴維斯分校、普渡大學等,可謂結合了產官學的力量。

該計畫除了列出25個最危險的程式錯誤外,另也提供了架構及設計的建議,以避免程式人員重蹈覆轍,他們並認為這些資訊的揭露將有助於企業買到更安全的軟體,而且學校也可以教導學生如何寫出安全的程式。

此外,已有軟體測試業者正在開發根據上述資訊而設計的軟體測試工具,讓應用程式開發團隊可在開發期間測試產品的安全性。(編譯/陳曉莉)

http://www.ithome.com.tw/itadm/article.php?c=53025
我回來了.
回覆 使用道具
您需要登入後才可以回覆 登入 | 加入會員

回頂部 下一篇文章 放大 正常倒序 快速回覆 回到列表