谨防社交网络识别

很难抗拒点击免费 iPhone 优惠链接。 但要小心:您的点击很容易被劫持,结果可能是灾难性的。

点击劫持是一种攻击方法,也称为用户界面纠正,因为它是通过伪装(或纠正)带有覆盖层的链接来设置的,该覆盖层会诱使用户做一些与他或她想象的不同的事情。

大多数社交网络用户都享受随时保持登录状态的便利。 攻击者可以很容易地利用这种习惯,迫使用户在不注意的情况下点赞或关注某些内容。 为此,网络罪犯可以在自己的网页上放置一个诱人的按钮——例如,带有吸引人的文本,如“免费 iPhone——限时优惠”——并在其中覆盖一个带有社交网络页面的隐形框架,这样“喜欢”或“分享”按钮覆盖免费 iPhone 按钮的一种方式。

这个简单的点击劫持技巧可以迫使 Facebook 用户在不知情的情况下点赞群组或粉丝页面。

所描述的场景是相当无辜的,因为受害者的唯一后果就是被添加到社交网络组中。 但是,通过一些额外的努力,可以使用相同的技术来确定用户是否登录到其银行帐户,而不是喜欢或分享一些社交媒体项目,他或她可能会被迫点击一个按钮,将资金转移到例如,攻击者的帐户。 最糟糕的是无法追踪恶意行为,因为用户是合法登录到他或她的银行账户的,并且他或她自愿点击了转账按钮。

由于大多数点击劫持技术都需要社交工程,因此社交网络成为理想的攻击媒介。

让我们看看它们是如何使用的。

Twitter 上的点击劫持

大约十年前,Twitter 社交网络遭受了一次大规模攻击,该攻击迅速传播了一条消息,导致用户利用他们天生的好奇心点击了一个链接。

带有“请勿点击”文本和后跟链接的推文在数千个 Twitter 帐户中迅速传播。 当用户点击链接,然后点击目标页面上看似无害的按钮时,会从他们的帐户发送一条推文。 该推文包含文本“请勿点击”,后跟恶意链接。

Twitter 工程师在点击劫持攻击开始后不久就对其进行了修补。 攻击本身被证明是无害的,它起到了警报的作用,告诉人们 Twitter 点击劫持计划中涉及的潜在风险。 恶意链接将用户带到带有隐藏 iframe 的网页。 框架内有一个不可见的按钮,用于从受害者的帐户发送恶意推文。

Facebook 上的点击劫持

移动 Facebook 应用程序用户面临一个漏洞,该漏洞允许垃圾邮件发送者在未经他们同意的情况下在他们的时间线上发布可点击的内容。 该错误是由分析垃圾邮件活动的安全专家发现的。 这位专家观察到,他的许多联系人都发布了指向带有有趣图片的页面的链接。 在到达图片之前,要求用户点击成年声明。

他们不知道的是,宣言是在一个无形的框架下。

当用户接受声明时,他们会被带到一个带有有趣图片的页面。 但与此同时,该链接已发布在用户的 Facebook 时间线上。 这是可能的,因为适用于 Android 的 Facebook 应用程序中的 Web 浏览器组件与框架选项标头不兼容(下面我们将解释它们是什么),因此允许恶意框架覆盖。

Facebook 并未将此问题视为错误,因为它对用户帐户的完整性没有影响。 所以不确定它是否会被修复。

在较小的社交网络上点击劫持

不仅仅是 Twitter 和 Facebook。 其他不太受欢迎的社交网络和博客平台也存在允许点击劫持的漏洞。 例如,LinkedIn 有一个漏洞,可以让攻击者在未经用户同意的情况下诱骗用户代表他们共享和发布链接。 在修复之前,该漏洞允许攻击者将 LinkedIn ShareArticle 页面加载到一个隐藏的框架上,并将该框架覆盖在具有看似无害且吸引人的链接或按钮的页面上。

另一个例子是公共网络博客平台 Tumblr。 本网站使用 JavaScript 代码来防止点击劫持。 但是这种保护方法变得无效,因为页面可以隔离在 HTML5 框架中,防止它们运行 JavaScript 代码。 一种精心设计的技术可用于窃取密码,将上述缺陷与密码助手浏览器插件相结合:通过诱骗用户输入错误的验证码文本,他们可能会无意中将密码发送到攻击者的站点。

  Remo MORE 是一款出色的桌面和移动优化工具,适用于新手

跨站请求伪造

点击劫持攻击的一种变体称为跨站请求伪造,简称 CSRF。 在社会工程的帮助下,网络犯罪分子将 CSRF 攻击指向最终用户,迫使他们执行不需要的操作。 攻击媒介可以是通过电子邮件或聊天发送的链接。

CSRF 攻击并不打算窃取用户的数据,因为攻击者看不到对虚假请求的响应。 相反,这些攻击针对的是状态更改请求,例如密码更改或资金转移。 如果受害者拥有管理权限,则攻击有可能危及整个 Web 应用程序。

CSRF 攻击可以存储在易受攻击的网站上,尤其是具有所谓“存储的 CSRF 缺陷”的网站。 这可以通过在稍后显示在页面(例如评论或搜索结果页面)上的输入字段中输入 IMG 或 IFRAME 标记来实现。

防止框架攻击

可以告知现代浏览器是否允许或不允许在框架内加载特定资源。 他们还可以选择仅当请求来自用户所在的同一站点时才在框架中加载资源。 这样,用户就不会被诱骗点击带有其他网站内容的不可见框架,他们的点击也不会被劫持。

客户端缓解技术称为 frame busting 或 frame killing。 尽管它们在某些情况下可能有效,但也很容易被绕过。 这就是为什么客户端方法不被视为最佳实践的原因。 安全专家推荐服务器端方法,例如 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 指令接受三种类型的值:“无”,以防止任何域显示内容; ‘self’,只允许当前站点显示框架中的内容,或带有通配符的 URL 列表,例如 ‘*.some site.com,’ ‘https://www.example.com/index.html,’ 等,以仅允许在与列表中的元素匹配的任何页面上构建框架。

如何保护自己免受点击劫持

在四处浏览时保持登录到社交网络很方便,但如果这样做,则需要谨慎点击。 您还应该注意您访问的网站,因为并非所有网站都采取必要措施来防止点击劫持。 如果您不确定您正在访问的网站,您不应该点击任何可疑的点击,无论它多么诱人。

另一件需要注意的事情是您的浏览器版本。 即使一个站点使用了我们之前提到的所有防止点击劫持的标头,但并非所有浏览器都支持所有这些标头,因此请务必使用您可以获得的最新版本并且它支持反点击劫持功能。

常识是防止点击劫持的有效自我保护装置。 当您看到不寻常的内容(包括朋友在任何社交网络上发布的链接)时,在做任何事情之前,您应该问问自己,您的朋友是否会发布这种内容。 如果不是,您应该警告您的朋友,他或她可能已成为点击劫持的受害者。

最后一条建议:如果你是一个有影响力的人,或者你在任何社交网络上都有大量的追随者或朋友,你应该加倍预防并在网上实践负责任的行为。 因为如果你成为点击劫持的受害者,攻击最终会影响到很多人。