很多人都遭到黑客攻击或网络钓鱼,完全安全介于困难和不可能之间,尤其是当有人特别想对您进行黑客攻击时。但是您可以做几件简单的事情来大大降低风险:
-
使用自动填写字段的密码管理器。
-
使用安全密钥配置 2FA。
-
仔细阅读“使用提供商登录”(oAuth) 屏幕。
-
加密您的笔记本电脑。
-
对入站通信要谨慎。
为什么要这些东西?您可以让计算机随机执行其他人通常无法执行的操作:转账、像您一样在社交媒体上发帖、阅读您的私人文件、控制您雇主的系统等。如果攻击者可以欺骗正确的系统,使其认为您是,他们可以拿走您的钱,利用您的秘密,或利用您接近他人。
投入大量精力以始终在当下做出正确的安全决策的策略对人类来说并不适用:我们会犯错误,尤其是当我们做例行事情或分心、疲倦、饥饿等时。反而:
-
使用工具,这样即使您不注意也不会搞砸。
-
了解您确实需要特别注意的其余情况。
密码管理器、笔记本电脑加密和安全密钥是前者的例子,而小心使用 2FA 代码、oAuth 屏幕和入站通信是后者的例子。
在最常见的攻击中,有人会获得计算机检查内容的副本,以确保您就是您(您的“凭证”)。例如,如果您的电子邮件仅受密码保护,那么如果他们可以获取您的密码,他们就可以登录您的电子邮件。
他人获悉您的密码的最常见方式是在多个站点上使用同一个密码。假设您到处都使用“ hunter2 ”,并在“Joe’s Shoes and Wallpaper”上创建了一个帐户来购买运动鞋。他们后来遭到黑客攻击,他们的密码被破解,现在攻击者知道您使用了“ hunter2 ”。他们在您的电子邮件帐户上尝试此操作,从乔的记录中了解您的地址,并且有效。这是一个特别令人担忧的场景,因为您可能有很多其他帐户会向您的电子邮件发送密码重置,现在攻击者也可以控制这些帐户。
记住数百个站点的密码是不切实际的,因此您需要一个可以让您为每个站点生成随机密码然后为您存储的东西:“密码管理器”。但这本身还不够,因为密码的第二大常见风险是虚假登录页面。如果你点击一个链接并得到:
如果这是accounts.google.com
,您需要输入您的用户名和密码,但如果是accounts.google.com.evil
,则不需要。仔细检查 URL 以确保它是正确的会有所帮助,但人会犯错。相反,您需要一个密码管理器,除了记住您的密码外,它只将密码提供给正确域上的登录页面。
我使用集成到 Chrome 和 Android 中的 Google 密码管理器;如果您完全处于 Apple 生态系统中,则可以使用Apple 的 Keychain 。火狐也有一个。独立的密码管理器包括Bitwarden和1Password ;如果您使用其中之一,请确保您设置了浏览器集成,这样您就不会粘贴密码,从而保护您免受虚假登录页面的侵害。为工作和个人帐户使用单独的密码管理器(或单个管理器中的单独“保险库”),以便在您最终离开时可以将它们完全分开。
即使使用自动填充密码管理器,偶尔也会出现它不起作用的情况,您需要复制粘贴:执行此操作时请务必确保 URL 正确,因为这正是您遇到的问题如果有人是试图获取您的密码。
这里的另一层保护是确保密码本身不足以访问您的帐户。这称为“双因素身份验证”或 2FA。最常见的 2FA 形式是使用电话号码和密码:当您尝试从新设备登录时,他们会向您发送一个代码,您可以使用该代码来证明您可以访问该电话号码。这可能比不这样做更安全,但它不是很好:
-
攻击者可能会诱骗电话公司(或贿赂员工)将您的号码重新分配给他们。 (“模拟劫持”)
-
您可能会被诱骗将代码提供给攻击者。
-
有时网站会调用电话号码“2FA”,但随后会让只控制电话号码的人重设您的密码,这意味着它实际上只是一个因素。
可以使用手机内置的安全密钥修复前两个问题。您在网站上注册您的密钥,然后在以后登录时它会检查您是否仍然拥有相同的密钥。如果您在accounts.google.com.evil
上,您的密钥将发送一些accounts.google.com
会拒绝的内容。
但是,如果您丢失了手机,或者没有随身携带怎么办? 2FA 的最大风险是,如果您丢失了第二个因素,您将无法访问您的帐户。这里的标准解决方案是拥有多个安全密钥,这样即使您丢失了一个,您仍然拥有其他的。您可以获得额外的安全密钥作为 USB 小东西。它们有 USB-A 和 USB-C 两种版本:我喜欢 USB-A 的,所以我可以将它们插入 USB 集线器。我用过 Yubico 的安全密钥(25 美元)和谷歌的Titan Key (30 美元)。现在看来,Adafruit 的FIDO2 Key (10 美元)似乎是最便宜的选择,尽管它没有 NFC(对你的电脑来说很好,对你的手机来说很烦人)。除了内置在手机中的一个外,还有一个在工作中和一个在家里是最理想的,这样即使您丢失了一个然后一个坏了,您仍然有三分之一。
如果你丢失了一台设备,你确实需要做一些工作:对于配置它的每个帐户,你都需要注销它,然后注册一个替换设备。这意味着您需要跟踪您配置了 2FA 的站点,因为您需要重复注销旧站点并在每个站点上注册新站点的过程。您不想在太多网站上设置它:只是那些被黑客攻击的后果足以证明额外麻烦是合理的。我目前将我的安全密钥用于五个帐户:个人 Google、工作 Google、GitHub、Facebook 和 PyPI。
无需向网站注册密钥(以及需要更改密钥时的额外工作)即可保护站点上的安全密钥的一种方法是使用 oAuth 登录。这看起来像“使用 Google 登录”、“使用 Apple 登录”、“使用 GitHub 登录”等。我很高兴到处使用 Google 的 oAuth:我的 Google 帐户受到很好的保护,我认为 Google 的安全团队非常好的。
这确实存在的一个问题是,如果您使用单个帐户作为在线身份的根,然后被锁定在该帐户之外,那么您的处境就很糟糕了。当我描述这种方法时,我得到的反应是“但人们确实被锁定在他们的 Google 帐户之外,你为什么要冒这个险?”但是,如果您查看人们提供的报告,他们主要是设置 2FA 然后丢失了他们用作第二因素的东西的人。但是,如果您确保始终拥有多个有效的 2FA 方法(例如我上面推荐的三个安全密钥),我认为这种风险非常低。
有时您可能会看到人们谈论“ TOTP ”身份验证代码。这些是您在手机上安装应用程序(Google Authenticator、Authy 等)并在设置 2FA 时配置它的地方。它每分钟显示一个不同的代码,而站点可以看到相同的代码。每次登录时,您都需要提供代码,除非有人窃取或破解您的手机,否则他们不会拥有它。我认为 TOTP 代码不再有意义:安全密钥更好(它们可以保护您免受虚假登录页面的侵害)并且我过去使用代码的所有网站现在都支持密钥。
几年后,我希望随着世界转向passkeys ,所有这些都会变得简单得多,但它们还没有得到广泛支持。
另一大风险是丢失的笔记本电脑,而不是有人使用密码访问您的帐户。在普通笔记本电脑上,即使您设置了密码,稍有技巧的人也可以阅读其中的所有内容。这意味着有人可以在您当前登录的任何站点上充当您的角色。加密你的笔记本电脑可以解决这个问题,因为如果没有你的密码,存储在你笔记本电脑上的数据现在是乱码。在 Mac 上是FileVault ,在 Windows 上是BitLocker ; Ubuntu默认打开它。对于手机来说,这将是一个更大的风险,因为它们更小且更容易丢失,但现代手机已经加密(安卓、 iOS )。
即使有人不能以您的身份登录,或者偷了您的笔记本电脑并且已经以您的身份登录,他们也可能会诱骗您将控制权委托给他们。例如,如果您尝试使用 Google 创建一个 Twitter 帐户,您会看到如下内容:
这很好:这就是我上面提到的“oAuth 登录”,它说 Twitter 会获得一些信息,但它无法从我的 Google 帐户中提取任意内容。
另一方面,如果您在另一个站点上点击“使用 Google 登录”并看到:
你应该非常警惕!这是在请求阅读您的电子邮件的权限,正如我们上面所讨论的那样,这转化为对所有帐户的控制,让您可以通过电子邮件重置密码。
这些屏幕上的细微措辞差异可能会产生非常大的影响,而措辞是这些公司的安全人员认真思考的问题。例如,最近有人受骗让攻击者控制他们的 GitHub 帐户,在单击“使用 GitHub 登录”后,他们“点击了一堆页面,因为每次都是相同的操作”。
我认为需要格外小心的最后一个主要地方是其他人与您联系时。如果您接到银行打来的电话,您确定确实是您的银行吗?如果您收到一封电子邮件,上面写着来自您的 IT 部门,这是真的吗?通常很难分辨:他们可以伪造他们拨打电话的号码,或者他们发送邮件的电子邮件地址。或者他们可以只向您发送一些看起来足够合法而您不想检查的东西。在这里最安全的做法是在外部来源中查找正确的号码/地址,然后自己发起通信,尤其是在您不确定的情况下。
这仍然会留下一些漏洞,尤其是在运行软件时仍然会获得安全更新、不安装安全更新、安装软件和浏览器扩展,但遵循上述指导原则的人被黑客攻击或网络钓鱼的风险应该低得多比典型的人。
(这都是从你作为个人可能选择做什么来保证你的账户安全的角度来看待事物。组织应该有什么样的政策,包括自动执行的选项,也是一个有趣而深入的话题,我我不想进入这里。)
感谢 Taymon Beal 阅读草稿并提供反馈。