GitHub告警:惡意軟件正通過流行開源 IDE 攻擊 Java 項目
GitHub 安全博客發(fā)布了一則通知,警告用戶目前正有一種新的惡意軟件在攻擊 Java 項目。據(jù)了解,這是一個針對 Apache NetBeans IDE 項目的開源供應(yīng)鏈攻擊,GitHub 安全團隊將其稱為 Octopus Scanner。一旦感染,惡意軟件會尋找用戶開發(fā)系統(tǒng)上的 NetBeans 項目,然后將惡意負(fù)載嵌入到項目文件中,使得每次項目構(gòu)建都會執(zhí)行惡意負(fù)載。
3 月 9 日,GitHub 收到了安全研究員 JJ 發(fā)來的警告通知:“我發(fā)現(xiàn)了一組感染了惡意程序 Octopus Scanner 的開源庫?!彪S后,GitHub 開始自查,在站點上共發(fā)現(xiàn)了 26 個包含 Octopus Scanner 惡意軟件的存儲庫。
據(jù) GitHub 稱:“當(dāng)用戶下載了這 26 個存儲庫中的任何一個時,該惡意軟件就會像自傳播病毒一樣,感染本地計算機,并掃描用戶的工作站,查看是否有本地 NetBeans IDE 安裝,如果有,會繼續(xù)深入影響計算機中的其他 Java 項目?!?
安全研究員 JJ 表示,如果發(fā)現(xiàn)了 NetBeans IDE,Octopus Scanner 惡意軟件會通過以下兩個步驟繼續(xù)進(jìn)行 NetBeans 項目的后門構(gòu)建:
每次構(gòu)建項目時,產(chǎn)生的 JAR 文件都會被 dropper 感染。執(zhí)行時,dropper 有效負(fù)載會確保本地系統(tǒng)持久性,并產(chǎn)生一個遠(yuǎn)程管理工具(RAT),連接到 C2 服務(wù)器。
它會阻止新項目構(gòu)建來替換受感染的構(gòu)建,以確保惡意構(gòu)建項目一直存在。
Octopus Scanner 的感染過程
Octopus Scanner 惡意軟件可以在 Windows、Linux 和 macOS 上運行,能夠識別 NetBeans 項目文件,并將惡意有效負(fù)載嵌入項目文件和構(gòu)建 JAR 文件中。
安全研究員 JJ 發(fā)布了 Octopus Scanner 惡意軟件的具體攻擊過程:
-識別用戶的 NetBeans 目錄
-枚舉 NetBeans 目錄中的所有項目
-將惡意負(fù)載復(fù)制 cache.dat 到 nbproject/cache.dat
-修改 nbproject/build-impl.xml 文件以確保每次構(gòu)建 NetBeans 項目時都執(zhí)行惡意有效負(fù)載
-如果惡意負(fù)載本身是 Octopus Scanner 的一個實例,則新建的 JAR 文件也會被感染。
據(jù)了解,Octopus Scanner 感染計算機的最后一步是下載一個遠(yuǎn)程訪問木馬,這樣攻擊者就可以在用戶的計算機中搜集敏感信息。
需要注意的是,Octopus Scanner 在感染過程中可能會發(fā)生“變異”。雖然 GitHub 目前只能訪問一個 Octopus Scanner 樣本,但是在受感染的存儲庫中發(fā)現(xiàn)了四個不同版本的 NetBeans 感染項目,其中三個都是影響下游系統(tǒng),例如,直接在受感染的存儲庫中進(jìn)行構(gòu)建,或者是使用受感染的構(gòu)建工具在下游系統(tǒng)中生成了受感染的工具,逐步形成“套娃”傳播。另外一個“變體”是執(zhí)行本地系統(tǒng)感染,但不影響構(gòu)建工具。
攻擊者的目的是什么?攻擊者的真正目的可能不是要影響 Java 項目,而是想要在開發(fā)敏感項目或主流軟件開發(fā)公司內(nèi)部人員的計算機上“留一手”,通過 RAT 病毒竊取到即將發(fā)布的工具、企業(yè)級軟件及閉源軟件的敏感信息。
GitHub 表示:“Octopus Scanner 惡意軟件已經(jīng)運行多年了,最早可以追溯到 2018 年 8 月,當(dāng)時是上傳到了 VirusTotal web scanner 上。截止到現(xiàn)在,Octopus Scanner 一直沒有被有效阻止,雖然這次只在 GitHub 的 26 個存儲庫中發(fā)現(xiàn)了 Octopus Scanner ,但是我們相信,在過去的兩年中,應(yīng)該有更多的存儲庫被感染了?!?
除了 NetBeans,其它 IDE 可能也會受影響
GitHub 安全團隊在一份報告中稱:“Octopus Scanner 惡意軟件主要攻擊的是 NetBeans 構(gòu)建過程,但其實 NetBeans 并不是 Java 項目最常用的 IDE?!?
由此,GitHub 猜測,如果攻擊者專門花時間開發(fā)了針對 NetBeans 的惡意軟件,那么就意味著這可能是有針對性的攻擊,也許他們針對 Make,MsBuild,Gradle 等構(gòu)建系統(tǒng)也實施了相同的惡意攻擊,只是現(xiàn)在還沒有引起注意。
更令人不安的是,Octopus Scanner 很難被檢測出來,GitHub 向 VirusTotal 上傳了樣本,60 個殺毒軟件只有 4 個能將其檢測出來。惡意軟件偽裝成了 ocs.txt 文件,但實際上它是一個 JAR(Java Archive)文件。
參考閱讀:
https://securitylab.github.com/research/octopus-scanner-malware-open-source-supply-chain