点击劫持攻击(提防社交网络识别)

本文概述

  • Twitter上的点击劫持
  • Facebook上的点击劫持
  • 较小型社交网络上的点击劫持
  • 跨站点伪造
  • 防止成帧攻击
很难拒绝点击免费的iPhone优惠链接。但请注意:点击很容易被劫持, 结果可能是灾难性的。
单击劫持是一种攻击方法, 也称为用户界面修正, 因为它是通过伪装(或修正)带有覆盖层的链接来设置的, 该链接会诱骗用户执行与他或她所认为的不同的操作。
大多数社交网络用户享受随时保持登录状态的便利。攻击者可以轻易利用这种习惯来强迫用户喜欢或关注某些东西而不会引起注意。为此, 网络罪犯可以在其自己的网页上放置一个诱人的按钮(例如带有吸引人的文字, 例如” 免费iPhone –限时优惠” ), 并在其中隐藏带有社交网络页面的不可见框架, 例如” 喜欢” 或” 共享” 按钮位于” 免费iPhone” 按钮上方的方式。
这个简单的点击劫持技巧可以迫使Facebook用户在不知情的情况下喜欢群组或粉丝页面。
【点击劫持攻击(提防社交网络识别)】从将受害者的唯一后果添加到社交网络组的意义上说, 所描述的场景是纯真的。但是, 通过一些额外的努力, 可以使用相同的技术来确定用户是否已登录其银行帐户, 而不是喜欢或共享某些社交媒体项目, 而可以迫使他或她单击将资金转移到其上的按钮。例如, 攻击者的帐户。最糟糕的部分是, 由于用户已合法登录到他或她的银行帐户, 并且他或她自愿单击了转移按钮, 因此无法跟踪恶意行为。
由于大多数点击劫持技术都需要社会工程学, 因此社交网络成为理想的攻击媒介。
让我们看看它们的用法。
Twitter上的点击劫持 大约十年前, Twitter社交网络遭受了一次大规模攻击, 迅速传播了一条消息, 导致用户利用他们的自然好奇心单击链接。
点击劫持攻击(提防社交网络识别)

文章图片
带有” 不要点击” 文字和链接的推文在数千个Twitter帐户中迅速传播。当用户单击链接, 然后单击目标页面上看似无辜的按钮时, 他们的帐户发送了一条推文。该推文中包含” 不要点击” 文字, 后跟恶意链接。
Twitter工程师在点击劫持攻击开始不久后对其进行了修补。攻击本身被证明是无害的, 它可以作为警报来告知Twitter点击劫持计划所涉及的潜在风险。恶意链接将用户带到带有隐藏iframe的网页。框架内有一个看不见的按钮, 它从受害者的帐户发送了恶意推文。
Facebook上的点击劫持 移动Facebook应用程序用户暴露于一个漏洞, 该漏洞可使垃圾邮件发送者未经其同意就在其时间表上发布可点击的内容。该漏洞是由正在分析垃圾邮件活动的安全专家发现的。专家观察到, 他的许多联系人正在发布指向带有有趣图片的页面的链接。在到达图片之前, 要求用户单击年龄的声明。
他们不知道该声明是在一个看不见的框架下。
点击劫持攻击(提防社交网络识别)

文章图片
用户接受声明后, 他们被带到带有有趣图片的页面。但与此同时, 该链接已发布在用户的Facebook时间轴中。之所以可能这样做, 是因为Android版Facebook应用中的网络浏览器组件与框架选项标头不兼容(下面我们将解释它们的含义), 因此可以进行恶意的框架覆盖。
Facebook不将此问题视为错误, 因为它不会影响用户的帐户完整性。因此, 不确定是否会修复。
较小型社交网络上的点击劫持 不只是Twitter和Facebook。其他不那么受欢迎的社交网络和博客平台也具有允许点击劫持的漏洞。例如, LinkedIn的一个缺陷为攻击者打开了一扇门, 诱骗用户诱使用户代表他们共享和发布链接, 但未经他们的同意。在修复此漏洞之前, 该漏洞使攻击者可以将LinkedIn ShareArticle页面加载到一个隐藏的框架上, 并将此框架覆盖在页面上, 这些页面上看似无害且具有吸引力的链接或按钮。
点击劫持攻击(提防社交网络识别)

文章图片
另一个案例是公共Web博客平台Tumblr。本网站使用JavaScript代码来防止点击劫持。但是这种保护方法变得无效, 因为可以将页面隔离在HTML5框架中, 从而阻止页面运行JavaScript代码。可以使用精心设计的技术来窃取密码, 并将上述缺陷与密码帮助器浏览器插件结合起来:通过诱骗用户键入错误的验证码文本, 他们可能会无意中将密码发送到攻击者的网站。
跨站点伪造 点击劫持攻击的一种变种称为跨站点请求伪造, 简称CSRF。在社会工程学的帮助下, 网络犯罪分子将CSRF定向到最终用户, 迫使他们执行有害的操作。攻击媒介可以是通过电子邮件或聊天发送的链接。
点击劫持攻击(提防社交网络识别)

文章图片
CSRF攻击无意窃取用户的数据, 因为攻击者无法看到对虚假请求的响应。相反, 攻击针对的是状态更改请求, 例如密码更改或资金转帐。如果受害者具有管理特权, 则攻击有可能危害整个Web应用程序。
CSRF攻击可以存储在易受攻击的网站上, 特别是具有所谓的” 存储的CSRF漏洞” 的网站。这可以通过在随后显示在页面(例如注释或搜索结果页面)上的输入字段中输入IMG或IFRAME标签来完成。
防止成帧攻击 可以告知现代浏览器是否允许在框架内加载特定资源。他们还可以仅在请求来自用户所在的同一站点时才选择在框架中加载资源。这样, 用户就不会被欺骗点击带有其他网站内容的不可见框架, 并且其点击不会被劫持。
点击劫持攻击(提防社交网络识别)

文章图片
客户端缓解技术称为帧破坏或帧杀死。尽管它们在某些情况下可能是有效的, 但也可以轻松地绕开它们。这就是为什么不将客户端方法视为最佳实践的原因。安全专家建议使用服务器端方法(例如X-Frame-Options(XFO)或更新的方法, 例如内容安全策略)来代替框架破坏。
X-Frame-Options是Web服务器包含在网页上的响应标头, 用于指示是否允许浏览器在框架内显示其内容。
X-Frame-Option标头允许三个值。
  • DENY, 禁止在一个框架内显示页面
  • SAMEORIGIN, 它允许在一个框架内显示页面, 只要它位于相同的域中
  • ALLOW-FROM URI, 它允许在一个框架内但仅在指定的URI(统一资源标识符)中(例如, 仅在特定的特定网页中)显示页面。
最新的防点击劫持方法包括带有frame-ancestors指令的内容安全策略(CSP)。此选项已广泛用于替代XFO。与XFO相比, CSP的一个主要优点是它允许Web服务器授权多个域来构架其内容。但是, 并非所有浏览器都支持它。
CSP的frame-ancestors指令接受三种类型的值:” 无” , 以防止任何域显示内容; “ 自我” , 仅允许当前站点在框架中显示内容, 或仅显示带有通配符的URL列表, 例如” * .some site.com” , ” https://www.example.com/index” 。 html等” , 以仅允许在与列表中的元素匹配的任何页面上进行框架化。
如何保护自己免受点击劫持
在浏览时保持登录社交网络很方便, 但是如果这样做, 则需要谨慎单击。你还应注意所访问的站点, 因为并非所有站点都采取了必要的措施来防止点击劫持。如果你不确定要访问的网站, 则无论其诱人程度如何, 均不应单击任何可疑的点击。
点击劫持攻击(提防社交网络识别)

文章图片
要注意的另一件事是你的浏览器版本。即使站点使用了前面提到的所有防止点击劫持标头, 也不是所有的浏览器都支持它们, 因此请确保使用你可以获得的最新版本, 并且该网站支持防点击劫持功能。
常识是一种有效的自我保护装置, 可防止点击劫持。当你看到不寻常的内容(包括某个朋友在任何社交网络上发布的链接)之前, 请先问问自己这是否是你的朋友会发布的内容类型。如果没有, 你应该警告你的朋友, 他或她可能成为点击劫持的受害者。
最后一条建议:如果你是有影响力的人, 或者在任何社交网络上只有大量追随者或朋友, 则应加倍预防措施, 并在网上进行负责任的行为。因为如果你成为抢劫受害者, 那么攻击将最终影响到很多人。

    推荐阅读