Visual Studio SDK 中安全性的最佳做法

VSIP 合作伙伴应识别它们具有一个负责了解安全漏洞,以便可以创建能最佳的产品。

一个安全产品帮助保护以下操作:

  • 机密性、客户信息的完整性和可用性。

  • 托管资源的完整性和可用性受系统所有者或管理员的控件。

安全漏洞

安全漏洞是在使无法阻止攻击者的恶意事件的产品中的缺陷,因此,即使正确使用该产品。 下面是一些可能的恶意活动:

  • 获取高于这些用户计算机上的权限。

  • 接收用户计算机的操作。

  • 在用户计算机上的影响的数据。

    重要

    不要假定,应用程序在特定环境将仅运行。应用程序可能使用不需要的设置,特别是,当应用程序变为常见时。假定您的代码对恶意环境中运行和设计,编写,并相应地测试代码。

产品和系统设计和生成将安全视为一等功能相比更为可靠。安全事后再的想法。 安全产品还对媒体批评免受,构成对用户和成本更低设置为并支持并升级。

危险 API

许多人员誉为某些 API 危险。 虽然对某些功能可能会导致意外的安全漏洞,如果未正确使用它们,取缔它们的使用不一定会导致安全代码。 但是,某些软件项目。取缔很难安全使用的函数获取了安全上的可衡量的提升,它受安全开发实践之一。 有关更多信息,请参见 Microsoft Press 书籍的附录 A, “writing secure code” (由 michael howard 和 david LeBlanc。

若要了解的最重要的操作在有关危险 API 的所有讨论对于大多数安全问题从受信任输入的结果,而不足够对其进行验证。 确保跟踪数据,它进入您的代码并对操作的含义表示怀疑在该的数据。 数据,则输入是格式良好以及检查可信度,可以编写安全代码使用大部分功能。

在 (UAC) Windows vista 上的用户帐户控制

Windows Vista 将名为 " 用户帐户控制的函数, (UAC)具有安全意义 VSPackage 开发人员必须了解。 UAC 减少操作系统和应用程序的攻击的风险。 有关更多信息,请参见 开发人员最佳做法和准则应用程序在最少特权环境中

若要安装 Visual Studio 在 Windows Vista,必须具有管理员权限。 

在 UAC 下,托管用户有权和标准用户相同,直到需要管理员权限的处理请求。 请求的处理提示管理员权限的用户可以继续。 如果允许,继续,直至进程完成。 例如,向键在 HKEY_LOCAL_MACHINE 注册表项或目录 program files 文件夹需要管理员权限;在 UAC 下,需要从管理员用户的显式权限完成写入操作。

最小化提示数, UAC 提升的权限影响整个进程得到,只有在进程启动。 ,当 Windows Vista 开始,权限提升 Vspackage 的发生。 VSPackage 比 Visual Studio 和其他 Vspackage 无法运行右侧的不同级别。

在 Windows Vista 表示 UAC 之前,开发人员通常运行 Visual Studio 在管理员特权下,即使不需要它们。 因此,它们具有管理员权限的失败者仅 Vspackage。 为 true。

Visual Studio 2005 在高在 Windows Vista必须正在运行的进程。 因此,在 Vspackage 高还正在运行的进程。 但是, Visual Studio的未来版本中可能不需要提升。 在将来确定您的 Vspackage 不不必要地需要提升权限。

请注意 UAC 还会影响部署。 必须正确编写 Windows Installer 包支持 UAC。 错误地创作的包通常会导致 “访问被拒绝”错误,因为 Windows Installer 引擎尝试使用标准权限执行需要提升权限的任务。

请参见

概念

安全的最佳做法在 Vspackage

其他资源

用于创建安全应用程序的资源

安全性的基础概念