解释(非技术人员)泄露版本信息风险的最佳方式是什么?

信息安全 已知漏洞 数据泄露 侦察 信息收集
2021-08-27 17:26:33

我想知道最简单的方法是解释一个非技术人员(阅读:管理)为什么简单版本号的泄漏被认为是不必要的/潜在的风险,应该避免。

例如版本泄漏通过:

  1. HTTPX-Powered-By标头,
  2. HTTPServer标头和/或,
  3. 公共自述文件和变更日志文件。

有什么例子或比喻可以让这很容易解释吗?我通常不会比“泄露的版本号使攻击者更容易匹配公共漏洞数据库中已知版本的特定软件漏洞......”

4个回答

想象一个偷车贼在 2010 年到 2015 年期间专门盗取丰田普锐斯的车型。只要环顾四周,分析车型特征,他就很容易识别出这种类型的汽车。

现在让我们假设劫车者是盲人,只能通过触摸来识别车型。这将使他更难发现他专攻的汽车类型。

在第一种情况下,汽车劫匪更有可能识别并偷走更多此类汽车。

在这个比喻中:

  • 劫车者是袭击者
  • 车型为版本信息
  • 盲人劫车者是盲人攻击者

他可能更喜欢的是它的传输更少,因此从长远来看,互联网开销和数据吞吐量的成本更低(如果您像大多数云服务或 Web 服务器设置那样按总大小支付流量,从长远来看会更便宜)。

隐喻:

  • 一个锁着的保险柜 保险柜活塞和电磁阀的工作了。假设您有一个基于电磁阀的保险箱。这个保险箱上有一个特殊的锁,有一个漏洞,有人用磁铁可以打开保险箱。如果有人知道锁的型号,他们就会知道,如果他们有磁铁,他们甚至不需要猜测你的锁的密码。他们可以用磁铁打开保险箱。

  • XBox Live
    XBox 有一个问题,如果有人可以修改它们,他们就可以作弊并从商店窃取内容。可悲的是,存在克服这一问题的技术。唯一的问题是这些技术依赖于系统版本。如果您想修改 Xbox 并且没有可修改的版本,您会出去寻找可修改的版本。

这些示例类似于您的场景,其中 Xbox 是最接近的。通过该示例,您可以表明,如果您没有系统,您可以修改您会出去寻找一个。就像攻击者需要其他人的硬件来尝试匿名窃取他们需要与他们无关的服务器一样。如果他们看到一个有漏洞的网络服务器版本并接管它,他们可以很容易地用它来做非法的事情,你会受到指责,必须证明你的服务器受到了攻击,然后你会被罚款,因为你没有采取最佳实践来防止攻击。无论如何,您都会损失很多钱。

毕竟它被认为是安全最佳实践是有原因的。

要查找和利用特定于产品/版本的漏洞,攻击者必须确定产品/版本。这需要时间并且可能缺乏准确性。

也许攻击者的时间非常有限,他不想将其投入到枚举中。然后他可能会进行各种各样的攻击。它们中的大多数将无法工作,因为它们能够利用其他产品/版本的其他漏洞。这种方法缓慢而响亮。这有助于防守者。

但是如果攻击者知道目标的这些细节,并且在一个简单的横幅抓取中收集它们是非常容易的,他可能会发现一个现有的漏洞并很快启动相应的漏洞利用。

防止软件泄露此类信息通常也很快完成。并且它将大大增加攻击者的努力要求。管理员对这种硬化的无知往往只是他们懒惰的表现。

服务版本信息是广告。像 Shodan 这样的网站是 Penny Saver,它收集来自 Internet 上每个域的所有广告,黑客可以在其中浏览其页面以查找他们感兴趣的广告,他们有利用或工具的广告。一站式购物,全部免费。