保護瀏覽器中的用戶數據,瀏覽器的歷史記錄占內存嗎保護瀏覽器中的用戶數據從 2015 年開始,一個名為 Magecart 的黑客組織通過用惡意代碼感染第三方依賴的方式竊取網上商店的支付憑證。被感染代碼被最終用戶瀏覽器請求,在其中執行并獲得網頁上的用戶數據。在獲取到這些信息后,被感染代碼將其發快遞給黑客,供其轉賣或者用于發......
從 2015 年開始,一個名為 Magecart 的黑客組織通過用惡意代碼感染第三方依賴的方式竊取網上商店的支付憑證。被感染代碼被最終用戶瀏覽器請求,在其中執行并獲得網頁上的用戶數據。在獲取到這些信息后,被感染代碼將其發快遞給黑客,供其轉賣或者用于發動進一步攻擊,例如信用卡欺詐和身份盜用。
自那時起,遭到此類供應鏈攻擊的其他目標包括 Ticketmaster、新蛋(Newegg)、英國航空(British Airways) 等。針對英國航空的攻擊源于該公司一個自托管 JavaScript 遭到破壞,將接近 50 萬名客戶的數據泄漏給黑客。這次攻擊招致 GDPR 罰款和英國歷史上最大規模的集體訴訟。共計數百萬用戶受到這些攻擊的影響。
即使不用擔心第三方供應商,在組織內部編寫安全的代碼就已經不是容易的事情。很多 SaaS 平臺向數以百萬計的網站提供第三方代碼,意味著一次破壞就能帶來毀滅性的后果。Page Shield 幫助客戶監控這些潛在的攻擊手段,阻止保密用戶信息落入黑客手中。
本周初, 我們宣布了遠程瀏覽器隔離(Remote Browser Isolation),作為緩解員工瀏覽器中客戶端攻擊的一個方法。Page Shield 延續 Cloudflare 在客戶端安全的努力,幫助緩解針對貴組織客戶的攻擊。
背景
Magecart 式攻擊是在用戶瀏覽器中執行的一種軟件供應鏈攻擊。攻擊者瞄準存放第三方 JavaScript 依賴的主機,控制向瀏覽器提供的源代碼。當被感染代碼運行時,其往往嘗試盜取最終用戶輸入到網站的敏感數據,例如支付過程中的信用卡信息。
這些攻擊難以檢測,因為很多應用程序所有者都信任第三方 JavaScript 會按照預期運行。由于這種信任,應用程序所有者極少對第三方代碼進行審計。很多情況下,Magecart 攻擊持續數月才被發現。
數據滲漏不是軟件供應鏈攻擊帶來的唯一風險。近年來,我們也看到黑客修改第三方代碼來向用戶顯示欺詐廣告。如果用戶點擊這些廣告進入釣魚網站,其個人信息就會被黑客竊取。其他 JavaScript 惡意軟件使用最終用戶資源為攻擊者挖掘加密貨幣,破壞網站性能。
那么,應用程序所有者應如何保護自己現有的瀏覽器技術,如內容安全策略(CSP)和子資源完整性(SRI),提供了一些針對客戶端威脅的保護,但也存在一些缺陷。
CSP 允許應用程序所有者向瀏覽器發快遞一個允許列表,防止列表之外的任何資源執行。雖然這可以防止某些跨站點腳本攻擊(XSS),但無法檢測現有資源是否已從良性狀態變為惡意狀態。管理 CSP 在操作中也具有挑戰性,因為它要求開發者每次向站點添加新腳本時更新允許列表。
SRI 允許應用程序所有者為 JavaScript 和其他資源指定預期的文件哈希值。如果獲取的文件與哈希值不匹配,它將被阻止執行。SRI 的挑戰在于供應商經常更新其代碼,且某些情況下向不同最終用戶提供不同的文件。我們還發現,JavaScript 供應商有時會因為一些細微的差異(如間距)而向最終用戶提供帶有不同哈希值的版本文件。這可能導致 SRI 在并非應用程序所有者本意的情況下錯誤阻止合法的文件。
腳本監測器(Script Monitor)是 Page Shield 提供的第一個功能
腳本監測器是 Cloudflare 打造 Page Shield 的起點。一旦開啟,這個功能會持續記錄站點的 JavaScript。每當出現新的 JavaScript 依賴時,我們就會提醒您,以便您調查這些是否您站點的預期變化。這可以幫助您識別是否有惡意行為者修改了您的應用程序以請求一個新的、惡意 JavaScript 文件。一旦完成 beta 測試,這個初始功能集將向 Business 和 Enterprise 客戶免費開放。
腳本監測器如何工作
由于 Cloudflare 處于應用程序原服務器和最終用戶之間的獨特位置,我們能在響應到達最終用戶前對其進行修改。在這種情況下,我們在頁面通過我們的邊緣時在其中增加一個額外的 ContentSecurityPolicyReportOnly 標頭。當 Javascript 試圖在頁面執行時,瀏覽器將向 Cloudflare 發快遞報告。由于我們使用 reportonly 標頭,應用程序所有者不需要維護允許列表來獲得相關洞察。
針對我們看到的每個報告,我們都會將該 JavaScript 與這個區域的歷史依賴進行比較,檢查其是否為新文件。如是,我們會發出警告,以便客戶進行調查并確認這個變化是否在預期之中。
腳本監測器用戶界面位于 Firewall Page Shield
作為 beta 參與者,您將在您的區域儀表板的防火墻部分看到 Page Shield 標簽。然后,您可以找到跟蹤您的區域 JavaScript 依賴的腳本監測器表格。對于每一個依賴,您都可以查看首次出現日期,最后出現日期,以及被檢測到的主機域。
發現新 JavaScript 依賴時的電子郵件通知示例
您也可以在儀表板中配置腳本監測器通知。每當您的站點請求一個新的 JavaScript 文件,這些通知都會向您的電子郵箱或 PagerDuty 發快遞警告。
展望未來
我們的使命是幫助建設更加美好的互聯網。這一使命延伸到最終用戶瀏覽器,而近年來,我們發現這個領域的攻擊出現了驚人的增長。通過 Page Shield,我們將幫助應用程序檢測和緩解這些難以捉摸的攻擊,以保護其用戶的敏感數據。
我們已經在向腳本監測器中構建代碼變化檢測功能。代碼變化檢測將定期獲取您的應用程序的 JavaScript 依賴并分析其行為。當現有文件中檢測到新的代碼行為時,我們會向您發出警告,以便您查看該變化并確定新代碼是無害的更新還是受感染的代碼。
代碼變化檢測之后將是 JavaScript 文件的智能分析。在應用程序的依賴發生變化時向應用程序所有者發出警告可以提供針對所關注文件的洞察,但我們可以更進一步。我們已經與我們的安全合作伙伴合作,獲取了 Magecart JavaScript 的樣本,并已證明我們可以準確地對惡意 JavaScript樣本進行分類。我們計劃進一步改進我們的技術,最終將開始在我們認為 Page Shield 客戶的依賴是惡意的時候向其發出警告。
我們已經和我們的客戶談過,了解到維護 CSP 允許列表在操作上是并非易事。如果部署了新的客戶端 JavaScript 但沒有將其添加到允許列表中,那么新代碼將被瀏覽器阻止。因此,我們將利用我們做為反向代理的地位來部署負面安全模型阻止(negative security model blocking)。如此一來,應用程序所有者不需要維護允許列表就能阻止個別腳本,確保客戶能在無繁瑣開銷的前提下發布新代碼。
特別聲明:以上文章內容僅代表作者本人觀點,不代表ESG跨境電商觀點或立場。如有關于作品內容、版權或其它問題請于作品發表后的30日內與ESG跨境電商聯系。
二維碼加載中...
使用微信掃一掃登錄
使用賬號密碼登錄
平臺顧問
微信掃一掃
馬上聯系在線顧問
小程序
ESG跨境小程序
手機入駐更便捷
返回頂部