首個AI勒索軟體PromptLock使用OpenAI gpt-oss-20b模型進行加密

近日發現一種新型勒索軟體,證據顯示這是有史以​​來第一個利用本地端AI模型生成惡意元件的勒索軟體。(如圖1所示)

圖1:AI模型生成惡意元件的勒索軟體

ESET研究團隊發現該惡意軟體並命名為「PromptLock」,它透過Ollama API使用OpenAI的gpt-oss:20b模型,為其攻擊鏈創建自訂的跨平台Lua腳本。(如圖2所示)

圖2:PromptLock攻擊鏈Lua腳本

雖然該惡意軟體似乎只是概念驗證(Proof of Concept, PoC),尚未在實際活動中部署,但其新穎的架構代表惡意軟體設計中一個重大且令人擔憂的演變,展示駭客如何開始整合本地端大型語言模型(Large Language Model, LLM)來創建更具規避性且動態性的威脅。

PromptLock採用Golang撰寫,已發現在VirusTotal程式庫的Windows和Linux變種。其核心功能與傳統勒索軟體不同,後者通常包含預先編譯的惡意邏輯。相反,PromptLock會攜帶硬編碼的提示,並將其提供給本地端運行的gpt-oss:20b模型。對惡意軟體網路流量分析揭示對本地端Ollama API端點 (172.42.0[.]253:8443)的POST請求。這些請求包含指示AI模型充當「Lua 程式碼產生器」的提示。(如圖3所示)

圖3:POST請求指示AI模型充當Lua 程式碼產生器

這些提示要求模型為特定的惡意活動建立腳本,包括:

  • 系統列舉(System Enumeration):產生Lua程式碼以收集系統參數,例如作業系統類型、使用者名稱、主機名稱和目前工作目錄。這些提示特別要求Windows、Linux和macOS的跨平台相容性。
  • 檔案系統檢查(File System Inspection):建立腳本掃描本機檔案系統,識別目標檔案並分析其內容,並指示尋找個人可識別資訊(Personally Identifiable Information, PII)或敏感資訊。
  • 資料外洩和加密(Data Exfiltration & Encryption):一旦識別出目標檔案,就會執行AI產生的腳本來處理資料外洩和後續加密。

使用Lua是一種策略選擇,因為其輕量級和可嵌入的特性使得生成的腳本能夠在多個作業系統上無縫運行,從而最大限度地擴大惡意軟體的潛在目標範圍。對於其加密有效載荷,PromptLock使用SPECK 128位元分組密碼,這是適合這種靈活攻擊模型的輕量級演算法。

ESET研究人員強調,多項跡象顯示PromptLock仍處於開發階段。例如,一個用於資料銷毀的功能似乎已定義但尚未實現。在其中一個提示中發現一個不尋常的痕跡,這進一步加劇疑慮:一個比特幣位址似乎屬於比特幣的匿名創造者(Satoshi Nakamoto)。雖然這可能是佔位符(Placeholder)註1或誤用(Misdirection),但它為這款早期惡意軟體添加一個特殊的簽名。儘管該惡意軟體目前處於PoC階段,ESET 仍決定公開揭露其發現。研究人員表示:認為有責任向網路安全界通報這些進展,並且說明主動防禦這項新興威脅載體至關重要。

隨著本地端LLM變得越來越強大且易於存取,安全團隊必須為未來惡意軟體不再是靜態防護,而是做好準備在受害者設備上動態生成。

Indicators of Compromise (IoCs)

Malware Family: Filecoder.PromptLock.A

SHA1 Hashes:

  • 24BF7B72F54AA5B93C6681B4F69E579A47D7C102
  • AD223FE2BB4563446AEE5227357BBFDC8ADA3797
  • BB8FB75285BCD151132A3287F2786D4D91DA58B8
  • F3F4C40C344695388E10CBF29DDB18EF3B61F7EF
  • 639DBC9B365096D6347142FCAE64725BD9F73270
  • 161CDCDB46FB8A348AEC609A86FF5823752065D2

註1: 佔位符(Placeholder):指代為暫時取代最終內容的符號或文字。它常見於電腦與網頁設計,用來在使用者輸入前提示輸入格式或顯示預設內容,如網頁表單中的提示文字。

本文參考自:https://cybersecuritynews.com/first-ai-ransomware/