OPPO 捲入北韓假面試攻擊疑雲:陌生 GitHub repo 點樣偷走公司鎖匙
3C 產品

OPPO 捲入北韓假面試攻擊疑雲:陌生 GitHub repo 點樣偷走公司鎖匙

圖片:via Android Authority — https://www.androidauthority.com/oppo-north-korean-hacking-victim-3695068/
TechLab 編輯部(譯)·

一份 coding test,可以由求職者部機一路摸入公司系統

OPPO 個名出現咗,但證據去到邊要講清楚

保安研究員 Vangelis Stykas 向 Wired 表示,佢花咗近兩年追蹤一批北韓相關黑客使用嘅系統,發現受影響跡象遍及 57 個國家,涉及超過 1,600 間機構,當中包括 OPPO。佢估計約 700 至 800 間機構遇過嚴重入侵,攻擊者攞到內部系統嘅高權限。呢批數字暫時主要來自 Stykas 嘅調查,完整取樣同分類方法未見公開,所以唔適合直接當成 1,600 宗已確認入侵。

OPPO 方面亦未公開確認有系統失守、客戶資料外洩或者服務受影響。Wired 報道指,多間獲點名機構未有回應查詢;研究員公開嗰批公司,主要係曾回覆通報或者修補問題嘅機構。換句話講,現階段只可以話 OPPO 出現喺研究員掌握嘅受影響名單,未夠資料判斷攻擊者入到幾深,仲冇證據指向 OPPO 手機、ColorOS 或一般用家裝置有保安漏洞。

假面試最陰濕嘅位:每一步都似正常開發工作

呢類行動通常稱為 Contagious Interview。多間保安機構將相關活動歸因於北韓相關攻擊者,手法由至少 2022 年尾延續至今。對方會扮成加密貨幣、Web3 或 AI 公司招聘人員,用高薪遙距職位吸引開發者,再送上一個放喺 GitHub、GitLab 或 Bitbucket 嘅 coding test。個 repo 有畫面、有文件、甚至真係跑到部分功能,求職者趕住交功課,好自然就會照指示開 project、裝 dependency 同啟動 server。

第一個伏位係 npm install。呢個指令除咗下載套件,亦可能執行 project 或 dependency 定義好嘅安裝 script;只要惡意程式碼藏喺當中,終端機冇彈出誇張警告都可以中招。另一個伏位係 .vscode/tasks.json:Microsoft 發現有 repo 設定 runOn: "folderOpen",開發者一旦喺 VS Code 接受 Workspace Trust,task 就可以自動啟動,下載同執行後門。撳「Trust」喺呢個情況等同批准陌生 repo 執行本機指令,唔只係解除編輯限制。

Kudelski Security 仲觀察到攻擊者喺面試期間叫人執行 .bat 批次檔,配合 NirCmd 將視窗收埋。研究團隊睇唔到檔案內容,只以低信心判斷相關指令同假面試有關,所以未能確認批次檔做過咩。呢點反而好值得記住:招聘人員如果催你關防毒、離開 container、貼指令入 PowerShell,或者話「個測試一定要喺真機先跑到」,件事已經非常可疑。

一個環境變數,隨時連埋公司門匙一齊送走

Microsoft 另一份惡意 Next.js repo 研究展示過更直接嘅做法:後端啟動時,程式會讀取 process.env,將環境變數送去攻擊者控制嘅 server,再執行對方傳返嚟嘅 JavaScript。開發者電腦通常放住 GitHub token、雲端金鑰、資料庫密碼、CI/CD 權限、加密錢包同已登入嘅 browser session;自由工作者仲可能同時保存幾個客戶嘅資料。攻擊者一攻陷部機,受影響嘅就唔止求職者本人,連僱主、客戶同生產系統都可能遭殃。

呢個亦解釋咗點解假面試對開發者特別有效。普通釣魚電郵叫人開執行檔,大家多少會戒心;coding test 叫你 clone repo、裝 Node 套件同開 VS Code,全部都係日常動作。GitHub 個網址真、npm 指令真、VS Code 警告亦真,惡意部分只係匿喺一條 task、一段混淆程式碼或者俾人改過嘅 library 入面。平台本身可信,唔代表入面每個帳戶同 project 都可信。

面試前點樣隔離,跑過之後又點處理

收到陌生 coding test,先經公司官網或者可核實嘅聯絡方法確認招聘人員身份,再睇 repo 建立日期、commit 歷史同貢獻者活動。執行之前檢查 package.json 嘅 scripts、.vscode/tasks.json、shell/批次檔、混淆字串、短網址,同會唔會呼叫 curlwget、PowerShell、child_processevalnew Function。VS Code 先用 Restricted Mode 開啟,未睇清楚設定唔好接受 Workspace Trust。

真係要跑,就用即棄 VM 或專用測試機,唔好掛載主機資料夾、SSH key、密碼管理器、公司 VPN、雲端登入狀態同真實 .env;完成後直接銷毀環境。Docker 可以減低部分風險,但如果掛咗主機目錄、socket 或 token,隔離效果會大打折扣。若果已經喺日常工作機執行過可疑 repo,應即時斷網同通知公司 IT,跟住撤銷登入 session、輪換 Git、雲端、資料庫同 CI/CD 憑證,再查近期帳戶活動,單靠刪除個 project 都唔夠。


參考來源

本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。

分享:WhatsAppThreadsTelegramFacebook