
一般而言,駭客散布惡意NPM與PyPI套件,或是上架有問題的Visual Studio Code(VS Code)延伸套件,攻擊目標幾乎都是針對開發環境而來,但最近疑似傳出鎖定工業控制系統(ICS)的活動。
資安業者Socket近日看到9個惡意NuGet套件,攻擊者主要鎖定工業環境的設備而來,這些套件在2023至2024年發布,並在受害設備的資料庫注入會延遲執行的有效酬載,一旦惡意程式啟動,有機會在資料庫查詢的過程裡,強制終止主機應用程式的處理程序運作。這些套件都透過相同的作者發布,總共被下載9,488次。NuGet是微軟為.NET平臺打造的套件管理系統,Socket於11月5日通報此事,NuGet表示,正在調查並設法移除。
上述套件都具備攻擊者宣稱的功能,絕大部分(99%)程式碼與功能有關,真正的有效酬載僅有不到20行程式碼,特別的是,這些程式碼不僅植入在數千行程式碼當中而難以察覺,就算資安工具發現有問題,也不易將其視為攻擊行動,原因是若直接執行這些程式碼,結果通常會像隨機臭蟲造成當機,而非出現系統性攻擊。
這些惡意套件當中,最受到Socket關注的是Sharp7Extend,攻擊者採取誤植名稱(Typosquat)手法,模仿名為Sharp7的程式庫。該程式庫以.NET開發而成,用途是與西門子S7可程式化邏輯控制器(PLC)進行通訊。由於惡意套件捆綁了完整的Sharp7而具備完整的功能,開發人員在測試的過程會看到套件如預期運作,而不太會注意到惡意程式碼同時在系統背景執行的現象。
再者,攻擊者濫用了C#的延伸方法(extension methods),使得惡意軟體能在所有的資料庫及PLC工作裡注入惡意邏輯,這種功能的主要用途,就是讓開發人員在無須更動原始程式碼的情況下,在既有型別(Type)加入新的方法。
該手法如何運作?只要每次有應用程式執行資料庫查詢或是PLC作業,這些延伸方法就會自動執行並檢查日期,通過後就會產生1至100之前的隨機亂數,只要數值超過80,惡意程式就會直接終止應用程式,而且不會出現警示訊息,或是留下發生錯誤的事件記錄。
除此之外,Socket也提及在惡意套件啟動30分鐘至90分鐘之後,Sharp7就會出現正常功能失效的情況,約有8成寫入PLC的作業會失敗,而且不會顯示錯誤訊息,導致相關資料出現完整性的問題。
攻擊者也運用多種手法來精心策畫攻擊行動,例如該名開發者發布的NuGet套件當中,有3個是完全無害,下載次數占所有套件四成,很顯然這些沒問題的套件是用於降低開發人員的戒心;再者,這批惡意套件不只鎖定工控平臺,也針對.NET應用程式最常見的3種資料庫(SQL Server、PostgreSQL,以及SQLite)發動攻擊。
而對於攻擊者的身分,根據攻擊者的帳號名稱可能來自山海經,再加上程式碼出現簡體中文註解,以及部分中繼資料出現中文字,Socket研判攻擊者應該來自中國。
熱門新聞
2025-12-24
2025-12-26
2025-12-26
2025-12-29
2025-12-26