摘要:WhiteHat Security(白帽安全)公司最近发布了研究,他们使用自动化的工具查看1700个web站点,看看安全bug的数量和建立站点使用的编程语言之间是否有任何关联。总体的结论是,没有一种语言是“最安全的”。研究表明,某些语言确实有益于结构化地编写,易于管理代码,且某些框架提供默认开启的安全控制。PHP可能名声更坏,因为它不仅被广泛地使用,而且垃圾邮件发送者们利用了许多不安全的PHP形式来发送垃圾邮件(通过邮件注入)。 |
培训你的开发人员,让他们带着安全的思维来写代码,这比起语言的选择来说更为重要。CERT(Computer Emergency Response Team,计算机应急响应团队)发现,大多数应用中的漏洞来自开发人员不断重复犯的、一些数量相对少的常见编程错误。通过消除不安全的编码,并专注于安全编码培训,你的软件开发人员可以迅速地减少或消除漏洞的数量,直到软件最终上线。你可以用因特网上的许多优秀且免费的资源和教程来发展他们(开发人员)在这个领域的技能。这个领域的领导者之一是OWASP站点(Open Web Application Security Project,开放Web应用安全项目),它提供了许多关于如何安全编码的例子。
CERT安全编码的出发点是为常用的编程语言建立安全编码标准,并促进安全编码的最佳实践。另一个提高你的开发人员安全编码技能的好资源,是微软的MSDN安全社区和编写安全代码部分。那里有许多由微软软件安全专家Michael Howard撰写的各种书,你可能感兴趣的包括“编写安全的代码(Writing Secure Code)”、“软件安全的24个致命过错(24 Deadly Sins of Software Security)”和“安全开发生命周期(The Security Development Lifecycle)”。许多涉及的主题可以应用到任何一种编程语言,并会帮助你理解如何带着安全思维来编码:那就是,正确地使用安全功能并编写能够经受攻击的代码。
如果你开始将从这些资源中学到的融合起来,并且将安全嵌入到整个应用生命周期,无论你选择使用哪种语言,但愿你的下个应用会更加强健并且能够经受攻击。
责任编辑:Lily