用于危害检测的数据库中的假用户

信息安全 检测
2021-09-02 02:37:38

我读过一些网站*将假用户添加到他们的数据库中,然后监控他们的使用情况。这些假用户之一被使用甚至尝试登录可能意味着数据库泄露等。

这听起来像是在问题发生后检测问题的好主意,我打算自己做这件事。这实际上是个好主意吗?

使用谷歌警报等扫描网络是否有用,以获取虚假用户密码哈希和电子邮件地址,以及代码库中可能存在的唯一字符串?

*对不起,我不记得在哪里。也许是 Linode。

编辑:为清楚起见,“用户”是登录网站的人。我可以使用字典类型密码添加类似于 johnfakeuser@fakedomain.com 的用户。如果该用户已登录,则调查并重置所有用户密码等。如果只是尝试登录,那么这是一个需要进一步调查的标志,但可能只是幸运的一击。

关于 Web 监控,我可以监控 pastebin 等,并查找这些用户的密码哈希或在我的代码/数据库中其他地方找到的唯一字符串。这可能与假用户的想法无关,因为我可以只监视真正的哈希(例如低级别管理员帐户)。

4个回答

创建蜜罐是信息安全中常用的技术,尽管对于生产环境来说可能不是最好的想法。除了为应用程序添加潜在的新风险之外,可能不需要这样的陷阱。

大多数应用程序(和/或服务器守护程序)都可以监视失败的登录,这应该可以为您提供足够的洞察力,而不会使您的应用程序处于危险之中。

陈述显而易见的;蛮力攻击(不幸的是)是一种普遍现象,无论如何都可能会影响您的应用程序。

我在这个问题上的游戏有点晚了,但由于到目前为止我大多不同意这里的其他答案,所以我提出了一个新的答案。

我不同意其他答案的主要内容是:

  1. 将用户添加到数据库与创建蜜罐不同。(可能可以对蜜罐进行定义并以可以将其视为蜜罐的方式对其进行解释,但我认为这有点牵强。)假设您添加 10 个用户只是为了让您的 QA 团队用于测试。如果您注意到这些用户中的任何一个在正常测试时间之外登录,或者从非预期的 IP 登录,您将完成同样的事情,并且您肯定不会称这些 QA 用户为蜜罐。

  2. 向系统添加其他用户不会使系统更容易受到攻击。如果这是真的,那么每次新用户创建帐户时,系统都会变得更加脆弱。如果是真的,那就太可惜了!

至于将用户添加到系统是否会有所帮助,答案取决于您的应用程序实际执行的操作。如果您的用户数据库遭到入侵,攻击者更愿意拥有哪些信息:数据库中包含的信息(例如用户名/密码/电子邮件地址),还是他们更愿意访问网站?考虑:

  • 如果该站点处理银行业务,那么攻击者可能会尝试使用多个帐户登录并转移资金或收集帐户信息。(在这种情况下,“额外”用户可能有登录尝试。)
  • 如果该网站只是一个免费论坛,攻击者可能不会关心登录,而是会考虑出售电子邮件地址,或者尝试暴力破解密码哈希以猜测银行或电子商务网站的密码。这可能是最可能的情况。
  • 如果网站有攻击者想要的有趣的付费内容,他们可能会选择一个用户并使用它登录。(这不太可能是“额外”用户之一。)

因此,在第一种情况下,监控“额外”用户可能会有所帮助,但在大多数情况下可能不会。

话虽如此,如果您仍然想尝试它,也许最有效的方法是:

  1. 创建两个新的电子邮件帐户,其地址非常难以猜测,密码极其困难,然后将它们设置为转发到您经常检查的主电子邮件帐户。
  2. 在您的网站上,使用这些电子邮件地址中的每一个创建一个新用户,两个用户名都很难猜到
  3. 给其中一个用户一个非常硬的密码,给另一个用户一个简单的密码。

现在您已经完成了两件事:如果这些用户中的任何一个曾经登录过(很可能是使用简单密码的那个),那么您的数据库可能已被盗用。或者,如果您曾经收到发往其中一个帐户电子邮件地址的电子邮件,则您的数据库可能已被盗用,并且这些电子邮件地址可能已售出。

最后的想法:上面我提到了最可能的情况(攻击者试图收集用户/电子邮件/密码以在其他站点上使用),在这种情况下,他们可能永远不会登录或出售/发送垃圾邮件地址,如果是这样,不幸的是它除了监视对数据库服务器的所有访问之外,很难检测到这一点。

这对于凭据漏洞评估可能很有用,但从生产方面的角度来看,您将您的应用程序置于风险之中。这可能是攻击者可能的攻击媒介。

攻击者可能会获得对这些帐户的访问权限,并且可能会找到利用和获得管理权限或特权升级的方法。

您试图说的概念是蜜罐(监控攻击者可以做什么),但蜜罐旨在被破坏。我相信这样您就不希望您的应用程序受到损害。

应用程序强化中的 1 条规则是禁用不必要的帐户/默认帐户/访客帐户/共享帐户。

对我来说这似乎是个好主意,但需要注意的是:您需要确保它不会使您的系统更容易受到攻击。我意识到这在技术上是不可能的,因为另一个用户帐户是另一种方式,但如果您决定实施它,我建议您这样做:

  • 不要使用常见的用户名,例如 admin。这很可能会受到仅扫描的被动多主机攻击的影响。
  • 使密码疯狂,甚至不切实际地冗长和复杂,因为没有使用该帐户的意图。
  • 监视尝试的访问和成功,尽管如果成功,您会遇到更大的问题。
  • 最后,其中一个更大的问题:确保您的密码!这应该是常识,但你会感到惊讶。如果您的密码没有经过哈希处理,那么数据库泄露允许访问所有帐户。

最后一点:其他用户已经提到了尝试访问而不是成功访问如此重要的原因:如果他们可以进入,几乎可以肯定特权升级是可能的。