目前,全球各国都在共同努力阻止新型冠状病毒疫情的蔓延。如同新冠肺炎的流行过程一样,轻视网络“卫生”同样会导致严重的后果。
在网络世界,所有互联网用户最好都为他们访问的每个网站设定一个特有且牢固的密码。而更理想的情况是,用户将不再需要向其正在登录的网站“暴露”密码,并且网站本身具备针对恶意登录尝试的强大防御措施。
此外,用户还将在登录时使用多重身份验证(例如智能手机应用程序)来辅助证明其身份,并且Web应用程序将能够安全存储用户密码并在设计中考虑到证书泄露的必然性。但可以肯定的是,这些做法尚未普及,并且网络窃贼正在从用户和网站的糟糕安全“卫生”状况中获利。
去年五月,北京警方破获了一起针对一款流行短视频应用程序的网络攻击案件。其千万级外部账号遭到恶意撞库攻击,其中上百万账号密码与外部泄露密码吻合。这类攻击有多个不同的名称:账密猜测、撞库、证书(凭据)填充或密码填充。然而,正如我们从此案中所看到的,此类攻击都有一个前提,就是恶意攻击者会使用盗取的用户名和密码组合尝试登录他们的目标网站,他们之所以这么做是因为用户会在多个网站上使用相同的密码。大多数网站会默认使用用户的电子邮件地址作为用户名,这非但无法起到保护作用,而且还诞生了反复使用同一证书这一“秘诀”。
撞库攻击成功后的结果就是账户接管。被盗的有效账户证书可能会出售给暗网上的其他犯罪分子,或被网络窃贼消费账户的储值,亦或是窃取数据。例如,在中国公安部组织部署的“净网2019”专项行动中,前十个月共侦破侵犯公民个人信息类案件近3000起,而被侵犯的个人信息主要来自暗网。
图一、撞库和账户接管攻击概览
根据Ponemon的“撞库攻击造成的损失”(The Cost of Credential Stuffing)报告,撞库每年会使企业损失数百万美元。有金融机构曾报告称,其因撞库产生的账户接管成本为每个账户1500至2000美元。但攻击者的目标不仅仅是金融服务行业。Akamai通过分析发现,流行的撞库工具可以轻而易举地攻击多个行业的网站,包括零售、旅游、博彩等。
目前,由于高知名度和价值度的原因,黑客对在线直播服务和游戏行业兴趣极大。可以说,哪里有钱,哪里就有撞库攻击。撞库对黑客而言是一笔收入极其可观的生意,并且已经形成了涵盖撞库工具、配套服务和知识以及攻击成功后的丰厚收益这样一个正在蓬勃发展的市场。在上文所提到的流行短视频应用程序案件中,犯罪分子就承认对时下流行的多个网络平台发起过撞库攻击,累计获利超百万元人民币。
最近的一项研究显示,Akamai在17个月内(2017年11月至2019年3月)观察到550亿次撞库攻击,且没有一个行业能够幸免。仅游戏行业就遭到了120亿次撞库攻击,这表明越来越多想赚快钱的犯罪分子正将黑手伸向该行业。
此外,从2018年全年看,Akamai《互联网安全状况报告:撞库:攻击与经济——特别媒体报告》(State of the Internet / Security: Credential Stuffing: Attacks and Economies – Special Media Report)发现,针对视频、媒体和娱乐行业的撞库攻击从一开始的1.33亿次激增至近2亿次。显而易见的是,恶意登录的尝试次数已超过合法登录,并且这种情况每天都在发生。随着互联网经济成为中国新经济驱动力的关键引擎,中国已成为撞库攻击的前五大目标之一,排在前两位的分别是美国和俄罗斯。
那我们该如何进行反击呢?现在开始保护企业机构(或其客户)的网络账户免遭攻击还为时未晚。
给终端用户的建议
终端用户可以采取多种措施避免成为撞库和账户接管攻击的受害者,而这些措施均关于良好的互联网“卫生”习惯。遵循这些建议的人越多,第三方数据泄露所造成的连带损害影响就越小。
第一,我们都知道好的密码很难记住,因此最好使用“密码短语”来记住您所编写的安全密码[5]。但一个密码切勿重复使用,也不要在多个网站或应用程序中使用同一个密码。
第二,使用诸如LastPass或1Password这样的密码管理器来为每个需要身份验证的网站创建唯一的牢固密码[6]。大多数情况下,密码管理器的主密码应是您需要记住的唯一或最后的密码,而您其他的证书会随机生成并安全地保存在密码管理器的“密码库”中。此外,由于密码管理器只会为之前保存过的合法网站填写用户名和密码,因此密码管理器有助于阻止网络钓鱼攻击。换言之,当您访问钓鱼站点或假冒银行站点时,密码管理器不会自动在页面上的登录表单中填写证书。将您访问的网站的所有登录信息迁移到密码管理器可能会十分繁琐,但却能更好地保护您的数据免遭泄露,因此值得您这么做。请注意,使用免费版密码管理器通常就已足够,您不必为确保安全而购买任何东西。
第三,终端用户可以启用多重身份验证(MFA)来降低账户被盗的风险。这种方法能给我们所研究的撞库工具设置障碍并可以让账户接管攻击无功而返。由于安全研究人员已证实可以利用蜂窝网络中的已知缺陷来拦截多重身份验证短消息[7],因此鉴于电子邮件通信可能更加安全,另一种方法是将多重身份验证的验证质询发送至您的电子邮箱而不是通过短消息发送。而比短消息或电子邮箱更好的选择是使用Yubico的Yubikey这样的硬件身份验证设备或Google Authenticator等身份验证器应用程序来安全地进行多重身份验证。许多时下流行的网站都支持使用此类增强安全功能来进行登录。
给网站负责人和安全人员的建议
对于在后台确保网站安全和正常运行的人员而言,他们可以采取多种方法来消除由于安全漏洞或证书信息被卖到暗网而导致的撞库影响。
第一,企业机构应具有稳健的身份和访问管理解决方案。开放式Web应用程序安全项目(OWASP)的身份验证备忘单(Authentication Cheat Sheet)[8]和密码存储备忘单(Password Storage Cheat Sheet)[9]分别针对处理身份验证和会话管理以及正确存储密码和类似证书信息提供了一些实用的指导。
第二,多重身份验证也具有两面性。它的弊端在于网络应用程序必须支持并正确地实施多重身份验证,这样才能增加一层撞库攻击保护。在强制使用多重身份验证的同时提供多种验证选项将能够提高登录安全措施的安全性和灵活性。此外,通过短消息发送身份验证推送并不是安全的多重身份验证方法。相反,企业机构应使用电子邮件进行多重身份验证的验证质询;或者,比这更好的方法是使用安全的智能手机应用程序或硬件身份验证设备。
第三,企业机构不应使用电子邮件地址作为身份验证的用户名。许多泄露的证书列表中都有电子邮件地址加密码的组合,因此这些组合很容易通过许多网站的验证,尤其是当终端用户在多个网站上重复使用相同的密码时。用户登录时,除了用户名和密码外,企业机构还应要求用户创建网站特定的唯一用户ID并进行第二重身份验证,比如一次性登录码或向智能手机发送身份验证。这还有助于保护用户和企业机构均免受第三方数据泄露引起的连锁反应影响。
第四,事实证明,对登录页面添加第三重信息证明元素(例如客户ID或姓氏)这一方法对于许多酒店和旅游企业非常有效。这种方法要求自动化工具在有用户名加密码组合的同时还要有第三个元素,因此增加了自动化工具的工作难度。
第五,恶意攻击者会创建配置文件或“配置”(configs)。如同食谱一样,配置能够告诉撞库工具入侵企业机构网站的方法。Akamai强烈建议企业机构查看白皮书《隐藏在众目睽睽之下:撞库攻击所使用的工具和资源》(Hidden in Plain Sight: The Tools and Resources Used in Credential Abuse Attacks)中所述工具的目标网站配置文件[10],以此了解自己的网站是否被列为潜在目标并采取措施避免受到进一步的攻击。避免措施可能包括更改网络应用程序身份验证工作流中的某些内容,以此“破坏”自动攻击工具的配置;此外,措施也可能包括找到配置中的特征(例如被设置成发送的header)和创建用于标记来自自动攻击工具潜在请求的签名或规则。
最后一个要点是部署Akamai的Bot Manager Premier(爬虫管理器豪华版)云安全解决方案,并在“拒绝”模式下利用“行为控制”来保护敏感的交易链接,例如登录、账户创建或付款信息输入,从而阻止互联网边缘的这种恶意活动。
在这场防止恶意攻击者入侵网络账户的“猫鼠游戏”中,由于有Cr3d0v3r、Sentry MBA和SNIPR这些创新、方便使用的撞库工具,加之终端用户较差的网络安全“卫生”习惯以及Web应用程序缺乏足够的保护,因此“坏人”似乎更容易取胜。然而,从终端用户到他们访问的网站,再到像Akamai这样的公司,每个人都可以采取行动来保护网站免遭入侵,从而赢得这场战斗。