蠕蟲程式CanisterWorm於NPM儲存庫自我複製
<div class="field field-name-field-news-column-category field-type-taxonomy-term-reference field-label-hidden"><div class="field-items"><div class="field-item even"><a href="/tags/%E6%96%B0%E8%81%9E">新聞</a></div></div></div><div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><p>上週末資安公司Aqua Security開發的<strong><a href="https://www.ithome.com.tw/news/174601">漏洞掃描工具Trivy遭遇供應鏈攻擊</a></strong>,在資安研究員Paul McCarty揭露此事後,有多家資安公司參與調查並公布結果,後續傳出駭客已發動新一波活動,散布具備自我散播能力的蠕蟲程式。</p> <p>資安公司Aikido在3月20日<strong><a href="https://www.aikido.dev/blog/teampcp-deploys-worm-npm-trivy-compromise">偵測到大量NPM套件被名為CanisterWorm的蠕蟲入侵</a></strong>,該蠕蟲程式的特別之處,在於駭客採用了區塊鏈智慧合約ICP Canister作為C2情報交換點(Dead-drop),當時已有近50個套件受害。Aikido強調,這起事故距離Trivy攻擊活動不到一天,攻擊者就是駭客團體TeamPCP。</p> <p>這波攻擊的源頭,來自對Trivy的供應鏈入侵。攻擊者竊得CI/CD流程的憑證,取得NPM與其他服務的存取權限,進而將惡意程式散布至開發生態系。這些被感染的套件具備3階段的結構,都是透過Node.js預先安裝載入工具植入Python後門,然後再利用ICP代管的交換點動態傳遞蠕蟲有效酬載。CanisterWorm會透過NPM權杖(Token)解析使用者名稱,找出開發者發布的所有套件與版本,然後藉此發布有效酬載。Aikido提到,攻擊者下手的速度相當快,一分鐘內滲透28個套件。</p> <p>論及CanisterWorm最特別的地方,莫過於濫用ICP Canister,駭客採用Internet Computer的Canister作為C2機制,透過去中心化區塊鏈取得後續惡意程式下載位置,此種設計使攻擊基礎設施難以被關閉或封鎖,攻擊者可隨時更新惡意酬載,並持續控制受感染系統。</p> <p>再者,駭客還會輪替惡意程式的有效酬載,他們透過Canister控制器隨時切換URL,然後將新的二進位檔案推送到受害環境。</p> <p>駭客的後門程式只針對Linux作業系統,而且,他們利用systemd建立持續活動的機制,他們部署使用者層級的服務,一旦受害主機重開機,該服務就會隨之啟動。附帶一提的是,駭客將大部分使用的元件,偽裝成與PostgreSQL有關的檔名,目的是降低開發人員的戒心。</p> </div></div></div>