越來越多的組織因為第三方元件及/或指令碼能夠提升開發過程的敏捷性,而選擇使用它們來建置面向公眾的應用程式。與此同時,我們也觀察到針對這些應用程式使用者所發動的攻擊事件正不斷增加。
其背後的原因在於,隨著時間推移,部分 Web 應用程式的程式碼現在直接在使用者的瀏覽器中載入,而非在伺服器端執行。由於這樣的轉變,使用者現在會直接接觸到這些第三方元件,而使用這些元件的組織卻無法直接掌控它們的安全措施。這種第三方指令碼、應用程式擁有者與使用者之間的關係,正被攻擊者利用,對使用者的裝置發動所謂的「供應鏈攻擊」。
在本文中,我們將探討這些新漏洞以及組織如何解決這些漏洞以保護其使用者。
自 2018 年左右以來,多起針對應用程式用戶端側的重大攻擊事件對企業造成了重大損失。其中最引人注目的案例之一是針對英國航空公司 (British Airways) 客戶的攻擊,攻擊者不僅竊取了支付卡詳細資料,還竊取了 50 萬客戶的姓名和地址。攻擊者透過使用 JavaScript 進行攻擊竊取了這些資訊。
處理客戶付款的組織必須遵守旨在保護支付卡帳戶資料的支付卡產業資料安全標準(PCI DSS) 合規性要求。
這類攻擊往往是在網站擁有者不知情的情況下發生的,英國航空的案例便是如此。為了因應這項威脅,最新的 PCI DSS 已將「用戶端側攻擊」這項日益嚴重的威脅納入考量,並明確要求企業必須採取主動防護措施,以保護持卡人的支付卡資訊不被竊取。與先前版本的 PCI 相比,PCI 資料安全標準 (DSS) 4.0 引入了許多新要求,所有接受卡付款的商家都必須滿足這些要求。不過,今天我們將聚焦於其中兩項與用戶端側安全性相關的新要求。
第 6.4.3 項要求規定:商家需追蹤並妥善管理支付頁面上使用的指令碼(如 JavaScript),並提供其必要性說明以及程式碼是否按預期運作。
為了滿足第 6.4.3 項要求,可以部署「內容安全政策」(CSP) 標頭。CSP 是一種主動式安全模型,可定義允許哪些 JavaScript 在支付頁面上執行,並預設拒絕任何未明確允許的 JavaScript 執行。持續執行的頁面監控工具可協助產生 CSP 標頭,並持續檢查這些指令碼的內容,以偵測是否有惡意威脅存在。
第 11.6.1 條要求規定:當支付頁面所使用的指令碼(如 JavaScript)或用於保護這些指令碼的 HTTP 標頭(如 CSP 標頭)發生變更時,系統需能即時通知網站管理員。根據 CSP 標頭的部署方式,反向代理或 CDN 服務提供者可偵測其變更並自動通知網站擁有者。建議整合這些解決方案,以滿足第 11.6.1 項要求。
透過滿足這兩個要求,網站擁有者可以保護使用者的支付卡帳戶資料免遭威脅執行者的竊取,維護使用者的信任並降低風險。
第三方 JavaScript 相依項或供應鏈攻擊並非唯一的用戶端攻擊媒介。一些第三方相依項還可以呼叫其自身的相依項(有時稱為第四方相依項),這些相依項也可能受到攻擊。
過去幾年,業界已採取措施,盡可能防範供應鏈攻擊,人們對供應鏈風險的普遍認識也比五年前有所提升。然而,其他一些用戶端風險卻較少受到關注,從而擴大了攻擊面。
風險之一在於使用者的環境、所使用的瀏覽器、瀏覽器所執行的作業系統。當使用者造訪網站時,瀏覽器擴充功能或任何其他軟體都可能直接向網站插入 JavaScript,從而更改網頁內容。雖然並非所有被插入的 JavaScript 都具有惡意,但它們可能造成的影響範圍廣泛,從廣告注入到潛在的敏感性資訊竊取,不一而足。
另一個範例是 Cross-site Scripting (XSS),惡意執行者將程式碼插入合法網站,在受害者載入網站時執行該程式碼。從用戶端保護的角度來看,此類成功 的插入可能看起來像是直接由第一方(即該網站本身)提供的 JavaScript,而使用者通常會預設信任該網站。
這不是一個完整的清單。為了達到全面的安全防護層級,一個用戶端安全解決方案應能平等監控所有指令碼,不論其來源為何,從而協助網站擁有者做出明智的決策。
若您是接受卡付款的商戶,則必須在 2025 年 3 月 31 日之前,針對 PCI DSS v4.0 制定並實施保障用戶端環境安全的方案。Cloudflare 的用戶端安全解決方案 Page Shield 可協助您輕鬆滿足這些新規範及未來可能新增的要求。
除了支付頁面保護之外,Cloudflare 的 Page Shield 還會持續監控您的整個網站,根據內部建置和訓練的機器學習模型檢查每個指令碼,該模型專門對 Magecart 攻擊進行分類,無論您的使用者如何以及在何處與您的網站互動,都能保護他們的安全。
Cloudflare 就影響當今技術決策者的最新趨勢和主題發表了一系列文章,本文為其一。
閱讀《維持 PCI DSS 4.0 合規性的戰略方法》白皮書,深入瞭解如何策略性地滿足所有 PCI 要求。
閱讀本文後,您將能夠瞭解:
針對用戶端環境的主要攻擊手段
2 項新的 PCI 合規性要求
如何保護用戶端環境並保護您的客戶