網(wǎng)上有很多關(guān)于無(wú)線(xiàn)pos機快遞,POS機攻擊原理分析的知識,也有很多人為大家解答關(guān)于無(wú)線(xiàn)pos機快遞的問(wèn)題,今天pos機之家(www.xjcwpx.cn)為大家整理了關(guān)于這方面的知識,讓我們一起來(lái)看下吧!
本文目錄一覽:
無(wú)線(xiàn)pos機快遞
簡(jiǎn)介
POS系統是指通過(guò)自動(dòng)讀取設備(如收銀機)在銷(xiāo)售商品時(shí)直接讀取商品銷(xiāo)售信息(如商品名、單價(jià)、銷(xiāo)售數量、銷(xiāo)售時(shí)間、銷(xiāo)售店鋪、購買(mǎi)顧客等),并通過(guò)通訊網(wǎng)絡(luò )和計算機系統傳送至有關(guān)部門(mén)進(jìn)行分析加工以提高經(jīng)營(yíng)效率的系統。我們日常生活中最常見(jiàn)的POS系統可能就是商店的收銀機,這屬于有線(xiàn)POS機,但是其實(shí)POS系統的種類(lèi)有很多,比如快遞小哥的使用的就是移動(dòng)POS機。本文對攻擊POS系統進(jìn)行了研究。
針對POS系統攻擊的研究其實(shí)有很多。比如2014年的時(shí)候,Lucas Zaichkowsky做了一些關(guān)于POS系統的研究,分析了一些POS設備安全相關(guān)的事件。發(fā)現magstripe卡含有未加密的敏感數據,這也就可以克隆magstripe卡,EMV芯片含有未加密的magstripe數據,同樣可以從RAM中進(jìn)行復制。
支付處理架構
POS軟件的支付處理架構如圖所示:
圖1. 支付處理架構
支付處理的流程如下:
第一步,用戶(hù)會(huì )在商戶(hù)的POS設備上刷卡來(lái)購買(mǎi)商品,POS設備就會(huì )發(fā)送信用卡的數據來(lái)商戶(hù)的POS系統。
第二步,POS系統會(huì )連接到PSP(支付服務(wù)提供商),由PSP去根據信用卡的品牌和種類(lèi)去聯(lián)系收單機構來(lái)授權該交易。
第三步,收單機構用該信用卡公司的網(wǎng)絡(luò )來(lái)信用卡的發(fā)行商通信,發(fā)行商會(huì )通過(guò)信用卡公司的網(wǎng)絡(luò )來(lái)返回給收單機構有個(gè)授權狀態(tài)。
第四步,收單機構會(huì )把授權狀態(tài)傳遞給PSP,然后轉發(fā)給POS系統和設備,最終完成交易。這個(gè)通訊的過(guò)程非???,只需要幾秒鐘。
SAP案例分析
研究人員想要進(jìn)行深入研究,所以對針對零售科技的軟件提供商進(jìn)行了分析,分別是Cegid Group, MI9 Retail (Raymark), ECRS, Manthan Systems, Celerant Technology, SAP, Aptos, Oracle, PCMS Datafit, MicroStrategy。這前十的軟件提供商包括大型企業(yè)和中型企業(yè)。文中以SAP為例進(jìn)行了分析。
從SAP官方了解到,SAP POS是一種C/S POS解決方案(如圖2)。SAP POS的應用范圍也包括石油、天然氣等行業(yè)。這些應用是在32位和64位Windows平臺上運行的,是用C++語(yǔ)言編寫(xiě)的。
SAP POS的架構是POS解決方案的一個(gè)典型方案,含有商戶(hù)客戶(hù)端應用、商戶(hù)服務(wù)端應用和管理應用??蛻?hù)端應用運行在商戶(hù)POS系統上來(lái)處理POS交易的商店,商戶(hù)服務(wù)端運行在商戶(hù)辦公區來(lái)服務(wù)連接、運行和管理需求,管理應用主要負責中央控制。
圖 2. SAP POS架構
商戶(hù)配置器和Xpress服務(wù)器
商戶(hù)配置器是用來(lái)配置POS系統的帶有GUI的軟件,配置的內容包括用戶(hù)、終端、PLU、安全設置等。系統管理員使用友好的接口可以進(jìn)行各種配置。之后,配置器會(huì )將這些設置保存為一個(gè)特殊的文件newparm.trg,并保存在PARM目錄中。管理員需要將這些配置文件拷貝到Xpress服務(wù)器中。
文件的作用是類(lèi)似一個(gè)觸發(fā)器。Xpress服務(wù)器應用每30秒搜索一次文件,如果找到了觸發(fā)文件,就會(huì )檢查更新并應用到所有的參數文件中。之后,服務(wù)器會(huì )刪除newparm.trg文件。PARM目錄存放這些配置文件,比如cnummask.cmk是負責在賬單上對信用卡號打碼的,cashier.clg含有POS系統管理員和出納員的信息。
Xpress服務(wù)器和商戶(hù)管理
商戶(hù)管理是配置商戶(hù)信息的有圖形界面的軟件,所有的功能可以根據端口分為兩部分:
第一部分是數據庫端口。商戶(hù)管理軟件聚合了所有的商戶(hù)配置器,它是直接與數據庫進(jìn)行交互的。
第二部分是端口2202。在檢測到該端口后,會(huì )檢查標準用戶(hù)接口并掃描可用端口。該端口不會(huì )驗證內部連接,所有人都可以與之通信。當與該端口通信時(shí),就會(huì )返回一個(gè)welcome消息。Help命令會(huì )顯示一些操作,一共有超過(guò)17個(gè)函數。一些函數非常重要,可以讓用戶(hù)查詢(xún)出納員的行為,在無(wú)需認證的情況華打開(kāi)和關(guān)閉步驟,并關(guān)閉服務(wù)器。在逆向了負責2202端口的xps.exe庫后,研究人員找到了17個(gè)函數還有57個(gè)私有函數。
這是一個(gè)APM-VALIDATE-PASSWD方法:
APM-VALIDATE-PASSWD [store_number] [thread] [region_number] [login];[password]
命令一發(fā)送,服務(wù)器就會(huì )返回結果。對不同的服務(wù)器會(huì )有不同的響應,而且沒(méi)有嘗試次數的限制。攻擊者可以暴力破解的次數是15次,如果返回給攻擊者的code是10,就是說(shuō)該用戶(hù)沒(méi)有登錄,1表示密碼錯誤,0表示正確。
重置命令也是一樣的,當重置的密碼與原密碼一樣的話(huà),該命令是不執行的。
用這些函數還可以在服務(wù)器端進(jìn)行無(wú)驗證的文件讀操作。
File –open方法是用來(lái)打開(kāi)服務(wù)器上的文件的。
FILE-OPEN [file-path] [mode]
Mode的默認值是r,可以接受的有r,w,a,r+,w+,a+。錯誤的模式會(huì )破壞Xpress服務(wù)器應用,導致沒(méi)有mode參數的驗證,并在fopen()函數中翻譯。如果一切運行正常,系統就會(huì )返回文件的id來(lái)調用該文件。下一步就是調用FILE-READ方法來(lái)讀取文件的內容。
POS客戶(hù)端和Xpress服務(wù)器
POS客戶(hù)端連接商戶(hù)服務(wù)器并與之通過(guò)2200端口通信。交易、配置和維護數據通過(guò)該端口傳輸。每天商戶(hù)管理員第一次打開(kāi)終端時(shí),會(huì )發(fā)送一個(gè)請求,請求的內容大致為“Hey, Server, I woke up, send me new parameters, pleeease”。當商戶(hù)管理員關(guān)機時(shí),會(huì )把日志文件發(fā)送到服務(wù)器。
研究人員截取了客戶(hù)端和服務(wù)器之間的流量發(fā)現,當POS終端發(fā)送一個(gè)特殊的包給Xpress服務(wù)器時(shí),響應的包是文件的內容。
如果用另外一臺機器來(lái)執行該操作,會(huì )返回同樣的結果。攻擊者可以讀取服務(wù)器文件系統上的任意文件了。
在研究中,發(fā)送的包的格式為:
圖 3. 發(fā)送的包
包中一共有5個(gè)元素:
Tepe是消息的類(lèi)型;Len是消息的長(cháng)度;Where是數據存儲的本地路徑;What是目標文件路徑;End是0,0,只有在響應消息中才會(huì )更改。
對協(xié)議的逆向分析發(fā)現,攻擊者可以做的事情不止于讀取文件,還可以任意寫(xiě)文件。
為了在服務(wù)器上寫(xiě)任意文件,需要在2200端口上發(fā)送三個(gè)包:
第一個(gè)是發(fā)送文件的類(lèi)型和包長(cháng)度,Xpress服務(wù)器上的文件路徑,文件的本地路徑,發(fā)送數據的大小和靜態(tài)空值;第二個(gè)是文件數據類(lèi)型包,含有內容長(cháng)度,和要寫(xiě)入的內容。第三個(gè)是end of file消息。之后,Xpress服務(wù)器應用會(huì )響應一個(gè)Good消息,然后服務(wù)器上就會(huì )出現一個(gè)新的文件。如果發(fā)送的文件大小錯誤,Xpress應用會(huì )刪除目標文件。所有的這些操作都是沒(méi)有驗證的情況下進(jìn)行的。
除了這些以外,攻擊者還可以匿名進(jìn)行文件讀、寫(xiě)和刪除操作。
攻擊向量
攻擊者想要訪(fǎng)問(wèn)本地商戶(hù)網(wǎng)絡(luò ),那么可能的攻擊向量有哪些呢?首先由很多的POS客戶(hù)端,二維碼讀碼器等連接到POS客戶(hù)端。一些小工具是放置在商戶(hù)大廳的,而且基本上沒(méi)有什么保護。這樣,攻擊者就可以運行腳本來(lái)替代這些設備了。
研究人員發(fā)現SAP POS的4個(gè)現狀:
商戶(hù)配置工具創(chuàng )建配置文件,如果Xpress服務(wù)器在特殊目錄下發(fā)現了newparm文件就會(huì )應用他們。用2200端口可以在Xpress服務(wù)器上任意下文件。POS客戶(hù)端開(kāi)機后會(huì )更新參數。POS終端可以通過(guò)Telnet和2202端口進(jìn)行開(kāi)啟和關(guān)閉。
根據這些,研究人員發(fā)現了如何進(jìn)行攻擊:
1. 攻擊者可以用2200端口在Xpress服務(wù)器上寫(xiě)配置文件,配置文件可能是不同的。攻擊者可以改變打印在收據上的卡號隱藏的位數,還可以改變商品的價(jià)格,關(guān)閉數據庫中對敏感信息的加密燈;2. 攻擊者可以用2200端口在xpress服務(wù)器上寫(xiě)newparm.trg文件;3. 可以在數據庫中寫(xiě)文件;4. 用Telnet2202端口發(fā)送close term消息給xpress服務(wù)器;5. 用telnet端口發(fā)送open term消息給Xpress服務(wù)器;6. Xpress服務(wù)器應用打開(kāi)POS終端;7. POS終端發(fā)送請求到Xpress服務(wù)器,下載攻擊者的配置并應用。
需要注意的是每天營(yíng)業(yè)結束后,所有的終端都會(huì )關(guān)機并在第二天打開(kāi)。當Xpress服務(wù)器應用開(kāi)始或者更新參數時(shí),就會(huì )搜索home目錄下的XPSPARM.bat” 和“StopTN.bat文件。如果搜到了,文件就會(huì )自動(dòng)執行,攻擊者就可以上傳這種特殊的腳本。
加密
SAP POS使用的加密工具是TWSecurity,該工具會(huì )對每個(gè)密碼創(chuàng )建一個(gè)特殊的安全容器。該容器與SAP POS元素的內容相同,包括client, xpress server, store manager和configurator。加密會(huì )在每個(gè)階段進(jìn)行,根據文檔,下表中的內容是經(jīng)過(guò)加密的。
表 2. 加密的內容
在CryptoRegister表里有一些列和存儲的步驟,這些都是受到加密等級影響的。比如,雇員的密碼用hash值保存,信用卡的reference號用3DES密文保存。這樣安全嗎?
加密token和加密的函數是管理員在商戶(hù)配置器中進(jìn)行設置的。加密token會(huì )轉換成一個(gè)ASCII碼文件,并發(fā)送給Xpress服務(wù)器。攻擊者可以將token篡改為空,這樣就可以在之后的交易和過(guò)程中關(guān)閉加密機制。
那么數據庫中存儲和加密的信息安全嗎?利用TWSecurity工具,安全容器只是系統注冊表中的一些行。TWSecurity工具工具可以為加密創(chuàng )建新的密鑰,并用新的密鑰來(lái)加密敏感數據。也就是說(shuō),該工具連接到數據庫,獲取密文,用舊的密鑰解密,并用另一個(gè)密鑰加密一次,然后更具數據庫。
攻擊者可以用該工具來(lái)從內存中竊取明文文本數據。在Frida的研究中,用Python庫來(lái)進(jìn)行測試,該方法還是很有效的。
安全補丁
2017年7月,SAP發(fā)布了Missing Authentication checks in SAP Point of Sale (POS) Retail Xpress Server 補丁。補丁中含有14個(gè)文件,會(huì )替換POS系統中原來(lái)的文件。主要的可執行文件有xps.exe和xpsctrl.exe。該補丁的主要思想是攻擊者是否可以在2202端口發(fā)送消息,并控制POS終端,所以需要對該端口進(jìn)行訪(fǎng)問(wèn)控制。該描述說(shuō)明該補丁修復會(huì )產(chǎn)生一個(gè)新的參數,該補丁會(huì )決定IP地址,并接受與Xpress服務(wù)器的連接。默認值是localhost,但是該補丁忽視了一個(gè)問(wèn)題,那就是該問(wèn)題不只存在于2202端口,也不存在2200端口。而且2200端口給攻擊者的機會(huì )更多。通過(guò)這些接口,攻擊者可以繞過(guò)防護機制。
本地商戶(hù)管理器
當商戶(hù)管理器應用連接到Xpress服務(wù)器,服務(wù)器會(huì )檢查IP地址是不是localhost,如果不是就拒絕連接。假設只有本地應用和用戶(hù)能夠與該端口進(jìn)行通信,攻擊者可以使用2200端口發(fā)送命令到Xpress服務(wù)器在2202端口上連接服務(wù)器,并繞過(guò)驗證機制。
遠程商戶(hù)管理器
第二種方法是在另一臺機器上安裝本地商戶(hù)管理器。當商戶(hù)管理器連接到2202端口時(shí),Xpress應用就會(huì )打開(kāi)配置文件“l(fā)ocal.ini”,并從中提取BACKOFFICEIPADDRESS參數,與入口IP地址就行比對。為了繞過(guò)該驗證機制,攻擊者可以讀取local.ini文件的當前配置,用惡意IP地址替換正確的IP地址,并重寫(xiě)該文件。這樣,Xpress服務(wù)器應用就會(huì )認為攻擊者的IP是合法的。
結論
總的來(lái)說(shuō),如果2200端口沒(méi)有bug的話(huà),安全補丁是可以保護系統抵御外部攻擊者的。POS系統存在漏洞的也不止SAP這一家,本月Oracle就爆出漏洞,影響萬(wàn)臺POS設備。
以上就是關(guān)于無(wú)線(xiàn)pos機快遞,POS機攻擊原理分析的知識,后面我們會(huì )繼續為大家整理關(guān)于無(wú)線(xiàn)pos機快遞的知識,希望能夠幫助到大家!
