很多信息安全专家认为,如果老练的攻击者瞄准企业内一个高价值的人作为鱼叉式网络钓鱼攻击的一部分,鉴于当今的安全控制、流程以及对于攻击如何发生的安全意识,这名攻击者应该会成功。
CloudFlare公司的首席执行官证明了这一点。让我们简单地回顾一下,CloudFlare公司使用谷歌的Gmail账户来登录Google Apps,用以管理CloudFlare产品中的客户数据。通过一系列预先计划的活动,攻击者获取了对这名首席执行官账户的控制,并发起攻击,最终成功获取了CloudFlare的一名客户的信息。毫无疑问,这对于任何企业而言,都是最糟糕的情况。
用户账户安全:错误和最佳做法
攻击者的第一步是获取该CEO的Gmail账户信息,这不仅让他或她可以控制该CEO的电子邮件,而且还可以通过简单的登录,获得对其Google Apps工具的控制。很显然,这名CEO使用了简单的电子邮件地址,用于外部通信以及访问Google Apps账户。大多数企业在其企业网站中公布了其高管的名字,并且大多数企业使用与名字相关的简单的电子邮件地址(例如jsmith@gmail.com或者john.smith@gmail.com),攻击者只需要向这些名字变体地址发送一些钓鱼电子邮件,就可以确定他或她的电子邮件地址。这也是获取该账户控制权的第一步。
我们可以通过两种方法来阻止这种用于确定电子邮件账户名称的鱼叉式网络钓鱼攻击。由于所有企业邮件系统都有“白页”或者某种形式的目录,企业不需要内部员工知道互相的电子邮件地址。因此,企业应该采取的更好安全控制是:使用与实际用户名字不太相关的电子邮件地址。例如,使用员工名字的缩写,并在后面添加四个或五个随机数字(例如jps29581@gmail.com),这样的话,鱼叉式钓鱼攻击几乎不可能成功。对于使用电子邮件地址作为访问企业数据(例如Google Apps)的凭证的系统,确保攻击者无法获取访问权的第二种方法是:使用一个电子邮件账户用于外部通信,使用另一个单独的电子邮件账户(或更多账户)仅用于访问重要应用和数据。即使在云环境中,使用与个人不相关的电子邮件账户名称都能够阻止外部人员发现(并可能破坏)该账户。在CloudFlare的案例中,如果使用jps2958@gmail.com作为电子邮件账户,并使用单独的账户(例如torbox3953@gmail.com)用于Google Apps访问将让攻击者无法找出CEO的电子邮件账户。
密码恢复是如何出错的
在攻击者获取CloudFlare公司CEO的Gmail账户名称后,他联系谷歌的客户服务来进行密码重设。在数星期的尝试后,攻击者说服谷歌的账户恢复系统来添加一个虚假的恢复电子邮件地址,这让攻击者可以更改CEO的Gmail密码以及获取该账户的访问权。
无论企业使用多么强大的密码(在这个案例中,使用的是20+字符长的高度随机的密码),只要企业的密码重置程序很薄弱,攻击者都能够通过获取用户的个人详细信息,绕过破解高强度密码,直接更改密码。例如,在用户注册账户时,都会要求用户设置一个简单的易于猜测的问题来重置账户密码。而在Facebook、LinkedIn和其他休闲和专业社交媒体网站存储了大量个人资料,因此,员工必须假设其生活的主要因素现在都已经公之于众了。大部分网民的很多信息都可以很容易地在网上找到,例如最喜爱的宠物、高中名称、母亲的婚前姓氏等。这意味着随着企业开始向互联网暴露更多后端业务系统或者使用云服务(CloudFlare的案例中),企业需要采用更强大的身份验证方法(例如双因素身份验证或者生物识别技术),来保护面向瞬息万变的互联网的账户,
对于大多数面向互联网的攻击,遵循这些简单的步骤都能够阻止攻击。但在CloudFlare的案例中,CEO的账户受到双因素身份验证保护,却仍然受到攻击。这只能表明这名攻击者非常娴熟、聪明且坚定。为了重置该CEO的Gmail账户,这名攻击者必须提供被发送到该CEO的AT&T移动账户的PIN码。
攻击者甚至找到了一种方法来克服这一挑战。根据事故调查员表示,这名攻击者呼叫了AT&T,并假冒这名CEO。虽然攻击者无法回答CEO的账户验证安全问题,但他能够向客服人员提供该CEO社会安全号码的最后四位数字。但由于该账户是企业账户,不应该被链接到CEO的社会安全号码。这让该攻击者将CEO的语音邮件重定向到受攻击者控制的电话号码。攻击者再次使用受害者的个人信息获取了对账户(这个案例中是CEO的移动运营商)的控制,恰恰利用了密码重置过程的最薄弱的环节。这表明这名攻击者非常熟悉谷歌的密码重置过程。在此事件后,AT&T和谷歌已经更改了他们的身份验证过程以加强保护。
结论
这些事件让我们意识到,为了获取高价值账户,攻击者可能会走向极端。16岁网络奇才坐在他父母的地下室执行这种攻击的普遍看法已经过时了。从这个事件和其他最近网络欺诈事件来看,很显然,这些攻击是反文化组织针对美国企业的深思熟虑的有计划的攻击。
当企业架构其互联网身份验证系统时,他们必须意识到身份验证过程可能超出他们的控制范围,而延伸到业务合作伙伴和供应商。企业必须充分理解云合作伙伴、互联网服务提供商、移动ISP和其他供应商是如何管理和维护密码重置、账户管理和财务支付流程的,并及时发现和纠正错误。
从这次事件得到的好消息是,在CloudFlare调查此次攻击时,谷歌和AT&T充分与其合作,但在CloudFlare事件发生前,即使是这些大公司也没有意识到其程序缺陷。只有将身份和访问控制看作是完整的生态系统(从用户到互联网到云环境),才能够发现缺陷。CloudFlare现在明白了攻击者将会不惜一切代价来获取目标账户的控制权,问题是,你的企业知道攻击者会采取何种手段来获取你的数据吗?