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