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