資安業者Checkmarx新一波的PyPI惡意套件攻擊,駭客主要的目標是使用Telegram、AWS、阿里雲的開發人員

研究人員自今年9月,看到有人上傳一系列惡意PyPI套件,但特別的是,這些套件的惡意程式碼不會在開發人員安裝時執行,駭客將惡意指令碼嵌入套件深處,必須在套件執行過程呼叫特定的功能函數,才會觸發。研究人員指出,由於許多資安工具會掃描自動執行的惡意指令碼,但遇上這種手法可能沒輒。

他們舉出其中一款名為Telethon2的惡意套件為例,駭客模仿已被下載6,900萬次的熱門套件Telethon,並引用此套件GitHub儲存庫的統計資料內容。但攻擊者並非將惡意程式碼埋入安裝指令檔案,而是竄改Telethon的程式碼內容,在telethon/client/messages.py嵌入兩行指令,使得惡意程式碼在該套件呼叫傳送訊息的功能才會啟動。

而為了引誘開發人員上當,攻擊者不光使用了模仿域名(Typosquatting)的手段,還讓這些惡意套件看起來相當受歡迎,由於開發人員在挑選套件的過程,往往會參考GitHub統計的資料,攻擊者刻意將PyPI套件連結GitHub上面不相關套件的儲存庫,導致開發人員可能誤以為此套件的程式碼具有相當影響力而降低戒心,研究人員將此攻擊手法稱做Starjacking

什麼是Starjacking?簡單來說,在開源套件的開發人員工作流程當中,很可能會利用GitHub代管專案的程式碼,然後再將套件上傳到NPM、PyPI來供其他開發人員運用。而NPM、PyPI套件庫的使用者,往往會參考GitHub的統計資料,來判斷套件是否受到歡迎,做為挑選套件的依據。

然而,研究人員指出,這些套件儲存庫顯示的資料通常沒有經過驗證,也很容易偽造,而這種手法就是將攻擊者的套件,與GitHub上相當熱門、獲得良好GitHub Stars評價的專案進行連結,從而讓下載套件的使用者誤以為套件來自具有相當影響力的GitHub專案。

而對於受害者的身分,研究人員指出近半數位於美國(44.61%),其次是中國(16.37%)、香港(4.44%)、新加坡(4.44%)。

熱門新聞

Advertisement