什么是会话劫持和预防方法

你知道吗,黑客可以在不窃取你的注册信息的情况下代表你进行银行转账或在线购物吗?

我们将Cookie与跟踪和令人讨厌的在线广告联系在一起,但它们还存储搜索查询,使我们能够在不输入用户名和密码的情况下访问网站。

然而,如果有人截取了Cookie,那么这可能会导致一种被称为“会话劫持”的灾难性情况,这可能会使你的敏感数据面临攻击者的风险,在你甚至不知道发生了什么之前造成很大的损害。

让我们了解一下它是什么以及你如何预防它!

什么是会话劫持?

在会话劫持中,攻击者截取并接管用户和主机(如Web服务器、会话或任何其他基于TCP的连接)之间的已建立的会话。会话在你登录网站或应用程序(例如一个论坛网站)时开始。

当你在账户内部检查个人资料或参与讨论时,会话会持续进行,并在你退出系统时结束。但是Web服务器如何知道你发出的每个请求实际上来自你呢?

这就是Cookie的作用。在登录后,你将凭据提交给Web服务器。它确认你的身份并通过一个Cookie为你提供一个会话ID,该会话ID将在会话期间与你相关联。这就是为什么你每次访问某人的个人资料时不需要退出应用程序,以及为什么在线商店会在你刷新页面时记住你放入购物车的物品。

但是攻击者可以劫持会话,如果他们使用特殊的会话管理技术或窃取你的Cookie。这样一来,它可以欺骗Web服务器以相信请求来自你,即授权用户。

会话劫持现象在21世纪初变得很有名,但它仍然是黑客使用的最常见的方法之一。

一个最近的例子是今年成为FBI“头号通缉名单”的Lapsus$ Group。它使用InfoStealer恶意软件感染来劫持会话。

类似地,GenesisStore是一个只向邀请的商店,由同名团队运营,销售被攻陷的Cookie数据,其上市数量超过400,000+个机器人。

会话劫持类型

会话劫持可以分为两个主要类别,取决于攻击者的目的。

主动:在主动攻击中,攻击者接管你的会话,从而占据合法客户与资源的连接。根据会话的网站不同,黑客可以进行在线购物、更改密码或恢复账户。主动攻击的一个常见例子是暴力破解、XSS甚至DDoS

Source: OSWAP

被动:在被动攻击中,攻击者不接管或更改会话。相反,他们静默地监视你的设备和服务器之间的数据流量,收集所有敏感信息。通常,IP欺骗和注入用于进行被动注入攻击。

Source: OSWAP

会话劫持是如何工作的?

HTTP是一种无状态协议,这意味着服务器不记住客户端的操作。每个新的HTTP请求与一个新的工作单元相对应,或者更简单地说,服务器向客户端提供页面而不记住客户端之前的请求。

当我们浏览网络时,我们意识到应用程序理想情况下应该知道客户端是谁(甚至太了解了!)。由于服务器的“记忆”,我们可以创建现代保留网站区域、在线银行、网络邮件服务等。要做到这一点,诞生了一个使无状态协议如HTTP具有状态的附属品:Cookie。

有了状态的会话
一旦登录,使用有状态会话的Web应用程序会放置一个会话cookie。这意味着它们依靠此cookie来跟踪客户端。在cookie中保存了一个允许识别客户端的唯一代码,例如:SESSIONID=ACF3D35F216AAEFC。拥有上述唯一会话ID或代码的任何人都将成为服务器的已验证客户端。如果攻击者可以获得此标识符,如下图所示,他们可以利用最初为受害者验证的会话,无论是嗅探合法会话还是完全接管会话。该标识符通常嵌入在URL中,任何表单的隐藏字段中或者使用cookie。

有状态的会话
随着Web的发展,出现了一些解决方案,以在不使用会话cookie的情况下管理服务器的“记忆”。在前端和后端完全分离且仅通过API通信的Web应用程序中,最佳解决方案可能是JSON Web Token(JWT),它是一种签名令牌,允许前端使用后端提供的API。通常,JWT保存在浏览器的sessionStorage中,这是客户端在选项卡关闭之前保持活动状态的内存区域。因此,打开一个新选项卡会创建一个新会话(与使用cookie的情况相反)。窃取客户端的身份令牌允许窃取用户的会话,从而进行会话劫持攻击。但是如何窃取该令牌?

目前,黑客最常使用的方法有:
1. 会话劫持:该方法使用不安全的网络来获取您的会话ID。攻击者使用嗅探(特殊软件)通常针对公共Wi-Fi或没有link标记的网站,这些网站的安全性较差。
2. 会话固定:受害者使用攻击者创建的会话ID。它可以通过钓鱼攻击(通过恶意链接)来实现“固定”您的会话ID。
3. 暴力破解:这是一种耗时且低效的方法。在此攻击中,黑客不会窃取您的cookie,而是尝试每种可能的组合来猜测您的会话ID。
4. XSS或跨站脚本:黑客利用网站或应用程序的漏洞注入恶意代码。当用户访问该站点时,脚本被激活,窃取用户的cookie并将其发送给攻击者。
5. 恶意软件注入:恶意软件可以在您的设备上执行未经授权的操作以窃取个人信息。它通常还用于拦截cookie并将信息发送给攻击者。
6. IP欺骗:黑客更改其数据包的源IP地址,使其看起来像是来自您。由于虚假的IP,Web服务器认为它是您,会话被劫持。

如何预防会话劫持?
会话劫持的可能性通常取决于您使用的网站或应用程序的安全性。但是,您可以采取以下步骤保护自己:

  • 避免使用公共Wi-Fi,因为免费热点是网络犯罪分子的理想选择。它们通常安全性较差,易受黑客伪造。更不用说它们总是充满了潜在的受害者,他们的数据通信不断受到威胁。
  • 任何没有使用SSL证书的网站都会使你处于弱势,因为它无法加密数据通信。通过查找URL旁边的小锁图标来判断网站是否安全。
  • 安装一个anti-malware application来检测和保护设备免受恶意软件和盗取个人信息的 RAT 攻击。
  • 使用官方应用商店或网站下载应用程序,避免下载恶意软件。
  • 如果收到要求点击不熟悉链接的消息,请不要点击。这可能是钓鱼攻击,会感染你的设备并窃取个人信息。

用户对抗会话劫持攻击能力有限。然而,应用程序可以注意到不同的设备使用了同一会话标识符连接。并依靠此进行设计缓解策略,例如:

  • 为每个会话关联一些技术指纹或设备特征,以检测注册参数的更改。这些信息必须绝对加密保存在 cookie(用于有状态会话)或 JWT(用于无状态会话)中。
  • 如果会话基于 cookie,请使用 HTTPOnly 属性丢弃 cookie,使其在发生 XSS 攻击时无法访问。
  • 配置入侵检测系统(IDS)、入侵防御系统(IPS)或networking monitoring解决方案。
  • 某些服务对用户身份进行二次检查。例如,Web 服务器可以在每个请求中检查用户的IP address是否与该会话期间最后使用的 IP 地址匹配。然而,这无法防止使用相同 IP 地址的其他人的攻击,并且可能会对 IP 地址在浏览会话期间更改的用户造成困扰。
  • 或者,某些服务将在每个请求中更改 cookie 值。这大大缩小了攻击者操作窗口,并更容易识别是否发生了攻击,但也可能引发其他技术问题。
  • 对每个用户会话使用不同的多因素身份验证(MFA)解决方案。
  • 及时更新所有系统的最新补丁和安全更新。

常见问题

会话劫持与会话伪造有何不同?

会话劫持是指冒充用户,而会话伪造是替换用户。在过去几年中,一些安全分析师开始将后者视为一种会话劫持类型。

总结

会话劫持是黑客通过使用会话令牌或 cookie 与服务器进行伪装,与真实用户进行通信的一种方法。近年来,会话劫持攻击的频率有所增加,因此了解此类攻击并采取预防措施变得越来越重要。然而,随着技术的发展,攻击也变得更加复杂,因此有必要针对会话劫持制定积极的缓解策略。

你可能还想了解你的data is worth on the dark web

类似文章