[转载]有关在代码中查找安全性缺陷的专家提示
信息来源:[url]http://www.microsoft.com/china/msdn/library/security/SecurityCodeReview.mspx[/url]这篇文章假设您熟悉安全性、C# 和 Visual Basic .NET
摘要
检查代码中的安全性缺陷,是软件创建过程中的一个关键要素,它与计划、设计和测试同等重要。作者经过数年的代码安全性检查总结出了标识模式和最佳做法,开发人员可以按照该总结来捕获潜在的安全漏洞。首先,要检查代码运行的环境,考虑运行代码的用户的角色,以及研究代码可能存在的任何历史安全性问题。在理解这些背景问题之后,就可以搜寻特定的安全漏洞了,包括 SQL 注入式攻击、交叉站点脚本和缓冲区溢出。此外,可以搜寻并修改某些红色标记(如变量名“password”、“secret”)和其他明显但常见的安全性错误。
我的大部分工作就是检查别人的代码,寻找安全性错误。不可否认,这并不是我的首要任务(我的首要任务是设计检查和威胁建模),但是,我的确因此而接触到了大量的代码。
希望您明白,检查其他人的代码是一件好事的同时,却并不是创建安全软件的方式。通过设计、编写、测试以及编写有关安全系统的文档,然后安排时间进行安全性检查、培训和工具使用,才可以生产出安全的软件。仅仅依靠设计、编写、测试以及编写有关项目的文档,然后寻找安全性错误并不能创建安全的软件。代码检查只是该过程的一部分,其自身不能创建安全的代码。
在本文中,我不对代码安全漏洞(例如,整数溢出攻击、SQL 注入式攻击以及缓冲区溢出)加以论述;您可以通过阅读书籍(如我撰写的 Writing Secure Code,Microsoft Press
页:
[1]