【问题标题】:is .net caching sensitive data will be dangerous in manner of security or have any security issues?.net 缓存敏感数据是否会在安全方面存在危险或存在任何安全问题?
【发布时间】:2012-08-09 00:38:38
【问题描述】:

我正在使用 asp.net 4。 我想知道缓存敏感数据是否安全? 在安全方面或任何其他安全问题上是否危险?

【问题讨论】:

  • 你指的是什么缓存机制
  • 是的,比如:Cache.Add("MyCacheName", "MyValue", null, ExpDate, Cache.NoSlidingExpiration, CacheItemPriority.Default, null);

标签: c# asp.net .net web-services web


【解决方案1】:

这取决于你用它做什么。数据保存在 Web 服务器的内存中。将无法访问这些数据,除非您编写了一种方法来执行此操作,或者攻击者可以访问您的源代码并拥有对 Web 应用程序的写入权限。

【讨论】:

  • 一旦用户通过身份验证,而不是10个会话,如session("username")、session("dept")等;您建议将一个对象添加到具有所有 10 个属性的缓存中吗?例如我有一个方法:Sub [Set](key As String, data As Object, minutesToCache As CacheTimes)
【解决方案2】:

按照微软的模式并按照他们的建议进行实践

Do not cache sensitive data

如果您的服务方法包含敏感数据,例如 密码、信用卡号或帐户状态,不应该 缓存。如果敏感数据缓存在客户端机器上,它有 严重的安全隐患,因为它留下了有趣的数据 可供攻击者使用。

执行以下步骤以确保敏感数据不 缓存:

查看敏感数据的操作。查看您的所有操作 用于敏感数据的使用。这可能包括但不限于: 包含个人身份信息的信息 (PII) 或可用于派生不应与其共享的 PII users 用户提供但不想共享的信息 与来自应用程序的其他用户的信息 并非旨在与用户共享的外部可信来源 查看缓存敏感数据的操作。回顾每个如何 操作管理敏感数据并确保它不被缓存。 您可以查看三种敏感数据缓存模式 for:自定义缓存代码,例如使用 Dictionary 或 SortedList object 通过 System.Web.Caching.Cache 使用 ASP.NET 缓存。用于 企业库缓存块

【讨论】:

  • 我想在缓存中存储 guid 键和用户邮件,以识别用户如何保持登录但关闭网页,所以当他打开我的网站时,他会自动登录。这个数据是敏感的,因为如果有人有这个密钥和邮件他可以登录到这个帐户。那么将这种数据存储在缓存中是否合理?谢谢
【解决方案3】:

我倾向于缓存加密数据,并且只在请求点进行解密。最后将内存清零。

猜猜它是否以纯文本形式留在内存中,攻击者从内存转储中解决问题并不难。

【讨论】:

    【解决方案4】:

    嗯,是的。天生持有某样东西意味着不应该得到它的人有更多机会得到它。如果它很敏感,那就是新引入的危险。

    两个相关的问题是:

    1. 泄露的可能性有多大。
    2. 这有多敏感。

    缓存在内存中的东西不太可能泄露,但有可能。

    缓存在内存中并可通过会话或 cookie 访问的内容更有可能被泄露(分别劫持会话或 cookie)。

    缓存在数据库中的东西更容易被泄露(窃取文件比内存转储更容易)。

    以现实世界为例,网站具有“记住我”选项。这个可以,大多数社交网站都可以。这增加了某人获得冒充您所需数据的风险,但更糟糕的是,这可能意味着他们会四处发送垃圾邮件,直到您的帐户被禁止 - 烦人但不是世界末日。

    大多数银行网站都没有“记住我”选项。泄漏的风险同样低(如果他们在某些操作之前坚持要您确认,确实会降低),但等效数据的价值要高得多,风险已经无法接受。

    编辑:在我给出的示例中要注意一件重要的事情。 “记住您”的站点通过以某种方式记住您已登录,而不是这样做所需的用户/通行证来做到这一点(使用 OpenID 的网站甚至看不到用户/通行证)。如果您记住了一个用户/通行证,则可能会泄露在许多网站中使用的用户/通行证,而不是冒险让某人仅登录您的网站,因此风险再次高得多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-15
      • 1970-01-01
      • 2010-09-29
      • 2017-01-14
      • 2013-08-01
      • 2012-02-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多