避免安全相关漏洞的编程指南
在软件开发领域,安全问题一直是至关重要的。编写安全的程序并非易事,它需要额外的努力和时间,而且可能会增加成本和产品上市时间。目前,很少有客户愿意为高质量的软件支付额外费用,这导致软件供应商更注重开发新功能。然而,作为开发者,我们有责任确保所编写的程序尽可能安全。
基本概念
在深入探讨编程技巧之前,我们先明确几个基本概念:
- 错误(Errors) :人类在设计和编写软件时所犯的错误。
- 故障(Faults) :程序中错误的表现形式,可能导致程序失败。
- 失败(Failures) :程序偏离其预期规格。在日常使用中,故障通常被称为漏洞(Bugs)。
我们解释这些正式术语有三个原因:
1. 提醒你,尽管代码中可能存在漏洞,但只有当它们触发失败时才会成为问题。测试的目的就是在程序投入使用并造成损害之前触发这些失败。
2. 漏洞并非突然出现在代码中,而是由于某人的错误造成的,可能是因为无知、匆忙、粗心或其他原因。最终,那些使系统受到攻击的意外漏洞是由犯错误的人造成的。
3. 几乎所有的Unix软件(以及其他一些广泛使用的操作系统的软件)都是在没有全面规范的情况下开发的。因此,你很难判断一个程序是否真的失败了。实际上,用户认为的漏洞可能是程序作者有意设计的功能。
设计原则
在编写程序时,遵循以下设计原则可以帮助我们减少安全相关的漏洞:
1. 提前精心设计 :在开始编写代码之前,要确保你清楚自己要构
超级会员免费看
订阅专栏 解锁全文
8957

被折叠的 条评论
为什么被折叠?



