文档章节

[翻译]为什么程序员总是写不安全的代码

麦田小圈圈
 麦田小圈圈
发布于 2012/11/08 15:11
字数 482
阅读 101
收藏 0

很多程序员总是写不安全的代码,大致有以下原因:

1. 在很多学校没有计算机安全的可能,即使有计算机安全课程(原文发表时间比较久远),他们通常根本不讨论怎么写安全的代码,大部分这些安全课程都是讨论常见的加密和协议,这些确实也很重要,但是他们通常不讨论真实环境中的问题,例如缓冲区溢出,字符串格式化,输入校验,我相信这是很重要的问题之一,即使这些大学生不太可能学会怎么写安全的程序,我们仍然期望他们写出安全的程序。

2. 编程书籍或课程没有教安全编程技术,事实上,知道现在根本都没有关于编程安全的书籍。

3. 没人使用常见的验证方法。

4. C是一门不安全的语言,而且标准C库字符串函数不安全,这尤其重要,因为C语言使用很广泛。

5. 程序没有考虑到各种用户的情况。

6.程序员都是人,人都是懒惰的,因此,程序员经常使用“方便”的方式代替取安全的方式,一旦可以使用,他们就再也不修复他们(BUG)。

7.大部分程序员都很平庸不够优秀。

8.大部分程序员不是安全人员,他们通常不会像攻击者一样思考。

9.大部分计算机安全模块都是糟糕的。

10.有大量不能运行的遗留软件,修复这些软件非常困难。

11.消费者不关心安全。(已过时)

12.安全带来额外的开发时间。

13.安全带来额外的测试。

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

© 著作权归作者所有

共有 人打赏支持
麦田小圈圈

麦田小圈圈

粉丝 67
博文 6
码字总数 6021
作品 0
成都
高级程序员
【外刊IT评论】抵制代码重写

本文是从 Fight the Rewrite 这篇文章翻译而来。 昨天,一位老上级邀请我一起吃午餐。当坐在哪里等待上菜时,我们缅怀起早期这个公司的往事。他有一句话让我心里一虚: 啊,你这个判官…我记...

老枪
2011/05/09
2.6K
26
阿里内部揭秘:年薪百万程序员的十大成功要素

  1、扎实的基础   计算机领域是一个快速更新换代的领域,每隔一段时间都会有新的语言、框架、思想产生,追随每一个新技术很累。但仔细想想,事实上并没有那么多新东西。很多新东西只不过...

学习web前端
2017/12/20
0
0
最让程序员懊恼的 10 件事

10. 注释说明“是什么”,而不是“为什么” 入门级编程课程教导学生要学会频繁且尽早地注释。不可否认在学习编程的起步阶段这方法的确是相当有效的(即使看到最简单的代码行都像天书)。然而...

oschina
2014/07/25
10.7K
51
程序员都应学习代码编译器知识

所有优秀的计算机科学学院都提供了编译器课程,但是相对比较少的学校把它作为本科课程的必修部分。这篇文章回答了这个问题:为什么需要学习编译器知识?即使你从没打算过编写编译器。 我写这...

长空翱翔
2015/05/30
0
0
直播编程是如何帮我提高效率的

本文由伯乐在线 -ThinkMore 翻译,艾凌风 校稿。未经许可,禁止转载! 英文出处:noisy。欢迎加入翻译组。 我不太记得我是怎样找到 LiveCoding.tv 的了,但是我记得这个网站让我印象深刻。我...

伯乐在线
2016/08/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

咕泡-Factory设计模式笔记

个人感悟: 设计模式都是处理复杂问题的,如果问题本身很简单,使用设计模式反而累赘,增加了开发的复杂性 遇到最简单的情况,直接 new 如果创建对象的过程简单,但是需要匹配不同情况,返回...

职业搬砖20年
14分钟前
0
0
Java中的锁分类

在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏...

Funcy1122
23分钟前
0
0
Ansible随机数

想为你的Ansible剧本取一个随机数?还想在接下来的运行中保持系统的等幂性?这里有一个答案。 假如,你要为一大批服务器设置cron任务,却不想让它们同时启动,你可以这样设置分钟数: minute...

大别阿郎
32分钟前
0
0
SpringCloud之服务注册中心Eureka

本系列介绍的配置均基于 Spring Boot 2.0.1.RELEASE 版本和 Spring Cloud Finchley.SR1 服务注册中心 Spring Cloud 已经帮我们实现了服务注册中心,我们只需要很简单的几个步骤就可以完成。 ...

熊小飞呀
59分钟前
7
1
“Comparison method violates ...”异常的再现方法

前提条件:JDK8 代码: import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class Test { public stat......

hunterli
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部