[翻譯]爲何程序員老是寫不安全的代碼

不少程序員老是寫不安全的代碼,大體有如下緣由:html

1. 在不少學校沒有計算機安全的可能,即便有計算機安全課程(原文發表時間比較久遠),他們一般根本不討論怎麼寫安全的代碼,大部分這些安全課程都是討論常見的加密和協議,這些確實也很重要,可是他們一般不討論真實環境中的問題,例如緩衝區溢出,字符串格式化,輸入校驗,我相信這是很重要的問題之一,即便這些大學生不太可能學會怎麼寫安全的程序,咱們仍然指望他們寫出安全的程序。程序員

2. 編程書籍或課程沒有教安全編程技術,事實上,知道如今根本都沒有關於編程安全的書籍。編程

3. 沒人使用常見的驗證方法。安全

4. C是一門不安全的語言,並且標準C庫字符串函數不安全,這尤爲重要,由於C語言使用很普遍。函數

5. 程序沒有考慮到各類用戶的狀況。測試

6.程序員都是人,人都是懶惰的,所以,程序員常常使用「方便」的方式代替取安全的方式,一旦可使用,他們就不再修復他們(BUG)。加密

7.大部分程序員都很平庸不夠優秀。spa

8.大部分程序員不是安全人員,他們一般不會像攻擊者同樣思考。htm

9.大部分計算機安全模塊都是糟糕的。開發

10.有大量不能運行的遺留軟件,修復這些軟件很是困難。

11.消費者不關心安全。(已過期)

12.安全帶來額外的開發時間。

13.安全帶來額外的測試。

原文:http://www.dwheeler.com/secure-programs/Secure-Programs-HOWTO/why-write-insecure.html

相關文章
相關標籤/搜索