近日,一个由35个高知名度机构组成的组织对外公布了一份列有25个这种最严重编程错误的清单,这个组织的成员包括微软、赛门铁克、美国国土安全部(DHS)和国家安全局信息保障司。这个首创项目由SANS研究所和MITRE公司负责协调开展。MITRE公司是联邦政府资助的一个研发中心。
Paul Kurtz是Good Harbor咨询公司的一个合伙人,他还是“美国国家网络保护战略文件”的主要作者之一。Kurtz把这份清单称作“令人难以置信的、重要的发展。 ”
在周一上午举行的新闻发布会上,Paul Kurtz表示,不幸的是,安全界居然过了这么久才拿出了一份文件,承认常见的和长期存在的编码错误。
SANS的官员在一份声明中表示,公布这份不寻常文件的目的,是让人们把注意力集中在不安全的软件开发实践和避免这些做法的途径上。公布这份清单的目的是给软件买家、开发人员和培训项目提供一个工具,他们可以用来识别那些已知的、将会构成严重安全风险的编程错误。展望未来,这份清单将在必要的时候进行调整,以增加任何新出现的或特别危险的代码错误。
这份清单分为三大类,涵盖了各种熟知的问题。其中9个安全错误属于“程序部件之间不安全互动”。9个错误被视为“危险的资源管理”错误,其余7个错误被称为“有很多漏洞的防御”问题。
这些编码错误是根据它们发生的频率和它们所构成的安全风险的严重性评出的。
25大软件编程错误
1.输入验证不当
2.不适当的编码或输出逃逸
3. SQL查询结构维护失败( SQL注入)
4.网页结构维护失败(跨站点脚本攻击)
5.操作系统指令结构维护失败(操作系统命令注入)
6.明文传输敏感信息
7.伪造跨站点请求
8.紊乱情况
9.错误信息泄露
10.内存缓冲区边界限制失败
11.外部控制临界状态数据
12.外部控制文件名或路径
13.不可信的搜索路径
14.代码生成控制失败(代码注入)
15.代码下载没有完整性检查
16.关闭或释放资源不当
17.初始化不当
18.计算不正确
19.防御出现多个漏洞
20.使用失效的或危险的加密算法
21.硬编码(Hard-coded)密码
22.为关键资源赋予不安全的操作权限
23.使用不充分的随机值
24.采用不必要的权限进行执行
25.把服务器端的安全放在客户端执行
![]() |
Austin Liu 刘恒辉
Project Manager and Software Designer E-Mail:lzhdim@163.com Blog:https://lzhdim.cnblogs.com 欢迎收藏和转载此博客中的博文,但是请注明出处,给笔者一个与大家交流的空间。谢谢大家。 |