安全 API 的最佳做法

为了帮助开发安全软件,建议在开发应用程序时使用以下最佳做法。 有关详细信息,请参阅 安全开发人员中心

安全开发生命周期

安全开发生命周期 (SDL) 是一个流程,它使一系列以安全为中心的活动和可交付结果与软件开发的每个阶段保持一致。 这些活动和可交付结果包括:

  • 开发威胁模型
  • 使用代码扫描工具
  • 执行代码评审和安全测试

有关 SDL 的详细信息,请参阅 Microsoft 安全开发生命周期

威胁模型

执行威胁模型分析有助于发现代码中的潜在攻击点。 有关威胁模型分析的详细信息,请参阅 Howard, Michael and LeBlanc, David [2003], Writing Secure Code, 2d ed., ISBN 0-7356-1722-8, Microsoft Press, Redmond, Washington。 (此资源可能在某些语言和国家/地区不可用。)

Service Pack 和安全汇报

生成和测试环境应镜像目标用户群的相同级别的 Service Pack 和安全更新。 建议为属于生成和测试环境的任何 Microsoft 平台或应用程序安装最新的 Service Pack 和安全更新,并鼓励用户对完成的应用程序环境执行相同的操作。 有关 Service Pack 和安全更新的详细信息,请参阅 Microsoft Windows 更新Microsoft 安全性

授权

应创建需要最小特权的应用程序。 使用尽可能低的权限可降低恶意代码破坏计算机系统的风险。 有关以最低权限级别运行代码的详细信息,请参阅 使用特殊特权运行

更多信息

有关最佳做法的详细信息,请参阅以下主题。

主题 说明
使用特殊特权运行
讨论特权的安全影响。
避免缓冲区溢出
提供有关避免缓冲区溢出的信息。
控制流防护 (CFG)
讨论内存损坏漏洞。
创建 DACL
演示如何使用 安全描述符定义语言 (SDDL) (DACL) 创建自由访问控制列表。
处理密码
讨论使用密码的安全隐患。
如何优化 MSDN 库搜索
讨论用于在 MSDN 库上搜索安全 SDK 内容的选项。
动态访问控制开发人员扩展性
新动态访问控制解决方案的某些开发人员扩展点的基本方向。