跳到主体内容

对于大多数人来说,登录网站或门户是使用互联网的日常组成部分。每次登录网站时,都会创建一个会话。会话是两个系统之间的通信,在用户结束通信之前保持活动状态。启动会话对于在互联网上进行通信至关重要,但也带来了会话劫持的风险。请继续阅读,进一步了解会话劫持、其原理以及如何保护您自己。

什么是会话劫持?

会话劫持(有时称为 Cookie 劫持、Cookie 侧劫持或 TCP 会话劫持)发生在攻击者接管您的互联网会话时。当您进行网上购物、支付账单或查询银行余额时,可能会发生这种攻击。会话劫持者通常以浏览器或 Web 应用程序为目标,其目的是控制您的浏览会话,以获取您的个人信息和密码。

会话劫持者会欺骗网站,让网站以为他们是您。这种类型的攻击会对应用程序安全造成严重后果,因为它允许攻击者伪装成合法用户,在未经授权的情况下访问受保护的账户(及其包含的数据)。

什么是会话?

每次用户通过 HTTP 连接访问网站或应用程序时,服务都会对用户进行身份验证(例如,通过用户名和密码),然后才会打开通信线路并提供访问。但是,HTTP 连接本身是“无状态”的,这意味着用户执行的每个操作都是独立查看的。因此,如果我们只依赖 HTTP,用户在每次操作或浏览页面时都必须重新进行身份验证。

会话克服了这一难题。用户登录后,会在托管网站或应用程序的服务器上创建一个会话,然后作为初始身份验证的参考。只要该会话在服务器上保持打开状态,用户就可以保持身份验证状态,并且可以通过注销服务来结束会话。一些服务在设定的不活动时间后结束会话。

许多服务通过发布会话 ID、存储在临时会话 Cookie 中的一串数字和字母、URL 或网站上的隐藏字段来创建这些会话。在某些情况(但不是所有情况)下,这些会话 ID 是加密的。通常,会话 ID 基于可预测的信息,例如用户的 IP 地址。

会话劫持的原理是什么?

以下是会话劫持原理的假设示例:

步骤 1:互联网用户正常登录账户。

这可能是网上银行或信用卡账户、网上商店、应用程序或门户。应用程序或网站在用户的浏览器中安装临时会话 Cookie。该 Cookie 包含用户的相关信息,使网站能够保持用户的身份验证和登录状态,并跟踪用户在会话期间的活动。会话 Cookie 保留在浏览器中,直到用户注销(或在设定的不活动时间后自动注销)。

步骤 2:犯罪分子获得互联网用户有效会话的访问权限。

网络犯罪分子使用各种方法来窃取会话。通常,会话劫持涉及窃取用户的会话 Cookie、在 Cookie 中找到会话 ID,并使用该信息来接管会话。会话 ID 也称为会话密钥。当犯罪分子获得会话 ID 后,他们可以在不被检测到的情况下接管会话。

步骤 3:会话劫持者获得窃取会话的回报。

一旦原始互联网用户继续其在线旅程,劫持者就可以利用正在进行的会话实施各种恶意行为。这可能包括从用户的银行账户窃取资金、购买商品、攫取个人数据以实施身份盗窃,或者对重要数据进行加密,然后索取赎金才给予恢复。

会话劫持攻击通常针对具有大量活动通信会话的繁忙网络进行。这为攻击者提供了大量可以利用的会话,并为攻击者提供了一定程度的保护,因为服务器上的活动会话数量之多会降低他们被检测到的可能性。

会话劫持的类型

跨站脚本

跨站脚本攻击涉及犯罪分子利用 Web 服务器或应用程序中的安全漏洞。跨站脚本涉及攻击者将脚本注入网页。这会导致您的 Web 浏览器向攻击者泄露您的会话密钥,使他们可以接管会话。

会话侧劫持(也称为会话嗅探)

在这种类型的攻击中,犯罪分子需要访问用户的网络流量。他们可能在用户使用不安全的 Wi-Fi 时或通过进行中间人攻击来获得访问权限。在会话侧劫持中,犯罪分子使用“数据包嗅探”来监视互联网用户的网络流量,以搜索会话。这使得攻击者能够获取会话 Cookie 并使用它来接管会话。

会话固定

在会话固定攻击中,犯罪分子会创建一个会话 ID,并诱骗用户通过它启动会话。这可能通过向用户发送一封电子邮件来实现,邮件中包含了攻击者想要访问的网站的登录表单链接。用户使用虚假的会话 ID 登录,让攻击者有机可乘。

浏览器中间人攻击

与中间人攻击类似,但攻击者必须先使用木马感染受害者的计算机。一旦受害者被欺骗在系统上安装恶意软件,恶意软件就会等待受害者访问目标站点。浏览器中间人恶意软件可以在无形中修改交易信息,还可以在用户不知情的情况下创建额外的交易。由于请求是从受害者的计算机发起的,因此 Web 服务很难检测到这些请求是虚假的。

可预测的会话令牌 ID

许多 Web 服务器使用自定义算法或预定义模式来生成会话 ID。会话令牌越可预测,它就越弱。如果攻击者可以捕获多个 ID 并分析模式,他们或许能够预测有效的会话 ID。(这种方法可以与暴力攻击相提并论。)

一位女士登录网上银行网站

会话劫持与会话欺骗有什么区别?

会话劫持和会话欺骗有相似之处,但不是同一类型的攻击。两者之间的主要区别在于,会话劫持发生在合法用户已经登录到 Web 会话的情况下。相比之下,会话欺骗发生在攻击者假冒用户启动新的 Web 会话时(这意味着用户当时不必登录)。

这种区别意味着合法用户会以不同的方式受到攻击。在会话劫持中,攻击者中断会话可能会导致受害者访问的网站或应用程序行为异常甚至崩溃。但是,由于用户在会话欺骗攻击期间没有主动登录,因此他们在下一个会话期间不会遇到任何中断。

会话劫持攻击的影响

不采取措施防止会话劫持会带来许多风险。其中一些危险包括:

身份盗窃

通过未经授权访问账户中保存的敏感个人信息,攻击者可以在被入侵的网站或应用程序范围之外窃取受害者的身份。

金融盗窃

通过会话劫持,攻击者可以获得代表用户进行金融交易的能力。这可能涉及从银行账户转账或使用保存的支付信息进行购物。

恶意软件感染

如果黑客可以窃取用户的会话 ID,他们还可能使用户的计算机感染恶意软件。这可以使他们获得目标计算机的控制权并窃取其数据。

拒绝服务 (DoS) 攻击

获得用户会话控制权的黑客可能会对他们连接的网站或服务器发起 DoS 攻击,从而中断服务或导致网站崩溃。


通过 SSO 访问其他系统

SSO 代表“单点登录”。如果启用了 SSO,攻击者还可以在未经授权的情况下访问其他系统,进一步扩大了会话劫持攻击的潜在风险。该风险对组织来说尤其重要,许多组织现在为员工启用了 SSO。最终,这意味着即使是具有较强的身份验证协议和较难预测的会话 Cookie 且受到高度保护的系统(例如保存财务或客户信息的系统),其保护效果可能只是与整个系统中最薄弱的环节相同。

会话劫持攻击示例

Zoom 轰炸

在新冠疫情期间,全世界都转向 Zoom 之类的视频会议应用程序。这些应用程序成为会话劫持者的热门目标,甚至获得了“Zoom 轰炸”的绰号。有新闻报道称,会话劫持者加入私人视频会话,有时会大喊粗话、仇恨语言并分享色情图片。作为回应,Zoom 引入了更强大的隐私保护措施,以最大程度地降低风险。

Slack


2019 年,某个漏洞赏金平台的研究人员发现了 一个 Slack 漏洞,该漏洞允许攻击者强制用户进行虚假会话重定向,从而窃取他们的会话 Cookie。这使得攻击者可以访问 Slack 中共享的任何数据(这对于许多组织来说可能有很大影响)。Slack 迅速做出反应,在研究人员指出该漏洞后的 24 小时内修复了该漏洞。

GitLab

2017 年,一名安全研究人员在 GitLab 中发现了一个漏洞,该漏洞使用户的会话令牌可直接在 URL 中获取。进一步调查发现,GitLab 还使用了永不过期的持久会话令牌,这意味着攻击者一旦获得一个会话令牌,就可以使用它而不必担心过期。这种开放暴露和持久令牌的组合带来了严重的风险,使用户面临通过暴力攻击进行会话劫持所带来的各种严重攻击。GitLab 通过更改这些令牌的使用和存储方式修复了该漏洞。

如何防止会话劫持

请遵循以下会话劫持预防提示,提高您的在线安全性:

避免使用公共 Wi-Fi

避免在公共 Wi-Fi 上执行重要业务,如办理银行业务、网上购物或者登录电子邮件或社交媒体账户。附近可能有网络犯罪分子使用数据包嗅探来试图获取会话 Cookie 和其他信息。

使用 VPN

如果您确实需要使用公共 Wi-Fi,请使用虚拟专用网络 (VPN),最大限度地提高安全性并将会话劫持者排除在会话之外。VPN 可掩盖您的 IP 地址,并通过创建一个专用隧道来保持在线活动的私密性,您的所有在线活动都通过该隧道传输。VPN 会对您发送和接收的数据进行加密。

警惕网络钓鱼和其他在线诈骗

避免点击电子邮件中的任何链接,除非您知道该邮件来自合法发件人。会话劫持者可能会向您发送电子邮件,其中包含可点击的链接。该链接可能会在您的设备上安装恶意软件,或将您带到一个登录页面,该页面将使用攻击者准备的会话 ID 将您登录到网站。

注意网站安全性

信誉良好的银行、电子邮件提供商、在线零售商和社交媒体网站都部署了保护措施来避免会话劫持。认准 URL 以 HTTPS 开头的网站 – S 代表“安全”。使用可疑的网上商店或其他可能没有强大安全保障的提供商可能会让您容易受到会话劫持攻击。

使用反病毒软件

安装信誉良好的反病毒软件,以便轻松检测病毒并保护您免受任何类型的恶意软件(包括攻击者用来执行会话劫持的恶意软件)的侵害。在所有设备上设置自动更新,以保持系统为最新。

相关产品:

延伸阅读:

什么是会话劫持,它的原理是什么?

会话劫持是指攻击者接管您的互联网会话,从而可以在未经授权的情况下访问数据或资源。了解详情。
Kaspersky Logo