如何防范GSM短信劫持?
最近關(guān)于GSM劫持短信驗證碼盜刷的新聞,登上各大新聞媒體頭條,人心惶惶。
如今一個手機號走遍天下都不怕。不過便捷的同時也降低了一定的安全性。畢竟世界上哪有十全十美的事情呢?最近一位豆瓣網(wǎng)名為“獨釣寒江雪”的用戶就遭遇了短信被劫持的噩夢:早上醒來他發(fā)現(xiàn)手機里收到了100多條短信驗證碼,分別來自支付寶、京東等等,大量錢款被轉(zhuǎn)走,京東白條還被借走1萬多。你說氣不氣,睡個覺的功夫,辛辛苦苦攢的錢就莫名其妙的沒了。
那他的短信是不是真的被劫持了呢?我們又該如何防范和避免此類攻擊呢?來看看看雪專家怎么說。
手機號注冊的隱憂
如今我們不管辦理什么業(yè)務(wù),又或是在任何網(wǎng)站和APP注冊賬號,首先想到的就是通過手機號碼一鍵登錄。這意味著,你的手機號就等同于你的微信、支付寶、銀行和各種現(xiàn)金貸客戶端的賬號。如果你安全意識不高,這些APP注冊時又都用了相同的密碼……潛在的安全風(fēng)險可想而知,基本是一損皆損。
萬能的短信驗證碼
當(dāng)你在登錄各種APP時發(fā)現(xiàn)忘記了密碼怎么辦?沒關(guān)系,少數(shù)APP可以通過短信驗證碼一鍵登錄,而所有的APP還能使用短信驗證碼來重置密碼。
可以說,短信驗證碼在今天已然成為了一種“萬能”的存在,有了它,登錄、認(rèn)證、重置和支付等流程就將一路綠燈。
本文引言中涉及的案例,就是針對手機號注冊和短信驗證碼“量身定制”的一種詐騙手段:黑客通過“GSM劫持+短信嗅探技術(shù)”,可實時獲取用戶手機短信內(nèi)容,進(jìn)而利用各大知名銀行、網(wǎng)站、移動支付APP存在的技術(shù)漏洞和缺陷,實現(xiàn)信息竊取、資金盜刷和網(wǎng)絡(luò)詐騙等犯罪。
問題來了,這一整套流程要分很多步驟,難道手機安全方面的漏洞竟然如此嚴(yán)重嗎?
驗證碼和U盾的差異
實際上,自從智能手機和移動支付功能關(guān)聯(lián)捆綁后,從銀行到支付工具,相關(guān)企業(yè)都在研究如何提升安全性,避免可能的盜刷風(fēng)險。而大家最終“商量”的結(jié)果,就是基于短信的二次驗證機制。
提起二次驗證,相信不少用戶都會想起“U盾”。
U盾是銀行針對網(wǎng)絡(luò)支付推出的一種USBkey,當(dāng)我們需要辦理轉(zhuǎn)賬、匯款、繳費等支付業(yè)務(wù)時,必須按系統(tǒng)提示將U盾插入電腦的USB接口,輸入U盾密碼并進(jìn)行驗證成功后才可完成支付過程。
問題又來了,既然短信和U盾起到的都是二次驗證,那它們的安全系數(shù)不是應(yīng)該等同的嗎?很遺憾,U盾的安全系數(shù)遠(yuǎn)非短信驗證碼可比。
簡單來說,當(dāng)你在銀行開通網(wǎng)上銀行時,銀行會針對你的個人信息生成一組個人數(shù)字證書,而這個證書會保存在銀行服務(wù)器,以及讓你拿回家的個人U盾內(nèi)(U盾內(nèi)的數(shù)字證書處于不可讀狀態(tài))。
當(dāng)我們嘗試網(wǎng)上交易時,銀行會向你發(fā)送由時間、地址和交易內(nèi)容等信息組成字符串加密后生成的秘鑰A。交易確認(rèn)前需要將U盾和PC相連,秘鑰A會通過網(wǎng)絡(luò)和數(shù)據(jù)線傳輸?shù)侥愕腢盾中,而U盾則會根據(jù)你的個人數(shù)字證書對秘鑰A進(jìn)行不可逆運算并得到秘鑰B,再將秘鑰B返還給銀行。同時,銀行端也會根據(jù)秘鑰A和你的數(shù)字證書進(jìn)行不可逆運算,只有結(jié)果與秘鑰B一致才確認(rèn)為合法交易,否則交易便會失敗。
換句話說,通過U盾進(jìn)行的二次驗證,從驗證信息的獲取和確認(rèn)信息的返回都是加密的,中間流程沒有給黑客留下用于攻擊的漏洞。
短信驗證碼可就沒有這高的技術(shù)含量了。我們都知道,手機網(wǎng)絡(luò)是從1G(模擬通訊)→2G(GSM)→3G→4G發(fā)展而來,但受制于各種限制,無論是3G還是4G時代,手機語音和短信依舊保持著以純數(shù)字信號的2G方式進(jìn)行傳輸,而GSM制式下的手機短信卻是單向鑒權(quán)并且是以明文方式傳輸?shù)摹?/p>
看到?jīng)],這里面就存在兩個明顯的漏洞。其一是“單向鑒權(quán)”,其二是“明文方式傳輸”。第一個漏洞,意味著當(dāng)手機在GSM制式下收到一條短信時,基站只會驗證手機是不是真的,而手機卻不會去驗證發(fā)來短信的基站是否為真,這個漏洞就造成了偽基站的泛濫。
第二個漏洞,意味著短信驗證碼的6個數(shù)字都是明文傳輸,黑客無論是通過中途截取,還是借助手機漏洞獲取了短信內(nèi)容,都可明明白白看到這6個數(shù)字。
[!--empirenews.page--]
手機里的錢是怎么丟的
手機信號的好壞,與它距離當(dāng)前基站(由運營商建立的移動通信交換中心和手機之間的信號紐帶)的遠(yuǎn)近息息相關(guān)。黑客可以通過專業(yè)主機和筆記本電腦(或手機)組成一部“偽基站”,并以大功率向周邊釋放信號。
由于手機存在自動對比周圍基站信號,自動接入最強信號基站的運行機制,所以經(jīng)常被“偽基站”誘導(dǎo)并接入。
我們平時收到的來自10086、10010的“官方詐騙短信”就是出自“偽基站”之手,如果你誤點了短信內(nèi)容中的外部鏈接,手機里就會被直接植入木馬。而本文涉及的“GSM劫持+短信嗅探”,實際上就可視為基于偽基站的進(jìn)階版。
首先,黑客會干擾附近的手機信號,使4G變?yōu)?G信號,再利用基于2G移動網(wǎng)絡(luò)下GSM明文傳輸?shù)膮f(xié)議漏洞,搭配專用手機組成短信嗅探設(shè)備。然后,黑客會通過偽基站來收集附近的手機號碼,在支付類APP中嘗試使用這些號碼以短信驗證碼的方式進(jìn)行登錄,并利用短信嗅探設(shè)備來嗅探短信。
在這個過程中,黑客可以憑借一個2G偽基站和一個2G偽終端,鎖定具體手機號與嗅探短信驗證碼之間的對應(yīng)關(guān)系,從而選定進(jìn)一步的作案目標(biāo)。
接下來,黑客會根據(jù)目標(biāo)手機號,在某些渠道通過“撞庫”的手段,獲悉與這個手機號綁定機主的姓名、身份證號和銀行卡號等信息。至此,手機號、姓名、身份證號、銀行卡號、短信驗證碼這“詐騙五大件”就都握在黑客手里了。
由于短信嗅探技術(shù)只能同時獲取短信,并不能攔截短信,所以黑客大都會選擇在機主夜晚睡覺的時間段,用以上“詐騙五大件”登錄你的支付寶、銀行客戶端等APP,或是在各種現(xiàn)金貸應(yīng)用中冒名注冊并貸款提現(xiàn)。
由于絕大多數(shù)用戶睡覺前都會降低手機音量,聽到信息提醒也不會及時查看,才會出現(xiàn)引言中睡一宿后“錢沒了”的悲劇,手機滿屏都是各種驗證和支付、轉(zhuǎn)賬、貸款成功的提醒短信。
風(fēng)險就在你我身邊
你以為只要防范“GSM劫持+短信嗅探”就夠了嗎?在智能手機時代,還有更多漏洞需要引起我們的重視。
比如,現(xiàn)在幾乎所有的第三方APP都尋在申請“讀取聯(lián)系人和短信內(nèi)容”的權(quán)限,哪怕它只是一個小小的手電筒應(yīng)用。而一旦這些APP中的任意一個服務(wù)器端存在安全漏洞,或是這個APP本來就是存在病毒木馬的惡意APP,那它天生就具備盜取你短信驗證碼的功能。
此外,還有很多手機支持云服務(wù),支持自動備份聯(lián)系人、通話記錄和短信內(nèi)容。而黑客只要掌握了你的云端賬號,同樣可以跳過手機而讀取你的短信內(nèi)容。因此,筆者的建議是通過手機自帶的權(quán)限管理機制,屏蔽任何APP讀取短信記錄的權(quán)限,并有選擇性地關(guān)閉自動備份短信的云服務(wù)等功能。
為啥隱患這么大?
無論是用戶自己圖方便,還是整個行業(yè)的刻意引導(dǎo),如今各種APP都需要使用手機號碼注冊和登錄,無論是微信、支付寶、銀行客戶端、現(xiàn)金貸還是微博論壇都是如此。如果你安全意識不高,這些APP都用了相同的密碼……
此外,短信驗證碼可以幫助用戶進(jìn)行修改密碼、修改綁定郵箱等敏感操作,某些APP甚至還支持動態(tài)短信驗證碼直接登陸。
因此,黑客只需拿到了你的手機號碼+GSM短信劫持,一個手機號就能威脅到和其綁定的所有支付寶、銀行卡和具備支付或貸款功能的APP。
黑客怎么玩?
GSM短信劫持是一種比偽基站更高端的技術(shù)。簡單來說,黑客會使用專業(yè)設(shè)備自動搜多附近的手機號碼,攔截如運營商、銀行發(fā)送的短信,劫持對象主要針對2G信號(GSM信號),竊取短信信息后通過其登錄一些網(wǎng)站,從中碰撞機主身份信息,稱之為“撞庫”(即多個數(shù)據(jù)庫之間碰撞),試圖將機主的身份信息匹配出來,包括身份證、銀行卡號、手機號、驗證碼等信息,繼而在一些小眾的便捷支付平臺開通賬號并綁定事主銀行卡,冒充事主消費或套現(xiàn),盜取事主銀行卡資金。
如何防范恐怖的GSM短信劫持?
還好,黑客往往只是隨機作案。如果你已經(jīng)被黑客刻意盯上,對方提前獲知了你的姓名、手機號和身份證號碼,通過SIM卡劫持(又稱SIM卡克?。┗騁SM短信劫持+找回密碼認(rèn)證,后果不堪設(shè)想。
最令人無奈的是,黑客們大多選擇凌晨作案,在你睡得最深沉之際就完成了既定目標(biāo)。當(dāng)你白天醒來之后,一切就都晚了。
此外,短信驗證碼的安全缺陷是由GSM設(shè)計造成,且GSM網(wǎng)絡(luò)覆蓋范圍廣,因此修復(fù)難度大、成本高,對于普通用戶來說基本上是無法防范。
普通用戶如何防范
“GSM劫持+短信嗅探”的核心,就是利用了2G網(wǎng)絡(luò)的先天漏洞,所以最根本的解決方案就是在全國范圍內(nèi)徹底淘汰2G網(wǎng)絡(luò),全面升級到3G/4G?,F(xiàn)實中,三大電信運營商都在逐步將2G資源向4G轉(zhuǎn)移,但各家采取了不同策略。比如聯(lián)通采取留3G退2G、移動留2G退3G,電信則綜合考慮。
可惜,在VoLTE未大規(guī)模商用前,三大運營商在部分地區(qū)還是離不開2G網(wǎng)絡(luò)的輔助,也就是漏洞短期內(nèi)無法從運營商這邊完美解決。因此,無論是用的是移動、聯(lián)通還是電信的SIM卡,是否開通了VoLTE,在部分城市和地區(qū),都面臨著“GSM劫持+短信嗅探”的攻擊風(fēng)險。
可能有朋友會問了,如果我選擇睡覺前將手機調(diào)成飛行模式或是關(guān)機,是否可以避免這個風(fēng)險?答案是理論上可以,但如果你已經(jīng)被黑客鎖定為作案目標(biāo),對方可以直接去發(fā)送APP驗證碼的公司服務(wù)器附近進(jìn)行短信嗅探,哪怕你關(guān)機,也不影響在APP界面輸入發(fā)送驗證碼的指令,只是你需要第二天開機后才能收到而已。
雖然依舊存在風(fēng)險,但睡覺前關(guān)機卻已經(jīng)是我們普通用戶可以做到的最穩(wěn)妥解決方案了。此外,就是咨詢當(dāng)?shù)剡\營商,如果當(dāng)?shù)刂С值脑捯欢ㄒ_通并激活手機的VoLTE功能。
最后,就是打開支付寶開啟高級驗證、開啟常用設(shè)備保護(hù)、對資金賬戶投保,如果真的在睡覺時受到了扣費短信,一定要做好截圖取證,并第一時間凍結(jié)賬號和報警,主動聯(lián)系損失財產(chǎn)APP的官方客服進(jìn)行投訴,必要時可以發(fā)微博獲得輿論上的支持。
針對“GSM劫持+短信嗅探”案例,其實還有更多理論上的解決思路。
比如,讓新手機首次安裝SIM卡時加入綁定當(dāng)前手機MAC地址的步驟,今后每次收發(fā)短信都需要先驗證MAC地址,再發(fā)送短信明文。
再比如,增加APP的兩步驗證。兩步驗證APP基于TOTP機制,不需要任何網(wǎng)絡(luò)連接(包括Wi-Fi),也不需要短信和SIM卡,驗證碼完全在手機本地生成,所以APP兩步驗證可最大限度免疫SIM卡劫持和GSM短信劫持。
還有一個最簡單的,以后在獲取驗證碼登錄的界面增加一個隨機的應(yīng)答題,除了驗證碼以外還需輸入正確的答案,這樣黑客即使拿到短信也不知道問題答案。
當(dāng)然,這些都不是咱們用戶自己可以決定的。只是希望借著此次GSM短信劫持案件的爆發(fā),讓更多相關(guān)企業(yè)和部門可以聯(lián)手堵死有關(guān)的漏洞,比如讓2G徹底淘汰,或是手機廠商加入強制關(guān)閉2G功能的選項,從而讓我們今后移動支付、理財可以更加安心吧。
一些大家關(guān)心的問題
問:聯(lián)通現(xiàn)在都是4G和3G,還有危險嗎?
答:攻擊不需要運營商有真實2G網(wǎng)絡(luò),而是利用基站的機制讓你的網(wǎng)絡(luò)不管是3G還是4G都強行降級到GSM。除非你的手機自身就不允許切換到2G網(wǎng)絡(luò),否則都會面臨GSM短信劫持的隱患。
問:CDMA手機咋降到GSM?
答:CDMA理論上向下兼容GSM,再加上上面的原因,所以同樣存在威脅。
問:手機自帶偽基站識別功能有用嗎?
答:這次的案件原理是利用GSM通信協(xié)議漏洞,識別和屏蔽偽基站功能指望不上。
問:手機開通了VoLTE功能,通話都是4G,還害怕嗎?
答:現(xiàn)在的GSM短信劫持原理是強制你的手機重新定向到GSM偽基站,所以如果黑客選擇高成本的暴力干擾3G/4G信號而強制讓信號回落到2G的方式,那VoLTE功能也救不了你。