略過到主要內容

什麼是會話劫持?其運作原理為何?

一名女子正在使用筆記型電腦工作

大多數人日常使用網路都會登入網站或入口網站。您每次登入網站時都會創建一個會話(session )。會話是兩個系統之間的通訊,其會一直保持活動狀態,直到使用者結束通訊。開始會話是在網路上進行通訊的必要部分,因此也產生會話劫持的風險。繼續閱讀以深入了解會話劫持、其運作原理以及如何保護自己。

什麼是會話劫持?

會話劫持,有時候也叫做 cookie 劫持、cookie 側面劫持或 TCP 會話劫持,意指攻擊者控制您的網路會話時的狀況。其可能在您線上購物、支付帳單,或查詢銀行餘額時發生。會話劫持者通常以瀏覽器或網路應用程式為目標,用於嘗試控制您的瀏覽會話,以獲取您的個人資訊和密碼。

會話劫持者能欺騙網站並使其將他們誤認為是您本人。此類型的攻擊可能對應用程式的安全性造成嚴重後果,因為其可以讓攻擊者假冒其他使用者並未經授權存取受保護的帳戶(以及其中的資料)。

什麼是會話(session)?

當使用者透過 HTTP 連線存取網站或應用程式時,服務會在開啟通訊並提供存取前對使用者進行身份驗證(例如:透過使用者名稱和密碼)。然而,HTTP 連線本身是「無狀態」的,這表示使用者每次執行的動作都被視為獨立動作。因此,如果單靠 HTTP,使用者每次執行動作或查看頁面時都需要重新進行身份驗證。

而會話能解決該問題。使用者登入後,伺服器上的網站或應用程式會創建一個會話,並作為最先身份驗證的參考。只要伺服器上的會話保持開啟,使用者就可以保持驗證狀態,並在登出服務時結束會話。某些服務會在閒置一段時間後結束會話。

許多服務透過產生會話 ID 來建立會話,該 ID 為一串數字和字母,並儲存於臨時會話 cookie、URL 或網站上的隱藏字段中。會話 ID 有時候會受到加密,但也並非總是會受到加密。通常,會話 ID 的產生會根據使用者的 IP 地址等可預測的資訊。

會話劫持的原理為何?

為說明會話劫持可能的運作方式,以下為一個假設的例子:

步驟 1:一位網路使用者一如往常地登入帳戶。

他登入的帳戶可能是網路銀行或信用卡帳戶、網路商店、應用程式或入口網站。應用程式或網站會在使用者的瀏覽器中安裝一個臨時會話 cookie。該 cookie 包含有關使用者的資訊,讓網站保持其身份驗證和登入狀態,以及在會話期間追蹤其活動。該會話 cookie 會一直存在於瀏覽器中,直到使用者登出(或在閒置一段時間後自動登出)。

步驟 2:犯罪份子獲取了網路使用者的有效會話。

網路罪犯使用各種方法來竊取會話。會話劫持的進行方式通常為竊取使用者的會話cookie、找到 cookie 中的會話 ID 並使用該資訊來控制會話。會話 ID 也稱為會話金鑰。犯罪份子獲得會話 ID 後,他們就可以在不被偵測到的情況下控制會話。

步驟 3:會話劫持者透過劫持會話取得利益。

原本的網路使用者仍然繼續其線上活動時,劫持者能使用持續進行的會話來進行各種惡意行為,包括竊取使用者的銀行帳戶的資金、購買物品、獲取個人資料以進行身份盜用,或加密重要資料,然後要求贖金以歸還資料。

會話劫持攻擊通常針對具有大量活動通訊會話的繁忙網路進行,因攻擊者有大量的會話可以利用,且攻擊者受到一定程度的保護,因為伺服器上的活躍會話數量讓其很難被偵測到。

會話劫持的類型

跨站指令碼攻擊 跨站指令碼攻擊的方式為網路罪犯利用網路伺服器或應用程式的安全弱點。攻擊者在進行跨站指令碼攻擊時會將指令碼置入到網頁中,並使您的瀏覽器將會話金鑰洩漏給攻擊者,進而讓其控制會話。

會話側面劫持(又稱為會話竊聽) 此類型的攻擊中,犯罪份子需要存取使用者的網路流量。攻擊者利用使用者使用不安全的 Wi-Fi 或對使用者進行中間人攻擊,進而獲得存取權。犯罪份子在進行會話側面劫持時會使用「封包竊聽」來監控網路使用者的網路流量並搜尋會話,進而讓攻擊者獲得會話 cookie,並以此控制會話。

會話固定攻擊 犯罪份子在進行會話固定攻擊時會製作一個會話 ID,並欺騙使用者以其開始會話。其方式可以是透過向使用者傳送一封電子郵件,其中包含連結並將使用者導向至攻擊者想要其造訪的網站登入表單。使用者使用假的會話 ID 登入時就為攻擊者提供了入侵的機會。

瀏覽器內的中間人攻擊 此方式類似於中間人攻擊,但攻擊者首先需要使用木馬病毒感染受害者的電腦。在受害者被欺騙並在系統中安裝惡意軟體後,該軟體會等待受害者造訪特定網站。瀏覽器中的中間人攻擊惡意軟體可以私下修改交易資訊,也可以在使用者不知情的情況下建立其他交易。由於請求是從受害者的電腦發出的,網站服務很難發現請求已受到偽造。

可預測的會話令牌 ID 許多網站伺服器使用自訂演算法或預定義的模式來生成會話ID。會話令牌越可預測也就越脆弱。如果攻擊者能夠捕獲多個 ID 並分析模式,他們也許就能夠預測有效的會話 ID。(此方法類似於暴力破解攻擊。)

一名女子登入一個網路金融網站

會話劫持和會話誘騙(spoofing)有何不同?

會話劫持和會話誘騙有些相似之處,但其並非相同類型的攻擊。兩者之間的主要區別在於,會話劫持發生在真正的使用者已經登入網頁會話時,而會話誘騙則是攻擊者假冒使用者啟動新的網頁會話(使用者當時無需於處於登入狀態)。

這個區別表示真正的使用者遭受這兩種攻擊的方式不一樣。進行會話劫持時,攻擊者中斷會話可能導致受害者使用網站或應用程式時出現異常或甚至故障。然而,在會話誘騙攻擊中,由於使用者在該會話期間未主動登入,其下次會話不會受到任何干擾。

會話劫持攻擊的影響

沒有對會話劫持採取預防措施的話會帶來許多風險。其中一些風險包括:

身分盜竊

透過未經授權存取儲存在帳戶中的敏感個人資訊,攻擊者可以竊取受害者的身份,利用於受到駭入的網站或應用程式外。

財務盜竊

透過會話劫持,攻擊者能假冒使用者執行財務交易。其中可能包括進行銀行帳戶轉帳或使用儲存的支付資訊進行購物。

惡意軟體感染

如果駭客能夠竊取使用者的會話 ID 就也能夠讓使用者的電腦感染惡意軟體,並進而掌控受害者的電腦並竊取其資料。

阻斷服務(DoS)攻擊

獲得使用者會話控制權的駭客能對其連接的網站或伺服器發動 DoS 攻擊,進而影響服務或導致網站故障。

透過 SSO 存取其他系統

SSO 意指「單一登入」。如果啟用了 SSO,攻擊者還可以未經授權存取其他系統,進一步擴大會話劫持攻擊的潛在風險。對當前許多為員工啟用 SSO 的組織來說,其風險尤為嚴重。總而言之,即使高度受到保護的系統具有更強的身份驗證協議和不太可預測的會話 cookie(例如:存有財務或客戶資訊的系統),其保護程度也可能取決於整個系統中最薄弱的環節。

會話劫持攻擊的實例

Zoom 炸彈攻擊 在 Covid-19 疫情期間,世界各地開始大量使用 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 意指「安全」。使用安全性不確定的網路商店或其他業者可能會讓您容易受到會話劫持攻擊。

使用防毒軟體 安裝有聲譽的防毒軟體,以其輕鬆偵測病毒並保護您避免任何類型的惡意軟體(包括攻擊者用於執行會話劫持的惡意軟體),並為所有裝置設定自動更新,確保系統維持最新狀態。

相關產品:

什麼是會話劫持?其運作原理為何?

會話劫持意指攻擊者控制您的網路會話,讓其未經授權就能存取資料或資源。進一步瞭解。
卡巴斯基商標

相關文章