发布漏洞行为

为了保护有罪,我将避免名字…

我知道昨天晚上下了一个地方。 有点。 大约5个小时,这个asp.net网站的所有请求都产生了一个YSOD。 吐出的细节包括显示该网站在pipe理员帐户下运行并包含密码的模拟标签。 这个网站每年为10K +人提供个人信息和信用卡信息。

这里有很多明显的问题,其中最大的一个是证书暴露了5个小时。 第二个,他们已经运行这个网站与pipe理员凭据为谁知道多久。 第三,在错误情况下,他们正在向YSOD屏幕吐出。

如果您的任务是与该客户合作解决此问题,请降低风险并确定潜在危害的范围,您会build议做什么? 我想告诉他们他们需要…

  • 聘请一家外部安全咨询公司对服务器进行全面审计,请求历史logging和其他要素,以确定发生任何妥协时的级别。
  • 他们实际上应该移动到不同的服务器
  • 重build原始源代码,而不是服务器上的副本
  • 如果发现篡改证据,可以考虑通知信用卡有风险的客户

主持人表示,他们不存储信用卡号码,但我争辩说,如果犯了这么多的基本错误,你不能真正相信他们说什么。 他们可能会认为他们没有储存卡号,但这并不意味着他们不会无意中这样做。

你的任务是“与这个客户一起工作”……但是你没有说什么。 修复他们的申请? 安装新电脑? 扫地板?

如果您负责解决您提出的这个特定问题,首先应该立即将服务器置于脱机状态,然后在另一台服务器上从头开始重build。 此服务器不能再被信任 。 而且,您可以通过在旧服务器上完整保留所有内容,然后离线确定是否违规。

如果确实发生了违规事件,他们实际上可能被法律要求通知用户他们已经遭到了违规。 如果您自己缺乏资源来确定违规事件是否发生,请聘请外部顾问来确定。

这听起来,至less,他们已经在他们的web.config中有一些设置是不正确的。 它只应该在本地而不是远程抛出这些详细的错误信息。 它们也可能具有debug =“true”ON,这在生产中是不正确的。 他们的应用程序也不能再被信任

什么是YSOD?

让我先说一下我的回答,说这是基于我的解释,即违反事件已经发生,犯罪可能发生。 照这样说…

以上所有都是合适的,但是你应该把“外部安全公司”的项目移到一个事后的项目,换成“联络执法(联邦调查局?),以开始调查”。 我不是律师,但是如果不是强制性的,那么他们似乎是谨慎的,因为他们在商业交易。

他们处理但不存储信用卡号码的声明是无关的公关谈话。 如果他们处理的东西,它被放置在记忆中。 (不要紧,它可以被写入页面文件的事实…)内存中的任何东西都可以被检索,特别是在受损的系统上。 特别是如果你不相信他们的代码的质量。

这可能会有巨大的推波助澜,但这听起来似乎是正确的做法。

鉴于涉及用户的凭据,提示build议的密码重置也可能是谨慎的。

-Waldo