什么是会话劫持及防范方法
已发表: 2022-12-20您是否知道黑客可以在不窃取您的注册信息的情况下以您的名义进行银行转账或网上购物?
我们将 cookie 与跟踪和烦人的在线广告相关联,但它们也存储搜索查询,使我们无需输入用户名和密码即可访问网站。
但是,如果有人拦截了 cookie,那么这可能会导致灾难性的网络攻击,称为会话劫持,这会使您的敏感数据处于攻击者手中的危险之中,并且在您甚至不知道发生了什么之前就可能造成很大的破坏。
让我们找出它是什么以及如何预防它!
什么是会话劫持?
在会话劫持中,攻击者拦截并接管用户与主机之间已建立的会话,例如 Web 服务器、Telnet 会话或任何其他基于 TCP 的连接。 一旦您登录网站或应用程序(例如社交网站),会话就会开始。
它会在您进入帐户、检查您的个人资料或参与话题时继续,并在您注销系统时结束。 但是 Web 服务器如何知道您发出的每个请求实际上都是您发出的呢?
这就是 cookie 的用武之地。登录后,您将凭据提交给 Web 服务器。 它会确认您是谁,并使用将在会话期间附加到您身上的 cookie 为您提供会话 ID。 这就是为什么您不会在每次访问某人的个人资料时都退出应用程序的原因,也是为什么即使您刷新页面,在线商店也会记住您放入购物车的内容的原因。
但是如果攻击者使用特殊的会话管理技术或窃取您的 cookie,他们就可以劫持会话。 因此,它可以欺骗 Web 服务器,使其相信请求来自您,即授权用户。
会话劫持现象在 2000 年代初期就开始流行,但它仍然是黑客最常用的方法之一。
最近的一个例子是 Lapsus$ Group,它成为了今年 FBI 通缉名单的一部分。 它使用 InfoStealer Maleware 感染来劫持会话。
同样,GenesisStore 是一家由同名团体经营的仅限受邀者的商店,该团体出售受损的 cookie 数据,其列表超过 400,000 个机器人。
会话捕获类型
会话劫持可分为两大类,具体取决于肇事者的需要。
主动:在主动攻击中,攻击者接管您的会话,从而夺取合法客户端与资源的连接。 根据会话的站点,黑客可以进行在线购买、更改密码或恢复帐户。 主动攻击的一个常见示例是暴力攻击、XSS 甚至 DDoS。
被动:在被动攻击中,攻击者不会接管或更改会话。 相反,他们会悄悄地监视您的设备和服务器之间的数据流量,收集所有敏感信息。 通常,IP 欺骗和恶意软件注入用于执行被动注入攻击。
会话劫持是如何工作的?
HTTP 是一种无状态协议,这意味着服务器对客户端的操作没有记忆。 每个新的 HTTP 请求都与一个新的工作单元同时发生,或者更简单地说,服务器为客户端提供页面而不记得客户端以前的请求。
然而,当我们浏览网页时,我们意识到应用程序理想地知道客户端是谁(甚至太清楚了!)。 由于服务器的这种“记忆”,“可以创建网站、在线银行、网络邮件服务等的现代保留区域。
为此,诞生了一个附件,它使像 HTTP 这样的无状态协议成为有状态的:cookie。
有状态会话
登录后,使用有状态会话的 Web 应用程序会丢弃一个会话 cookie。 这意味着他们依靠这个 cookie 来跟踪客户。 在 cookie 中保存了一个唯一的代码,允许客户端识别,例如:
SESSIONID=ACF3D35F216AAEFC
任何具有上述唯一会话 ID 或代码的人都将是服务器的经过身份验证的客户端。 如果攻击者可以获得此标识符,如下图所示,他们可以通过嗅探合法会话甚至完全接管会话来利用最初为受害者验证的会话。 此标识符通常嵌入在 URL 中、任何表单的隐藏字段中或 cookie 中。
无状态会话
随着网络的发展,出现了无需使用会话 cookie 即可管理服务器“内存”的解决方案。 在前端和后端分离良好且仅通过 API 通信的 Web 应用程序中,最好的解决方案可能是 JWT(JSON Web Token),一种允许前端使用后端提供的 API 的签名令牌。
通常,JWT 保存在浏览器的 sessionStorage 中,这是一个客户端保持活动状态的内存区域,直到选项卡关闭。 因此,打开一个新选项卡会创建一个新会话(与使用 cookie 时发生的情况相反)。
窃取客户端的标识令牌允许您窃取用户的会话,从而执行会话劫持攻击。 但是如何窃取该令牌呢?
目前,黑客使用最多的方法是:
#1。 会话侧顶
此方法使用不安全的网络来查找您的会话 ID。 攻击者使用嗅探(特殊软件),通常以公共 Wi-Fi 或没有 SSL 证书的网站为目标,这些网站以安全性差着称。
#2。 会话固定
受害者使用攻击者创建的会话 ID。 它可以通过网络钓鱼攻击(通过恶意链接)来“修复”您的会话 ID。
#3。 蛮力
最耗时和低效的方法。 在此攻击期间,黑客不会窃取您的 cookie。 相反,它会尝试所有可能的组合来猜测您的会话 ID。
#4。 XSS 或跨站点脚本
黑客利用网站或应用程序中的漏洞注入恶意代码。 当用户访问该站点时,脚本将被激活,窃取用户的 cookie,并将它们发送给攻击者。
#5。 恶意软件注入
恶意软件可以在您的设备上执行未经授权的操作以窃取个人信息。 它还经常用于拦截 cookie 并将信息发送给攻击者。
#6。 IP欺骗
网络犯罪分子会更改其数据包的源 IP 地址,使其看起来像是来自您。 由于假 IP,网络服务器认为是您,会话被劫持。
如何防止会话劫持?
会话劫持的可能性通常取决于您使用的网站或应用程序的安全性。 但是,您可以采取一些措施来保护自己:
- 避免使用公共 Wi-Fi,因为免费热点是网络犯罪分子的理想选择。 它们通常安全性较差,很容易被黑客欺骗。 更不用说他们总是充满潜在的受害者,他们的数据流量不断受到损害。
- 任何不使用 SSL 证书的站点都会使您容易受到攻击,因为它无法加密流量。 通过查找 URL 旁边的小挂锁来检查该站点是否安全。
- 安装反恶意软件应用程序以检测并保护您的设备免受可能窃取个人信息的恶意软件和老鼠的侵害。
- 使用官方应用商店或网站下载应用程序,避免下载恶意软件。
- 如果您收到一条消息,要求您点击一个不熟悉的链接,请不要点击。 这可能是网络钓鱼攻击,可以感染您的设备并窃取个人信息。
用户对会话劫持攻击无能为力。 然而,相反,应用程序可以注意到不同的设备已使用相同的会话标识符连接。 并以此为基础,您可以设计缓解策略,例如:
- 将每个会话关联到所连接设备的一些技术指纹或特征,以检测注册参数的变化。 此信息必须保存在 cookie(对于有状态会话)或 JWT(对于无状态会话)中,绝对加密。
- 如果会话是基于 cookie 的,则删除具有 HTTPOnly 属性的 cookie,以使其在 XSS 攻击时无法访问。
- 配置入侵检测系统 (IDS)、入侵防御系统 (IPS) 或网络监控解决方案。
- 一些服务对用户的身份进行二次检查。 例如,Web 服务器可以检查每个请求,确保用户的 IP 地址与该会话期间使用的最后一个 IP 地址相匹配。 但是,这并不能防止来自共享相同 IP 地址的人的攻击,并且可能会使 IP 地址在浏览会话期间可能发生变化的用户感到沮丧。
- 或者,某些服务会根据每个请求更改 cookie 值。 这大大减少了攻击者可以操作的窗口,并且更容易识别是否发生了攻击,但可能会导致其他技术问题。
- 为每个用户会话使用不同的多因素身份验证 (MFA) 解决方案。
- 使用最新的补丁和安全更新使所有系统保持最新状态。
常问问题
会话劫持涉及伪装成用户,而欺骗涉及替换用户。 在过去的几年里,一些安全分析师开始将后者描述为一种会话劫持。
最后的话
会话劫持是一种黑客可以使用会话令牌或 cookie 伪装成真实用户与服务器通信的方法。 会话劫持攻击的频率近年来有所增加; 因此,了解此类攻击并采取预防措施变得越来越重要。 然而,随着技术的发展,攻击也变得越来越复杂; 因此,必须制定针对会话劫持的主动缓解策略。
您可能还想知道您的数据在暗网上的价值。