圖片來源: 

GitHub

針對開發人員的供應鏈攻擊可說是日益氾濫,而且駭客的手法不斷推陳出新。過往攻擊者主要是直接竊取用戶帳密或是憑證,進而取得程式碼共享平臺帳號的控制權,但現在有研究人員發現新的攻擊管道,攻擊者鎖定開發人員的電腦下手,讓他們於上傳程式碼時,無意間就幫自己在GitHub上架設後門,攻擊者再將這些後門用於與C&C中繼站通訊。最近,GitHub公布了上述攻擊手法細節,希望開發人員能夠加以防範。

今年3月,一個署名為JJ的資安人員,向GitHub資安事件因應團隊通報,他發現一波新的攻擊事件,駭客鎖定採用NetBeans整合開發環境的電腦發動攻擊,導致這些開發者提交到GitHub的程式碼帶有後門。該團隊獲報後,隨即展開調查,發現有26個開源專案,被惡意軟體借殼上架後門。GitHub資安事件因應團隊表示,他們經常獲報有人刻意利用GitHub,將其做為C&C中繼站運作的一部分,但這次研究人員提出的情報相當不同,程式碼資料庫的所有人完全不曉得自己遭駭,持續在自己的GitHub帳號提交帶有後門的程式碼。

研究人員將這次發現駭客作案的惡意軟體,命名為Octopus Scanner。駭客攻擊的方式,是先將這款惡意軟體植入到開發用的電腦,接著Octopus Scanner會在電腦裡掃描,找出所有的NetBeans專案檔案與資料夾,並且將惡意負載(Payload)檔案植入指定的資料夾,然後修改編譯的XML組態檔案內容,使得開發者每次編譯程式時,惡意軟體就會一併載入所有類別,而且還會感染編譯好的JAR檔案。

GitHub指出,他們在調查過程中,Octopus Scanner的C&C中繼站似乎還沒有上線,但這不代表遭感染的專案就安全,駭客還是很有可能藉此複製專案的內容。基於前述用戶應該不知情的前提,GitHub認為不應該直接封鎖使用者的帳號來處置,取而代之的是,他們會充分了解惡意軟體散播的途徑,再從這些專案妥善移除相關程式碼。

不過,根據GitHub的調查,與獲報資訊有所不同的是,Octopus Scanner不光是會感染編譯過程產生的JAR檔案,而是整個專案資料夾裡的所有的JAR檔案。該公司清查受害專案後進一步發現,Octopus Scanner至少有4種版本,其中一種還會感染下游系統,也就是說,假如其他GitHub用戶複製了受害專案來進行開發,也可能會一併繼承了這個惡意軟體。至於其他3種Octopus Scanner,則是以開發者本機電腦為主要感染目標。

GitHub也將其中一個Octopus Scanner上傳到VirusTotal,所有的60個防毒引擎中,竟然只有4個發現是惡意軟體,這樣的結果很可能會被當作是誤判。

值得注意的是,NetBeans並非Java程式語言最常見的輔助開發工具,但為何駭客要針對使用這款整合開發環境的開發者下手?GitHub認為,假如此次攻擊並非特定目標攻擊,就是駭客已經同時對其他開發環境悄悄下手,像是使用Make、MsBuild,以及Gradle等開發工具的電腦,也可能會出現類似Octopus Scanner的惡意軟體攻擊。


Advertisement

更多 iThome相關內容