駭客對於應用程式漏洞的濫用,以往是針對「成品」來進行,而在軟體供應鏈的攻擊手法上,位於開發過程上游的程式庫元件供應、程式庫元件儲存,以及元件的組裝搭建,也成為有心人士植入惡意程式的目標。(圖片來源/Sonatype)

想要杜絕應用程式的安全漏洞,在過去,許多廠商都提倡要在軟體開發生命周期(SSDLC)當中,落實安全性的作法。然而,近年來,陸續傳出不同形式的軟體滲透攻擊,是從開發、部署、更新過程的環節下手,令人防不勝防。

針對特定人士常用的網站與免費軟體,伺機植入惡意程式

以往透過特定使用者經常拜訪的網站,針對大型企業發動水坑式攻擊(Watering hole attack)的狀況,時有所聞,而IT人員也成為主要目標之一。

像是2017年9月,許多IT人員都採用的免費系統清理軟體CCleaner,也被駭客盯上,對方從該套軟體開發的過程或是數位憑證簽署的過程滲透進去,並且植入惡意程式,等到新版正式發布、許多用戶下載之後,隨即爆發了大量感染的事件。

從設備出廠預設安裝的應用軟體或App,也是駭客下手的管道

另一種侵入的管道,則是從連網設備的預裝軟體下手,也歸類為軟體供應鏈攻擊。隨著智慧型手機的盛行,2016年出現惡意軟體開始透過供應鏈,滲透到部分Android手機。

例如,網路銀行木馬程式Triada原本是以惡意廣告為主要散播路徑,2017年有4款中國廠牌的低價手機,被發現遭到植入,到了2018年3月,預載Triada的機型竟暴增到42款。

移花接木!軟體的更新與下載來源遭到竄改

就範圍而言,軟體供應鏈攻擊也可能在軟體部署、發布的路徑上動手腳。

舉例來說,微軟在7月揭露的數位貨幣採礦惡意軟體攻擊,就是透過PDF編輯器的應用程式來傳遞惡意程式,不過,滲透對象並不是直接針對該套產品的開發商,而是先以該公司的其他軟體合作夥伴作為攻擊目標,於是,攻擊端從這些廠商IT基礎架構下手,設法找出弱點,再從此處來重新導引字型套件的下載與安裝路徑。

開原碼程式庫元件普遍受到開發者採用,弱點管理問題浮上檯面

在應用程式漏洞攻擊的層面上,近年來,出現越來越多針對開放原始碼軟體生態而來的事件,值得各界重視。

根據資安廠商WhiteSource的分析,2017年的開放原始碼軟體弱點高達3,409個,而在另一家資安廠商Sonatype的調查當中也發現,因開放原始碼軟體的弱點而發生資料外洩事件的比例,在2018年已達到31%,顯然問題已日益嚴重。

若從實際發生的弱點濫用事件來看,2018年也出現許多相關的問題。

舉例來說,套件管理器NPM的資安團隊接獲社群回報之後,在5月特別發出公告,表示整合的套件含有惡意的後門程式,因此他們決定移除並終止發布彼此相依的套件。

同樣是5月,一些開發人員發現,有一套SSH Decorator,是負責處理SSH連線的Python程式庫模組,竟然潛藏了後門程式,當中會收集使用者遠端登入的帳號密碼,並將資料傳送到特定的伺服器位址。而類似的狀況在2017年也曾經上演,例如,在8月,NPM開發團隊移除38個竊取環境變數的套件;到了9月,PyPI程式庫也被舉報,當中包含10個惡意套件。

隨著開放原始碼軟體程式庫的普遍採用,類似事件未來勢必會繼續發生。因此,對於獨立軟體開發商或自行開發應用程式的企業IT團隊而言,如何妥善管理應用開放原始碼的風險,將成為重要議題,而且,所要審視的範圍,不只是上層應用程式所採納的程式庫,也要注意底層的作業系統本身與整合套件,以及軟體的來源。


Advertisement

更多 iThome相關內容