15分鐘攻破ATM案例集錦
近日Positive Technologies釋出了《ATM邏輯攻擊:場景2018》的報告,其中介紹了ATM工作原理,攻擊場景等。報告顯示大多數攻擊可以在15分鐘完成,有些漏洞和攻擊覆蓋的範圍為100%。
ATM工作原理
ATM包含兩個主要的部分:cabinet和safe。Cabinet也就是ATM的主體部分包括ATM計算機,這是與網路裝置、讀卡器、鍵盤、現金出口等裝置相連的。Safe部分是由鋼筋做成的,含有吐鈔口和鈔票入口等模組。計算機一般執行的都是Windows系統,不過是一種專門為ATM所設計的嵌入式版本。只有管理員可能訪問Windows系統,其他使用者是不能訪問的。所以使用者看到的應用是執行在kiosk模式下的。
這些應用提供給使用者必要的功能:也就是我們日常看到的ATM使用的介面。應用還要與ATM的其他部分進行通訊踩你完成ATM的功能,包括從讀卡器獲取卡資訊,從鍵盤獲取使用者輸入,傳送命令給吐鈔模組。通訊使用的是XFS(extensions for financial services),一個簡化的中心化的裝置控制標準。有了XFS,硬體管理器就可以將API開放給所有的Windows應用並轉發請求到裝置。到每個XFS互聯的裝置的命令都是通過相應的服務提供商傳送的。硬體管理器將API函式翻譯為SPI函式,並將結果轉發給服務提供商。每個ATM廠商都有自己實現XFS的方式。
ATM提現時並不是單機執行的。在處理交易時,首先聯絡銀行的處理中心,聯絡所需的連線可以是有線的,也可以是無線的。因此,確保連線的安全性非常重要。一般情況下,都會有軟體或硬體VPN客戶端來執行這一任務。與處理中心的資料交換一般都是通過NDC/DDC協議來完成的,偶爾也會使用其他的方法。除了處理中心,ATM還會連線到銀行的內部網路和軟體更新伺服器。
圖1. ATM元件之間的互動
犯罪分子最感興趣的是ATM模組就是計算機、網路裝置和主要的外部裝置。對這些裝置的攻擊可以攔截卡資料,干擾處理中心對交易的處理,或讓體現模組吐鈔。對於這樣的攻擊,犯罪分子需要對ATM的cabinet有物理訪問或與ATM所在的網路建立連線。
圖2. 針對ATM裝置的潛在攻擊型別
漏洞型別
研究人員測試發現,ATM的漏洞型別可以分為4類:
·網路安全漏洞
· 外部安全漏洞
· 系統或裝置配置不當
· 應用控制漏洞或配置不當
網路安全漏洞
犯罪分子可以訪問ATM網路,攻擊可用的網路服務,攔截和偽造流量,並攻擊網路裝置。犯罪分子可以偽造來自處理中心的響應,獲取ATM的控制權。
外部安全漏洞
在許多實際應用場景中,外部安全漏洞存在的原因是外部裝置和ATM作業系統之間缺乏認證。因此,犯罪分子可以感染訪問裝置或者直接連線裝置到讀卡器或吐鈔的惡意軟體。然後就可以提現或攔截卡資料。
系統或裝置配置不當
配置不當是指保護和攻擊能力之間的差距,缺乏硬體驅動加密、認證錯誤、也有的kiosk模式保護不當、連線任意裝置的能力。
應用控制漏洞或配置不當
包括應用控制(Application Control)漏洞。這種解決方案可以預防ATM上的不想要的程式碼執行漏洞,但事實上會效果並不好。漏洞可能出現在應用控制程式碼或不適當的配置結果中。
攻擊分析
研究人員測試了26款ATM,部分測試的ATM型號和配置如下:
研究人員將攻擊場景按照目標分為兩大類:第一類是從ATM safe中提現,第二類是從客戶端銀行卡中複製資訊。
網路攻擊
網路級攻擊需要能夠訪問ATM連線的網路,其中測試中有85%的ATM受到該攻擊的威脅,而攻擊只需要15分鐘就可以完成。如果攻擊者是銀行的僱員或網路提供商,那麼就可以遠端訪問網路。否則攻擊者不需要在ATM跟前,插入網線,連線惡意裝置到光貓上。然後就可以連線到裝置並攻擊可用的網路服務,進行中間人攻擊等等。有時候光貓位於ATM cabinet以外,所以攻擊者甚至不需要開啟ATM就可以執行修改。
圖3. ATM網路攻擊
處理中心偽造
如果不能確保ATM和處理中心之間的資料是不安全的,攻擊者就可以處理交易確認過程。處理中心模擬器同意ATM接收的所有請求,併發送命令來吐鈔作為迴應。模擬器是通過乙太網介面連線到ATM cabinet或放置網路裝置。
圖4. 處理中心偽造
如果同時滿足以下條件,就可以偽造處理中心:
·ATM和處理中心之間的資料沒有加密。因為NDC/DDC協議本來沒有應用資料加密,攻擊者就可以攔截和修改資訊。
· VPN保護不充分。在測試的ATM中,所有的軟體和硬體VPN方案都沒有開啟。如果VPN客戶端在ATM之外,或攻擊者可以訪問ATM cabinet,那麼攻擊者就可以安裝在ATM和VPN硬體之間安裝自己的裝置。
· 交易請求和響應中沒有使用訊息認證碼(Message Authentication Codes),這樣就可以在未經檢測的情況下修改流量。
在測試期間,專家發現了另一個攻擊場景,那就是來自處理中心的響應可以偽造。ARP欺騙是一種中間人攻擊,通過傳送偽造的ARP響應訊息來修改ARP表。這樣,流量就會被重定向到攻擊者的裝置。如果流量沒有加密,攻擊者就可以修改響應的內容來使ATM吐錢。
圖5. ARP汙染攻擊示例
圖6. 來自處理中心的響應的偽造
攻擊網路裝置
另外一種獲取網路訪問的方式就是攻擊連線ATM的網路裝置。攻擊者可以控制這些裝置,然後開始攻擊相同網路中的ATM,甚至銀行IT基礎設施。
下面是一個例子,研究人員在分析用來建立移動資料網路的GSM貓韌體時發現,網路可以處理與處理中心、視訊材料、事件通知、遠端訪問相關的流量。網路上的主機可以使用一個特殊的協議來與其他人進行互動。協議支援獲取主機的資訊、讀取配置檔案、執行作業系統命令等特殊訊息。
訊息流量是用session key加密的,其中session key是根據host key生成的。而host key是根據貓的韌體中儲存的另一個key加密的。對貓對物理訪問許可權的攻擊者可以讀取韌體。在測試過程中,專家從韌體中提取出了key並連線到了網路。
網路上的主機的配置檔案含有銀行內部網路的伺服器地址。這些伺服器是可以從手機資料網路訪問的,並寫支援前面提到的協議訊息。所以從貓韌體中獲取key後,攻擊者就可以控制銀行的內部基礎設施,測試人員可以在攻擊發起之前獲取支付閘道器、資料庫、視訊伺服器的訪問許可權。
圖10. GSM貓攻擊場景
Black Box攻擊
其中測試中有69%的ATM受到該攻擊的威脅,而攻擊只需要10分鐘就可以完成。前面提到過,cash dispenser位於safe中,是有物理保護的。但cash dispenser與ATM計算機的連線位於safe之外,因此很容易就可以訪問。有犯罪分子在ATM的前面板上挖洞來訪問dispenser cable。這樣,犯罪分子就可以直接連線到cash dispenser到他們自己的裝置,他們的裝置一般是一個執行修改過的ATM診斷工具的微控制器,可以傳送提現命令。一般來說,診斷工具會檢查驗證訪問是不是合法的,但攻擊者知道怎麼樣去繞過檢查和其他安全機制。這些技術加起來就叫做black Box攻擊。
圖11. Black Box元件;圖12. A Black Box
圖13. A Black Box攻擊
為了預防Black Box攻擊,ATM廠商建議使用最新的XFS對OS和dispenser之間進行強加密和物理認證。如果有物理認證,加密金鑰就只會在確認了對safe的合法訪問後才會傳送。但是攻擊者也有一些應對的方式,比如墨西哥的犯罪分子在攻擊者就用endoscope模擬了物理認證。而且在最新的軟體版本中加密也沒有很好的實現。2018年Positive Technologies就發現了可以在dispenser控制器上安裝修改版的韌體和繞過物理認證的方法。
而且有一半的ATM中使用的都是有漏洞的NCR保護系統。而且有19%的ATM一點點應對Black Box攻擊的保護措施也沒有。
退出kiosk模式
測試的ATM中有76%的ATM易被受到該攻擊,攻擊所需時間為15分鐘。一般的ATM使用者只設計了與一個應用互動,這個應用就可以接收來自使用者的輸入並在螢幕上展示資訊。應用執行在kiosk模式,也就是說使用者不能執行其他程式或訪問OS函式。如果推出kiosk模式,攻擊者就可以繞過這些限制,在ATM OS中執行命令了。
下面是幾個潛在的攻擊場景:
1.攻擊者用一個裝置來模擬使用者鍵盤輸入,並將該裝置連線到ATM的USB或PS/2介面上。攻擊的下一步就可以完全自動化,或遠端完成。
2.攻擊者獲取對OS的訪問許可權。在hotkey的幫助下推出kiosk模式,對輸入的限制就沒有了。
3.最後一步是繞過應用控制(Application Control),獲取傳送命令到cash dispenser的能力。
圖14. 連線到攻擊者裝置
圖16.退出kiosk模式:攻擊場景
大多數測試的ATM都允許自由連線USB或PS/2裝置。因此,犯罪分子可以連線鍵盤或其他模擬使用者輸入的裝置。預防對任意資訊的輸入是非常重要的,比如特定的字串組合可以推出kiosk模式,獲取對OS函式的訪問許可權。大多數測試的ATM都執行著特殊的軟體來有選擇地禁用key組合。但85%的安理中,標準key組合仍然是可用的,包括Alt+F4,Win+Ctrl, Alt+Tab, Alt+Shift+Tab等。這些技術允許關閉STM kisok應用視窗,關閉負責攔截任意鍵盤輸入的應用。
連線硬碟
測試的ATM中有92%易受此類攻擊,而且攻擊只需要20分鐘時間。連線ATM硬碟後,就可能繞過安全機制並且獲得cash dispenser的控制權。有以下可能的攻擊場景:
圖21. 連線到ATM硬碟
直連硬碟
最簡單的方法就是直接連線硬碟。如果硬碟沒有加密,那麼攻擊者就可以複製一個含有取錢命令的惡意軟體到硬碟中。然後攻擊者可以簡單修改一下配置檔案將該程式加入應用控制白名單。如果隨後ATM以secure模式重啟,安全軟體就會啟動和工作,但攻擊者仍然可以執行任意程式碼和惡意軟體。攻擊者可以完全關閉安全軟體,比如從硬碟中刪除檔案。從硬碟複製敏感資訊,然後修改用於之後的攻擊。
從外部硬碟啟動
攻擊者可以從外部硬碟啟動ATM來獲取對檔案系統的訪問許可權。啟動順序設定是在BIOS中設定的,對啟動順序的設定應該是密碼保護的。但是有23%的ATM,BIOS密碼很容易就可以猜到;還有8%的ATM都沒有BIOS密碼。在測試中,研究人員還發現可以在Intel Boot Agent的幫助下覆寫BIOS啟動順序。
從另一個硬碟啟動ATM,攻擊者可以連線到原來的硬碟並實現前面提到的一些攻擊場景。
圖22. 重新命名McAfee Solidcore
圖23. 連線硬碟寫入惡意軟體
啟動模式修改
以特殊模式啟動ATM作業系統提供了一種繞過安全機制的方法。測試的ATM中有42%易受到此類攻擊,攻擊只需要15分鐘時間。測試的ATM一般有三種啟動模式:
·Kernel debug mode
· Directory Service Restore Mode
· Safe modes (Safe Mode, Safe Mode with Networking, Safe Mode with Command Prompt)
在這些模式中,一些服務和保護機制是不能用的,也就有機會退出kiosk模式。在debug模式下啟動ATM並連線到COM埠後,攻擊者可以用winDbg工具獲取ATM的完全控制權。設定了不同啟動模式的ATM有大概88%,42%的ATM中測試人員發起了攻擊並最終成功取現了。
圖25.修改啟動模式
卡資料竊取
銀行卡磁條中含有執行交易所需的資訊。雖然磁條有三個磁軌,但一般都只用2個(Track1和Track2)。Track1含有卡號、過期時間、服務碼、所有者姓名。也可能含有PIN Verification Key Indicator, PIN Verification Value,和Card Verification Value。Track2有Track1中除所有者以外的所有信息。在POS機上刷磁條付款或從ATM上提現只需要讀取Track2。所以攻擊者會嘗試從Track2拷貝資訊。這些資訊可以用於建立複製卡,用於在暗網出售。
過去這些年,有犯罪分子在讀卡器上放了一個物理墊片來直接從磁條讀取資訊。銀行注意到犯罪分子的這一行為,現在開始使用各種方式來預防物理墊片。但沒有這種物理墊片也可以竊取資訊,那就是使用攔截的方式。攔截一共分為2個階段:
·ATM和處理中心進行資料傳輸時;
· ATM作業系統和讀卡器進行資料傳輸時。
圖26. 針對卡資料竊取的攻擊
ATM和處理中心之間的資料攔截
因為Track2的所有值都是明文傳送的,並且ATM和處理中心在應用級的流量沒有加密,所以攔截是可能的。連線到ATM網路,並監聽網路,攻擊者就可以獲取銀行卡的相關資訊。
圖27. 攔截明文的Track2資訊
圖28. 攔截ATM和處理中心之間的資料
攔截OS和讀卡器之間的資料(USB/com埠)
在ATM和讀卡器之間放一個特殊的裝置來攔截銀行卡磁條的內容。因為與讀卡器的通訊也是沒有認證和加密的,而且卡資料是以明文傳送的,所以攻擊也是可能實現的。研究發現在所有的測試ATM中都存在這樣的問題。
攔截OS和讀卡器之間的資料(惡意軟體)
如果攻擊者可以在ATM上安裝惡意軟體,那麼讀取卡資料就不需要惡意硬體了。安裝惡意軟體可以通過修改啟動模式,從外部硬碟啟動,直接連線到硬碟,執行網路攻擊等多種方式執行。
在與讀卡器進行資料交換時沒有ATM會執行認證,因此所有的裝置都可以訪問。攻擊者需要做的就是在ATM OS中執行任意程式碼。
圖29. 攔截讀卡器和ATM OS之間的資料
總結
邏輯攻擊在ATM攻擊中越來越常見,造成了數以百萬美元計的損失。本文總結了ATM的工作原理以及兩種針對ATM的攻擊,以及若干攻擊場景,其中大多數的攻擊都可以在15分鐘內實現,有的攻擊甚至只需要10分鐘就可以完成。