◆李璟瑩
(中國人民公安大學(xué)網(wǎng)絡(luò)安全保衛(wèi)學(xué)院 北京 102600)
手機(jī)二維碼的安全問題研究
◆李璟瑩
(中國人民公安大學(xué)網(wǎng)絡(luò)安全保衛(wèi)學(xué)院 北京 102600)
隨著智能手機(jī)的普及,以二維碼為媒介的移動(dòng)服務(wù),開始廣泛融入人們的生活。但二維碼在給生活帶來便捷的同時(shí),也存在諸多安全隱患。本文首先分析了手機(jī)二維碼的主要應(yīng)用模式,歸納了實(shí)際應(yīng)用中存在的安全問題,并給出了相應(yīng)的防治策略。
二維碼;安全;防治
二維碼,從一維碼演變而來,是一種按一定規(guī)律在平面上分布的黑白相間的圖形[1]。二維碼具備便捷、準(zhǔn)確、容量大等諸多優(yōu)點(diǎn),自中國1993年開始研究起,二維碼就得到了快速發(fā)展。據(jù)工信部2016年2月最新統(tǒng)計(jì),全國移動(dòng)用戶數(shù)量已達(dá)12.8億,可以說與手機(jī)和移動(dòng)互聯(lián)網(wǎng)的融合,進(jìn)一步擴(kuò)寬了二維碼的應(yīng)用廣度。
在二維碼得到快速發(fā)展的同時(shí),許多問題也不斷涌現(xiàn)出來,借助手機(jī)二維碼進(jìn)行傳播的移動(dòng)應(yīng)用惡意行為屢現(xiàn)不止,包括惡意扣費(fèi)、山寨應(yīng)用、隱私竊取、遠(yuǎn)程控制、系統(tǒng)破壞等,二維碼成為了一種新型的犯罪工具,如何解決手機(jī)二維碼的安全問題成為人們關(guān)注的新焦點(diǎn)。
二維碼在公共交通、企業(yè)營銷、物流管理、食品追溯等傳統(tǒng)行業(yè)已得到了廣泛應(yīng)用,最熱門的是二維碼與OTO模式的結(jié)合,借助移動(dòng)互聯(lián)網(wǎng)這一存儲(chǔ)、傳播、處理的新通道,二維碼推進(jìn)了線上與線下的互動(dòng),如社交服務(wù)、電子憑證、購物支付等等[2]。按照實(shí)現(xiàn)原理,手機(jī)二維碼的應(yīng)用可以分成三類模式:
(1)解碼上網(wǎng)/通信
根據(jù)內(nèi)容來劃分,二維碼的解碼結(jié)果可以是URL、SMS、郵件、電話號(hào)碼、文本信息等。如果是URL,手機(jī)會(huì)調(diào)用瀏覽器直接打開該鏈接,用戶可以進(jìn)行數(shù)據(jù)瀏覽或下載,如打開商品鏈接、下載優(yōu)惠券、信息查詢等。如果是sms://或tel://開頭的內(nèi)容,手機(jī)會(huì)直接打開短信功能或進(jìn)行撥號(hào),具體操作取決于二維碼解析規(guī)則的編寫。
(2)數(shù)據(jù)識(shí)讀
火車票就將二維碼作為乘客信息的載體,最初的二維碼采用明文存儲(chǔ)信息,為了避免不法分子惡意利用信息,目前已經(jīng)對(duì)數(shù)據(jù)進(jìn)行了加密。很多商家采用二維碼作為電子名片、會(huì)員卡的載體。用戶的信息被存儲(chǔ)在二維碼中,商家用識(shí)讀軟件掃描后信息直接推送到服務(wù)器中,服務(wù)器終端數(shù)據(jù)會(huì)實(shí)時(shí)進(jìn)行更新,整個(gè)過程省去了人工錄入環(huán)節(jié),增大了信息容量,實(shí)現(xiàn)了電子數(shù)據(jù)的快速交換和實(shí)時(shí)更新。
(3)解碼驗(yàn)證
在電子票務(wù)、電子回執(zhí)、手機(jī)支付等應(yīng)用服務(wù)中,用戶通過手機(jī)二維碼就能證明自己的自然身份、通訊身份或交易身份,這種模式突破了傳統(tǒng)受理終端的業(yè)務(wù)模式。用戶通過掃描支付二維碼實(shí)現(xiàn)手機(jī)的下單和支付過程,商家通過專用識(shí)讀設(shè)備讀取身份信息來完成驗(yàn)證過程,實(shí)現(xiàn)了用戶自助化。
作為一種信息載體,二維碼本身并不含有病毒。許多不法分子只是借助二維碼作為一種工具來廣泛實(shí)施惡意行為,嚴(yán)重危害用戶的利益和隱私。目前手機(jī)二維碼的安全問題主要存在以下幾方面:
(1)惡意的內(nèi)容鏈接
目前,大多數(shù)二維碼承載的內(nèi)容是一個(gè)URL,而現(xiàn)在的掃描軟件往往不會(huì)對(duì)鏈接的安全性進(jìn)行檢測(cè),惡意鏈接往往指向掛馬網(wǎng)站、釣魚網(wǎng)站、惡意軟件安裝鏈接等。用戶點(diǎn)擊帶有流氓插件的網(wǎng)站后,木馬或惡意軟件會(huì)被瀏覽器自動(dòng)下載到本地。有的鏈接對(duì)于Android系統(tǒng)是直接定位APK下載,對(duì)于IOS系統(tǒng)則指向App Store應(yīng)用頁面,用戶一旦點(diǎn)擊安裝,手機(jī)就會(huì)感染木馬。這類攻擊嚴(yán)格上不算是病毒,應(yīng)該屬于社會(huì)工程學(xué)范疇,用戶往往因?yàn)槭栌诜婪抖姓小?/p>
(2)生成和傳輸環(huán)節(jié)存在漏洞
二維碼,尤其是進(jìn)行身份認(rèn)證的,在生成和傳輸過程中常常存在被攔截和篡改的可能,不法分子可能偽造鏈接釣魚網(wǎng)站的二維碼,誘導(dǎo)用戶掃碼,導(dǎo)致信息泄露。
以二維碼支付為例,黑客可以利用二維碼的編碼特性和APK的其他漏洞,攔截客戶端發(fā)出的付款二維碼進(jìn)行惡意篡改,或者在掃描付款的客戶端中插入惡意代碼,通過在用戶掃碼交易時(shí)篡改數(shù)據(jù),使資金流向黑客的賬戶里。另外,用戶在使用二維碼登錄電腦終端的賬號(hào)時(shí),可能存在服務(wù)端的校驗(yàn)無法解決客戶端屏幕劫持等問題,黑客也可能通過二次打包、跨站請(qǐng)求偽造攻擊、Android Hook等方式劫持用戶客戶端數(shù)據(jù),導(dǎo)致用戶信息被盜。
(3)智能終端安全性低
由于硬軟件方面存在局限性,手機(jī)不能像電腦一樣安裝功能全面的安全軟件,手機(jī)環(huán)境的復(fù)雜性使其面臨著多種潛在的安全威脅,比如手機(jī)病毒、木馬插件等,這些威脅會(huì)利用系統(tǒng)或軟件存在的漏洞來實(shí)現(xiàn)遠(yuǎn)程控制或惡意破壞的目的。
以瀏覽器為例,針對(duì)帶有網(wǎng)址鏈接的二維碼,軟件在掃碼時(shí)會(huì)調(diào)用瀏覽器的解釋引擎,如果瀏覽器存在緩沖區(qū)溢出漏洞,惡意分子就可能針對(duì)這些漏洞編寫特定的URL,植入惡意的HTML/JS代碼,以獲得系統(tǒng)root權(quán)限。
(4)身份認(rèn)證機(jī)制不夠
通信安全的關(guān)鍵問題是手機(jī)用戶的身份認(rèn)證過程。網(wǎng)上銀行可以利用數(shù)字簽名、SSL、UBS key等手段來保護(hù)賬戶的安全性以及數(shù)據(jù)的完整性、保密性和不可否認(rèn)性,但是手機(jī)終端的運(yùn)行能力和存儲(chǔ)空間與電腦終端不同,復(fù)雜的認(rèn)證過程并不適用于網(wǎng)絡(luò)環(huán)境。目前的手機(jī)支付終端在完成二維碼掃描后,一般只要求輸入支付密碼或者短信驗(yàn)證碼,甚至可以通過短信重置密碼,這種支付過程的驗(yàn)證方式過于單一,存在短信劫持、篡改密碼等問題。
(5)開源類庫
二維碼解析程序中往往需要引用開源類庫,如Google的Zxing,這些類庫有可能被不法分子利用,因?yàn)榭蓤?zhí)行文件的輸入表只提供了動(dòng)態(tài)鏈接庫的名稱,沒有其它詳細(xì)信息,當(dāng)黑客通過不法手段劫持或替換正常的so文件,或者替換原有的API地址為自己的so中API地址,病毒木馬就可以隨著文檔的打開而加載自身。如果軟件裝載動(dòng)態(tài)鏈接庫以及可執(zhí)行文件的方式存在問題,黑客可以利用該漏洞在應(yīng)用程序搜索的一個(gè)目錄中植入偽裝的惡意軟件,當(dāng)應(yīng)用程序查找.so、.apk文件時(shí),就可能啟動(dòng)惡意程序。
(6)標(biāo)準(zhǔn)規(guī)范不一
目前,我國主要采用國外的碼制,如QR碼及DM碼,還有漢信碼等多種國產(chǎn)碼制,碼制的不統(tǒng)一造成了二維碼生成和解析的多樣化。對(duì)于不同編碼格式或者經(jīng)過加密的二維碼,用戶手機(jī)在進(jìn)行解碼時(shí)可能出現(xiàn)問題。另外,雖然二維碼本身承載的數(shù)據(jù)是安全的,但是有些軟件卻有一套自己的解析規(guī)則,只要使用該軟件進(jìn)行掃碼就會(huì)自動(dòng)執(zhí)行指定功能。這個(gè)自動(dòng)的執(zhí)行過程,使得安全數(shù)據(jù)立刻變成惡意信息,例如,無論用戶輸入什么信息,生成的二維碼內(nèi)容都是一個(gè)惡意網(wǎng)址鏈接。
手機(jī)二維碼的產(chǎn)業(yè)鏈涉及多個(gè)環(huán)節(jié),包括手機(jī)廠商、運(yùn)營、二維碼技術(shù)提供商、業(yè)務(wù)提供商、媒體、手機(jī)用戶等,每種二維碼應(yīng)用也往往混合了多種應(yīng)用模式,環(huán)境的復(fù)雜性增加了安全防護(hù)的難度,因此需要從多方面進(jìn)行考慮。
(1)做好頂層設(shè)計(jì)
首先,營造一個(gè)健康有序的二維碼生態(tài)環(huán)境,從頂層架構(gòu)促使二維碼行業(yè)形成統(tǒng)一編碼/解析體系、統(tǒng)一行業(yè)規(guī)范、統(tǒng)一應(yīng)用標(biāo)準(zhǔn),規(guī)范二維碼的制作、傳輸、驗(yàn)證環(huán)節(jié)。根據(jù)使用類型的不同,制定相適應(yīng)的二維碼標(biāo)準(zhǔn),如針對(duì)二維碼支付,就需要銀行、商家、第三方平臺(tái)、監(jiān)管部門的共同協(xié)商。
(2)確保數(shù)據(jù)安全
從本源數(shù)據(jù)安全入手,才能有效防患于未然。采用靈活且有針對(duì)性的加密技術(shù),增加防篡改機(jī)制,可以構(gòu)建一種準(zhǔn)硬件級(jí)別的動(dòng)態(tài)多維碼技術(shù)。通過動(dòng)態(tài)加密算法、P2P校驗(yàn)等先進(jìn)技術(shù),融入時(shí)間、空間、行為、設(shè)備指紋等多重安全因子,有效防止偷拍、截屏、偽造、攻擊等安全威脅,確保憑證安全和交易安全。
(3)安全加固軟件
二維碼軟件廠商在設(shè)計(jì)二維碼的解析引擎時(shí),需增強(qiáng)反編譯能力,可以通過加密、加殼、RPC、動(dòng)態(tài)加載等技術(shù)對(duì)客戶端進(jìn)行全面的安全加固,加固服務(wù)包含DEX文件加密、資源文件加密、xml文件保護(hù)、so文件保護(hù)等,以對(duì)抗逆向工程,代碼注入、非法扣費(fèi)等惡意行為。同時(shí),可以引入第三方機(jī)構(gòu)提供的URL黑名單對(duì)網(wǎng)址進(jìn)行安全檢測(cè),及時(shí)提醒和攔截,掃描二維碼時(shí)驗(yàn)證發(fā)布者的身份真實(shí)性,以保證二維碼是安全可靠的。
(4)加強(qiáng)身份認(rèn)證
首先,身份認(rèn)證可以加入多因素識(shí)別手段,如指紋識(shí)別、聲紋識(shí)別等生物識(shí)別手段。其次,二維碼支付可以采用WPKI認(rèn)證,即無線公鑰體系,不同于PKI的驗(yàn)證和加密算法,WPKI采用了優(yōu)化的ECC橢圓曲線加密和壓縮的X.509數(shù)字證書,更適用于無線互聯(lián)網(wǎng)環(huán)境[3]。基于WAP網(wǎng)絡(luò)環(huán)境,移動(dòng)運(yùn)營商是保證整個(gè)支付過程的關(guān)鍵部分,用戶、商家、第三方平臺(tái)、銀行之間能進(jìn)行互相認(rèn)證,并且降低WPKI證書的數(shù)據(jù)長度和處理難度,以適應(yīng)手機(jī)終端的環(huán)境。
手機(jī)二維碼的安全是一個(gè)系統(tǒng)工程,需要政府、運(yùn)營商、廠商、用戶等多方的共同努力,針對(duì)二維碼的特性和需求發(fā)展,盡量從源頭上減少二維碼承載惡意行為的可能性,保障廣大手機(jī)用戶的信息和財(cái)產(chǎn)安全,讓人們?cè)谙硎芏S碼便利性的同時(shí)最大限度實(shí)現(xiàn)安全。
[1]于英政.QR二維碼相關(guān)技術(shù)的研究[D].北京交通大學(xué),2014.
[2]王楊.二維碼傳播信息的應(yīng)用及分析[D].山西大學(xué),2013.
[3]韓景靈,張秀英.基于WPKI技術(shù)的安全移動(dòng)支付系統(tǒng)研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014.

圖1 基于指揮信息系統(tǒng)的體系作戰(zhàn)能力框架示意圖
在開發(fā)面向不同作戰(zhàn)需求的指揮信息系統(tǒng)時(shí),首先應(yīng)該考慮如何實(shí)現(xiàn)各類裝備各系統(tǒng)的互聯(lián)互通互操作、持續(xù)態(tài)勢(shì)感知和共享,從而實(shí)現(xiàn)信息、數(shù)據(jù)和作戰(zhàn)態(tài)勢(shì)的自同步,獲得信息優(yōu)勢(shì)和決策優(yōu)勢(shì)。在形成信息支撐能力后,實(shí)現(xiàn)指揮信息系統(tǒng)對(duì)具體作戰(zhàn)需求和使命任務(wù)的有效支撐。
信息支撐能力是設(shè)計(jì)任何武器裝備體系都應(yīng)首要考慮的底層通用能力需求。態(tài)勢(shì)信息流、狀態(tài)信息流和指控信息流等構(gòu)成了一種復(fù)雜的信息流過程,反映了各系統(tǒng)的相互作用和聯(lián)系。
軍隊(duì)信息系統(tǒng)集成建設(shè),必須以創(chuàng)新作戰(zhàn)理論、指揮方式為牽引,把滿足作戰(zhàn)需求,提高信息化作戰(zhàn)能力作為出發(fā)點(diǎn)和落腳點(diǎn)。準(zhǔn)確把握各級(jí)各類作戰(zhàn)指揮、作戰(zhàn)保障、武器控制、后勤保障等要素對(duì)信息系統(tǒng)集成的需求,把信息優(yōu)勢(shì)轉(zhuǎn)化為聯(lián)合作戰(zhàn)的整體優(yōu)勢(shì),實(shí)現(xiàn)聯(lián)合作戰(zhàn)、聯(lián)合保障、聯(lián)合決策、聯(lián)合制勝。
參考文獻(xiàn):
[1]劉興,趙敏.信息和知識(shí)的度量[J].指揮信息系統(tǒng)與技術(shù),2013.
[2]劉興,梁維泰,趙敏.一體化空天防御系統(tǒng)[M].北京:國防工業(yè)出版社,2011.
[3]羅偉其,姚國祥.信息大系統(tǒng)的集成結(jié)構(gòu)模型設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2001.
[4]任連生.基于信息系統(tǒng)的體系作戰(zhàn)能力概論[M].1版.北京:軍事科學(xué)出版社,2009.
[5]舒宇,譚躍進(jìn).基于能力需求的武器裝備體系結(jié)構(gòu)描述方法研究[J].軍事運(yùn)籌與系統(tǒng)工程,2009.