在最近的幾次供應(yīng)鏈攻擊之后,例如來自 SolarWinds 的攻擊,甚至是最近導(dǎo)致Celsius Networks 網(wǎng)絡(luò)釣魚攻擊的攻擊,許多人都在提倡更嚴(yán)格的第三方控制。Celsius 甚至表示,該公司“將提高我們?cè)?ISO 和 SOC 認(rèn)證方面對(duì)第三方的要求。”
但更嚴(yán)格的第三方控制究竟意味著什么?公司如何獲得第三方的控制權(quán)?在Web 供應(yīng)鏈攻擊的背景下,腳本是否正在審查最終答案?讓我們找出來。
什么是第三方腳本審核?
要掌握第三方審查的概念,我們需要看一下普通網(wǎng)站。如今,隨著對(duì)更快的產(chǎn)品開發(fā)的需求不斷增長(zhǎng),開發(fā)人員越來越依賴外部源代碼片段,尤其是 JavaScript 框架和庫。這導(dǎo)致平均 Web 應(yīng)用程序具有超過 1000 個(gè)模塊,也稱為代碼依賴項(xiàng)。由于這些模塊中的每一個(gè)都可以有自己的依賴項(xiàng),因此每個(gè)應(yīng)用程序最終都會(huì)有數(shù)千個(gè)第三方代碼。
然后,還有大多數(shù)網(wǎng)站在運(yùn)行時(shí)使用的所有附加腳本的問題。如今,大多數(shù)網(wǎng)站都在使用外部服務(wù),如聊天機(jī)器人、分析或廣告。
隨著第三方的大量使用,攻擊面增加,特別是在涉及供應(yīng)鏈攻擊時(shí)。由于這些攻擊依賴于公司對(duì)其代碼對(duì)供應(yīng)鏈的依賴性缺乏可見性,因此它們通常會(huì)在數(shù)周內(nèi)不被注意。我們已經(jīng)在2018 年Magecart 網(wǎng)絡(luò)瀏覽組攻擊英國(guó)航空公司的案例中看到了這種情況,該事件在兩個(gè)多月的時(shí)間里都沒有引起注意。
現(xiàn)在,第三方腳本審查背后的概念是,公司將審查每個(gè)第三方腳本和提供它的公司,以確保它們是合法和安全的。允許使用經(jīng)過審查的腳本,而那些未通過審查程序的腳本將被放棄(至少在它們?nèi)匀徊话踩那闆r下)。
審查腳本提供者的過程通常是通過尋找證明公司對(duì)安全的承諾的認(rèn)證 (ISO/SOC) 來完成的。另一方面,腳本審查通常涉及掃描代碼以查找任何可能使攻擊者更容易破壞腳本的漏洞或安全漏洞。
乍一看,這似乎是問題的最終答案。然而,正如我們接下來將看到的,雖然這種第三方審查方法在幫助公司應(yīng)對(duì)網(wǎng)絡(luò)供應(yīng)鏈攻擊方面發(fā)揮著重要作用,但它必須與額外的安全措施相結(jié)合。
為什么腳本審查不足以防止 Web 供應(yīng)鏈攻擊?
如果我們?cè)趲滋靸?nèi)仔細(xì)觀察任何給定網(wǎng)站的不同部分,我們會(huì)看到數(shù)百個(gè)代碼依賴項(xiàng)在不斷變化。這些框架和庫中的每一個(gè)都會(huì)收到更新,它們各自的第四方也會(huì)收到更新。
當(dāng)我們將這種動(dòng)態(tài)場(chǎng)景與腳本審查的概念進(jìn)行對(duì)比時(shí),我們很快就會(huì)明白為什么僅靠腳本審查不足以保證第三方腳本的安全。腳本審查的最大問題是它只提供了一個(gè)時(shí)刻的畫面。這意味著今天成功通過審查并被視為安全的腳本(因?yàn)樗鼇碜院戏ü静⑶也话魏我阎┒矗┛赡軙?huì)突然成為安全責(zé)任。如果我們只相信審查,我們就會(huì)盲目相信這個(gè)腳本,完全無視它對(duì)我們網(wǎng)站的實(shí)際作用。說明這一點(diǎn)的完美例子是Copay 事件一個(gè)看似合法的庫被攻擊者秘密接管,攻擊者進(jìn)行了包含惡意代碼的更新,最終進(jìn)入加密錢包的生產(chǎn)版本并竊取了一些用戶的加密貨幣。
這種方法的另一個(gè)關(guān)鍵問題是平均網(wǎng)站包含 35 個(gè)不同的第三方組件。鑒于 Web 供應(yīng)鏈如何與其最薄弱的環(huán)節(jié)一樣安全,強(qiáng)大的審查策略將需要檢查這些腳本中的每一個(gè)——這是一項(xiàng)極其復(fù)雜的任務(wù)。
最后,腳本審查過程本身并非沒有缺陷。雖然掃描漏洞是一種很好的安全做法,但它不會(huì)分析每一行代碼來尋找潛在的惡意行為。一個(gè)沒有已知漏洞的腳本仍然可能是危險(xiǎn)的,例如,如果它試圖訪問敏感的用戶數(shù)據(jù)。
獲得完全的可見性和控制
因此,如果僅僅腳本審查不是網(wǎng)絡(luò)供應(yīng)鏈安全的最終答案,那什么才是呢?這個(gè)問題的簡(jiǎn)短答案是深度安全。
正如我們所見,腳本審查并沒有解決合法腳本如何突然改變其行為的問題。因此,深入方法的下一步是實(shí)時(shí)了解每個(gè)腳本在網(wǎng)站上的行為方式。這種可見性使公司能夠立即檢測(cè)到任何可疑行為,例如已知腳本突然開始篡改付款表格(Magecart 網(wǎng)頁瀏覽攻擊)或試圖將數(shù)據(jù)發(fā)送到未知域(數(shù)據(jù)泄漏)。
考慮到 Magecart web skimming 攻擊在被檢測(cè)到之前平均保持活躍 22 天,這種實(shí)時(shí)可見性可以極大地改善事件響應(yīng)并遏制數(shù)據(jù)泄漏。
盡管如此,可見性只是深度安全方法所需響應(yīng)的一半。另一半來自對(duì)每個(gè)腳本行為的完全控制。有效控制意味著能夠?qū)崟r(shí)限制特定的允許或不允許的行為,以便立即阻止任何惡意活動(dòng)的企圖(例如泄露用戶數(shù)據(jù)、在網(wǎng)站頂部顯示彈出窗口),從而阻止攻擊。
為了達(dá)到這種控制水平,公司需要尋找允許建立強(qiáng)大而靈活的規(guī)則來阻止客戶端所有惡意活動(dòng)的解決方案。此外,這些解決方案必須確保每個(gè)腳本的正常功能都不會(huì)受到影響,從而使用戶體驗(yàn)不受影響。
毫無疑問,公司要完全控制其網(wǎng)絡(luò)供應(yīng)鏈還有很長(zhǎng)的路要走。因此,這是邁出第一步的方法:請(qǐng)求一份免費(fèi)的網(wǎng)站庫存報(bào)告,并全面了解您網(wǎng)站的腳本及其特定行為。