登入網站或門戶網站是大多數人每天使用互聯網時會做的事。你每次登入網站時,都會創建一個會話。會話是兩個系統之間的通訊,在使用者結束通訊之前一直處於活躍狀態。啟動會話對於在互聯網上進行通訊十分重要,但同時也帶來了會話騎刧的風險。請繼續閱讀進一步瞭解會話騎刧、其運作原理以及如何保護自己。
甚麼是會話騎刧?
會話騎刧(有時稱為 Cookie 騎刧、Cookie 側騎刧或 TCP 會話騎刧)是指攻擊者接管你的互聯網會話。這可能在你進行網上購物、支付賬單或查看銀行結餘時發生。會話騎刧者通常以瀏覽器或網絡應用程式為目標,其目的是控制你的瀏覽會話,從而獲取你的個人資訊和密碼。
會話騎刧者會欺騙網站,令網站以為他們就是你。這種類型的攻擊會對應用程式安全造成嚴重後果,因為它讓攻擊者透過偽裝成合法使用者,在未經授權的情況下存取受保護的帳戶(及其包含的數據)。
甚麽是會話?
每次使用者透過 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。(這種方法類似暴力攻擊)。
會話騎刧與會話欺騙有何不同?
會話騎刧和會話欺騙雖然有相似之處,但不是同一類型的攻擊。兩者的主要區別在於,會話騎刧是在合法使用者已經登入網絡會話時發生。相比之下,會話欺騙是指攻擊者假冒使用者啟動新的網絡會話(即是使用者當時無需登入)。
這種區別代表合法使用者對攻擊會有不同的體驗。在會話騎刧中,攻擊者中斷會話可能會導致網站或應用程式出現異常狀況,甚至令受害者的會話崩潰。但是,由於使用者在會話欺騙攻擊過程中並沒有主動登入,因此他們在下一次會話過程中不會感受到任何干擾。
會話騎刧攻擊的影響
不採取措施防止會話騎刧會帶來很多風險。其中一些危險包括:
身份盜竊
透過未經授權存取儲存於帳戶中的敏感個人資訊,攻擊者可以在被入侵的網站或應用程式的範圍以外竊取受害者的身份。
資金盜竊
透過會話騎刧,攻擊者就能夠代表使用者進行金融交易。這可能涉及銀行戶口轉賬或使用儲存的付款資訊購物。
病毒感染
如果黑客能竊取使用者的會話 ID,他們可能也能使用惡意軟件感染使用者的電腦。這樣,他們就能控制目標電腦並竊取其數據。
拒絕服務 (DoS) 攻擊
獲得使用者會話控制權的黑客可能會對使用者連接的網站或伺服器發動 DoS 攻擊,從而中斷服務或導致網站崩潰。
透過 SSO 存取其他系統
SSO 是「單一登入」的縮寫。如果啟用了 SSO,攻擊者還可以在未經授權的情況下存取其他系統,進一步擴大會話騎刧攻擊的潛在風險。這種風險對企業尤為重要,因為很多企業現在都為員工啟用了 SSO。歸根結底,這意味著即使是具有更強大的身份驗證協議和可預測性較低的會話 Cookie 的高度保護系統,例如儲存財務或客戶資訊的系統,其保護能力也可能只是與整個系統中最薄弱的環節相若。
會話騎刧攻擊例子
Zoom 轟炸 在 Covid-19 疫情期間,全世界都使用 Zoom 等視像會議應用程式。這些應用程式成為會話騎刧者的熱門目標,甚至贏得了「Zoom 轟炸 」的綽號。曾經有新聞報道稱,會話騎刧者加入了私人視像會話,在某些情況下,他們大喊臟話、仇恨語言並分享色情圖片。為此, Zoom 推出了更強的私隱保護措施來盡量降低風險。
Slack 2019 年,一個漏洞懸賞平台上的研究人員發現了Slack 的一個漏洞,該漏洞讓攻擊者能強迫使用者進入重新導向的虛假會話,從而竊取他們的會話 Cookie。這樣攻擊者就可以存取在 Slack 中分享的任何數據(對於很多機構來說可能非常重要)。Slack 迅速作出回應,在研究人員指出漏洞後 24 小時內就推出修補程式。
GitLab
2017 年,一名安全研究人員在 GitLab 中發現了一個漏洞,可以在網址中直接獲取使用者的會話令牌。進一步調查發現,GitLab 還使用永不過期的持久性會話令牌,這意味著攻擊者一旦獲得一個會話令牌,就可以使用它而不必擔心過期。這種開放式暴露和持久性令牌的結合帶來了嚴重的風險,令使用者面對各種可透過暴力攻擊的會話騎刧的嚴重攻擊。GitLab 透過更改使用和存儲這些令牌的方式修補了該漏洞。
如何防止會話騎刧
請遵循這些會話騎刧預防技巧,從而提高你的網上安全防護:
避免使用公共 Wi-Fi 避免使用公共 Wi-Fi 進行理財、網上購物等交易或登入電子郵件或社交媒體帳戶等重要活動。附近可能有網絡罪犯正在使用數據包嗅探並試圖獲取會話 Cookie 和其他資訊。
使用 VPN 如果你確實需要使用公共 Wi-Fi,請使用虛擬專用網絡 (VPN),盡量提高你的安全防護,並防止會話騎刧者侵入你的會話。VPN 透過建立一個私人隧道,讓你的所有網上活動都能透過該隧道進行,從而掩蓋你的 IP 位址,確保為你的網上活動保密。VPN 會對你發送和接收的數據進行加密。
警惕網絡釣魚和其他網上詐騙 除非你知道電子郵件中的連結是來自合法的寄件者,否則請勿點擊。會話騎刧者可能會向你發送附有連結的電子郵件,透騙你點擊。該連結可能會在你的設備上安裝惡意軟件,或將你導向一個登入頁面,使用攻擊者準備的會話 ID 登入網站。
注意網站安全防護 信譽良好的銀行、電子郵件提供商、網上零售商和社交媒體網站都採取了防護措施,以避免會話騎刧。留意網址以 HTTPS 開頭的網站 - S 代表「安全」。使用有問題的網上商店或其他可能不具備強大安全功能的提供商,會令你很容易受到會話騎刧攻擊。
使用防毒軟件 安裝信譽良好的防毒軟件,可以輕鬆偵測病毒,保護你免受任何類型惡意軟件(包括攻擊者用來執行會話騎刧的惡意軟件)的侵害。在所有設備上設定自動更新,確保系統是最新版本。
相關產品: