圖片來源: 

Bleeping Computer

鎖定Npm用戶而來、並以帶有惡意功能的套件發動攻擊,今年已陸續發生多起。例如,提供UAParser.js套件的開發者Faisal Salman於10月底表示,他的Npm帳號遭到他人挾持,並發布了帶有惡意程式的版本,而使得Npm母公司與美國政府都提出警告,呼籲使用者不只要儘速移除具有惡意功能的UAParser.js,還應該更換受害電腦上各式應用程式的密碼。

但不到半個月,類似的事件再度上演。根據資安新聞網站Bleeping Computer的報導,名為COA(Command-Option-Argument)的熱門套件疑似遭到劫持,而在數個小時內連續發布帶有惡意程式的版本。

這個套件用途,是提供開發者以命令列下達指令的解析器,最後版本(2.0.2版)於2018年12月推出,平均每個星期約有9百萬次下載,粗估目前GitHub上有5百萬個開源專案採用,影響範圍可能相當廣泛。

一旦電腦遭到惡意版本的COA入侵,就有可能被部署Danabot竊密軟體,並將偷得的各式帳密、信用卡資料、螢幕截圖,以及側錄按鍵資料等,回傳給攻擊者。針對這起事故,使用者要刪除有問題的套件與相關檔案來因應,再者,套件開發者也應該透過採用多因素驗證(MFA),來避免自己的Npm帳號遭到異常存取。

惡意的Npm套件干擾軟體專案

這起攻擊事件是如何被察覺的呢?約在臺灣時間11月4日晚間,React程式開發者Roberto Wesley Overdijk留意到,COA在相隔近3年後不尋常地發布新的版本,經過他的比對,新的版本帶有惡意程式碼,並會在後臺嘗試執行背景程式。該名開發人員指出,雖然他不確定發布惡意版本COA的人士意圖為何,但這些「新版本」已經破壞網路上採用COA套件的軟體專案。

這些含有惡意內容的COA套件發布後不久,也受到多名開發者加入討論此事,並表示他們的軟體開發專案在這些新版套件推出後,遭遇到編譯上的錯誤

上述情況Npm獲報後,就將含有惡意程式版的COA套件下架。但在數個小時之後,又有另一個名為RC的Npm傳出類似的情況,發布了1.2.9、1.3.9、2.3.9等3個惡意版本。

攻擊手法與另一起事故雷同

從COA套件出現惡意版本的事故看來,與前述UAParser.js套件開發者帳號遭駭的情形,可說是相當類似,不同之處是UAParser.js的開發者出面證實,他的Npm帳號遭到挾持,而COA的開發者並未現身說明。

但這兩起攻擊事件究竟有沒有關連?根據Bleeping Computer的分析,他們發現存在於惡意版本COA的攻擊程式碼,與惡意版本UAParser.js所帶有的攻擊程式碼,內容幾乎一致,研究人員推測,背後的攻擊者可能有所關連。

再者,研究人員指出,攻擊者的COA、UAParser.js,以及RC惡意版本,都是挾帶名為Danabot的木馬程式,並透過regsvr32.exe與rundll32.exe來執行。

熱門新聞

Advertisement