2m read

會議劫持:運作原理

內容有哪些?

會話劫持是指攻擊者透過竊取或操控會話 Cookie 或承載憑證(Token for Access)來接管現有且已認證的會話,這些憑證可讓持有者存取。這讓攻擊者能繞過僅在登入時才會施加的安全控制,例如速率限制或 多重驗證(MFA).

主要亮點

  • 強大的會話防禦結合了 TLS Everveal、強化 Cookie、短的代幣壽命、代幣輪替與撤銷,以及基於異常的分階段驗證。在OAuth風格部署中,受限發送者限制的令牌(例如DPoP或mTLS)在支援時能進一步減少令牌重播。
  • 如果只在初次登入時強制執行多重認證,被盜的會話令牌可以繞過多重認證(MFA)。
  • 常見路徑包括中間人攔截、XSS 令牌竊取、惡意軟體或瀏覽器資料竊取,以及會話固定。
  • 強大的會話防禦結合了 TLS Everwhere、強化 Cookie、短的代幣壽命、代幣綁定或輪替,以及基於異常的重新認證。
  • 裝置與使用者風險訊號能協助決定何時加強認證或終止會話。

什麼是會話劫持?

在會話劫持攻擊(也稱為會話接管或令牌重播攻擊)中,攻擊者竊取會話令牌(cookie、持有令牌等),用以驗證登入使用者。這讓攻擊者能冒充使用者,同時避免竊取登入憑證並破解多重身份驗證(MFA)及類似防禦措施。這些攻擊的常見目標包括消費者網頁應用程式、SaaS 會話、VPN 入口網站、遠端存取會話以及特權管理控制台。

會話劫持是如何端對端運作的?

會話劫持攻擊主要集中在竊取代幣以偽裝成合法使用者。攻擊流程可能如下:

  • 等待或讓使用者建立有效的會話。
  • 透過惡意軟體、惡意腳本、瀏覽器擴充功能或其他方式竊取會話 Cookie 或承載令牌。
  • 透過向伺服器發送請求,劫持該會話。
  • 在被盜令牌到期或被撤銷前,對使用者帳號進行惡意行動。

會話劫持攻擊依賴於憑證的存取權,該憑證可在多個地方找到,包括瀏覽器儲存、Cookie、授權標頭、應用程式記憶體及裝置儲存。攻擊者還可能需要方法避免觸發重新認證或風險檢查,例如比對裝置指紋、IP 聲譽或正常行為模式。

最常見的會話劫持類型

會話劫持可以透過多種方式進行。一些知名的方法包括:

  • 會話執著:在會話固定攻擊中,使用者被迫使用攻擊者已知的會話 ID 進行認證,例如嵌入在釣魚連結中的會話 ID。這可能是因為登入後會話 ID 未被重新產生、標記可預測,或會話失效力弱所致。
  • 透過 XSS 進行代幣盜竊:跨站腳本(XSS)會在網頁中嵌入惡意腳本。當使用者造訪網站時,這些腳本可能會竊取會話令牌。Secure、HttpOnly 和 SameSite 標誌可以阻止腳本存取會話 cookie,來防止這種情況。
  • 惡意軟體/瀏覽器資料竊取:安裝在使用者系統或惡意瀏覽器擴充功能中的惡意軟體,可能會從檔案系統、瀏覽器及其他快取中竊取 Cookie。
  • 側劫:側劫攻擊涉及從網路流量中竊取會話令牌。由於使用 TLS 加密網路流量,這種方式已大多過時。
  • 中間人攔截:在中間人攻擊(MitM)或路徑攻擊中,攻擊者會插入使用者與伺服器之間的通訊路徑。這讓他們能夠攔截使用者網頁瀏覽流量中的會話 Cookie。然而,使用 TLS 也使得執行這件事變得更困難。

所有這些方法都能提供對會話令牌或 Cookie 的存取。接著,它會被用於 Cookie 重播或「傳遞 cookie」攻擊,攻擊者的瀏覽器或 API 用戶端會利用它來接管合法的使用者會話。

劫持會議的跡象

劫持會話是指攻擊者利用他們從合法使用者那裡取得的裝置或瀏覽器會話。這些指標包括:

  • 不可能的旅行
  • 新裝置指紋
  • 特殊ASN或地理位置
  • 同時進行的會議
  • 異常請求模式
  • 權限升級嘗試
  • 非典型的管理員操作
  • 兩個地點的代幣重複使用
  • 沒有一般瀏覽器標頭的會話 Cookie 重播
  • 客戶特徵的突然變化

雖然這些都可能是會議劫持攻擊,但並非全部完美無缺。例如,行動 IP 流失、VPN 出口變更或共享 NAT 都可能導致誤判。因此,將多個指標相關起來能提供更高的信心度偵測。

有助於確認會話劫持的遙測數據

各種日誌與遙測來源可協助確認疑似會話劫持攻擊,包括:

  • 網頁/應用程式日誌:認證事件、令牌刷新模式,以及會話的發行與撤銷。
  • 身份記錄:身份提供者(IdP)登入、條件存取觸發器及升級挑戰。
  • 網路與端點訊號:風險目的地、惡意軟體警示、瀏覽器完整性訊號及裝置狀態變化。

會話劫持的影響

會話劫持攻擊可能對業務造成重大影響,例如帳號被盜用卻無法密碼竊取、資料存取、詐騙交易以及管理控制台遭入侵。網路會話通常是主要目標,因為瀏覽器持有代幣、使用者重用裝置,且許多應用程式假設「會話等於信任」。

會話劫持之所以危險,是因為它會破壞關鍵的身份防禦機制,包括:

  • MFA 繞過:如果只在登入時啟用多重認證,會話劫持可以繞過多重身份驗證(MFA)。登入後會話令牌仍然有效,讓攻擊者能接管會話並繞過多重身份驗證(MFA)。防止此類情況的最佳實務包括逐步驗證、持續驗證、短代幣 TTL 以及高風險會話的代幣撤銷。
  • 無效的ZTNA:預設情況下, 零信任網路存取(ZTNA) 旨在限制合法使用者所獲得的權限。在會話劫持中,攻擊者被認為是合法使用者,因此 ZTNA 沒有提供任何保護。持續驗證透過在整個會話中定期檢查身份、裝置狀態及風險訊號來管理此風險,而不僅僅是在登入時。

防止會話劫持的實務防禦

組織可以在多個層級實施對抗會話劫持的防禦措施。這包括明確防止會話劫持及保護會話令牌免受潛在暴露。

降低重播價值的會話管理控制

會話劫持攻擊涉及利用被盜的令牌來接管合法會話。降低此風險的方法包括:

  • 敏感動作的壽命短且需重新授權。
  • 代幣輪替、撤銷清單、異常驅動的失效。
  • 偵測不同用戶端情境下的同時使用令牌。

會話劫持攻擊需要具備竊取代幣的能力。預防這種情況的方法包括:

  • 使用安全、HttpOnly 及 SameSite HTTP 標誌,防止透過腳本(XSS)及跨站腳本(CSF)盜用 cookie。
  • 強制所有頁面使用 HTTPS。
  • 保護本地儲存的憑證(localStorage 憑證可由腳本存取)。

防止會話劫持攻擊

會話劫持是一種常見威脅,因為認證憑證非常重要,能讓攻擊者逃避以登入為核心的防禦。組織需要多層防禦與持續風險評估,以便在初次登入後識別被入侵的會話。

尋找會議劫持攻擊時,請注意:

  • 偵測到的會話異常
  • 撤銷期限
  • 風險事件的升級授權率
  • 減少代幣重播事件。

常見問題

即使啟用了多重身份驗證(MFA),會發生會話劫持嗎?

是的,因為 MFA 只保護登入事件,不保護登入後產生的會話令牌。如果攻擊者竊取了會話的 cookie 或令牌,他們就能用它來存取已認證的會話。例如針對敏感行為實施升級認證、短會話壽命、令牌輪替,以及對可疑活動的撤銷等控制措施,降低了這些風險,此外組織還能監控新裝置、異常位置或認證會話異常行為等訊號。

會話劫持和憑證填充是一樣的嗎?

不行,憑證填充會利用被洩露的使用者名稱/密碼配對來登入,而多重身份驗證(MFA)和速率限制可以幫助防止這種情況。會話劫持會接管現有會話,這可以透過強大的會話管理與令牌保護來緩解。

什麼是會談專注?如何預防?

會話固定是指攻擊者強迫受害者使用攻擊者已知的會話 ID 進行認證。如果應用程式在認證或權限變更後沒有建立新的會話 ID,這會造成問題。防止這種情況的最佳做法包括在登入及權限提升時重新生成會話 ID、使舊會話失效、拒絕 URL 中的會話 ID,以及確保 Cookie 處理安全。

有哪些日誌或訊號能幫助確認被劫持的會話?

被劫持的會話可透過網頁應用程式與身份提供者日誌來識別,包括會話發出、刷新模式、登入事件、條件存取觸發,以及登出或撤銷事件等資料。被入侵會話的高信心指標包括來自兩個遠端地點的相同會話令牌、與正常使用者模式不符的同時會話,或客戶端特性突然改變。偵測可以透過裝置姿態變化、端點偵測、可疑瀏覽器行為及應用程式內異常行為序列等訊號來加強。

Secure、HttpOnly 和 SameSite Cookies 能完全阻止會話劫持嗎?

這些標記旨在降低會話 Cookie 被腳本竊取、降級攻擊及某些跨站濫用模式的風險,但並不能完全防止這些攻擊。例如,攻擊者可以竊取安裝惡意軟體的會話 Cookie。TLS Everywhere、CSP、XSS 防治、短壽命會話、令牌輪替及異常驅動的分級認證,有助於降低會話劫持風險。

This page was machine-translated. If you notice any inaccuracies or have feedback, please feel free to send it to us here.