央視近日揭露了二維碼支付所存在的安全隱患及風險問題,筆者也對二維碼的使用和隱藏的病毒進行過研究,現在就把一些防範二維碼藏木馬病毒的知識分享給大家,希望對大家有幫助。
央視近日揭露了二維碼支付所存在的安全隱患及風險問題,筆者也對二維碼的使用和隱藏的病毒進行過研究,現在就把一些防範二維碼藏木馬病毒的知識分享給大家,希望對大家有幫助。
工具/原料
手機 二維碼
方法/步驟
要回答這個問題,需要先講清楚2個概念:
1、二維碼裡有什麼?
2、掃一下為什麼會“中毒”?
第一個問題,現在二維碼裡大致有這樣一些型別的資料:長文字、短文字、名片、網址、wifi配置資訊、地理位置資訊。
第二個問題,首先通俗的解釋一下“中毒”的概念。
中毒和生病一樣,病毒需要一個生存和發展的環境,如果掃碼能中毒,那麼環境是誰?當然是掃碼軟體以及掃碼軟體的執行環境(通常就是手機作業系統)了。現在已知的二維碼“病毒”大致有以下3種方式:
釣魚網址,這個嚴格來說不是“病毒”,屬於社會工程學威脅範疇,使用者只需稍有安全意識則能有效避免被騙上當。在手機上,開啟一個網址本身在大多數情況下是安全的,但危險在於停留在這個開啟的網站上,使用者幹了些什麼。使用者自己主動輸入信用卡號、安全碼,使用者自己主動輸入支付寶使用者帳號。另外,網址並不等於網站入口。比如,有一類特殊的網址,叫做偽協議地址,這個也有想象力空間(但似乎沒見到攻擊案例),例如sms://、tel://等等,這些點選之後,在不同的系統上有可能會開啟不同的應用程式,例如發簡訊、打電話等等。
HTML/JS混合程式碼,這是由於很多二維碼軟體提供了所謂的智慧內容感知和識別,呼叫了瀏覽器解釋引擎去承載和處理這些程式碼,實質上就是給“病毒”提供了“溫床”,所以會“中毒”。但,就目前已知的攻擊案例來說,純第三方二維碼類應用軟體即使被這些瀏覽器客戶端惡意程式碼攻擊,在絕大多數情況下對使用者造成的影響也很有限。極少數情況,可能會發生在:
惡意程式碼直接攻擊瀏覽器解釋引擎,造成記憶體破壞類攻擊,直接獲得原生應用程式級別的任意程式碼執行甚至是提升許可權。這種問題發生的概率要遠遠小於PC端瀏覽器遭受同類型攻擊的概率。主要原因是:大多數攻擊程式是需要一定“行數”的程式碼組成的,而二維碼的承載資料能力又是受限制於圖片編碼的容量極限的。簡單理解就是:複雜攻擊需要更多行數的程式碼,較少行數的程式碼只能實現較簡單的“攻擊”,二維碼由於自身設計的“缺陷”,無法提供惡意程式碼儲存所必要的足夠空間,故攻擊想象空間和影響效果有限。
自定義的二維碼應用。
雖然二維碼本身承載的其實就只是普通文字資料(數字、字元啥的),但有些軟體給這些資料定義了一些自己的解析規則,目的是實現掃碼後自動XXX或自動YYY。壞就壞在這個自動化的過程,給了資料一秒變病毒的機會。如何理解?參考Web安全裡的SQL注入、XSS等,就是最典型的資料一秒變病毒的參考案例。
上面3類“病毒”,第一種可以歸類為需要使用者互動才能得逞的病毒,後兩種可以歸類為無需使用者互動即可實現“感染”的病毒。
前者在目前來說最常見,後兩者攻擊易得手但造成的影響大多數情況下極為有限。
應對方式和Web時代的安全問題類似,需要幾方面參與者的共同努力。
掃碼軟體廠商,在提供基於二維碼的新應用時,要安全的設計和實現二維碼識別後內容的解析引擎,對網址的識別可以整合第三方安全廠商提供的URL黑名單查詢服務,對已知惡意網址提前向掃碼使用者告警,並取消點選互動行為的支援。另外,掃碼軟體可以提供一個牛逼閃閃的安全模式(其實就是純文字模式啦),讓有安全意識和能力的使用者可以先看看是什麼,再決定下一步如何解析、是否允許軟體自動化做XXX或自動化YYY。當然了,做產品,還可以在使用者體驗層面再智慧一些,讓使用者可以更傻瓜一些點【下一步】。
使用者要做到:
一要選擇知名的二維碼掃描軟體,二要避免開啟陌生和奇怪的網址。
安全廠商,還和現在一樣,該幹嘛幹嘛,多給掃碼軟體廠商做做推廣,整合你們的惡意網址識別引擎吧。再牛逼一點,雲掃碼吧,所有二維碼裡的資料,你們先在雲端看看,不良內容給消消毒就是了。
至於二維碼未來的安全問題?先讓我們看到二維碼在未來有什麼新應用吧,如果沒有新應用,那麼以上內容已經涵蓋了二維碼病毒的成因和對策。新應用?我已經預測了以上的第三種方式了。
其實二維碼在很久以前就開始研發運用了,阿里與騰訊也是進行二維碼支付運營的大企業,只要大家有一定的安全防範意識,二維碼還是相對安全的。
更多微信營銷知識請關注公眾賬號“微知樂精選”,微知樂是國內首家針對高階商務人士和企業微營銷服務的第三方微信功能定製化平臺。
注意事項
二維碼掃描需謹慎