点击劫持攻击:警惕社交网络身份识别
很难抵挡点击免费iPhone提供链接的诱惑。但要小心:您的点击可能会被轻易劫持,结果可能会灾难性。
什么是点击劫持?
点击劫持是一种攻击方法,也被称为用户界面伪装,因为它通过伪装(或伪装)覆盖链接来欺骗用户,使其进行与他们认为不同的操作。
大多数社交网络用户喜欢随时保持登录状态的便利。攻击者可以轻易利用这种习惯,强迫用户无意识地点赞或关注某些内容。为此,网络犯罪分子可以在其自己的网页上放置一个诱人的按钮 – 例如,以吸引人的文本为例,比如“限时免费iPhone优惠”,并在其中嵌入一个包含社交网络页面的不可见框架,以便“点赞”或“分享”按钮覆盖在免费iPhone按钮上。
这种简单的点击劫持技巧可以迫使Facebook用户无意识地关注某些群组或粉丝页面。
所描述的情景在某种程度上无害,因为受害者唯一的后果就是被添加到社交网络群组中。但是通过一些额外的努力,同样的技术可以用于确定用户是否已登录其银行账户,而不是点赞或分享某些社交媒体内容,而是被迫点击一个将资金转入攻击者账户的按钮,例如。最糟糕的是,由于用户是合法地登录到其银行账户,并且他们自愿点击了转账按钮,因此无法追踪这种恶意操作。
因为大多数点击劫持技术需要social engineering,所以社交网络成为理想的攻击载体。
让我们看看它们是如何被利用的。
Twitter上的点击劫持
大约十年前,Twitter社交网络遭受了一次大规模攻击,迅速传播了一条消息,导致用户点击链接,利用了他们天生的好奇心。
带有文本“Don't click”(不要点击)的推文,后跟一个链接,迅速传播到成千上万个Twitter账户。当用户点击链接,然后点击目标页面上似乎无害的按钮时,一条推文将从他们的账户发送出去。该推文包含文本“Don't click”,后面跟着恶意链接。
Twitter工程师不久之后修补了点击劫持攻击。攻击本身被证明是无害的,它作为一种警告告诉人们Twitter点击劫持行动的潜在风险。恶意链接将用户带到一个带有隐藏iframe的网页。框架内部有一个不可见按钮,从受害者的账户发送恶意推文。
Facebook上的点击劫持
使用移动Facebook应用程序的用户面临一个错误,让垃圾邮件发送者在其时间线上发布可点击的内容,而不需要得到他们的同意。一位安全专家在分析垃圾邮件活动时发现了这个漏洞。专家观察到他的许多联系人都在发布指向一个有趣图片页面的链接。在达到图片之前,用户被要求点击一个宣告成年的声明。
他们不知道的是,声明是在不可见的框架下。
当用户接受声明时,他们被带到一个有趣图片的页面。但与此同时,链接被发布在用户的Facebook时间线上。这是可能的,因为Facebook应用程序中的Web浏览器组件与帧选项标头不兼容(下面我们将解释它们是什么),因此允许恶意帧覆盖。
Facebook并未将此问题视为错误,因为它对用户账户的完整性没有影响。因此,是否会修复这个问题还不确定。
较小的社交网络上的点击劫持
这不仅仅发生在Twitter和Facebook上。其他不那么流行的社交网络和博客平台也存在可以进行点击劫持的漏洞。以LinkedIn为例,它曾经存在一个漏洞,让攻击者可以欺骗用户代表他们分享和发布链接,而用户并不知情。在修复之前,这个漏洞允许攻击者在隐藏的框架中加载LinkedIn的ShareArticle页面,并将此框架覆盖在看似无害和吸引人的链接或按钮上。
另一个例子是公共网络博客平台Tumblr。该网站使用JavaScript代码来防止点击劫持。但是,由于页面可以被隔离在一个阻止运行JavaScript代码的HTML5框架中,这种保护方法变得无效。可以使用精心设计的技术结合密码助手浏览器插件来窃取密码:通过欺骗用户输入错误的验证码文本,他们可能无意中将密码发送到攻击者的网站。
跨站请求伪造
点击劫持攻击的一种变体称为跨站请求伪造,简称CSRF。通过社交工程,网络犯罪分子对终端用户发起CSRF攻击,迫使他们执行不需要的操作。攻击向量可以是通过电子邮件或聊天发送的链接。
CSRF攻击并不意图窃取用户的数据,因为攻击者无法看到虚假请求的响应。相反,攻击目标是状态更改请求,如密码更改或资金转移。如果受害者使用了administrative privileges,则此攻击有可能危及整个Web应用程序。
CSRF攻击可以存储在易受攻击的网站上,特别是具有所谓“存储的CSRF漏洞”的网站。这可以通过在稍后显示在页面上的输入字段中输入IMG或IFRAME标签来实现,例如评论或搜索结果页面。
真实案例:点击劫持举例
在2016年,谷歌广告流量质量官员Andres Ferrate在一篇博文中澄清,一些发布者将广告(iFrame)隐藏在典型的可点击内容上方。