没有特殊访问权限的普通用户是否应该担心基于 SMS 的 2FA 在理论上可以拦截?

信息安全 多因素 短信 威胁建模
2021-08-21 13:27:35

安全专家一直在劝阻用户不要使用基于 SMS 的 2FA 系统,通常是因为担心身份验证代码可能会被攻击者通过 SIM 交换或中间人攻击截获。

我从这个声明中看到的问题是,这两种攻击在我看来基本上只对针对特定用户的攻击才真正可行,目的是破坏目标服务。就像去年破坏 Reddit 的攻击一样,Reddit 管理员的 SMS 2FA 令牌被截获。

您不能以自动方式甚至大规模进行 SIM 交换攻击(除非电话提供商存在严重问题)。一般的网络犯罪分子没有必要的资源来拦截遍布城市、国家或大陆的人们的 SMS 消息。我对此的解释是,唯一应该积极避免基于 SMS 的 2FA 系统的人是那些可能成为特定攻击目标的人,但这些人很少而且相差甚远。

考虑一个普通的 Joe,他有大约 100 个帐户,但不使用密码管理器(因此他可以重用密码)。他没有任何主要服务的特殊访问权限。他在任何地方都没有任何名人身份或特殊用户名。他是办公室里的一名普通的非管理员工,没有特殊的权限访问他的公司代码库或产品。换句话说,他不太可能成为专门针对他的攻击的目标。

在这种情况下,Joe 是否应该担心他用于 Facebook、Twitter、Google、Dropbox、Slack 和 Nest 的基于 SMS 的 2FA 存在理论上的漏洞?

4个回答

没有“没有特殊访问权限的普通用户”的真正概念从攻击者的角度来看,重点是攻击所需的努力是否小于攻击的收益。即使是“普通用户”也可能拥有加密钱包或宝贵的推特账户。有时,攻击的收益也不是那么明显,例如当一个看似不重要的目标被黑客入侵作为针对更珍贵和更好保护的目标的更大交付链攻击的第一步时。

有关成功攻击的一些示例,请参见

像许多事情一样,那里有一点点真相,但总体而言,这在实践中不是问题,而且事件的报道/感知完全不合时宜。
大多数东西,包括每几个月出现的每一个新系统,以及完全过时的所有东西,通常都是基于个人的经济利益、教条、信仰和蛇油。所以,最近,SMS-TAN 被淘汰了。世界并没有停止。

我怎么敢说这不是问题?有一些非常真实的安全漏洞!

首先,它是因素身份验证。这意味着如果标记尚未泄露其密码等(这通常是第一个因素),那么在 SMS 中发送的任何数量的 TAN 都是完全没有价值的。
如果不提供第一个因素,您甚至无法触发要发送的 SMS。如果合法帐户所有者触发了它,那么他当前正在登录过程中,即他正在进行 TLS 连接。TAN 除了针对任何一个触发它的动作外,其他任何东西都不起作用,因此它实际上并没有多大用处。

你偷听我的短信?好吧,继续吧。你会怎样做?除非你有枪,所以你可以强迫我离开键盘,或者你可以欺骗我的 IP 地址破坏 TLS 以至于你可以成功接管连接(真的,WTF?我们在谁防御这种威胁模型?),您无能为力。我的意思是,有合理的事情可以期待,也有不合理的事情。我是否需要防范 2 公里大的流星撞击我家的可能性?如果有人可以接管我的 TLS 连接,那么我遇到的问题比 SMS 可拦截更严重。

当然,除非是您首先发起了 SMS-TAN,这意味着您必须已经知道我的密码。

因此,reddit 系统管理员泄露了他的管理员密码,或者使用了一个非常糟糕的密码,以至于很容易进行社交工程。或者,其他一些完全令人恐惧的东西,无论如何。把他前一天晚上在酒吧遇到的一个女孩带到他的工作场所给她留下深刻印象,然后登录然后走开?之类的?
哇,很明显,SMS 可以被截获是问题所在!

SMS 2FA 与其他所有 2FA 相同。攻击者一旦有了第一个因素,就必须采取一些额外的障碍。虽然不多,但总比没有好。对于随机目标上的随意攻击者来说,这点额外的东西会在“可行”和“不可行”之间产生差异。例如,您可能会偶然知道我的 Google 密码,但您不知道我的电话号码(甚至我住的地方)。所以,抛开技术上的困难,你打算怎么截取我的短信呢?

2FA 会阻止坚定的攻击者进行的有针对性的攻击吗?嗯,不,它可能不会。但是会怎样?我总是可以把你女朋友绑在椅子上,让你看着我砍断手指,直到你进行身份验证。如果愿意,可以进行五因素身份验证,它不会超过两三个手指。

基于 SMS-TAN 不安全,我的银行通过 SMS 用一对完全不安全的定制应用程序替换了 TAN,这将允许发起确认交易,而无需输入密码等。Android 的生物识别 API 告诉它“是的,好的”就足够了。事实证明,面部识别很容易被欺骗。
所以,是的,这绝对通过 TLS 输入密码(存储在 Keepass 中)和通过 SMS 接收 TAN 更好、更安全,这对其他人来说毫无价值。

一个简单的事实是,发送 SMS-TAN 是要花钱的,而那个愚蠢的小应用程序不会......

“我应该担心吗?” 不是一个技术问题——你可以担心任何你想要的。出于信息安全的目的,考虑特定威胁,平衡其概率和风险与成本和不便,会更有帮助。

您可能会问的另一个问题是,SMS 2FA 是否足以缓解犯罪团队大规模获取凭据(例如,将其发布在暗网上出售)。答案是——是的,非常好。即使他们能够获得 2FA SMS 代码,它也没有任何转售价值,因为它只有几分钟的时间。因此,就犯罪网络转售凭证而言,这是一种不错的缓解措施。那是一种威胁。

另一种威胁是犯罪团队或恶意用户将您作为个人和实时目标。在那种情况下,SMS 是完全不够用的,原因我想你已经明白了。如果他们拥有必要的资源,那么获取该代码就太容易了。

话虽如此,NISTFFIECPCIISO-27001和其他形式的安全法规/合规/指导都在从 SMS 2FA 转向其他选项,这些选项随着技术的发展而变得越来越可用。但公众需要时间才能赶上。见鬼,90% 的 gmail 用户不使用任何2FA,更不用说 securID 令牌了!这就是为什么SMS 两因素身份验证并不完美,但您仍然应该使用它。.

尽管 SMS 2FA 不如 TOTP 基本 MFA 或使用硬件安全密钥(例如 yubikey)那么强大,但它仍然提供了大量的保护,以抵御试图使用弱密码或已泄露密码的典型攻击者。