什麼是會話劫持及防範方法
已發表: 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 偽裝成真實用戶與服務器通信的方法。 會話劫持攻擊的頻率近年來有所增加; 因此,了解此類攻擊並採取預防措施變得越來越重要。 然而,隨著技術的發展,攻擊也變得越來越複雜; 因此,必須制定針對會話劫持的主動緩解策略。
您可能還想知道您的數據在暗網上的價值。