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 引擎尝试使用标准权限执行需要提升权限的任务。