深度分析:二維碼真的安全嗎?
二維碼自普及以來,無論是從它的便捷性,還是其安全問題,一直都是公眾關(guān)注的焦點問題。“碼”時代來勢迅猛,不可阻擋,似乎一夜之間,二維碼即遍布各電商平臺、商場、網(wǎng)站、雜志、甚至車票上,二維碼迅速成為移動互聯(lián)網(wǎng)時代的新寵兒。
與此同時,借助二維碼進行傳播的手機病毒、惡意程序也日益增加,由于二維碼技術(shù)已經(jīng)相對成熟,普通用戶即可通過網(wǎng)上的二維碼轉(zhuǎn)換軟件,任意合成二維碼,并且從外觀上并不能判斷其安全性,這就更加方便了黑客針對二維碼進行各種非法操作,用戶一旦掃描了嵌入病毒鏈接的二維碼,其個人信息、銀行賬號、密碼等就可能完全暴露在黑客面前,釀成的后果可想而知。而隨著2014年三月份央行緊急叫停二維碼支付,二維碼的安全問題被推向高潮。
下面結(jié)合筆者對幾個金融類手機客戶端中關(guān)于二維碼功能的安全性分析,來看一下二維碼支付存在的典型安全漏洞。
(一)某著名股份制銀行二維碼漏洞
該銀行中關(guān)于二維碼的功能有兩處,一處是掃一掃功能,另一處是我要收款中的二維碼功能。如下圖所示(左:掃一掃功能;右:我要收款功能)
下面從這兩方面對二維碼安全展開分析:
1、掃碼分析:
掃碼邏輯暴露后,掃碼劫持變得非常簡單,黑客可以在用戶進行掃描付款的客戶端中插入惡意代碼,進行交易數(shù)據(jù)篡改,使本該流向商戶的資金流向黑客。掃碼攻擊如下圖所示:
2、我要收款
雖然該銀行對收款的二維碼存儲的信息進行了加密,但還是不夠安全,仍然存在一定的安全隱患,黑客可以利用二維碼的特性和該APK的其他漏洞,進行一些非法的活動,下圖模擬了該應用可能存在的安全隱患。
#p#
(二)支付寶付款碼
支付寶錢包做了兩種付款碼,條形碼和二維碼,下面對二維碼的生成邏輯進行了簡單的分析。
支付寶付款碼存在的安全漏洞如下所示:
圖1 二維碼生成攻擊
圖2 掃碼攻擊
#p#
(三)某大行掃碼威脅
該銀行手機客戶端獲取二維碼有兩種方式,一是從手機相冊中獲取二維碼圖片;二是進行掃碼獲取二維碼信息。
該銀行手機客戶端掃碼安全漏洞如下圖所示:
二維碼作為登錄憑證、流量入口、身份憑證、支付憑證等,在日常生活中的應用比比皆是,其漏洞問題也遠不止以上闡述的這些,而這些安全問題一天不得到解決,我們的隱私安全、財產(chǎn)安全等就一天得不到可靠保證,隨時都要擔心自己的賬號是否“被”登錄?手機銀行綁定的銀行卡是否被黑客攻擊等等。
因此,如何為二維碼安全打造一套可靠的解決方案,讓二維碼支付在安全的環(huán)境下恢復使用,是當下亟待解決的重要問題。