【環球網科技報道 記者 林迪】“和其他以伺服器為目標的攻擊方式不同,第三方指令碼攻擊主要針對瀏覽器端發起攻擊。這種攻擊方式較為隱蔽,企業較難使用傳統手段進行防禦和打擊。而一旦攻擊者得手,造成的影響往往又是難以估量的。”近日,Akamai大中華區高階售前技術顧問孟焯對記者表示。
孟焯指出,隨著人們越來越依賴數字化工具,遠端辦公、學習、購物、娛樂等生活方式變為常態,網路威脅發起者也在關注線上活動的迅猛增長伺機而動,最終竊取終端使用者個人資訊並以此獲利。作為易操縱且適用範圍廣的攻擊方式,第三方指令碼攻擊正在快速流行,對包括電子商務、媒體出版業網站在內的眾多網站形成威脅。
據介紹,其中的代表Magecart攻擊就“攻陷”過許多備受矚目的網站,包括奧運會售票網站、英國航空、Ticketmaster等。
網路攻擊“重災區”
資料顯示,2011年至2018年間,網頁頁面中的第三方指令碼大小增長了706%,請求數增加了140%。
“第三方指令碼攻擊的興起源於第三方指令碼的流行。為使使用者獲得更豐富、便捷的Web體驗,越來越多的網站透過第三方指令碼為使用者提供支付、預訂等服務。” 孟焯解釋稱,一方面,這些指令碼都是透過第三方進行功能維護和更新,對於第一方而言通常未知,因此為第一方網站的自身安全性埋下了隱患。另一方面,隨著使用者對網站功能多樣化的需求增加,第三方指令碼的大小與請求數正在飛速增長,這使得攻擊面進一步擴大。“以Akamai官網為例,如果使用視覺化工具‘Request Map’來展現頁面上所有請求的來源,會發現網站中超過50%的指令碼都是來自第三方的指令碼。”
具體而言,第三方指令碼攻擊往往從第三方、第四方網站開始。攻擊者透過將惡意程式碼新增到第三方指令碼更新中,從而“穿透”平臺的必要安全檢查(例如WAF),進入供應鏈交付,最終在第一方網站頁面上竊取個人識別資訊(PII),再透過執行惡意程式碼,把這些資料發回給攻擊者。
孟焯告訴記者:“當前,第三方指令碼攻擊中最‘臭名昭著’的莫過於Magecart攻擊。該攻擊以Magecart這一駭客組織命名,專門使用惡意程式碼透過汙染第三方和第四方的指令碼,從終端使用者提交的支付表單中竊取支付資訊,以獲取經濟利益。”
據介紹,Magecart攻擊具備幾個特點:第一,影響範圍廣。該攻擊不僅針對大型支付網站,任何有支付業務、需要在頁面中提交表單的網站,無論大小,均有可能遭受此類攻擊。第二,攻擊後果嚴重。該攻擊“威力”巨大,單一攻擊事件就可以造成數以千計的網站感染、百萬個資訊被盜取。在針對英國航空的Magecart攻擊中,攻擊者僅用22行指令碼程式碼,就盜取了38萬張信用卡的資訊,相當於給犯罪分子送去1700多萬美元的淨收益。第三,攻擊手段不斷升級。最近一次已知的Magecart攻擊發生在今年4月,Magecart駭客團體採用名為“MakeFrame”的新型資料竊取器,將HTMLiframes注入網頁中以獲取使用者付款資料,成功地破壞了至少19個不同的電子商務網站。
據2019年《網際網路安全威脅報告》顯示,全球平均每個月有超過4800個不同的網站遭到類似的表單劫持程式碼入侵。
潛在的安全風險
孟焯進一步指出,第三方指令碼攻擊利用的是第一方網站對第三方指令碼的控制力不足和難以實現的全面監測,造成較為嚴重的攻擊後果。此外,第三方指令碼還會帶來一些其他的潛在隱患。
綜合來看,第三方指令碼帶來的安全風險通常有以下幾種:
資料竊取。資料竊取是在使用者端透過指令碼竊取使用者的個人資料和賬單資料的一種釣魚攻擊。2019年第四季度,某北美大型零售商的支付頁面被攻擊者盜取了姓名、電話、郵件和信用卡號碼、安全碼和過期日期等。
意外洩漏。意外洩漏指應用意外收集使用者敏感資料導致的合規風險。2019年第四季度,某國際零售商網站上出現了不安全指令碼,使得任何人都可以透過Web瀏覽器訪問該網站近1.3 TB的資料,包括使用者的IP、住址、郵箱地址和在網站的活動軌跡。此外,這還可能會引發針對性的網路釣魚攻擊。
已知漏洞(CVE)。這是指在真實使用場景中,指令碼已經暴露出漏洞,但未能得到及時修復。2019年第四季度,某旅遊服務商在一次第三方指令碼攻擊的15天內暴露了30多萬用戶的個人資訊,導致百萬美金的罰款。而造成此次攻擊的漏洞就來自於已知的指令碼漏洞,並且該漏洞已在此前導致過資料洩漏。
如何防範這一隱患?
如上所述,第三方指令碼帶來的種種安全風險為各種型別的網路攻擊提供了“溫床”,但其自身又往往處於“隱秘的角落”,較難控制和監測。不過,對於這樣的風險,企業並非完全束手無策。
在孟焯看來,目前有四種常用的應對方法,以將第三方指令碼帶來的安全風險“扼殺在搖籃中”。
首先是內容安全策略(CSP)白名單。據介紹,內容安全策略是透過白名單的方式,檢測和監控來自第三方的安全隱患,適用於能夠嚴格遵守該策略的企業,且以防禦為主。但該方法也存在一定弊端,一是如果可信的第三方被利用併成為攻擊媒介,這種策略就無法起到應有效果;二是該策略在實際操作中較難實施和維護,需要持續的手段分析和測試,如果策略設定得過於嚴格也將產生誤報;三是如果對於通用雲端儲存和開源專案中的資源設定白名單,會進一步增加網站的“脆弱性”。
其次是模擬測試掃描。模擬測試掃描是一種離線的策略方法,適用於簡單的網站及策略更新時。但實行該方法仍然需要持續的手動分析和測試。
再次是訪問控制/沙盒。訪問控制/沙盒的方式適用於頁面簡單或頁面數量較少、不包含個人驗證資訊的網站。該方法可以與內容安全策略結合使用,同時也需要持續的手動分析和測試。
第四是應用程式內檢測。其檢測指令碼的行為、可疑的活動,著力於快速緩解攻擊、減少對業務的影響。這也是Akamai認為有效的指令碼保護方式之一。持續的手動分析和測試在現實場景下較難實現,應用程式內檢測則是一個獨立於平臺且自動的、不斷演進的安全威脅檢測方式,並且不依靠於訪問控制方法,真正能夠做到保障網站安全。舉例而言,對於Magecart攻擊來說,這種方式能夠檢測可疑的行為,並且易於管理和設定,讓企業的網站始終處於監測狀態、隨時線上。另外,它還能夠排除干擾資訊,根據已知的安全威脅提供情報,避免“重蹈覆轍”。最後,針對訪問的控制策略,該方法也會根據反饋不斷進行更新。
“隨著第三方指令碼成為現代網站的‘必需品’,針對第三方指令碼的攻擊發生得也越來越頻繁,且往往給企業帶來巨大損失。”最後,孟焯建議道:“企業應當保持警惕,使用諸如Request Map這樣的工具檢測網站頁面第三方指令碼的數量,並對網站頁面的第三方指令碼予以監視,哪怕該指令碼來自受信任的第三方也是如此。同時,企業應考慮適用自身網站的指令碼管理方式,進行第三方指令碼行為檢測,實施管理和風險控制,並將應用程式內的指令碼保護與訪問控制解決方案結合起來,協同執行。”