通过短信的一次性密码:可能的漏洞?

信息安全 网络钓鱼 一次性密码
2021-08-16 12:57:56

是否存在可以绕过在线信用卡交易(特别是通过 Visa 验证)的 OTP(一次性密码)的可信场景?

背景:我认识的一个人通过通常的社会工程路线(我知道的愚蠢!)被骗,泄露了他的信用卡详细信息并进行了欺诈交易。银行表示输入了准确的一次性密码,因此他们的责任终止。我倾向于同意他们的观点。

受害者 OTOH 坚称,尽管他确实通过电话向网络钓鱼者提供了他的卡号、有效期和 CVV,但他从未向他们提供通过手机 SMS(短信)收到的 OTP。我觉得这很难合理化。

这就是为什么我想知道是否真的存在以某种方式破坏 OTP-SMS 保护的攻击渠道?我可以集思广益的唯一可能性是 SIM 卡克隆的一些变体。

人们怎么想?在野外知道任何这样的漏洞利用报告吗?(通常我不会相信受害者坚持说他从未透露过一次性密码,但我只是在扮演魔鬼代言人)

万一重要,Visa 验证使用通过短信发送的 4-6 位 OTP,它应该在 180 秒内过期。

4个回答

随着 SMS 的 OTP 越来越受欢迎,恶意软件窃取它的趋势也在增长。

例如,查看关于 NeverQuest 的这份报告。一旦它感染了您的计算机并窃取了您的所有其他凭据,它就会显示一个看起来非常专业的页面,显然来自您的银行,要求您下载一个应用程序。当然,它会窃取您的 OTP。

(PDF) https://devcentral.f5.com/d/neverquest-malware-analysis?download=true

如果您的朋友坚持没有要求他下载应用程序,那么可能的情况是:

  1. 他下载了一个看起来合法且需要短信阅读权限的应用程序。
  2. 该应用程序运行后,会将他的电话号码发送给诈骗者。
  3. 骗子打电话给他,询问他的详细信息。
  4. 诈骗者使用他的详细信息登录。
  5. 银行向您的朋友发送了 OTP。
  6. 该应用程序将其转发给诈骗者并从手机中删除了短信。
  7. 诈骗者使用 OTP 完成登录。

我没有听说过这种方法在使用,但是实现起来非常简单。比 Neverquest 容易得多。

如果您的朋友说的是真话,那么攻击者可以通过几种不同的方式获取代码:

  1. 如果手机是 GSM,他们可能已经克隆了他的 SIM 卡并以这种方式接收他的短信
  2. 文本消息由称为 SMS-Cs 的系统处理 - 运行软件的服务器处理位于蜂窝提供商网络中的文本消息。如果网络钓鱼者设法破解 SMS-C,他们就可以访问系统中的每条短信
  3. 他的手机被黑了——手机恶意软件本可以让网络钓鱼者访问他手机上的短信
  4. 手机上的一个应用程序使用权限泄露了信息。在 Android 上,当您安装应用程序时,它会弹出一条消息,其中包含应用程序所需的所有访问权限。提供最次要功能的应用程序有时会要求访问电子邮件、短信、联系人、照片、位置和浏览历史记录——这远远超出了他们所说的要求。如果您允许应用程序访问 SMS 消息,它将能够合法地将您发送或接收的每条 SMS 转发给第三方。大多数情况下,这样做是为了向广告商销售,但是众所周知,其中一些应用程序是由犯罪分子专门为盗窃身份和协助更广泛的犯罪而开发的。

因此,您的朋友完全有可能没有直接向犯罪分子提供短信详细信息,而是很有可能是通过他安装的应用程序间接向犯罪分子提供的。

您还应该考虑攻击者使用 IMSI 捕获器作为可能的攻击媒介来访问手机数据。

IMSI 捕捉器本质上是模仿移动电话塔以拦截电话和短信的设备。这些设备可以获取诸如国际移动用户身份以及电话和短信等信息。

政府机构和执法部门可以使用这些,但您始终可以在黑市上购买或自己建造一个(如果您知道怎么做)

IMSI 捕手劫持手机的信号,在某些情况下,截获电话和短信的内容。IMSI 捕手利用了系统内置的漏洞。使用 3G 或 4G 技术的手机可以验证手机信号塔,但使用旧 2G 系统的手机无法区分真假信号塔。

IMSI 捕捉器会阻止更智能的 3G 和 4G 信号,迫使该地区的手机切换到不安全的 2G 服务——在 2G 服务广泛的农村地区,手机也经常这样做。然后,IMSI 捕捉器会伪装成塔并“捕捉”信号。

如果它是一个四位数的密码,并且您尝试输入 3 次,那么每 10,000 次攻击中就有 3 次通过尝试随机密码而成功。这听起来并不多,但如果 10 亿左右拥有信用卡或借记卡的人中的每一个都以这种方式受到攻击,那么将有 300,000 人都在讲述你朋友的故事。