Facebook的工程师们在该社交网络的底层代码库中插入了另一个漏洞,这个漏洞可能会允许恶意威胁行为者秘密收集Facebook用户的高度个人信息。
在与媒体的交流中,发现该问题的安全研究员Imperva的Ron Masas表示,该漏洞存在于Facebook的搜索系统中。
“我浏览了Facebook的在线搜索结果,在他们的HTML中发现每个结果都包含iframe元素——可能用于Facebook自己的内部跟踪。”发现这一点后,他意识到,通过在搜索结果页面中寻找iframe,他可以确定搜索查询是否返回了正/负反馈。
根据反馈的信息(基本的“是”、“否”问题),Masas表示他可以推断用户是否喜欢某个特定的页面,他们是否在某些地理位置拍照,他们在好友列表中是否有某个宗教的朋友,他们是否共享有特定文本的帖子,用户好友是否有特定名称、用户是否有居住在某个城市或者国家的好友以及其他高度敏感的细节。
即使用户没有公开细节信息,但通过拼凑这些查询后反馈的信息,用户自己及好友的部分身份信息还是被“二度曝光”。但这些具有高度隐私性的信息只有用户才能访问,攻击者无法通过Facebook的公共搜索查询功能进行查询。不过,一旦用户以任何方式与此页面交互(例如滚动或单击)页面将会自动执行恶意JavaScript代码,从而在新选项卡中自动执行这些搜索查询。
Masas告诉媒体,攻击者可以使用一种名为“tab under”的技术强制在后台标签中打开Facebook Search页面,这样可以将用户的注意力集中在显示的恶意页面上——这可以伪装成在线游戏,电影流媒体门户网站或新闻文章。由于这一技术现在经常用于推动侵入性的在线广告,大多数用户甚至不会注意到在他们的浏览器的背景下打开的新标签,只是关注另一个广告。当用户与恶意页面交互时,Masas的脚本将通过Facebook Graph API自动执行一系列Facebook搜索,计算通过“fb.frame .length”属性返回的搜索结果的iframes数量,并记录结果。
如果用户在他们的桌面浏览器中只打开了两三个选项卡,那么有新的Facebook选项卡被打开,攻击难以起作用;但是由于大多数用户倾向于在标签栏中保留大量标签,所以用户极有可能看不到攻击的发生,尤其是当他们将注意力放在来自于攻击者的恶意页面时。
此外,此类攻击在移动设备上也非常有效,因为移动设备屏幕大小有限,选项卡难以直接显示,通常更容易被忽略。Masas告诉媒体,他的攻击对所有浏览器起作用并不仅限于Chrome。此外,攻击还不需要为每个搜索查询打开单个选项卡,允许允许攻击者在短时间内使用新的搜索URL重新加载现有的选项卡。
Masas在博客中表示于今年5月向Facebook报告了这个漏洞,该平台不久后推出了修复程序。Facebook的一位发言人在声明中表示:“我们感谢这位研究员向我们的漏洞奖励计划提交的报告。”“我们已经在我们的搜索页面修复了这个问题,并且没有发现任何滥用。由于这种潜在的行为并不是Facebook独有的,我们已经向浏览器制造商和相关的网络标准组织提出了建议,鼓励他们采取措施防止这种问题在其他网络应用程序中发生。研究人员的发现表明,尽管Facebook提供了大量的漏洞奖励计划,但它在确保其庞大平台的安全方面仍将遇到困难,并将始终对大规模获取操作开放,比如剑桥分析公司(Cambridge Analytica)丑闻,或者最近由另一个平台功能——View as button引发的安全漏洞。这是因为与编写无bug平台相比,安全漏洞的固有特性更容易发现。