[翻译]为何程序员老是写不安全的代码

不少程序员老是写不安全的代码,大体有如下缘由: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

相关文章
相关标签/搜索