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