目录
习惯 1:承担责任
习惯 2:永远不相信数据
习惯 3:模拟针对您的代码的威胁
习惯 4:始终提前一步
习惯 5:模糊!
习惯 6:不要编写不安全的代码
习惯 7:识别策略不对称
习惯 8:尽可能使用最佳工具
我非常荣幸在过去的几年中曾经与数千位出色的开发人员一起工作,他们希望了解如何编写更安全的 软件。在此期间,我也从构建安全系统方面表现出色的人员那里学到了很多东西,这使我开始思考一个问 题。我在想“安全开发人员”之间是否有共同的技能或习惯。答案是当然有!本文介绍了安全代码开发人 员之间共有的一系列习惯。
目前我可以肯定的一点是,任何看过这篇文章的人都会立即发现自己不具备的习惯。这非常好。我知 道除此以外还有其他好的想法。这里只是列出我所观察到的!因此,下面介绍的是我在这几年中注意到的 几种典型习惯。
习惯 1:承担责任
这是长期以来“没有银弹”观点的一种转变,该观点是 25 年前 Fred Brookes 在其“人月神话”一 书中提出的。能否使您的产品具有足够的安全性完全取决于您自己。其他任何人或任何出色的工具或编程 语言都无法解决所有安全隐患。不要误解我的意思,我喜欢源代码分析工具,但他们无法神奇般地修复您 的所有安全漏洞。只有您自己可以做到这一点。
只有创建安全设计和编写安全代码的开发人员才能构建出安全产品。最后,编写代码由个人完成。工 具不能取代个人完成这项工作。因此,您产品的安全性就是您的责任!Blaster 和 CodeRed 蠕虫利用的 就是个人编写的代码(参见图 1)。
图 1 有弱点的代号是人编写的
时间: 2025-01-31 02:10:19