Skip to content

搞英语 → 看世界

翻译英文优质信息和名人推特

Menu
  • 首页
  • 作者列表
  • 独立博客
  • 专业媒体
  • 名人推特
  • 邮件列表
  • 关于本站
Menu

推送通知两因素身份验证被认为是有害的

Posted on 2022-09-17

英雄形象 邪恶黑客 lain图片由 Waifu Diffusion v1.2 生成——一个邪恶的黑客在笔记本电脑上侵入五角大楼、动漫风格、黑客巢穴、无处不在的监视器、系列实验 lain、新世纪福音战士

Sooooo优步被弹出了。黑客内部的谣言工厂正在制造大量的scuttlebutt,但出现了一些我以前见过的东西,让我采取了一种激进的新立场。我希望在这篇文章中解释它,供大家学习。快来和我和Cendyne一起踏上这神奇的旅程吧!

tl;博士

Numa 被删除
< Numa > tl;dr:推送通知双因素身份验证是产生警报疲劳的好方法,特别是因为威胁参与者可以一遍又一遍地发送垃圾邮件提示,直到员工接受使其停止。

您应该真正使用WebAuthn作为您的双因素身份验证解决方案,并使用 Yubikeys 等专用安全硬件或烧入大多数公司拥有的设备的安全芯片。终于,Stallman 所说的将彻底摧毁 Linux 的mangment 引擎有了一个很好的用途!

身份验证对人类来说是一个难题。对电脑来说更难。但总的来说,我们可以使用三种方法或“因素”来进行身份验证:

  • 你是什​​么,比如视网膜或指纹扫描
  • 你知道的东西,比如密码
  • 您拥有的东西,例如支持基于推送通知的双因素身份验证的硬件双因素身份验证令牌或身份验证应用程序

大多数情况下,您不会看到登录 Facebook 所需的视网膜和指纹扫描。对于很多人来说,通常只是任何人之间的一个密码,他们的整个声誉就被破坏了。努力尝试将硬件身份验证令牌交到尽可能多的人手中,但与使用密码的“简单性”相比,这些确实是糟糕的 UX(用户体验)。我怀疑我能否向祖母解释如何使用 yubikey。更不用说如何使用 TOTP 代码生成器了。

卡迪是咖啡
< Cadey > 我想强调一下,我不是安全工程师,我只是互联网上的一个随机的人,厌倦了因为有人上当而搞砸的一切。

我认为给公司的每个人发一个Yubikey并让每个内部系统都使用它会是一个更好的选择。我认为这是因为网络钓鱼的核心问题:当您不那么警惕时,它的效果最好。许多两因素身份验证机制因其工作方式而易于进行网络钓鱼。以下是我对一些常见问题的愤世嫉俗的想法。

Cendyne 是 snoot
< Cendyne > 你好!我也会为这篇文章做出贡献。事实上,谷歌与 Yubikey 合作为所有员工和承包商部署了安全密钥,他们通过迁移到安全密钥将安全事件减少了十倍。您可以在Google 使用 YubiKey 消除帐户接管中找到更多信息。

TOTP 代码

许多在线服务支持TOTP 代码生成作为双因素身份验证机制。这些通过在客户端和服务器之间共享一个秘密值来工作。双方都接受这个秘密,输入当前时间,然后生成一个六位数的密码。

Cendyne 是笔记本电脑思维
< Cendyne > 当您在服务上注册 TOTP 时,服务器可能会在生成共享密钥(参见RFC6238 )时更改一些默认值,例如使用什么哈希函数以及代码应该多长。这些代码通常可以容忍时间差异,因此对于给定的共享密钥,多个代码在同一点有效。

但是,当您是计算机时,六位数是一个非常小的搜索空间。最大的问题是运气好,这实际上是百万分之一的机会。事实证明,如果您小心,并且远程服务没有对​​身份验证尝试进行限制或速率限制,您可以在大约 2 小时内暴力破解 TOTP 代码。

Numa 被删除
< Numa > 猜猜大多数服务没有大声笑。
卡迪是捂脸
<凯迪> 你一定是在开玩笑。老实说,说真的,你一定是在跟我开玩笑。
Cendyne很恐慌2
< Cendyne > 账户特定速率限制是不够的!攻击者可以一次从多个 IP 地址追踪多个帐户并进入其中的任何一个。大多数情况下,用户在输入密码后输入 TOTP。考虑在五次后续代码尝试失败后强制重置密码。

更不用说,TOTP 代码的工作方式基本上意味着攻击者可以轻松地在防弹主机上托管的网络钓鱼站点上创建与您的身份验证设置相同的流程,然后以这种方式嗅探凭据。一旦网络钓鱼者获得了您的密码和 TOTP 代码,他们就可以使用它并将您重定向到实际的登录表单,让您认为它失败了,您需要再试一次。该协议实际上可以相对轻松地实现网络钓鱼。令人恐惧的是,这是 Discord 和 Twitter 用户的最佳安全实践。

卡迪是咖啡
< Cadey > 甚至不要让我开始谈论基于 SMS 的两因素身份验证之类的事情有多混乱。他们在后端为他们使用 OTP 代码,然后通过最有可能受到网络钓鱼支持的一个运营商渠道发送它们,以便让攻击者拦截这些代码。一团糟。我很惊讶它一开始就被允许发生。 2010 年初是狂野的。
Cendyne 不赞成
< Cendyne > 现在是 2022 年,这仍然是一件事。我认为许多用户和开发人员都习惯于认为这是一个安全的实现,因为每个人都还在做 SMS OTP。
Cendyne 是 stonks
< Cendyne > 我们花了数年时间将用户的期望转变为独特的密码、社交登录和单点登录。一些大公司在认识到共享密码带来的风险后,以身作则,引领行业。其他抵制时尚和时尚变化的人会响应 PCI-DSS 等监管和行业标准。至少这些行业标准包括密码管理培训(即使其中一些很糟糕,比如不断地轮换密码)。
Cendyne 是 gimme2
< Cendyne > 我们可能会看到更多地采用网络钓鱼防护技术,因为它价格便宜、可广泛使用并且是行业标准或法规的一部分。大多数手机都带有可信平台模块 (TPM) 芯片或安全飞地。自 2020 年以来,Mac 拥有一个安全飞地。Windows 11 现在默认需要 TPM。所以我相信平台支持会在一两年内被考虑提供给大众。
卡迪是咖啡
< Cadey > 在那之前,我们继续看到越来越多的关于凭据被盗给公司造成无法估量的损失的报告。无论是名誉上还是财务上。不应该让一家公司几乎被黑客入侵来改善世界的安全状态,但有时这就是认真对待它所需要的。我真的很讨厌这种情况。

Yubikey出版社

Yubikey 内置了多种身份验证方法。其中一种是传统的身份验证方法,它使 yubikey 伪装成键盘,并根据烧录在设备固件中的私钥输入复杂的长代码。这也可以被钓鱼。这是过去工作中任何员工和任意用户帐户之间的主要障碍。你有一个公司发行的 yubikey,你必须使用 yubikey 来进入管理面板的安全区域。

这也是可钓鱼的,例如 twitter 上的shitposters:

为了纪念 Uber 的违规行为,现在是 yubikey 新闻发布的时候了!

vvccccfrjcfnkkncrcuujlhktiredllitinttnkuddrh

— Xe Iaso | @[email protected] (@theprincessxena) 2022 年 9 月 16 日

玛拉是笏
< Mara > 等等,人们为此而堕落?哇靠。
卡迪是咖啡
< Cadey > 显然人们称之为“yubisneeze”。它发生的频率比你想象的要多。我真的希望shitpost 没有导致任何人的生产环境被破坏。如果这真的被添加到任何安全培训指南中,那就太搞笑了。您可以按照 Yubico 的本指南禁用 OTP 界面。
Cendyne 是胃灼热
< Cendyne > 查看 Yubico解释的 OTP。 “yubisneeze”中有几条信息,例如防止重播的计数器。但是,它不包含时间。作为一个永恒的代币,它可能会在未来被刮掉并在其他地方静默提交。唯一的缓解措施是立即使用 Yubico 验证更新的令牌。 Yubikey OTP 在技术上很有趣,但我不相信他们会提高与其专有实施成比例的安全标准。
Numa 被删除
<努马> vvccccfrjcfnncggttgrbgnevtrfcljdrrkntttcgrun!

因此,在保护生产访问权方面,这些都是不可能的。所有类似的基于代码的双因素身份验证方法都存在相同的钓鱼问题。

通知疲劳即服务

进行双重身份验证的另一种常见方法是让用户登录移动应用程序。之后,当您在计算机上登录时,它会向您的手机发送推送通知。然后您接受身份验证,您可以将您的 Minecraft 种子发布到 Facebook 市场或其他任何地方。

谷歌和 Facebook 将这些作为两因素身份验证方法提供。这意味着地球上很大一部分人可能会使用这种身份验证方法。它在实践中非常不安全,但让人们认为它是安全的。我的意思是,你相信你的手机,对吧?

Apple 是另一个例子,但它们不是使用您的 iCloud 帐户连接到桌面和移动操作系统的应用程序。不过,Apple 需要手动将代码中继到另一台设备,这使得这些代码更难以意外接受。没有什么是网络钓鱼准备工作无法解决的。

Numa 被删除
< Numa > 代码是蹩脚的,但它是未来!现在每个人都有手机!人们信任他们的手机。难道我们不能让计算机向一个人的手机发出通知,以便他们使用它来进行身份验证,而不必输入代码吗?
玛拉是嗯
< Mara > 等等,这整个“发送推送通知”不是可滥用的吗?难道一个黑客不能一遍又一遍地发送十亿个推送通知,直到可怜的用户点击接受来阻止它?

据称,这就是优步黑客所做的。当可怜的受害者试图睡觉时,他们一遍又一遍地向两个因素身份验证通知发送垃圾邮件一个小时。你知道,当你本能地放松警惕时,你更有可能本能地采取行动让噪音箱闭嘴。老实说,作为一名信息安全专业人士,我几乎不得不承认这种攻击方法,尤其是他们在 WhatsApp 上假装是 IT 向该人发送消息说他们需要批准请求以确保访问其帐户的请求。它很巧妙,我可能会爱上它。

也许我们应该考虑这整个两因素身份验证机制对实现安全目标有害。对于高管来说,这看起来令人印象深刻,他们通常出于某种原因做出有关安全产品的决定。

Cendyne 是拿我的钱
< Cendyne > 有很多钱在没有提供最基本意义上的安全软件的安全供应商周围晃来晃去。例如, CVE-2022-1388允许任何人在公共防火墙产品上运行 shell 命令。真正的钱似乎是在出售“安全”而不是提供安全。
Numa 被删除
< Numa > 你可能会在安全场景中出售真正的蛇油而大赚一笔!如此多的东西似乎以安全的名义增加了戏剧性和不便”。这很可笑,但同样的事情会导致警报疲劳,作为一种服务开始。
Cendyne 喘不过气来
< Cendyne > 你让我到了那里。最有效的代码是根本不存在的代码。

所以你可能想知道这样的事情:

玛拉是嗯
< Mara > 我们甚至可以做些什么来使身份验证更安全?推送通知使人们遭受警报疲劳。基于代码的解决方案可能会被钓鱼。今天我们可以用什么来帮助解决这个问题?

我不确定这里最好的解决方案是什么,但我可以提出一些我认为有助于减少伤害的建议: Webauthn 。

卡迪是咖啡
< Cadey > 请注意,我们有意专注于我们今天可以做的事情,因为今天就是我们所拥有的。明天还不存在。
Cendyne 是哇
< Cendyne > “明天”我们很可能会看到密码取代 yubikey 和其他漫游硬件令牌。 Apple Passkeys和 Google FIDO 身份验证即将推出,让您的手机将您的计算机作为第二个因素进行身份验证。如果您想了解更多信息,请查看以 Adam Langley 为主角的播客 Passkeys 。
Cendyne很惊讶——皮卡丘
< Cendyne > 但是,呃……祝你现在批量购买任何硬件令牌好运。优步事件发生后,许多人正在清空 Yubico 的股票。

网络认证

WebAuthn是一种使用硬件设备通过所有权证明对用户进行身份验证的协议。基本思想是你有一个包含私钥的某种硬件安全模块(例如 iPhone 的 Secure Enclave 或 Yubikey),然后服务器根据设备的公钥验证签名以验证会话。它还被设置为不可能发动网络钓鱼攻击,每个 WebAuthn 注册都绑定到它设置的域。 xeiaso.net的密钥对不能用于向evil-xeiaso.net进行身份验证。

用户体验很棒。网站向身份验证 API 发出请求,然后浏览器以 Web 技术无法复制的方式生成身份验证窗口。浏览器本身会询问您要使用什么身份验证器(通常这可以让您在嵌入式硬件安全模块或 USB 安全密钥之间进行选择),然后从那里继续。网络钓鱼是不可能的。即使复制了视觉样式,身份验证器也不会对浏览器进行身份验证!

英雄形象博客/webauthn-test

由于浏览器可能不知道用户想要哪个验证器,它会提示用户输入平台验证器或漫游验证器,如 Yubikey。平台身份验证器将 Face ID、Touch ID 或 Windows Hello 等生物识别技术与受信任的平台模块或安全飞地结合起来进行身份验证。虽然漫游身份验证器可能需要存在测试和可选的 PIN 码。这个额外的步骤还可以保护用户的隐私免受任何路过的客户呼叫。验证生物特征或 PIN 时,服务器会收到用户已验证的标志。生物特征和 PIN 数据不会发送到服务器。没有 PIN 码的标准 yubikey 将显示为未经验证。

玛拉很开心
< Mara > 要了解有关 WebAuthn 的更多信息,我建议查看 BlackHat 演讲“Demystifying WebAuthn” (幻灯片)。它将帮助您了解它的工作原理。

继续努力使 WebAuthn 更容易和更好地使用。 Apple 最近发布了带有 iOS 16 的Passkeys ,它允许您将 iPhone 用作任何其他设备(包括 iPad 和 Windows 机器)的硬件验证器。这有效地将您的 iPhone 的 Secure Enclave 变成了您在其他机器上使用的漫游安全密钥,为您提供两全其美的体验。您可以从 Apple 业界领先的设备安全处理器中受益,并且还可以在您的其他机器上使用它。 WebAuthn 的所有现有保证都被继承,包括每个 WebAuthn 凭证都绑定到一个网站这一事实。今天,您可以在 Chrome 中选择“添加新的 Android 手机”并使用您的 iOS 设备进行扫描。Safari 还没有赶上,我们期待稍后。

Cendyne 万岁
< Cendyne > WebAuthn 对抗网络钓鱼的优势建立在原始绑定之上,即用户浏览器看到的任何内容,因为网站就是验证者看到的内容。另一个网站?另一把钥匙!一个站点的 WebAuthn 身份验证不能在另一个站点上使用,因为源(站点域)绑定到身份验证器使用的密钥!不仅如此,用户也是!
Cendyne 猜我会死
< Cendyne > 虽然如果网站在认证时没有绑定用户名(或使用虚拟用户名),你会在用户之间发生冲突。

总之,用于身份验证的推送通知应该被认为是有害的。你不应该使用它们,你应该优先考虑转向硬件身份验证令牌,例如 Yubikeys。这样做的硬件和培训成本是值得的。


玛拉是黑客
<玛拉> 这部分文章是可选的。

作为奖励,这是 web3 人得到这种事情的一种方式,它比错误更正确。他们使用以太坊密码系统作为身份验证因素。

EIP-4361:使用以太坊登录

WebAuthn 是一种协议,您可以在其中获得硬件元素来签署消息以证明您拥有相关密钥对,并允许通过“您拥有的东西”流程进行身份验证。在以太坊和其他区块链生态系统中,每个人都有一个密钥对,用于签署诸如“将 NFT 转移到另一个地址”或“向该地址发送一些钱”等指令的消息。这足以让您构建一个身份验证因素。这个身份验证因素的强度……值得怀疑,但通过符合EIP-4361 ,您可以将以太坊密钥对转换为 Web 应用程序的身份验证因素。这将连接到带有 WalletConnect 的硬件钱包或带有MetaMask等浏览器扩展的软件钱包。这与 WebAuthn 的工作方式非常相似,但具有以下核心原则:

  • 身份验证是通过确认用户有权访问私钥来签署使用公钥验证的消息来完成的,很像 WebAuthn。
  • 钱包应用程序会向您显示您尝试进行身份验证的网站的 URL,并且无法轻松伪造。
  • 生成新的以太坊密钥对是免费的,任何人都可以这样做,而无需购买硬件来充当密钥托管。
玛拉是黑客
< Mara > 最后一点很重要,因为对密码学的出口限制会使俄罗斯等国家的人们很难购买 FIDO2 密钥。密码学在法律上不再被视为弹药,但它的威力足以让政府人员停下来。例如,OpenBSD 位于加拿大以外,以防美国有关密码学的出口法律再次相关。

但是由于所有这些的实现,它具有以下弱点:

  • 没有协议级别的方法可以告诉用户正在使用哪种安全元素(如果有的话)。有几种不同类型的硬件“冷钱包”,最常用的策略之一是制作一个“热钱包”,它只是由 MetaMask 等浏览器扩展管理的密钥对。
  • 在许多 web3 应用程序中,以太坊密钥对是唯一的身份验证因素。这意味着,如果有人设法以某种方式访问​​您的密钥对或恢复短语,他们就可以窃取您的猿猴,如果不尝试与威胁参与者协商,您就无法将其取回。
  • 提取以太坊地址的私钥被认为是一项安全功能,鼓励人们将他们的私钥写在纸上并将其存储在安全的地方。许多以太坊空间事物的首次用户体验将迫使您通过询问您它是什么来写下恢复短语,我只能想象有多少人正在使用真正安全的机制这样做。有一些有趣的产品可以用来做一些事情,比如把你的种子短语打入金属,这样你就可以把那个金属物体放在保险箱里。
  • 这是通过浏览器扩展实现的,而不是正确嵌入操作系统本身,这意味着理论上可以进行网络钓鱼,但在实践中看起来非常困难。
玛拉是黑客
< Mara > 值得注意的是,有多重签名合约钱包这样的东西,钱包本身就是区块链中的智能合约。一个例子是Safe ,我被告知它是使用最广泛的实现。这使您可以使用额外的方法来确保 m-of-n 私钥签署消息,而不是仅仅用一把钥匙将所有鸡蛋放在一个篮子里。这样做确实意味着您每次登录时都必须支付汽油费,执行智能合约并不是免费的。
卡迪是咖啡
< Cadey > 老实说,我不确定这一切是否值得,但至少它是值得的,而且它已深深嵌入到生态系统中,可以在多个网站上进行得体。涉及到很多 UX 缺陷,但其中很多都是事后将某些东西移植到浏览器上的特有​​现象。然而,它是某种东西,它不仅仅是一个 TOTP 代码。
尼玛很开心
< Numa > 不过,您可以使用其中一个精美的硬件比特币钱包作为 WebAuthn 凭证!

原文: https://xeiaso.net/blog/push-2fa-considered-harmful

本站文章系自动翻译,站长会周期检查,如果有不当内容,请点此留言,非常感谢。
  • Abhinav
  • Abigail Pain
  • Adam Fortuna
  • Alberto Gallego
  • Alex Wlchan
  • Answer.AI
  • Arne Bahlo
  • Ben Carlson
  • Ben Kuhn
  • Bert Hubert
  • Bits about Money
  • Brian Krebs
  • ByteByteGo
  • Chip Huyen
  • Chips and Cheese
  • Christopher Butler
  • Colin Percival
  • Cool Infographics
  • Dan Sinker
  • David Walsh
  • Dmitry Dolzhenko
  • Dustin Curtis
  • Elad Gil
  • Ellie Huxtable
  • Ethan Marcotte
  • Exponential View
  • FAIL Blog
  • Founder Weekly
  • Geoffrey Huntley
  • Geoffrey Litt
  • Greg Mankiw
  • Henrique Dias
  • Hypercritical
  • IEEE Spectrum
  • Investment Talk
  • Jaz
  • Jeff Geerling
  • Jonas Hietala
  • Josh Comeau
  • Lenny Rachitsky
  • Liz Danzico
  • Lou Plummer
  • Luke Wroblewski
  • Matt Baer
  • Matt Stoller
  • Matthias Endler
  • Mert Bulan
  • Mostly metrics
  • News Letter
  • NextDraft
  • Non_Interactive
  • Not Boring
  • One Useful Thing
  • Phil Eaton
  • Product Market Fit
  • Readwise
  • ReedyBear
  • Robert Heaton
  • Ruben Schade
  • Sage Economics
  • Sam Altman
  • Sam Rose
  • selfh.st
  • Shtetl-Optimized
  • Simon schreibt
  • Slashdot
  • Small Good Things
  • Taylor Troesh
  • Telegram Blog
  • The Macro Compass
  • The Pomp Letter
  • thesephist
  • Thinking Deep & Wide
  • Tim Kellogg
  • Understanding AI
  • 英文媒体
  • 英文推特
  • 英文独立博客
©2025 搞英语 → 看世界 | Design: Newspaperly WordPress Theme