图书前言

前  言

本书起源于一个有趣的偶然事件。其实原因是,全球极负盛名的KnowBe4 公司的合伙人兼首席攻击方官Kevin Mitnick 曾做过一次公开演讲,Kevin 在演讲中展示了如何通过一个简单的网络钓鱼电子邮件轻松“破解”双因素身份验证技术。Kevin 比Roger 出名得多,成千上万的人观看了Kevin 的攻击演示。很多观众给Kevin 写信,询问关于这次演示的内容的更多细节。

很多参与本次演讲的观众写信要求采访Kevin,Kevin 抽不开身;于是,KnowBe4公关团队询问同在 KnowBe4 工作的Roger 能否伸出援手,替Kevin 回答部分问题。

Roger 在破解不同的MFA 解决方案方面有几十年的经验,Roger 很荣幸遇到这样一个机会。习惯于报道计算机安全话题的记者经常问,KnowBe4 是否已向MITRE CVE(通用漏洞披露列表,网址是[1])报告了Kevin 利用的漏洞。CVE 用于列出和跟踪大多数新的或旧的网络安全漏洞。当安全专家发现了一个全新漏洞时,通常会向CVE 报告,并附上相关细节。在网络安全领域,大多数安全专家都会跟踪CVE 列表,查看发现了什么新漏洞,斟酌是否真的需要担心该漏洞。

Roger 会心一笑。Kevin 演示的攻击方式(称为会话Cookie 劫持,本书第6 章中有介绍)已存在了几十年,并非新鲜事物,事实上是最常见的网络攻击形式之一。有几十种免费的攻击工具可帮助攻击方完成该攻击,30 年来会话Cookie 劫持很可能已用来接管了数百万个用户账户。从20 世纪90 年代末开始,会话Cookie 劫持已用于接管数千个受双因素身份验证保护的账户,这并非新的攻击手段。

令Roger 惊讶的是,当Roger 与熟识的记者和计算机安全专家交谈时,大多数人都认为会话Cookie 劫持是一种新的攻击手段。Roger 的父母和其他普通人都不知道会话Cookie 劫持其实并非什么新鲜事物,但Roger 很惊讶于即便是知识渊博、经验丰富的计算机安全专家竟然也不知道这一点。

Roger 还感到惊讶的是,许多与Roger 交谈过的人士都认为这次攻击是由LinkedIn(Kevin 在演示中使用的网站)的特有漏洞造成的。但事实并非如此,Kevin 所展示的手段可用来攻击成百上千的热门网站;对LinkedIn 来说,这并非是一个必须修复的缺陷。这是针对一种十分常见的MFA 形式及其工作原理的攻击。没有特定补丁来修复上述缺陷。可更新所使用的MFA 解决方案,来防止Kevin 演示的特定类型的攻击手段。任何MFA 方法都可能遭到攻击方破解。

Roger 知道至少有10 种方法可破解不同形式的MFA 的技术,与Roger 交流过的人感到非常震惊。因此,Roger 决定通过CSOOnline 开辟一个关于破解不同形式的MFA 的专栏(见[2]),那时Roger 是个作家。2018 年5 月Roger 完成了该专栏(见[3]),Roger 想出了11 种破解MFA 的方法。

Roger 和KnowBe4 的首席执行官Stu Sjouwerman 分享Roger 个人专栏的内容时,Stu 明智地建议Roger 就破解MFA 话题做一个报告,然后开始演讲。几天内,Roger完成了一份新的演示文稿,名为“12 种战胜MFA 的方法” (见[4])。随着研究和思考的深入,Roger 几乎每周都能想出破解MFA 的新方法。

时至今日,Roger 已发现了超过50 种破解MFA 的方法,本书中分享了Roger 知道的所有方法。最初的报告变成一份长长的白皮书。在KnowBe4,白皮书的平均篇幅是3~5 页;而Roger 的白皮书是20 页。这是KnowBe4 历史上最长的白皮书,很快成了办公室里流传开来的笑谈,Roger 至今还拿这件事开玩笑。Roger 分享说,Roger最初起草了一个40 页的草稿,这20 页是Roger 在同事们的指责下删减后的版本。后来又出现了40 页的电子书(见[5])。

Roger 开始在世界各地做演讲,包括在最大的计算机安全会议RSA 和Black Hat上演讲。在这两个会场上,参会者排起长龙,挤满了过道,一些人只能站立参会,试图听到一些关于攻击方式的讨论。Roger 最初的12 种击败MFA 的方法如此之长,以至于Roger 不得不只选择其中的五分之一与观众分享,不过,Kevin 最初的MFA 攻击方演示仍然是大众最喜欢的(Roger 在本书中提供了该演示的网址)。

Jim Minatel 是Roger 的老朋友,也是Wiley 的策划编辑,Jim 来观摩Roger 在RSA的演讲,会议上Jim 看到了充满热情的人群。Roger 做报告时正好生病了,病得不轻。

事实上,Roger 在报告的第二天就因为一种可能危及生命的严重疾病住院治疗了一周。

Roger 觉得自己在介绍技术资料方面做得很糟糕,希望将来能加以完善和改进。Jim看到求知若渴的人群,体会到技术资料表现出的能量,于是问Roger 是否愿意写一本关于MFA 主题的书籍。午饭时Roger 答应了,这就是本书。最棒的是,Roger 用了数百页的篇幅来分享所知道的关于MFA 的一切。即便如此,Roger 相信在这个问题上还可编写几本同样篇幅的书籍。MFA 及其弱点有很多。事实上,就连本书也只介绍了皮毛。Roger 希望所有安全专家都能更好地理解MFA 的优缺点,并希望MFA 研发团队能创建更好、更安全的解决方案。

本书的最终目标是阐明所有MFA 解决方案的安全性和弱点。如果用户只知道MFA 解决方案的好处而不知道其风险,那么很可能在没有适当的策略、控制措施和培训的情况下实施MFA 解决方案。本书是对一些MFA 供应商过度狂热的营销的一种回击。MFA 解决方案可显著降低许多形式的网络安全风险,但并非包治百病的灵丹妙药,也不意味着安全专家可丢掉以前学到的所有计算机安全经验。如果用户对MFA 能做什么和不能做什么有了恰当的理解,并适当地改变其实践和控制措施,Roger的工作就完成了。

本书读者对象

本书主要面向负责或管理组织的计算机安全(特别是登录身份验证)的安全专家。

本书适用于任何第一次乃至第十次考虑审查、购买或使用MFA 的人士。本书适用于提供MFA 解决方案的研发团队和供应商。在本书之前,还没有一个地方可让任何人(无论是客户还是供应商)去了解攻击方对MFA 的常见攻击方法。尽管本书未涵盖所有的攻击方法、防御和警告,但本书已经竭尽所能了。

本书主要面向那些听说过MFA 的重大安全承诺,但在某种程度上这些供应商的承诺等同于一个更大谎言的人员。例如,有的供应商声称,使用MFA 意味着“我不会遭到攻击方的攻击!”没有比这更离谱的了。当有人试图说服安全专家们使用MFA意味着不必再担心攻击方的攻击时,本书就是给予的反证。那种说法不是真的,永远也不会是真的。

本书也打消了安全专家们想要一套100%安全解决方案的天真想法。没有100%安全的解决方案!社会需要一个影响最小的安全解决方案,并提供“刚刚好”的保护。

这是一个残酷的现实,管理者和研发团队都在计算机安全产品的市场中学到了这一点。一些自称最好的、真正安全的计算机产品实际上只有几家公司会购买,最终变成一堆闲置的产品。

这不禁让人想起1992 年的电影A Few Good Men 中Jack Nicholson 扮演的上校Nathan Jessup 的名言:“你无法驾驭真相!”我们必须面对一个残酷事实:不求固若金汤,但求风险可控。

本书涵盖的内容

本书包含25 章,分为三部分。

第I 部分:MFA 简介 第I 部分讨论身份验证的基础知识和MFA 试图解决的问题,包括安全专家需要了解的背景事实,以了解为什么MFA 是受欢迎的身份验证解决方案以及MFA 是如何遭到攻击的。

第1 章:登录问题 第1 章介绍MFA 试图解决的核心问题。MFA 并不是突然出现的。口令和单因素解决方案经常失败,因此出现了更好的和改进的身份验证解决方案。你将从中了解到MFA 试图解决的问题。

第2 章:身份验证基础 身份验证不是一个流程,而是一系列相互连接的进程,包括许多不同的组件。任何步骤和组件都可能遭到攻击。要了解MFA 是如何遭到攻击的,首先必须了解身份验证是如何在MFA 参与或不参与的情况下工作的。第2 章提供了这个基础。

第3 章:身份验证类型 第3 章介绍几十种身份验证类型,描述各种身份验证之间的区别,并分析每种解决方案固有的优势和弱点。

第4 章:易用性与安全性 始终需要在用户友好性和安全性之间进行权衡。MFA也不例外。最终用户通常难以容忍最安全的选项。第4 章讨论良好安全性的基本挑战。

实际上,即使是良好的安全性,若过于繁重,也会变成糟糕的安全实践。最佳安全选项是在易用性和安全性之间取得良好的权衡。找出什么条件下会越过该平衡线。

第II 部分:MFA 攻击 该部分涵盖非法入侵和攻击MFA 解决方案的各种常用方法。每章都详细介绍各种攻击的缓解措施和防御措施。

第5 章:攻击MFA 的常见方法 该章首先解释入侵MFA 的高级方法,并总结各种技术。每种MFA 解决方案都易受到多种攻击,第II 部分其余章节将对此开展介绍。

第6 章:访问控制令牌的技巧 该章首先详细讨论最流行的、长达数十年的MFA攻击方法之一:破坏产生的访问控制令牌。该章展示了访问控制令牌遭到破坏的多种方式。

第7 章:终端攻击 一个遭到破坏的设备或计算机可能受到数百种不同的攻击,包括绕过或劫持MFA 解决方案。遭到破坏的终端是不可信的。该章讨论几种流行的终端攻击方式。

第8 章:SMS 攻击 该章介绍多种SMS(Short Message Service,短消息服务)攻击,包括SIM(Subscriber Identity Module,用户识别模块)攻击。多年来,美国政府一直表示,SMS 不应该用于强身份验证,然而Internet 上最常见的MFA 解决方案都涉及SMS。了解为什么不应该这样。

第9 章:一次性口令攻击 一次性口令(One-time Password,OTP)是最流行的MFA 解决方案之一,OTP 解决方案很好,但并非不可破解。该章介绍各类OTP 解决方案以及如何破解OTP 解决方案。

第10 章:主体劫持攻击 与本书中描述的其他大多数MFA 攻击不同,主体劫持攻击不是很流行。事实上,主体劫持攻击并非故意在一次公开攻击中完成的。尽管如此,主体劫持攻击是可以取得成功的,了解这些攻击的原理以及如何完成这些攻击是很重要的一课。该章详述一种针对全球最流行的企业身份验证平台的主体劫持攻击,安全专家们可能永远担心该种攻击。

第11 章:虚假身份验证攻击 该章介绍一种针对MFA 解决方案的攻击,可成功破解大多数MFA 解决方案。该攻击涉及将最终用户带到一个伪造的网页,并伪造整个身份验证交易,接受最终用户输入或提供的任何内容,使得用户认为是成功的。

你可通过阅读该章来了解如何防止虚假身份验证攻击。

第12 章:社交工程攻击 社交工程攻击是所有攻击方法中最具恶意的入侵。社交工程可用来绕过任何MFA 解决方案。该章介绍多种针对主流MFA 解决方案的社交工程攻击方法。

第13 章:降级/恢复攻击 大多数主流MFA 解决方案都允许在主MFA 方法出现故障的情况下使用安全性较低的方法来恢复关联账户。该章讲述如何使用降级/恢复攻击来绕过和禁用合法的MFA 解决方案。

第14 章:暴力破解攻击 许多MFA 解决方案要求用户输入PIN 码和其他代码,且未启用“账户锁定”功能来防止攻击方反复猜测,直至找到这些信息。正如该章所述,对于较新的MFA 解决方案来说,忘记这一重要的安全功能是十分常见的。

第15 章:软件漏洞 安全软件和其他软件一样存在缺陷。MFA 解决方案也不例外。该章讨论为什么会有Buggy 软件,并列举多个Buggy MFA 解决方案示例,包括一个导致数千万MFA 设备立即受到攻击的漏洞。

第16 章:对生物识别技术的攻击 所有采用生物识别技术的MFA 解决方案都可能遭到攻击,且所有生物识别技术的特征都是可模仿的。该章描述诸多此类攻击,包括针对面部和指纹识别的攻击,并讨论针对复制和重用攻击的缓解措施。

第17 章:物理攻击 一个常见安全信条是:如果攻击方拥有用户设备的物理访问权限,游戏就结束了。对MFA 设备而言尤其如此。该章涵盖多种物理攻击,从使用价值数百万美元的电子显微镜到使用价值5 美元一罐的压缩空气。

第18 章:DNS 劫持 该章讨论如何劫持附加到MFA 解决方案的名称解析服务,从而导致整个MFA 解决方案失败。一些MFA 解决方案提供商认为,此类攻击不应被视为对MFA 解决方案的真正攻击,因为此类攻击不会直接攻击MFA 解决方案,只会使MFA 陷入危险之中。

第19 章:API 滥用 许多MFA 解决方案都有API (Application Programming Interface,应用程序编程接口)。该章展示如何使用API 同时攻击单个MFA 场景或100万个受害者。

第20 章:其他MFA 攻击 该章详细介绍其他几类MFA 攻击,这些攻击在其他章节中并不适用,或在最后一秒出现在本书中。

第21 章:测试:如何发现漏洞 安全专家们要接受一下测试。该章介绍现实世界中一个看似非常安全的MFA 解决方案,该方案由全球最大的组织之一使用。在描述该方案的工作原理后,大多数人都认为该方案完美无缺,但实际上,该方案是可破解的。Roger 希望安全专家能利用在前面章节中学到的知识来找出潜在漏洞。

第III 部分:展望未来 本书最后一部分讨论如何更好地设计MFA 解决方案以及身份验证的未来发展前景。

第22 章:设计安全的解决方案 在今天,一项重要任务是确保选民可在远程安全地在线投票。第22 章讨论远程投票可能出错的方式,以及安全的远程MFA 投票解决方案可能是什么样子。

第23 章:选择正确的MFA 解决方案 该章介绍安全专家及其组织如何选择正确的MFA 解决方案,这个方案应当适当地平衡易用性和安全性,且在大多数关键安全场景中都能工作。没有完美的MFA 解决方案,但该章将帮助安全专家为自己和组织选择尽量好的解决方案。

第24 章:展望身份验证的未来 未来的身份验证可能与今天的选择大不相同,与第22 章中设计的较完美MFA 解决方案和第23 章中选择的解决方案大相径庭。找出未来与今天不同的原因。

第25 章:经验总结 这个收官章节总结从前面各章中得出的重要经验。将这些经验整理在一起,以便参考。

附录:MFA 供应商名单 附录中列出115 个不同的MFA 供应商。还提到一个链接;单击该链接,可打开一个Microsoft Excel 文件,其中列出MFA 供应商的名称、网站以及提供的方案的基本功能,以帮助安全专家探索和选择MFA 解决方案。

客观看待MFA

Roger 至少已展示了本书中的一些技术材料两年多了,总的目标一直是与大家共享MFA 技术。MFA 确实可减少某些形式的身份验证攻击,但并非无懈可击。任何人都可向用户发送一封普通的网络钓鱼邮件,以达到接管用户账户的目的,即使该账户受到MFA 的保护也同样如此。认为MFA 是不可破解的或不易遭到攻击的,会导致控制不力、培训不足以及不必要的网络安全风险。一些安全专家在阅读MFA 可能遭到攻击的几十种方式之后,有时会滑向另一个极端,认为“MFA 是可怕的、无用的或糟糕的”。在阅读本书正文前,Roger 想澄清一下,这并非事实。

在安全专家提出更好的身份验证解决方案之前,每个人都应该使用MFA,这是有意义的。或许,在某些地方要求每个人使用口令,使用口令甚至比使用MFA 更好或更合适。但是,如果条件允许,安全专家们应该尽量使用MFA。只是要知道,MFA是可能遭到攻击的,而且在某些情况下,很容易遭到攻击。安全专家需要调整思维和安全控制措施来接受现实。

参考资源链接

本书正文中穿插了很多参考资源链接,形式是[*],其中的*代表编号。这些资源链接都放在Links 文件中,读者可扫封底二维码下载该文件。例如,在阅读第1 章正文时,看到[3]时,可从Links 文件中“第1 章”下面的[3]处找到具体链接。