從臨機攻擊到網路攻擊:ATM 惡意程式演化史(內含趨勢科技與歐洲刑警組織-Europol 共同發表研究報告)

ATM 惡意程式是一項存在已久的數位威脅,第一個已知的變種,最早可
追溯至 2009 年。由於它可以帶來龐大的現金,因此一直是許多網路犯罪
集團的重要武器之一,這一點不令人意外。
我們一而再、再而三看到網路犯罪集團在 ATM 提款機上加裝磁條盜拷裝
置,甚至大剌剌地安裝在公共場所的提款機上,也看到他們所犯下的一
些大型的 ATM 提款機盜領案。
但是,由於這項犯罪獲利相當驚人,因此歹徒朝網路化發展,經由銀行
內部網路來攻擊 ATM 提款機,只能說是一項自然而然的演變。畢竟,如
果能夠找到金融機構的漏洞,然後避開安全機制並滲透到金融機構的內
部網路,其回報必定更加驚人。
再加上,許多 ATM 提款機目前依然還在使用一些老舊過時的作業系統,
因此 ATM 惡意程式未來勢必仍是網路犯罪集團的主要犯罪工具。這類老
舊的作業系統,由於廠商已經不再提供支援,因此任何漏洞都不會再有安
全修補與更新。所以,仍在使用這類老舊作業系統的電腦,很容易遭到攻
擊。
本文將詳細探討目前已知的各種 ATM 惡意程式家族與攻擊型態 (臨機攻
擊或網路攻擊),以及駭客如何滲透目標的基礎架構並且在內部遊走。

2016 年,趨勢科技發表了一份非公開的研究報告,詳細介紹了一些已知專門攻擊 ATM 提款機的惡意程式家族。該份報告的主要重點在說明這些惡意程式家族如何利用 ATM 應用程式開發介面 (API) 與金融服務延伸功能 (eXtensions for Financial Services,簡稱 XFS) 的 API,來與 ATM 的相關硬體溝通,其中最主要的是讀卡機和吐鈔機。

當時,我們發現駭客感染 ATM 提款機主要是靠臨機攻擊:駭客實際打開提款機外殼,在裸機的情況下使用USB 隨身碟或 CD 光碟將提款機系統重新開機。這樣的攻擊方式雖然至今仍然可見,不過,最近已開始出現上次報告曾經暗示過的一種新式攻擊,那就是:網路攻擊。

儘管當時我們只是推測這樣的情況有可能發生,並未料到我們竟然一語成讖。隨著銀行開始對 ATM 提款機的臨機攻擊有所警覺,並且採取一些必要的防範措施,駭客也跟著開始另闢途徑,也就是 ATM 網路攻擊。

要經由網路感染 ATM 提款機,駭客需要更多的事前規劃與準備,其最大的困難在於從銀行內部網路進入ATM 網路。因為,在一個規劃良好的網路架構中,這兩個網路通常會分開獨立,因此要從某個網路進到另一個網路必須穿越防火牆和其他可能的安全機制。不幸的是,某些銀行並未實施網路分割。就算兩者分開獨立,在某些已知的案例當中,歹徒還是能夠經由銀行內部網路將惡意軟體安裝到 ATM 提款機上。

為了讓讀者有個大致的概念,以下我們將所有已知的攻擊分成兩大類:

  1. 經由臨機操作方式進入 ATM 提款機的攻擊:在這類案例當中,歹徒通常利用一把萬能鑰匙或用暴力的方式打開提款機外殼。
  1. 經由網路進入 ATM 提款機的攻擊:這類攻擊通常需要先駭入銀行內部網路。

在介紹過這兩種攻擊之後,我們會在第三節當中再介紹兩種較為特殊且較為罕見的攻擊型態。我們相信這兩種攻擊雖然較不常見,但仍值得注意,因為只要是之前曾經發生過的案例,之後還是可能會再出現。為了力求完整,我們也將介紹一個用來測試上述攻擊方式的工具。儘管該工具不會用在攻擊當中,但卻顯示歹徒在實際行動之前如何測試其攻擊手法。

在這份報告的最後,我們將探討 ATM 攻擊背後的犯罪集團。然而,追溯攻擊源頭是件棘手的問題,因此我們主要將著眼於整體的威脅情勢,並約略分析一下歹徒在這類攻擊當中的獲利模式。

最後請記住,在所有已知的攻擊案例當中,歹徒使用 ATM 惡意程式的最終目標都是為了在提款機上安裝一個程式來吐光提款機內的鈔票,或是盜取提款機內保留的金融卡資料,或兩者都有。

ATM 基本構造:

如何進入 ATM 提款機內部

ATM 惡意程式的主要目標就是連上並操控提款機內的周邊裝置,進而讓提款機吐鈔,或者/並且蒐集銀行客戶的金融卡資料。因此,要了解 ATM 惡意程式如何攻擊提款機,首先必須認識提款機的內部構造。以最簡單明瞭的方式來看,ATM 提款機基本上就是一台電腦再加上一個小金庫,然後外面用一個機殼加以包覆。此外,ATM 提款機還可連接一些周邊裝置來為客戶提供多樣化服務,例如:提款、存款、轉帳、付款等等。儘管 ATM 提款機有各種外觀樣式和體型,但內部構造其實大同小異。下圖示範 ATM 提款機的基本構造與各部分元件:

圖 1:ATM 提款機各部分元件。
圖 1:ATM 提款機各部分元件。

 

ATM 提款機主要由以下單元所構成:

  1. 中央處理器 (CPU):負責控制使用者操作介面、通訊、管理周邊裝置、處理交易。
  2. 讀卡機:磁條或晶片卡讀卡機,負責讀取金融卡。
  3. 數字鍵盤:具備加密功能的數字鍵盤 (EPP),可將鍵盤上輸入的 PIN 碼加密。
  4. 安全加密晶片:負責通訊的加密與解密,所有交易皆採用 AES 或 3DES 加密演算法。
  5. 螢幕:負責顯示 ATM 的操作介面,某些較新的 ATM 會採用觸控螢幕和虛擬功能鍵。
  6. 功能鍵:螢幕或觸控螢幕旁邊的按鍵,用來選擇螢幕上的選項或常用功能。
  7. 收據列印機:用來列交易記錄,某些 ATM 還可補登存摺。
  8. 金庫:這是 ATM 最重要的元件,採用高張力鋼板打造。金庫內包含了吐鈔機制、支票和現鈔存款機制、鈔票進出登記系統、鈔票箱以及安全鎖。
  1. 內層機殼:這是一層客製化的金屬機殼,外層機殼基本上是採用高硬度熱成形 ABS 塑膠製造,並且貼有銀行的標誌。
  1. 保全設備:ATM 提款機同時也會配備監視攝影機,以及 (磁鐵、溫度、地震、瓦斯等等) 安全感應裝置、喇叭、指示燈等等。

今日的 ATM 提款機再也不像以往採用特殊規格的硬體,而是一般標準的 PC 與 USB、乙太網路、IP 通訊協定以及 Windows® 作業系統等等。最主要的原因應該是成本的考量,除了零件更便宜之外,軟體的支援度以及互通性也更好。 繼續閱讀

新 ATM 惡意程式 Alice, 專門用來清空自動提款機

趨勢科技發現了稱為Alice的新ATM 自動提款機惡意程式,這是我們遇到最精簡的ATM惡意軟體。與其他ATM惡意軟體不同,Alice不能透過數字鍵盤控制;也沒有資料竊取功能。它就是設計來清空ATM的錢。我們依照惡意檔案內的版本資訊”Project Alice “,將這新惡意軟體家族偵測為 BKDR_ALICE.A。

趨勢科技在2016年11月首次發現Alice 這隻ATM惡意軟體,這是我們和歐洲刑警組織網路犯罪中心(Europol EC3)的ATM惡意軟體共同研究計畫的成果。我們收集了一份雜湊值清單並從VirusTotal取得對應的檔案作進一步地分析。其中一個程式最初被認為是Padpin ATM惡意軟體的新變種。不過經過逆向工程分析後,我們發現它屬於全新的家族,趨勢科技將其稱之為Alice。

ATM惡意軟體從2007年就一直存在著,但在過去九年間,我們只看到八種ATM惡意軟體家族,包括Alice。這趨勢在過去的二三年間大大地加速,大部分家族都在這時出現。

 

技術細節

Alice這名稱來自於內嵌在惡意檔案內的版本資訊:


1Alice樣本的檔案屬性

 

根據執行檔編譯時間和Virustotal提交日期,Alice從2014年10月就已經出現。我們所發現的Alice樣本有用商用加殼/混淆程式VMProtect進行加密。這個軟體會檢查內嵌程式是否執行在除錯器中,如果是就會顯示以下錯誤消息:

 

在執行任何惡意程式碼前,Alice會檢查是否在適當的金融服務擴展(XFS)環境中執行,確保自己真的是在ATM上執行。它的作法是檢查以下註冊表項:

  • HKLM\SOFTWARE\XFS
  • HKLM\SOFTWARE\XFS\TRCERR

 

如果這些註冊表項不存在,惡意軟體假定環境不對而將自己終止。Alice還需要系統有安裝以下DLL:

  • dll
  • dll
  • dll

 

根據XFS檢查成功與否,Alice會顯示認證視窗或一般錯誤訊息框:

3和圖4、執行後的訊息框。如果XFS檢查成功會顯示上方的認證視窗。如果檢查得出否定結果則顯示下方的錯誤訊息。

 

當第一次執行時,Alice會在根目錄建立大小為5MB的空檔案 – xfs_supp.sys和錯誤日誌檔 –  TRCERR.LOG。第一個檔案用零填滿而沒有寫入任何資料。第二個檔案(TRCERR.LOG)是惡意軟體用來寫入執行期間所發生任何錯誤的日誌檔案。所有XFS API調用及對應的訊息/錯誤都會被記錄。此檔案在移除時不會從機器中刪除。它會留在系統上以便將來進行疑難排除,也可能是惡意軟體作者忘記清理它。

Alice連接到CurrencyDispenser1周邊,這是XFS環境中出鈔機的預設名稱。Alice不會連接ATM其他的硬體;因此犯罪分子不能透過鍵盤輸入任何指令。如果Alice連接CurrencyDispenser1失敗並不會將自己終止,而只是記錄錯誤。

上圖的PIN輸入提供向Alice惡意軟體發出指令的方法。有三個指令可以輸入:

PIN 指令說明
1010100 解密和植入sd.bat到現在目錄。這個批次檔用來清理/移除Alice。
0 結束程式並執行sd.bat。還會刪除xfs_supp.sys
基於ATM終端ID的特定4位數 開啟「操作面板」

 

如果輸入PIN碼時發生多次錯誤會導致出現以下視窗,並且讓惡意軟體自行終止:

 

5、錯誤消息

輸入正確PIN碼可以讓Alice開啟「操作面板」。這是會顯示機器內各個裝錢匣的視窗,讓攻擊者可以找時間偷走。(因為我們是在測試環境執行此惡意軟體,所以示範畫面看不到任何顯示。)

6、操作面板

車手可能需要重複操作多次,以吐光裝錢匣內所有的現金。

注意,裝錢匣編號輸入「0」或「9」也會執行sd.bat並刪除xfs_supp.sys

當車手在操作面板輸入裝錢匣編號時,CurrencyDispenser1周邊透過WFSExecute API送出吐鈔指令將儲存的現金吐出。ATM通常有40張鈔票的吐鈔限制,因此車手可能需要重複操作多次以吐光裝錢匣內所有的現金。每個匣中儲存的現金數目會在螢幕上動態更新,因此車手知道離完全清空還要多久。

犯罪分子手動用Alice替換掉Windows工作管理員

Alice通常在受感染系統上以taskmgr.exe出現。雖然惡意軟體本身並不具備持久性方法,我們相信犯罪分子手動用Alice替換掉Windows工作管理員。任何調用工作管理員的指令也會調用Alice。

 

Alice惡意程式不使用ATM 機器實體鍵盤

Alice的功能很精簡,跟我們分析過的其他ATM惡意軟體不同,它只具備清空ATM鈔票的基本功能,只連接CurrencyDispenser1周邊,並不嘗試使用機器的實體鍵盤。合理推測是因為Alice的幕後黑手需要實際上去打開ATM,透過USB或CD-ROM感染機器,然後將鍵盤連到機器主機板來操作惡意軟體。

另一種可能性是透過遠端桌面來經由網路操作,類似泰國的駭客攻擊或其他最近的事件。不過我們還沒有看到Alice被這樣使用。輸入PIN碼到吐鈔間的時間長度顯示Alice被用在現場犯案。 Alice也沒有精心設計安裝或移除機制 – 只需在適當的環境中執行程式就可以運作。

Alice的使用者認證跟其他ATM惡意軟體相似。負責行動的車手從犯罪集團那拿到所需的PIN碼。他們輸入的第一個指令會植入清除腳本,輸入機器特定PIN碼可以讓他們使用操作面板來進行吐鈔。

暴力破解密碼會導致惡意程式自行終止

各個樣本的存取密碼不同,以防止車手繞過犯罪集團來共享密碼,也易於追蹤車手。我們的樣本密碼只有4位數,不過這很容易可以改變。想要暴力破解密碼會導致惡意軟體在達到輸入上限後自行終止。

因為Alice只檢查XFS環境且不執行其他硬體檢查,我們相信它被設計成可以在任何使用Microsoft金融服務擴展中介層(XFS)的硬體上執行。

關於使用加殼器:Alice使用商用VMProtect加殼器,但它並不孤單。我們也發現GreenDispenser使用Themida加殼,Ploutus使用Phoenix Protector加殼等等。

加殼會讓分析和逆向工程變得更加困難。一般惡意軟體已經使用這種技術多年,今日的惡意軟體會使用客製化的加殼器。那為什麼ATM惡意軟體作者才剛開始用加殼和混淆技術?

直到最近,ATM惡意軟體都是惡意軟體世界中的小眾,由少數犯罪集團用高度針對性的方式操縱。目前正處於ATM惡意軟體成為主流的分界點。各個ATM惡意軟體家族已經由許多資安廠商加以徹底分析和討論,這些犯罪分子現在已經開始發現需要將自己從資安界前隱藏起來,避免被發現和偵測。今天,他們使用商用加殼器;明天我們預期會看到他們開始使用客製化加殼器和其他混淆技術。

 

進一步的技術細節及各種ATM惡意軟體比較可以參考附錄

 

入侵指標(IOC

此次分析所用的檔案具備以下SHA256雜湊值:

  • 04F25013EB088D5E8A6E55BDB005C464123E6605897BD80AC245CE7CA12A7A70
  • B8063F1323A4AE8846163CC6E84A3B8A80463B25B9FF35D70A1C497509D48539

 

@原文出處:Alice: A Lightweight, Compact, No-Nonsense ATM Malware 作者:David SanchoNumaan Huq(資深威脅研究員)

 

ATM 提款機自動吐錢 ! 剖析Ripper提款機惡意軟體

七月台灣發生金融史上頭一遭,ATM自動吐鈔盜領事件!國際犯罪集團以惡意程式入侵台灣第一銀行自動櫃員機電腦系統,利用遠端操控模式讓全台34台提款機自動提款機(ATM)自動吐鈔,盜領八千萬。接著八月泰國亦發生銀行ATM遭盜領1229萬泰銖(約合新台幣1130萬元)事件。資安趨勢部落格曾報導過ATM 盜領事件非偶發,自動提款機惡意程式逐年攀升,以下這篇文章將分析新提款機( ATM )惡意軟體:Ripper。

 

 Ripper能夠讓提款機吐出大量金錢,也稱為「jackpotting中大獎」。它可以從插入卡片的EMV晶片和磁條讀取資料。這可能是種認證方式,確認共犯實際上位在提款機前。這個惡意軟體還具備自毀功能,可以從受影響系統消除自身的所有痕跡。這可以阻礙目標銀行發現和解決攻擊。

————————————————-

八月資安研究人員發表一篇報告討論稱為Ripper的新提款機( ATM )惡意軟體,認為它跟泰國最近的自動提款機(ATM)攻擊有關。作為預防措施,曾有大批自動提款機被暫時關閉。

這份研究綜述了此惡意軟體所使用的技術,針對的三大提款機廠商及Ripper和之前自動提款機(ATM)惡意軟體的比較。他們的分析是根據MD5雜湊值為15632224b7e5ca0ccb0a042daf2adc13的檔案。此檔案在8月23日從泰國使用者上傳到Virustotal。

趨勢科技在分析過程中注意到一些其他的細節,這是在之前的分析中所沒有或似乎有所矛盾的地方。我們將在本篇文章中強調這些差異。並且提供一些技術指標(如code offset程式碼偏移量)來讓其他研究人員可以繼續延伸我們的工作。

在今年四月,趨勢科技的前瞻性威脅研究小組和歐洲刑警組織EC3合作一篇關於當時所有提款機惡意軟體威脅的綜合報告。我們在之後一直注意新出現的惡意軟體。該份報告提供給金融和執法機構社群的成員。如果你身為這些產業的一份子而沒有收到這份報告,可以聯絡Robert McArdle繼續閱讀

Skimer將自動提款機變成側錄機

自動提款機已經漸漸成為網路犯罪分子垂涎的目標,感染惡意軟體的自動提款機,讓歹徒即使沒有受害人的提款卡,也就能夠提光機器的錢和取得卡片敏感資料。自動提款機惡意軟體並非新聞,而各種利用惡意軟體的作法讓犯罪分子可以更加輕易地從提款機中取得金錢和卡片敏感資料。

skimer-atm-malware

[延伸閱讀:自動提款機惡意軟體增加]

 

Skimer將自動提款機變成側錄機器

在2009年,研究人員發現一群被稱為Skimer集團的駭客組織會利用Skimer惡意軟體在自動提款機竊取用戶的金錢。研究人員現在發現這惡意軟體已經進行更新,不僅更難以被偵測,也能夠將自動提款機變成側錄機器,用來收集插入卡片的資料。

Skimer集團從能夠存取自動提款機系統開始進行操作,可能是透過實際接觸或是銀行內部網路。一旦安裝Backdoor.Win32.Skimer到系統後,它會感染自動提款機的核心,這是負責對銀行基礎設施、現金處理和信用卡進行互動的執行程式。透過這種作法,他們可將整台自動提款機變成側錄機器。歹徒可提光自動提款機內所有的錢即曾機使用者提款機的卡片資料,包括客戶銀行帳戶號碼和密碼。

繼續閱讀