使用來自官方平臺的套件也要提高警覺,近日有社群回報Node.js套件管理器Npm中,存在偽裝成Cookie解析器,實則為惡意後門的惡意套件,官方也在收到通報並經過調查後,隨即將這些套件包從Npm Registry上下架

在5月2日,Npm安全團隊收到了一份來自社群的回報,內容指出,getcookies套件含有惡意程式碼,且由於套件互相相依的關係,牽扯了一串套件。套件express-cookies相依於getcookies,而http-fetch-cookies相依於express-cookies,最後熱門的套件mailparser則相依於http-fetch-cookies,官方總共移除了這4個套件,其中mailparser的3個版本2.2.3、2.2.2與2.2.1皆受影響。

Npm安全團隊提到,這個後門仰賴Http的標頭檔進行運作,搜尋特殊格式的資料,存在3種不同的指令,包括重置記憶體、執行記憶體中的程式碼以及下載遠端程式碼到記憶體中,也就是說這個後門程式,能讓駭客將任意的程式碼放到任何受感染的伺服器中並加以執行。

官方除了移除惡意套件,同時也移除了可疑使用者dustin87,官方指出,透過反向圖片搜尋,使用者個人檔案資料的照片來自素材網站,而這些套件所連接的GitHub帳號是在3月時被創建。getcookies、express-cookies和http-fetch-cookies這三個套件的下載次數在幾個星期前急速攀升,有可能是因為相依的mailparser套件更新了幾個版本的原因。

儘管mailparser已經棄用,每周仍有64,000次的下載,不過官方表示,他們確定相依於於http-fetch-cookies的已發布mailparser版本,並沒有被以任何方式啟動後門模組,因此使用mailparser的開發者並沒有收到後門影響。官方推測原因,駭客可能是為了增加express-cookies的下載次數增加合法性,或是想等待更多的使用者下載後,接著一次發動攻擊。

總之,調查的結果表示,mailparser套件的後門都沒有被啟動過,因此不受影響,只有直接使用express-cookies或getcookies套件的用戶,才有直接的安全性問題。但是隱憂在於開發者可能使用這些惡意套件,開發私人的應用程式,而也因為超出官方可搜索範圍無法評估受害情形,Npm安全團隊提醒,開發者需要自行移除這些套件。

而在官方發布這項公告後,在網路論壇Reddit也引發了不少討論,部分開發人員表示,這個問題並非Npm套件管理器才會發生,類似的平臺都可能有這樣的情形。但也有些開發者認為,Npm的一些特性,會加劇這樣的危險發生,由於Npm的套件趨向小型化,因此套件或是應用程式會大量的依賴外部模組,通常數量高達數百個,而這樣的情況使得安全性審查變得困難。另外,Npm套件允許開發者以最小版本號表達相依性,因此只要不更改主版本號碼,都被認為是相容的套件,而這也使得在執行Npm install指令安裝時,增加審查的困難性。


Advertisement

更多 iThome相關內容