我们在数字世界中的存在使得我们必须理解并能够防范常见的攻击。
本房间将讨论攻击者在线针对人们使用的一些最常见技术。它还将教授防止每种技术成功的最佳方法。
事不宜迟,让我们开始吧!
社会工程
什么是社会工程?
社会工程是用来描述任何以人(而非计算机)为目标的网络攻击的术语;因此,它有时被称为“人黑客”。例如,如果攻击者希望获取受害者的密码,他们可以尝试猜测或暴力破解密码——或者他们可以直接询问你。
一名黑客手持电话和电脑虽然上面链接的例子相对简单,但社交工程攻击可能变得非常复杂,并且通常会导致攻击者获得对目标生活的重大控制——无论是在线还是离线。社交工程攻击通常是多层次的,并且由于雪球效应而升级。例如,攻击者可能首先从受害者的社交媒体存在中获取少量公开信息,然后他们可以利用这些信息从你的电话或宽带提供商那里获取更多信息。从第二阶段获得的信息可能被用来获取更有用的信息,然后逐步升级到诸如受害者的银行账户之类的东西。
理解社会工程的最佳方式是看它在行动中的表现!这些来自Defcon23(世界上最大的黑客会议之一)和CNN的视频展示了社交工程的一些巨大力量。它们都值得一看!
其他形式的社会工程
有魅力的黑客打电话给你的电话公司并控制你的账户是社会工程的一种形式;然而,还有许多其他类型。社会工程是一个广泛的话题,包括任何依赖于欺骗人类以给予攻击者访问权限的攻击,而不是直接攻击技术。虽然与目标的直接互动是最常见的社会工程风格,但其他例子包括在公共场所(例如公司停车场)丢弃USB存储设备,希望有人(通常是公司员工)会捡起并将其插入敏感计算机。同样,攻击者可能会在公共场所留下“充电电缆”插入插座。实际上,电缆包含恶意软件,如键盘记录器或控制受害者设备的工具。
Stuxnet是一种特别恶毒的计算机病毒(据称由美国和以色列政府开发),最初用于2009年针对伊朗核计划。由于其作为“蠕虫”的自我复制能力(即通过网络——包括互联网——克隆自身),该病毒逃脱并变得比预期更为广泛传播。现在还存在多个变种,使Stuxnet成为一种特别具有破坏力和臭名昭著的武器。你可以在这里阅读更多关于Stuxnet背景的信息。
使Stuxnet在本节中特别有趣的是其最初的感染方法。该病毒可以在网络中自我复制,但当目标网络是一个无法访问更广泛互联网的核武器开发设施时,这并没有多大帮助。问题变成了:如何将病毒引入一个不允许任何东西进出的网络?答案很简单:在与该设施打交道的公司员工可能找到的地方丢弃恶意USB设备,并希望其中一人将设备插入工作计算机。在这种情况下,这个赌注奏效了,Stuxnet对伊朗核计划造成了严重破坏,并有效地摧毁了许多核离心机。
简而言之,社交工程的限制在于攻击者的想象力。一个好的社交工程师可以(并且将会)在任何合理的情境下使用大量的心理技巧来“黑”他们的目标。
防范社会工程攻击
在很多方面,防范社交工程攻击非常棘手,因为攻击者并不总是直接与你对话,而是与那些可以在未经你同意的情况下提供他们所需信息的人对话(例如,冒充你打电话给你的银行,以访问你的银行账户)。尽管如此,你仍然可以采取一些措施来保护自己免受社交工程攻击:
始终确保设置多种形式的身份验证,并确保服务提供商尊重这些验证。例如,设置难以猜测的——或者不正确的——安全问题的答案(确保将这些答案存储在安全的地方!),并确保在尝试通过电话访问账户时询问这些问题。
切勿将外部媒体(例如USB/CD等)插入你关心的或连接到任何其他设备的计算机。理想情况下,根本不要插入媒体,而是将其交给当地警方保管。
当陌生人打电话或发消息声称为你使用的服务公司工作时,始终要求提供身份证明。在可能的情况下,使用已知的电话号码或电子邮件地址确认你收到的电话或消息是合法的(即使用可信的方法联系公司以确认)。请记住,没有任何合法的员工会询问你的密码或其他保护你账户的信息。
问答时间
Stuxnet的最初目标是什么?the Iran nuclear programme
社会工程之钓鱼
概述
钓鱼攻击是诈骗者和恶意行为者最常用的网络攻击类型之一,无差别地针对个人和企业。在许多情况下,钓鱼攻击是用于获取公司基础设施访问权限的初始攻击向量,然后对公司网络进行进一步攻击。尽管现在有许多自动化工具可用于帮助应对钓鱼威胁,但钓鱼攻击仍然是最常见的攻击向量之一。
什么是钓鱼攻击?
钓鱼攻击是社交工程的一个子集。社交工程是一个非常通用的术语,用于描述任何利用人类而非计算机系统的攻击,而钓鱼攻击特指通过发送短信、电子邮件或其他形式的在线通信,诱使受害者打开恶意网页的攻击。传统上,“钓鱼攻击”仅指电子邮件;然而,在即时消息、短信和语音/视频通话的时代,该术语已经演变为涵盖这些其他类别。这些其他形式有时分别被称为“短信钓鱼”(smishing)和“语音钓鱼”(vishing)。这些攻击非常普遍(事实上,你没有被此类攻击针对的可能性很小!),并且经常使用泄露或被盗的电话号码和电子邮件地址列表大规模部署。
钓鱼消息通常采用心理欺骗手段(例如,诱导一种虚假的紧迫感,使受害者仓促行动),几乎总是涉及让受害者点击攻击者拥有的网页应用程序的链接。然后,受害者通常被要求输入敏感信息——例如登录详细信息或信用卡信息——此时恶意网站会存储这些信息,攻击即告完成。或者,受害者可能会无意中从恶意页面安装恶意软件,从而为攻击者提供进入其设备和网络的入口。
钓鱼攻击主要有三种类型:
攻击类型 | 定义 |
---|---|
普通钓鱼攻击 | 一种简单的、大规模的钓鱼攻击,不针对特定个人,尽管它们可能针对大群体(例如PayPal用户或亚马逊客户)。这些大规模活动通常很简单,通常(但不总是)相对容易识别,因为消息和恶意网站通常制作得不够精细,并且经常包含许多明显的错误。 |
鱼叉式钓鱼攻击 | 比普通钓鱼攻击更具针对性,鱼叉式钓鱼攻击针对个人或小群体(例如特定公司的员工)。鱼叉式钓鱼活动通常比普通钓鱼攻击中使用的通信和恶意网站制作得更好,因为它们旨在针对特定群体,通常作为针对目标的更广泛活动的一部分。 |
鲸钓攻击 | 比鱼叉式钓鱼攻击更具针对性,鲸钓攻击针对高价值个人(例如目标公司的高管)。这些消息通常制作得非常精细,往往很难被发现。 |
请注意,在日常生活中,你更有可能遇到普通钓鱼攻击,而不是鱼叉式钓鱼攻击或鲸钓攻击。然而,在工作生活中,情况可能并非如此——尤其是如果你是公司的高级成员。
一个流行的普通钓鱼攻击场景(或“借口”)的例子是收到一封据称来自“亚马逊”的电子邮件,通知你你的账户已被用于购买一件非常昂贵的物品(例如最新的iPad)。然后,你被提供了一个链接来查看你的购买历史。该链接看起来像是指向https://amazon.co.uk,但实际上会将你带到一个攻击者控制的网页应用程序(看起来与亚马逊登录页面相同),要求你输入亚马逊的凭据。当你输入凭据后,你将被重定向到真正的亚马逊订单页面,在那里你会发现没有未经授权的购买……暂时还没有。攻击者随后会使用你提供的凭据,用你的账户实际订购昂贵的物品。
这个过程如下图所示:
- 攻击者发送恶意钓鱼电子邮件活动
- 潜在受害者收到电子邮件——其中一些人打开电子邮件并点击链接
- 受害者在攻击者的虚假网页上输入他们的凭据
- 网页存储凭据或直接将其发送给攻击者
- 攻击者使用凭据访问网站,从而接管受害者的账户
当恶意网页模仿现有的(通常是知名的)网页时,钓鱼攻击效果最佳。因此,攻击者/诈骗者通常会使用许多免费可用的工具之一来简单地克隆现有页面,然后可以随意编辑。
钓鱼攻击的最终目标可能因执行攻击的人而有很大差异。例如,低级别的诈骗者可能只是想要获取敏感信息(例如银行详细信息),而高水平的恶意黑客团队可能针对特定组织,意图造成进一步的损害。
识别钓鱼攻击
许多普通的钓鱼攻击相对容易识别;它们通常语法不佳,并且通常不会按名字称呼受害者(而是使用通用问候语——例如“亲爱的客户”)。话虽如此,其他情况可能极难识别,有些攻击甚至足以欺骗网络安全专业人士。
无论攻击类型如何,在许多情况下,借口都是合理的——例如:上面列出的亚马逊骗局,或来自你“银行”的(虚假)消息,告诉你你的账户有异常活动,请登录查看。这在鱼叉式钓鱼攻击或鲸钓攻击中尤其如此,因为这些攻击的借口会非常精心地针对目标定制。
同样,恶意网站的域名通常与合法网站使用的域名相似(但从不相同)。以2021年的一个真实例子为例,一群诈骗者通过短信发送了一次大规模的钓鱼活动,模仿英国皇家邮政服务,并使用域名https://royalmai1.co.uk(而不是https://royalmail.co.uk)。通过将最后的“L”替换为数字1,诈骗者能够成功注册一个看起来几乎与他们克隆的网站域名相同的域名;这是一种非常常见的策略。
此外,请记住,HTML电子邮件(实际上是任何看起来花哨并包含格式/图形的电子邮件)也可以用来掩盖实际使用的域名。例如,电子邮件中的文本可能是“https://amazon.co.uk”;然而,链接实际上指向“https://am4zon.co.uk”。你可以通过在桌面应用程序中将鼠标悬停在链接上来看到这一点——真实的链接应该会出现在屏幕底部,如下图所示:
你可以自己尝试下面的链接!
同样,基于电子邮件的钓鱼活动中的“发件人”电子邮件地址通常也会显得可疑。许多普通的钓鱼活动会简单地使用Gmail地址——而不费心使用与他们冒充的公司相关的域名。这是一个明显的迹象,表明电子邮件是可疑的。
识别钓鱼电子邮件的最佳方法就是保持警惕,寻找任何可疑之处——除了最精心的攻击外,大多数都会在某个地方露出马脚。
防范钓鱼攻击
你可以(也应该!)采取多种措施来保护自己免受钓鱼攻击:
- 删除未知或不可信的电子邮件,不要打开它们。如果你在电子邮件中发现任何可疑之处,还应将其报告为垃圾邮件给你的电子邮件提供商,或者如果你在工作时收到该电子邮件,请将其转发给你的IT安全部门。
- 切勿打开来自不可信电子邮件的附件——这包括来自合法联系人的任何你未预期的附件。
- 不要点击电子邮件或消息中的嵌入链接。在可能的情况下,通过你的网页浏览器导航到真实网站并访问内容。如果你绝对必须点击链接,请确保域名正确,并且链接指向你认为的地方。
- 始终确保你的设备和防病毒软件是最新的。
- 尽量避免公开你的个人信息(例如电子邮件地址和电话号码)。如果你必须公开个人详细信息,请为此次创建一个“一次性”电子邮件地址(为特定目的创建的临时地址,随后很快销毁),并在不再需要时立即销毁它。
值得注意的是,任何人都可能成为钓鱼攻击的受害者——尤其是那些看起来非常逼真的复杂攻击。如果你不小心成为受害者,不要惊慌!确保立即更改任何受影响的密码,如果攻击发生在工作中,请联系IT服务部门。
问答时间
如果你还没有这样做,请点击此任务顶部的绿色“查看网站”按钮。该静态网站将显示一系列电子邮件和短信。你将被要求识别这些消息中哪些是真实的,哪些是钓鱼尝试。一旦你成功识别了所有消息,你将获得一个flag并需要在此处输入。祝你好运
- flag是什么?
THM{I_CAUGHT_ALL_THE_PHISH}
,都是钓鱼邮件。
恶意软件和勒索软件
概述
尽管防病毒软件解决方案不断进步,恶意软件(尤其是勒索软件)仍然是一个不断增长的威胁。
恶意软件(“malicious software”的缩写)可以定义为任何旨在代表攻击者执行恶意操作的软件。有许多不同类型的恶意软件:在此任务中,我们将特别关注通用恶意软件和勒索软件。
一旦安装,攻击者通常使用恶意软件来窃取信息、造成损害或在受感染的系统上执行任意命令。恶意软件通常用于执行一系列称为“命令与控制”(C2/C&C)的任务。C2恶意软件连接回一个等待的服务器,并允许攻击者远程控制受感染的系统,通常将诸如键盘记录等简单任务作为恶意软件的内置部分。
勒索软件
一类专门的恶意软件:勒索软件用于感染尽可能多的系统,加密设备上的数据并以此勒索赎金。如果受害者在设定的时间范围内(通常通过比特币等加密货币)支付赎金,理论上数据将被归还。
勒索软件通常通过利用常用软件(例如微软Windows操作系统)中的已知漏洞传播;一旦感染开始,它可以极快地传播,并可能要求数百万的赎金。勒索软件攻击的目标是感染尽可能多的系统,然后通过使用只有攻击者知道的密钥加密数据,使尽可能多的数据无法访问。攻击完成后,恶意软件通常会显示一个类似这样的窗口:
此窗口向受害者提供时间限制和支付说明,以及对其数据发生的情况的概述。上面的示例来自臭名昭著的WannaCry勒索软件。
支付赎金后,恶意软件可能会也可能不会解密数据并自我销毁,这完全取决于攻击者的善意。
传播方法
攻击者有多种方式可以用恶意软件感染目标——其中许多方式围绕社交工程或钓鱼攻击展开。例如,攻击者可能会向受害者发送一封包含Microsoft Word或Excel文件的电子邮件,该文件包含恶意宏(嵌入在文档中的代码,当用户打开文件时运行)。这些宏默认情况下不会运行,除非用户点击屏幕顶部的“启用内容”按钮以启用宏:
然而,在某些情况下,用户可能确实希望执行宏,而一个优秀的攻击者会利用这些借口说服受害者点击按钮。
同样,攻击者可能会将文件作为编译的.exe
、PDF、.ps1
PowerShell脚本或.bat
批处理脚本、HTML应用程序文件(.hta
),甚至是.js
JavaScript文件发送,由Windows内置的JavaScript解释器执行。
简而言之,攻击者可以通过多种不同的方式和格式向受害者发送代码。一旦代码被执行,感染就开始了。
或者,攻击者可能会利用企业环境中面向公众的基础设施(例如Web服务器)中的漏洞,从而为自己打开进入内部网络的通道,并允许他们通过恶意软件发起更大规模的攻击。
保持安全
防范恶意软件(尤其是勒索软件)的最佳方法是结合意识和保持更新!
- 始终接受提供的更新和补丁——尤其是在操作系统等重要软件中。更新通常包含对安全漏洞的修复,因此尽快应用这些更新非常重要。
- 切勿点击可疑链接,尤其是在电子邮件中。尽量不要打开文件附件。如果消息看起来可疑,请删除它,或者如果使用工作账户,请将其转发给适当的团队。
- 始终警惕试图让你下载或运行文件的人——尤其是在电子邮件或即时消息中。
- 切勿将未知的媒体设备(例如USB设备)插入重要计算机。如果你在公共场所找到设备,请勿将其插入工作笔记本电脑!
- 始终备份重要数据——这将在房间后面详细讨论,并且对于从勒索软件攻击中恢复至关重要。
确保你的防病毒软件始终是最新的并已激活。
注意:如果你或你的企业感染了勒索软件,请不要支付赎金。相反,请立即联系当地当局,并尝试通过禁用路由器或以其他方式物理防止受感染设备连接到任何其他设备来遏制感染。不要关闭受感染设备的电源,因为这有时会破坏任何不支付赎金即可解密数据的机会。
问答时间
[研究] WannaCry攻击者要求以哪种货币支付?bitcoin
密码与身份验证
概述
无论好坏,密码是大多数身份验证系统的重要组成部分。我们使用密码来保护从社交媒体账户到银行应用程序的一切。不幸的是,尽管密码非常重要,但创建和使用不安全的密码仍然太容易了,甚至更容易采取其他降低系统整体安全性的行动。例如,如果世界上最强大的密码被写在白板上,并且完全暴露在网络摄像头的视野中,那么这个密码就毫无用处——尤其是如果同一个密码用于多个服务时。
本任务将涵盖密码安全,以及你可以采取的其他措施来增强整体身份验证安全性。
什么是强密码?
关于什么是强密码的建议随着时间的推移而改变。过去,人们被建议选择易于记忆的复杂密码,例如:
@Ed1nburgh#1988-2000!
上面的密码由大小写字符组成,包括符号和数字。它超过八个字符长(以我们目前的技术水平,几乎不可能通过暴力破解攻击),并且使用了只有密码所有者可能知道的信息。重要的是,它也不符合常规模式(使用不寻常的符号,仅替换部分l33t字符,并包含一个日期范围而不是单个日期),使其更难猜测。从各方面来看,这是一个传统意义上的强密码。然而,由于与个人相关,这个密码仍然可能通过社交工程或对目标的深入信息收集而被削弱。
当前的最佳实践更倾向于长度而非复杂性。例如:
Vim is _obviously_, indisputably the best text editor in existence!
通过使用一个短语而不是传统的密码,密码的长度显著增加,同时仍然保留了一些更复杂的元素——尽管看起来不那么晦涩。这具有更容易记住的优势,同时仍然极难被暴力破解。
然而,理想情况下,你应该使用长的、完全随机的密码。例如:
w41=V1)S7KIJGPN,dII>cHEh>FRVQsj3M^]CB
这些密码需要数百万年才能破解,是客观上最安全的选择。缺点是可用性;然而,通过使用密码管理器,这个问题在很大程度上得到了缓解,这将在下一个任务中讨论。
什么是弱密码?
人们通常会选择对他们有意义的简单密码,通常遵循一些“简单”的模式。例如,一个常用的模式是名字/地点,后面跟一个年份,最后是一个感叹号。例如:
Gareth2012!
这足以满足大多数密码复杂性要求(大小写字符,超过八个字符,包含数字和符号);然而,如果攻击者知道你有一个2012年出生的儿子叫Gareth,那么这个密码就很容易被猜到。这种密码本质上是非常不安全的。
简而言之,任何可能被对你相对了解的人(包括查看你社交媒体的攻击者)轻易猜到的密码都是不好的选择!
同样,短密码(尤其是那些不包含任何非字母数字字符的密码)在暴力破解攻击面前是脆弱的。我们将在任务后面更深入地探讨这一点。
与密码强度同等重要的是密码重用。你可以拥有世界上最强大的密码,但如果你在多个账户上使用它并且它被泄露,攻击者可以简单地在所有受影响的账户上使用相同的强密码。同样,如果你发现你的密码已经暴露,你将需要花费大量时间来更改所有账户的密码!
暴露的密码
不幸的是,并非每个服务都安全地存储密码(这使得你不重复使用密码变得尤为重要!)。
背景信息:安全密码存储(点击阅读)
当你注册一个在线账户时,服务提供商必须存储你的密码副本,以便在你下次登录时进行验证;但这带来了一个巨大的问题:如何安全地存储密码?
- 将密码存储为纯文本(例如,与你提交时相同的方式)是不可行的,因为如果数据库被黑客攻击,每个密码都会立即泄露。
- 加密密码是一种改进,但效果有限。如果密码是加密存储的,那么它们也可以被解密——攻击者只需获取密钥,就可以将每个加密密码转换回纯文本。加密密码是2013年Adobe泄露事件如此严重的原因之一。
-行业标准的密码存储方法被称为密码哈希。密码哈希(或简称为“哈希”)涉及使用复杂的数学算法将任何输入转换为唯一的、固定长度的输出,且这种方式是不可逆的。这意味着当你注册时,你的密码将被哈希并存储在数据库中,从而阻止所有人(包括服务器管理员)能够读取它!
当你尝试登录时,相同的算法将应用于你提供的密码:如果存储的哈希与尝试登录的密码哈希匹配(记住相同的输入将始终创建相同的唯一输出),那么你将被视为成功通过身份验证。
理想情况下,每个服务都应使用安全算法对用户密码进行哈希处理。即使整个数据库被泄露,攻击者仍然需要浪费宝贵的时间和计算能力来尝试暴力破解(否则无用的)哈希以找到纯文本密码。这就是为什么密码长度和复杂性如此重要的原因:密码越长,涉及的潜在字符越多,有效猜测用于生成哈希的密码输入所需的计算能力就越大。
那么,如果一个服务被黑客攻击,并且包含用户账户信息的数据库被泄露,会发生什么?在最好的情况下,服务使用了安全的哈希算法,并且你有一个强密码——在这种情况下,你的密码是安全的,但你的电子邮件地址或用户名可能仍然会被公开泄露(所以预计会收到一些垃圾邮件)。在最坏的情况下,你的明文密码要么立即可用,要么攻击者很容易找到。如果发生这种情况,攻击者将知道你的用户名和密码,使他们能够接管你的账户或执行“凭证填充”攻击——使用你被盗的用户名和密码对来攻击其他服务,看看你是否在其他地方重复使用了它们。这些包含凭证的泄露数据库经常出现在暗网上,这引出了我们在本节中的最后一点:数据泄露通知服务。
最大且最知名的数据泄露检查器称为“Have I Been Pwned?”。它是一个免费的在线服务,搜索数据转储并分类所有找到的信息,允许用户输入他们的电子邮件地址,看看他们是否被包含在任何泄露中。Have I Been Pwned还允许你将自己添加到通知列表中,这意味着如果你的电子邮件地址出现在任何数据泄露中,你将收到一封通知邮件。
虽然不是完美的防御措施,但通知服务在你被黑客攻击之前(希望如此)为你提供了一个重要的早期警告,以便更改密码。
密码攻击
攻击者在攻击密码和身份验证系统时有几种选择。一些攻击完全是本地的(即完全在攻击者拥有的设备上工作,根本不与目标服务交互),其他攻击则是涉及原始服务器的远程攻击。
本地攻击需要被盗的凭证副本。攻击者将获取一个包含被盗用户名/电子邮件和哈希密码的文件,然后使用软件有效地尝试猜测生成哈希的输入,要么使用随机生成的字符序列(较慢但更彻底),要么使用预生成的可能密码的单词列表(较快但更容易遗漏)。混合类型也被广泛使用;这是指攻击者使用现有的单词列表并对其进行变异,以添加新字符、符号或随机元素。本地密码攻击将在本任务的交互元素中进行演示。
远程攻击通常分为两类;它们要么涉及通过向服务器发送请求并查看其响应来尝试暴力破解已知用户名,要么使用先前泄露中的已知用户名和密码对来查看它们在目标站点上是否有效——这就是前面提到的凭证填充。
问答时间
假设你是一个怀有恶意的黑客。你已经成功转储了一个在线服务的密码数据库,但你仍然需要破解这些哈希!
点击任务开始时的绿色按钮,部署交互式哈希暴力破解工具!
根据网站的内容,你生成了一个可能的密码列表,如下所示:TryHackMe123 THM123456 qwertyuiop123 TryHackMe2021 TryHackMe123! TryHackMe345 TryHackM3!
将密码列表复制到哈希破解器的“密码列表”字段中,然后点击“开始”!
查看哈希破解器的“当前单词/哈希”部分。
注意,对于你输入的列表中的每个单词,破解器都会生成该单词的MD5哈希值,然后将其与目标哈希值进行比较。如果两个哈希值匹配,则密码已被找到!
哈希破解器应该会很快找到与目标哈希值匹配的密码。
- 密码是什么?
TryHackMe123!
这是一个非常简单的基于浏览器的示例;然而,实际上从高层次角度来看,使用单词列表进行本地哈希破解并不复杂——它是相同的技术,只是有更多的潜在密码!
希望这个示例能说明为什么选择一个强密码如此重要——即使密码被适当地哈希处理。
在下一个任务中,我们将探讨一些常见的账户保护措施,以及如何生成安全的密码。
多因子身份验证与密码管理器
概述
在之前的任务中,我们探讨了一些针对密码和身份验证系统的常见攻击。我们还讨论了什么是弱密码和强密码。本任务将介绍一些额外的步骤,你可以通过使用密码管理器和多因素身份验证来增强密码安全性。
多因子身份验证
多因子身份验证(MFA)是一个术语,用于描述任何需要多个因素才能登录的身份验证过程。最常见的例子是当你输入账户密码后,系统会要求你输入一个发送到你手机上的六位数代码,该代码通常在十五分钟左右过期。这种特定的第二身份验证因素被称为基于时间的一次性密码(TOTP),是目前使用最广泛的第二因素之一。
背景信息
在实施多因素身份验证时,可以考虑三个主要因素;这些因素是:
- 你所拥有的东西(例如,智能卡、TOTP,或硬件认证器,如“YubiKey”。你可能也经历过银行要求你将卡插入读卡器并输入PIN码才能访问网上银行服务——这是相同的原理)
- 你所知道的东西(例如,密码)
- 你是什么(即生物识别数据,如指纹或虹膜扫描)
理想的身份验证应使用这三个因素——例如,它可能需要密码、智能卡和指纹才能允许用户访问系统。
不幸的是,大多数人无法使用智能卡读卡器、昂贵的硬件认证器(例如前面提到的YubiKey)或指纹扫描仪。但他们可以使用智能手机来接收或访问基于时间的一次性密码。因此,基于移动设备的MFA是个人使用中最常见的多因素身份验证方法之一。虽然不理想,但两个因素比一个因素更好。
你应该始终在可用的情况下启用多因子身份验证。这样做意味着攻击者如果希望入侵你的任何账户,必须获取多个因素——例如,他们必须同时拥有密码和你的手机(或能够拦截你的短信)。许多人认为这是“不必要的麻烦”;然而,为了增加的安全性,这是非常值得的!
不幸的是,基于短信(SMS)的TOTP身份验证——尽管是最常用的——远非最安全的,因为有记录显示攻击者能够轻松地重新路由受害者的短信[1]。
那么,如果不是短信,那是什么呢?基于时间的一次性密码仍然是大多数用户最容易获得的第二因素身份验证形式;幸运的是,你可以自己生成它们!
大多数服务会为你提供使用“身份验证器应用程序”进行MFA的选项。当你选择此选项时,你将看到一个二维码以及一个“密钥”——这两者都可以扫描或导入到诸如Authy或Google Authenticator(Android | IOS)等应用程序中。一旦你为应用程序添加了密钥,这些应用程序就可以完全在设备上生成TOTP代码,而无需任何网络连接或可拦截的短信。
密码管理器和生成强密码
1Password标志如前所述,最安全的密码是长的、完全随机的字符、数字和符号组合。不幸的是,这些随机密码非常难以记忆——事实上,为每个在线账户记住一个不同的60位随机生成的密码对大多数人来说是不可行的。
于是,密码管理器应运而生。
在最基本的层面上,密码管理器提供了一个安全的空间来存储你的密码。它们将密码存储在“保险库”中:加密存储在你的设备本地,或作为在线服务(通常也允许你从任何设备访问你的密码)。这些保险库通过主密码访问——这是你唯一需要记住的密码——或者(近年来更常见)生物识别数据,如指纹。一些密码管理器是免费的,而另一些则需要付费订阅。话虽如此,付费产品提供的功能和可用性通常使其物有所值!
功能更全面的密码管理器通常还包括一系列附加功能,例如存储其他类型的数据(例如图像、文件等),自动为其他服务填写密码,以及安全密码生成。拥有这些功能意味着你可以快速轻松地生成非常强的密码并自动存储它们,然后在尝试登录应用程序时无缝地为你输入密码,所有这些都在同一个应用程序中完成。
密码管理器是处理多个账户身份验证的推荐方式;然而,值得记住的是,整个结构的安全性可能围绕一个主密码,因此请确保它是可靠的!
一些常见的密码管理器包括:
还有许多其他可用的密码管理器!每个密码管理器都有其优缺点,因此值得做一些研究以找到最适合你的密码管理器。
问答时间
在可以选择的情况下,你应该使用基于短信的TOTP还是基于身份验证器应用程序的TOTP作为第二身份验证因素(短信或应用程序)?App
公共网络安全
互联网在现代生活中扮演着巨大的角色,大多数人几乎以某种方式持续连接。因此,大多数公共场所(例如咖啡馆、餐厅、公共交通)都配备了公共WiFi,让人们可以查看电子邮件(或者同样可能的是,玩最新的热门手机游戏)。许多人没有意识到的是,期望公共WiFi可用实际上可能非常危险。
无线信号符号公共WiFi虽然非常方便,但也为攻击者提供了攻击其他用户设备或简单地拦截和记录流量以窃取敏感信息的理想机会。后一种技术可以像利用大多数人期望看到公共网络可用的事实一样简单。攻击者可以快速设置自己的网络并监控所有连接者的流量;这被称为“中间人”攻击,并且非常容易执行。例如,如果你连接到一个属于攻击者的网络,然后登录一个不使用加密(HTTPS)连接的网站账户,攻击者可以简单地从网络流量中提取你的凭据,并用它们登录你的账户。这种情况将在本任务的交互元素中更详细地探讨;然而,幸运的是,现代网站通常实施传输层安全(TLS)来加密其服务器和用户之间的流量,因此这种情况发生的可能性大大降低。
同样,连接到任何网络(无论你是否信任它)都会使你的设备对网络上的其他人可见。你永远不知道谁在公共网络上,他们的意图可能是什么!
解决方案
VPN这个问题的理想解决方案是根本不连接不受信任的网络。尽管公共无线连接有益,但使用移动热点或私人网络总是更安全。不幸的是,理想解决方案并不总是可行的;在这种情况下,我们必须依靠其他方法来保持安全。
虚拟专用网络(VPN)加密所有离开和重新进入你机器的流量,使任何拦截技术变得无用,因为拦截的数据看起来就像乱码。虽然可以免费托管自己的VPN服务器,但大多数人更喜欢使用许多在线解决方案之一。其中一些商业解决方案是免费的,但请注意:免费VPN往往不提供最佳安全性,并且经常自己收集你的数据以盈利。话虽如此,一个好的VPN的价格对于在不受信任的网络上操作时增加的安全性来说是值得的。有许多好的选择,包括ProtonVPN和Mullvad VPN,仅举两例。
网站连接安全
除了你为保护自己而采取的行动外,了解在线服务为保护你而采取的措施也很重要。
所有网站现在都应该只在加密连接的安全环境下提供信息。与使用VPN一样,这可以防止攻击者在拦截你的网络流量时读取或修改它。用于创建HTTPS(超文本传输协议安全)的加密连接被称为TLS(传输层安全),在大多数浏览器中,它由搜索栏左侧的挂锁表示,表示连接是安全的:
在这种情况下,你的流量只能在非常特定的情况下被解密:即,如果它是一个工作或学校管理的设备,并且你连接到工作/学校网络。
注意:挂锁的存在表示连接是安全的;它并不保证网站本身是安全的。换句话说,一个恶意网站仍然可以很容易地拥有TLS证书(意味着你与服务器的流量是加密的),但这并不能阻止网站具有恶意目的。
如果你访问的网站没有挂锁符号,切勿输入任何凭据或敏感信息——尤其是在使用不受信任的网络时。
在某些情况下,你可能还会看到一个带有叉号或感叹号的挂锁;这表示连接在理论上是安全的,但服务器使用的证书存在问题。这个改变的挂锁图标的存在可能意味着从服务器管理员简单地让证书过期到攻击者主动干扰你的连接安全性的任何事情。换句话说:如果图标不是普通的挂锁,不要相信连接是安全的。
在尝试访问网页时,你可能还会遇到与证书安全相关的全页错误;这些错误可能看起来像这样:
一般来说,如果你看到这样的错误,你应该点击“返回”按钮(或其他浏览器中的等效按钮);这通常意味着加密连接存在问题,可能会让你的流量容易被窃取。
实践时间
点击任务顶部的绿色按钮以部署交互式内容。
备份
概述
备份可以说是保护数据的最重要的防御措施。无论发生什么情况,如果你采取了适当的步骤来备份信息,你几乎总是能够恢复,无论损坏的严重程度如何。
无论是有重要业务数据的工作文件,还是家庭照片,备份都是一种简单的保险措施,如果最坏的情况发生,它会多次回报。
根据所涉及的数据,备份和恢复可能就像将文件夹拖放到Google Drive中一样简单。也就是说,还有许多软件解决方案可以帮助自动化备份并简化恢复过程。
黄金3,2,1规则
备份的黄金标准相对简单,通常被称为“3,2,1规则”。
3,2,1规则规定:
-
你应该始终保留至少三个最新的数据副本;这可以包括原始副本,但所有副本都必须维护。
-
备份应存储在至少两种不同的存储介质上;例如:云备份和USB设备。这可以包括你电脑上的硬盘。
-
一个(或多个)备份应存储在“异地”。像Google Drive这样的云服务在这方面非常适合个人使用。
如果满足3,2,1规则的所有三个条件,你的备份应该是安全的;但同样重要的是你备份的频率。如果所有备份都是一年前的,那么安全存储它们就没有意义了!
你备份数据的频率取决于你自己,通常取决于数据的敏感性,与泄露风险和可用备份空间的数量相比。例如,一家处理敏感数据的数十亿英镑的公司面临勒索软件攻击的高风险,可能希望每天进行两到三次完整备份。相比之下,家庭用户可能只需要每周备份一到两次。
问答时间
- 你应该制作的最少最新备份数量是多少?
3
- 在这些备份中,至少有多少个应该存储在另一个位置?
1
更新与补丁
软件更新
更新是软件开发生命周期的重要组成部分;它们允许开发人员添加新功能、修复错误或简单地改变产品的某些方面。当在软件中发现漏洞时,开发人员通常会发布称为补丁的特殊更新,其中包含对漏洞的修复或以其他方式“修补”安全问题。
因此,尽可能更新软件是至关重要的——特别是对于像操作系统(例如Windows或macOS)这样的东西,漏洞可能特别危险,如下面的案例研究所示。
案例研究:永恒之蓝
永恒之蓝(Eternal Blue)据信是由美国国家安全局(NSA)发现的,并于2017年4月泄露给公众。该漏洞影响了Windows操作系统的一个核心部分,使远程攻击者能够以最高权限完全控制目标。你可以在TryHackMe的“Blue”房间中亲自体验这一点。
微软迅速发布了一个补丁(臭名昭著的MS17-010),旨在移除软件中的易受攻击组件;然而,许多管理员出于各种原因选择不下载该补丁。
为什么这很重要?永恒之蓝是WannaCry勒索软件(在任务4中讨论)用来传播和感染新设备的传播载体!永恒之蓝使攻击者能够远程完全控制目标,使其成为利用自我复制病毒进行攻击的完美漏洞。尽管在WannaCry出现前几个月就已经发布了补丁,但勒索软件仍然能够攻击数百万未打补丁的系统,造成了毁灭性的影响。
你可以在这里阅读更多关于永恒之蓝的信息。
不幸的是,所有软件最终都会失去维护者的支持,变得过时并不再接收更新(例如Windows 7)——这被称为软件EOL(生命周期结束)。此时,必须尽快更换软件。如果无法更换软件,则应尽可能隔离设备,以防止利用不可避免会发现且未修补的漏洞。
防病毒更新
大多数防病毒软件包都会非常频繁地更新;这是因为它们主要通过使用已知漏洞签名的本地数据库工作,该数据库必须保持最新。
换句话说:当发现新的恶意软件时,它会发送给防病毒供应商,他们生成一个“签名”来识别这个特定的恶意软件。然后这些签名会分发给全球使用该防病毒软件的每个设备,确保你安装的防病毒解决方案在所有最新的(已知的)恶意软件上保持最新。
如果不允许防病毒软件更新,它仍然能够通过其他方法捕获一些恶意软件。然而,本地签名数据库将很快过时,导致恶意软件可能从缝隙中溜走。简而言之:如果防病毒软件想要更新,就让它更新吧!
结语
恶意攻击者有许多不同的选择来针对个人和广泛的群体;然而,每种攻击都有相应的防御措施。
完成这个房间后,你应该对这些常见攻击及其防御措施有了更多的了解。你不需要成为计算机或网络安全专家来保持在线安全:解决方案很简单,值得在你的个人和职业在线互动中采用。