新聞中心
GSM偽基站如果用于釣魚(yú),危害就會(huì)很大。所以我就有一個(gè)想法,希望在APP層面檢測(cè)偽基站。因?yàn)閭位倦[蔽且容易流動(dòng),如果不在手機(jī)端檢測(cè)偽基站就不能及時(shí)發(fā)現(xiàn)異常。

創(chuàng)新互聯(lián)從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元彌勒做網(wǎng)站,已為上家服務(wù),為彌勒各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108
雖然APP與偽基站對(duì)抗不在一個(gè)層級(jí),但一定可以在APP層找到破綻——畢竟,偽基站要做到100%模擬正?;倦y度也是很大的。比如通過(guò)OpenBTS、GNURadio和USRP實(shí)現(xiàn)的偽基站,默認(rèn)都有好多獨(dú)有特性。
這就有點(diǎn)類似在應(yīng)用層檢測(cè)系統(tǒng)的rootkit,雖然困難,但也并非完全不可能。我記得有一個(gè)簡(jiǎn)易的檢測(cè)辦法,本地看系統(tǒng)開(kāi)放了哪些端口,然后遠(yuǎn)程掃描開(kāi)放端口,兩個(gè)數(shù)據(jù)不一致,那就是有rootkit了。
可見(jiàn),100%的虛擬現(xiàn)實(shí)是非常困難的。那么回到這個(gè)場(chǎng)景,偽基站的破綻在哪里?
嘗試
第一步很容易想到從OS層面能拿到的基站信息入手,看看獲得的信息能否有效甄別假基站。
Android SDK里面提供了類android.telephony.gsm.GsmCellLocation來(lái)獲取基站信息,可以得到Cid、Lac、Psc、hashCode,不過(guò)這些信息都很容易隨意偽造,看來(lái)得換個(gè)思路。
接下來(lái)我們又想到,在偽基站里電話和短信是不通的。雖然偽基站可以實(shí)現(xiàn)劫持,但是我目前見(jiàn)過(guò)的網(wǎng)上公開(kāi)案例來(lái)看,偽基站都沒(méi)有做這個(gè)事。撥打電話這個(gè)操作太重,我們就在APP層發(fā)短信。如果網(wǎng)絡(luò)信息變化后,短信不能正常發(fā)出就說(shuō)明可能存在偽基站。
發(fā)短信會(huì)涉及到費(fèi)用,感覺(jué)不是很靠譜。不過(guò)我們想到給運(yùn)營(yíng)商號(hào)碼發(fā)是免費(fèi)的,比如移動(dòng)就給10086,聯(lián)通就給10001,電信的2G不是GSM,就先不管了。
于是,我們?cè)O(shè)想的方法是一旦發(fā)現(xiàn)基站信息發(fā)生變化,APP就發(fā)送一條短信給運(yùn)營(yíng)商,運(yùn)營(yíng)商收到后會(huì)答復(fù),我們就看一定時(shí)間內(nèi)是否有固定的回復(fù)內(nèi)容,如無(wú)就認(rèn)為當(dāng)前接入的是偽基站。
不過(guò)后來(lái)考慮到收發(fā)短信權(quán)限太敏感,同時(shí)Android4.4及以后版本對(duì)APP的短信權(quán)限做了更嚴(yán)格地控制,所以這個(gè)方案我們也放棄了。
最后我們聚焦到網(wǎng)絡(luò)上。APP一旦發(fā)現(xiàn)基站信息發(fā)生變化,就調(diào)用GPRS獲取IP,如果得不到IP,就認(rèn)為是偽基站——當(dāng)然偽基站也可以搞個(gè)DHCP分配IP,如果發(fā)生對(duì)抗,我們還可以繼續(xù)從IP的范圍、網(wǎng)關(guān)IP等信息再來(lái)深入對(duì)抗。
demo演示
老規(guī)矩,在Android上實(shí)現(xiàn)了一個(gè)demo,以下是測(cè)試效果圖。后面這個(gè)demo會(huì)放到騰訊安全應(yīng)急響應(yīng)中心官網(wǎng)“實(shí)驗(yàn)室”欄目,歡迎大家關(guān)注。
一些想法
這個(gè)方法還沒(méi)有考慮周全。比如漫游到境外的情況;還有,目前見(jiàn)到的偽基站都是發(fā)了短信后迅速將用戶踢出網(wǎng)絡(luò),用戶則會(huì)重新回到正常網(wǎng)絡(luò),整個(gè)過(guò)程只有短短幾分鐘,所以實(shí)際檢測(cè)效果還待測(cè)試。
如果有安裝量大的手機(jī)終端軟件,倒可以把手機(jī)附近的基站信息都上報(bào)到云端,如果偽基站出現(xiàn),或許就可以及時(shí)發(fā)現(xiàn)。
后記
仍然感謝其他小伙伴popey、HuangJacky和riusksk的工作。
最后,一個(gè)有意思的想法是,如果這個(gè)“現(xiàn)實(shí)”世界是在一個(gè)“虛擬機(jī)”里運(yùn)行的,你能從“應(yīng)用層”找到破綻嗎?
網(wǎng)頁(yè)名稱:APP檢測(cè)GSM偽基站方案探索
新聞來(lái)源:http://www.5511xx.com/article/dhsdhio.html


咨詢
建站咨詢
