【问题标题】:Sensitive information in Stack TraceStack Trace 中的敏感信息
【发布时间】:2011-05-30 04:18:52
【问题描述】:

我想了解哪些可能的标准 .net 异常会导致堆栈跟踪包含敏感信息。

我的理解(如果我错了,请纠正我)如果 SQL 连接失败,则创建的异常消息将包括连接字符串,该字符串可能包括用户名和密码(如果不使用集成安全性)。

我们将异常消息记录到日志文件中,这些文件可能会被不应该看到该信息的人读取。

还有哪些例外可以包含您知道的此类信息?

有问题的应用程序使用 Web、WCF 和 DB (SQL Server)。

谢谢

【问题讨论】:

  • 我从未在来自 SQL Server 的消息中看到连接字符串。 SqlException 中的大多数消息直接来自服务器,它不知道 ADO.NET 连接字符串。
  • 我调查了一下,是的,你是对的。

标签: c# .net exception stack-trace


【解决方案1】:

就我个人而言,我不认为你正在以正确的方式解决这个问题。尝试确定其中可能包含信息的异常数量会使您面临更大的风险,因为一件物品会被遗漏,它只是发生了。

我会稍微转移一下注意力,并尝试确定您可以将它们记录在哪里成为一个安全的位置。

这里要考虑的另一个未知因素是,您可能会收到由开发人员创建的包含敏感信息的消息,而识别这些信息将非常困难。

【讨论】:

  • 我们正在研究可以记录敏感信息的大量区域,其中一个正在制定一项政策,以消除(或试图)开发人员将其注销。我只是想知道.net 框架是否在内部创建堆栈跟踪,如果我们要记录将包含信息。
  • 至于安全位置,这不取决于我们。客户不希望在日志中包含此信息,因为他们让人们查看应该看到任何密码等的日志。
  • 实际的堆栈跟踪不应该给你任何你关心的东西。因为它只包含方法名称,没有参数值。当然,这是一些风险,但不是很大。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-26
  • 1970-01-01
  • 1970-01-01
  • 2017-03-22
  • 1970-01-01
  • 2019-12-19
相关资源
最近更新 更多