(新)构建安全的数据访问——精品.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
构建安全的数据访问 更新日期: 2004年04月12日 本页内容 本模块内容 目标 适用范围 如何使用本模块 威胁与对策 设计注意事项 输入验证 SQL 注入 身份验证 授权 配置管理 敏感数据 异常管理 构建安全的数据访问组件 代码访问安全性注意事项 部署注意事项 小结 其他资源 本模块内容 数据访问是使用几个可用的 ADO.NET 数据提供程序之一从 ASP.NET Web 应用程序访问数据库的过程。 此数据库是应用程序级攻击的主要目标。应用程序级攻击用于利用数据访问代码中的漏洞并获取对数据库未授权的访问。如果所有其他攻击方法都已失效,应用程序的前门(即端口 8)将变成攻击者窃取、操纵和破坏数据的可选路径。 本模块说明如何构建安全的数据访问代码,以及如何避免常见的漏洞和缺陷。本模块提供了一系列对策和防御技术,您可以在自己的数据访问代码中使用它们来减少与数据访问有关的主要威胁。 返回页首 目标 使用本模块可以实现: ? 设计、构建和部署安全的数据访问代码。 ? 使用代码访问安全性和基于角色的安全性可以限制未经授权的调用方或代码的访问。 ? 安全地验证用户的身份。 ? 防止 SQL 注入攻击。 ? 确保数据库连接字符串的安全。 ? 使用加密机制来保护存储在数据库中的数据。 ? 确保通过网络发送到数据库以及从数据库发送的数据的安全。 ? 使用带有salt 的哈希值将密码安全地存储在数据库中。 ? 实现安全的异常处理。 ? 了解如何使用代码访问安全性,允许中等信任 Web 应用程序使用 OLE DB、Oracle 和 ODBC 数据提供程序(这些提供程序需要完全信任)。 ? 了解应使用哪些对策来解决常见的数据访问威胁,包括 SQL 注入、配置数据泄露、敏感的应用程序数据泄露、数据库架构和连接详细信息的泄露、未授权的访问和网络窃听。 返回页首 适用范围 本模块适用于下列产品和技术: ? Microsoft? Windows? 2000 Server 和 Microsoft Windows Server? 2003 ? Microsoft .NET Framework 1.1 和 ASP.NET 1.1 ? Microsoft SQL Server? 返回页首 如何使用本模块 为了充分理解本模块内容,请先阅读下列模块或与本模块结合起来阅读: ? 阅读模块 2 威胁与对策。这将使您更广泛深入地了解 Web 应用程序所面临的潜在威胁及其对策。 ? 阅读模块 4 Web 应用程序安全设计指南。在本模块中,您将了解构建安全解决方案时所面临的体系结构和设计挑战,以及构建准则。 ? 阅读模块 18 保证数据库服务器的安全。阅读模块 18 可了解如何确保数据库服务器的安全。 ? 阅读模块 7 构建安全的程序集。模块 7 中构建安全程序集和开发安全托管代码的准则和建议同样应该适用于数据访问代码 ? 使用评估模块。要在产品周期的不同阶段检查数据访问的安全性,请参见下列模块中的“Web 服务”部分:模块 5 安全性体系结构和设计审查、模块 21 代码审查以及模块 22 部署审查。 ? 使用检查表。本指南“检查表”部分中的检查表:保护数据访问包括一个便于参考的检查表。可以将此基于任务的检查表用作本模块中各个建议的摘要。 请注意,在当前版本的 .NET Framework (1.1) 中,只有 ADO.NET SQL Server 数据访问提供程序才支持部分信任调用方,并且可以安全地用在部分信任 Web 应用程序中。OLE DB、Oracle 和 ODBC ADO.NET 数据提供程序需要完全信任。 返回页首 威胁与对策 要构建安全的数据访问代码,需要了解数据访问代码中的威胁是什么、常见漏洞是如何产生的以及如何使用适当的对策来降低风险。 数据访问代码面临的主要威胁包括: ? SQL 注入 ? 配置数据的泄漏 ? 敏感应用程序数据的泄漏 ? 数据库架构和连接详细信息的泄露 ? 未授权的访问 ? 网络窃听 图 14.1 阐明了这些主要威胁。 图 14.1 数据访问代码面临的威胁和攻击 SQL 注入 SQL 注入攻击利用易受攻击的数据访问代码,并允许攻击者在数据库中执行任意命令。如果应用程序使用数据库中不受限制的帐户,由于攻击者可以更自由地执行查询和命令,因此受到的威胁会更大。 漏洞 使数据访问代码容易受到 SQL 注入攻击的常见漏洞包括: ? 弱输入验证 ? 在不使用类型安全的参数时动态构造 SQL 语句 ? 使用特权过高的数据库登录 对策 要应对 SQL 注入攻击,请务必: ? 限制和净化输入数据。

文档评论(0)

xiaofei2001128 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档