點擊劫持攻擊誘使用戶無意中點擊不可見或偽裝成另一個元素的網頁元素。由于點擊劫持攻擊不會影響網站本身,因此企業可能不會認真對待這些漏洞。但是,這些攻擊會影響用戶,只有企業才能通過強大的點擊劫持預防措施來保護他們。不采取適當預防措施的企業本質上是在冒著品牌價值和業務連續性的風險。讓我們深入研究這種攻擊類型并了解如何防止它們。
什么是點擊劫持攻擊?
在點擊劫持攻擊中,攻擊者通過 UI 技巧捕獲用戶點擊,使用戶相信他們正在執行所需的操作。這些攻擊也稱為用戶界面 (UI) 修復。大多數攻擊者利用與 HTML iframe 相關的點擊劫持漏洞和專注于防止頁面框架的保護方法。
點擊劫持如何在現實生活中運作的示例
- 攻擊者精心設計了一個承諾有吸引力的優惠/免費禮物的網站。
- 在后臺,攻擊者將檢查用戶是否登錄到銀行/電子商務網站。使用查詢參數,攻擊者將他們的銀行詳細信息插入到表單中。
- 在后臺惡意網站的情況下,用戶的銀行轉賬頁面/電子商務結帳頁面以完全透明的框架覆蓋在其上。
- 所需的控件(例如確認轉移/確認購買)與惡意網站上可見的可點擊項目(例如領取禮物/領取優惠/預訂您的免費旅行)保持一致。
- 當用戶點擊這些項目時,他們實際上是在確認資金轉賬或購買。
- 在后臺不知道資金轉賬或產品購買的情況下,用戶將被重定向到包含優惠/免費禮物信息的頁面。
- 此攻擊無法追溯到攻擊者,因為用戶在合法登錄其銀行或電子商務帳戶時執行了這些操作。
點擊劫持攻擊的類型
根據具體操作的性質:(下面列出了幾個變種)
- Likejacking:劫持 Facebook 和其他社交媒體平臺上的點贊點擊次數
- Cookiejacking:攻擊者通過訪問存儲在瀏覽器中的 cookie 獲得在目標網站中代表用戶執行操作的能力
- 文件劫持:訪問本地文件系統并獲取任何文件
- 光標劫持:劫持光標位置并將光標位置更改為用戶想要的任何位置
- 密碼管理器攻擊:欺騙密碼管理器并利用自動填充功能
基于使用的覆蓋/嵌入類型:
- 完整的透明覆蓋
- 裁剪
- 隱藏覆蓋
- 點擊事件裁剪
- 快速內容替換
- 滾動
- 重新定位
- 拖放
影響
在不知道他們實際上是在點擊目標網站的情況下,用戶可能會在不知不覺中:
- 下載惡意軟件
- 訪問欺詐/惡意網頁
- 提供憑據/敏感信息
- 劃款
- 購買產品等
有動機的攻擊者可能會利用點擊劫持漏洞來:
- 收獲登錄憑據
- 在社交媒體網站上傳播蠕蟲和惡意軟件
- 通過下載在系統和網絡中傳播惡意軟件
- 惡意廣告
- 宣傳網絡詐騙
- 誘騙用戶訪問本地文件、密碼管理器、網絡攝像頭、麥克風等
點擊劫持預防
客戶端方法
Frame Busting 是用于防止點擊劫持的最常見的客戶端方法之一。盡管在某些情況下有效,但這種方法容易出錯并且很容易被繞過。
服務器端方法
服務器端方法受到安全專家的信任并推薦用于點擊劫持保護。
- X 框架選項
一種常見的服務器端方法是 X-Frame Options。X-Frame Options HTTP 標頭作為網頁 HTTP 響應的一部分傳遞,指示是否應允許瀏覽器在 <frame>、<iframe> 或 <object> 標記內呈現頁面。
標頭的三個允許值是:
- DENY:不允許任何域/站點在框架內顯示頁面
- SAMEORIGIN:允許當前頁面顯示在另一個頁面的框架中,但僅限于當前域內
- ALLOW-FROM *uri*:允許頁面僅顯示在指定來源/指定 URL 的框架中
但是,X-Frame 選項提供的安全性是有限的,并且在多域站點中無效。
- 內容安全策略
作為 HTML5 標準的一部分,Content-Security-Policy HTTP 標頭使網站作者能夠將可以從中加載資源和嵌入頁面的各個域列入白名單。它提供比 X-Frame-Options 標頭更廣泛的保護。
點擊劫持測試
可以使用測試來衡量網站對點擊劫持攻擊的脆弱性。測試人員會嘗試在 iframe 中包含來自網站的敏感頁面。他們將從另一臺服務器執行代碼并評估該網頁是否容易受到點擊劫持。他們還將測試網站上使用的反點擊劫持方法的強度。
直觀且可管理的 Web 應用程序安全解決方案
鑒于攻擊者利用網站中的漏洞進行點擊劫持,部署像AppTrana這樣的整體、智能和托管的安全解決方案是必不可少的。
結論
點擊劫持保護與用戶信任和忠誠度直接相關。因此,企業必須認真對待點擊劫持攻擊預防并主動保護其用戶。