現(xiàn)代社會,刷卡已經(jīng)非普及了,所以POS系統(tǒng)(Point Of Sales System)的應(yīng)用非常普遍,在商場、餐廳、酒店、醫(yī)院等場所都能見到它的身影。
移動支付體系下的新式的pos機一般是連接第三方支付機構(gòu)使用銀行卡快捷支付,技術(shù)上引入了藍牙/WiFi/音頻(用于POS刷卡器與POS終端主機通訊)、Android/iOS(POS終端主機APP支持的系統(tǒng)),更便捷的同時引入更多安全問題。
我們針對幾個品牌的POS機進行了安全測試,結(jié)果卻讓人感覺害怕:把卡在黑客控制的POS機上刷一下后,銀行卡還在你手上,黑客卻可以繼續(xù)刷卡,刷光里面的錢(你的卡,我的錢)。
【場景演示】
我們分析了國內(nèi)幾款知名的POS機,發(fā)現(xiàn)其系統(tǒng)設(shè)計都存在類似的安全漏洞,經(jīng)過對數(shù)據(jù)篡改后,可以對刷卡的人扣取任意費用。
無圖無真相,看下圖。
漏洞原理比較簡單,但是影響卻讓人感覺害怕。我們遵循負(fù)責(zé)任的安全漏洞報告流程,漏洞細(xì)節(jié)已經(jīng)報告給相關(guān)廠商修復(fù)。
【技術(shù)分析】
現(xiàn)在到了技術(shù)分析時間。
我們分析發(fā)現(xiàn),該款POS機在向服務(wù)端發(fā)送指令時是包含了一個防止重放攻擊的隨機數(shù),但是服務(wù)端卻沒有驗證隨機數(shù),結(jié)果就是POS機向服務(wù)端發(fā)的包可以重放攻擊。同時,POS終端發(fā)出的指令包也沒有數(shù)字簽名,可以任意修改。
于是漏洞就產(chǎn)生了,攻擊者通過正常刷卡獲得受害者銀行卡的一些信息后,可以自行生成一個付款指令到服務(wù)端,這樣受害者的銀行卡就被扣款了。
大致的漏洞示意圖如下(具體的細(xì)節(jié)就略過):
修復(fù)方法也比較簡單,服務(wù)端校驗這個隨機數(shù)就可以了。這樣即使是重放,由于隨機數(shù)已經(jīng)出現(xiàn)過了,所以攻擊會失效。但是問題又來了,黑客如果直接攔截改包而不是嗅探,那么怎么防護呢?加一個數(shù)字簽名吧。
這個漏洞的本質(zhì)是信息化后不安全的IT系統(tǒng)洞穿了基于“擁有”(銀行卡)加基于“知道”(密碼)的身份認(rèn)證體系。試想一下,未來的生物特征(指紋、聲紋、虹膜等)認(rèn)證方式同樣是信息化的,是否也會存在這種隱患呢?
【延伸知識】
發(fā)達的資本主義國家早就遇到過POS機的安全問題。
2013年國外安全公司Arbor Networks就發(fā)現(xiàn)了感染POS終端和服務(wù)器的惡意軟件,下圖就是被感染的地域分布圖。從圖中我們可以看到,中國大陸幾乎不受影響,看起來是國內(nèi)的POS系統(tǒng)跟國外不是一個技術(shù)架構(gòu),所以不受洋蠕蟲病毒的影響。
2014年1月,US-CERT針對POS惡意軟件發(fā)出預(yù)警,并給出了POS系統(tǒng)最佳安全實踐:
【防范惡意POS機】
通過上文可以看到,POS機的安全隱患還是較大的,現(xiàn)在我們的研究團隊成員出門刷卡時看到POS機心里就特緊張。
那么,怎么防范呢?
金融安全關(guān)系重大,特別是隨著互聯(lián)網(wǎng)金融的興起和發(fā)展,帶來的安全問題只會越來越多,監(jiān)管機構(gòu)、廠商和普通用戶都應(yīng)該對此引起足夠重視。
對于監(jiān)管機構(gòu)來說,廠商發(fā)布的金融類產(chǎn)品的安全質(zhì)量應(yīng)有切實可行的規(guī)章制度流程來保證。
對于廠商來說,硬件設(shè)備要遵循SDL流程,將大部分安全風(fēng)險消除在發(fā)布前——畢竟終端的升級成本會高于在線服務(wù)很多,而且隨著互聯(lián)網(wǎng)金融的發(fā)展,傳統(tǒng)金融行業(yè)隱匿起來的安全風(fēng)險會被更多的發(fā)現(xiàn)。
對于普通用戶來說,為了防備惡意POS機,最好準(zhǔn)備兩張卡,一張專門用于存錢,一張專門用于刷卡和網(wǎng)銀,這樣即使被盜刷了損失也可控;同時開通銀行的單筆消費通知(微信和短信雙管齊下),如果有異常消費就可以第一時間發(fā)現(xiàn)和處理了。
【后記】
隨著互聯(lián)網(wǎng)的發(fā)展,結(jié)合硬件、軟件、通訊架構(gòu)下的智能設(shè)備的安全問題還很多,隨著時間的推移和業(yè)界的關(guān)注,這些問題會逐漸爆發(fā)出來(比如最近對部分省份電信DNS Server 產(chǎn)生DDoS攻擊的感染攝像頭的蠕蟲)。