? ? ? ? 信息社會大數(shù)據(jù)時代下邓萨,日日匆忙行走在城市中的你可能沒有意識到诺祸,有些信息對你來說彌足珍貴,一旦為人所獲取方椎,如赤身于人群中孔厉,比如說:身份證號碼拯钻,手機號碼,再比如說撰豺,本文的主角:WLAN無線網(wǎng)卡的MAC地址粪般。泄露了,只能安慰自己污桦,反正大多數(shù)人一起亩歹,大家都裸奔吧。
? ? ? ? 身份證和手機號碼作為個人隱私關(guān)鍵信息寡润,這是地球人大約都知道的捆憎,這個無線網(wǎng)卡的MAC地址是什么鬼舅柜?這里不做MAC地址的科普梭纹,只提一下:作為全球范圍內(nèi)基本可以唯一關(guān)聯(lián)到你身邊最危險的設(shè)備--手機的信息字段,無線網(wǎng)卡的MAC地址的地位肯定引人注目的致份。 愛我們(姑且算是“愛”吧)的蘋果变抽、Android、windows操作系統(tǒng)想方設(shè)法保護它氮块,黑產(chǎn)/灰產(chǎn)和各種業(yè)務(wù)的大數(shù)據(jù)采集行業(yè)絞盡腦汁竊取它绍载,我們無知快樂著(果然還是不能看得太透徹呀!)
? ? ? ? 胡扯兩段滔蝉,直接進入一個實驗:小米的手機击儡,連接一個SSID為test_2.4G的無線網(wǎng)絡(luò),在此無線網(wǎng)絡(luò)信號覆蓋范圍的另外一臺第三方筆記本電腦蝠引,能否獲得小米手機的WLAN無線網(wǎng)卡的MAC地址阳谍?
? ? ? ? 答案當(dāng)然是能的,實現(xiàn)偵聽無線WIFI的網(wǎng)絡(luò)協(xié)議包(802.11協(xié)議)螃概,只要配置無線網(wǎng)卡為監(jiān)聽模式(Monitor mode)矫夯。一般情況下無線網(wǎng)卡和無線接入點(Wireless Access Point,WAP)建立連接后吊洼,處在托管模式(Managed mode)下训貌,無線網(wǎng)卡只接受從 WAP 發(fā)給自己的數(shù)據(jù)報文。如果把無線網(wǎng)卡設(shè)置成監(jiān)聽模式(Monitor mode),無線網(wǎng)卡可以監(jiān)聽空氣中所有的無線通信包(802.11協(xié)議的原始報文)递沪,使用諸如 Wireshark 等的軟件捕獲數(shù)據(jù)報文進行分析豺鼻。
? ? ? ? 下面的實驗的過程
? ? ? ? WIFI無線網(wǎng)絡(luò)環(huán)境,使用TPLINK的無線路由器款慨,配置test_2.4G的無線網(wǎng)絡(luò):
? ? ? ?連接小米手機到TPLINK無線路由器拘领,使用Android的調(diào)試工具ADB連接到小米的手機上,由于手機是非ROOT的手機樱调,從ifconfig命令中不能獲取手機的無線網(wǎng)卡的MAC地址(這個信息是受保護的信息)约素,獲取無線網(wǎng)卡的IP地址:192.168.1.102。
點擊TPLINK的管理界面上的的ARP列表笆凌,獲取小米手機的無線網(wǎng)卡的MAC地址圣猎。
????????嘗試從一臺不接入任何一個WIFI AP的筆記本上進行捕獲小米手機的WIFI通信過程。在一臺MAC筆記本上直接啟動802.11WIFI協(xié)議的抓包乞而,將WIFI網(wǎng)絡(luò)接口配置為Monitor的模式送悔,抓取802.11WIFI協(xié)議的原始包。找到test_2.4G的MAC地址爪模,設(shè)置包過濾欠啤,馬上可以看到test_2.4G的Beacon廣播的數(shù)據(jù)幀:
????????關(guān)閉小米手機的WIFI連接,然后再啟動連接test_2.4G屋灌,準(zhǔn)確抓到了小米手機發(fā)出的Probe Request包洁段,該數(shù)據(jù)包包含了小米手機WLAN接口的MAC地址,可以看到共郭,和上文里從TPLINK管理界面上看到的MAC地址是一致的祠丝。由于真實的MAC地址攜帶了廠家的信息,在wireshark的抓包中直接看到MAC地址解釋成可讀的硬件廠商名:
????????當(dāng)然除嘹,不僅僅是Probe Request包包含小米無線網(wǎng)口口的MAC地址写半,Authentication等其他通信的相關(guān)包都帶有無線網(wǎng)卡的MAC地址。
????????Probe Request引人注目的原因是:它是手機在真正的WIFI連接之前主動掃描時發(fā)出的包尉咕,在人主動發(fā)起手機上的WIFI連接之前叠蝇,Probe Request就攜帶這MAC地址已經(jīng)發(fā)送出來。
????????下面是關(guān)于802.11的Probe Request / Probe Response 請求的說明
????????探測請求(wlan.fc.type_subtype == 0x04)和探測響應(yīng)(wlan.fc.type_subtype == 0x05)
????????Probe request由STA(這里是手機)發(fā)出年缎,用于探測周圍的BSS(這里理解成AP)悔捶。如果指定了SSID,則只有SSID與之一致的BSS(準(zhǔn)確來說是BSS內(nèi)的AP)會通過Probe Response進行響應(yīng)晦款;如果未指定炎功,則所有BSS都會進行響應(yīng)。
????????在實施對Probe Request保護之前缓溅,這個特性這幾年來被用作用戶定位和跟蹤蛇损,商場街道等場所的人流人員識別,有一類業(yè)務(wù)叫做WIFI探針的數(shù)據(jù)采集開始繁榮,甚至利用無線網(wǎng)卡的MAC地址與網(wǎng)絡(luò)上已經(jīng)泄露的黑產(chǎn)/灰產(chǎn)數(shù)據(jù)進行撞庫淤齐,以掌握更多個人的隱私信息股囊。于是引起了人們對個人隱私的的擔(dān)憂。
? ? ? ? 蘋果公司第一個提出了使用隨機MAC地址進行WIFI掃描更啄,規(guī)避手機掃描狀態(tài)下真實MAC地址的泄露稚疹。當(dāng)手機打開WIFI,但沒有連接任何WLAN AP的時候,手機發(fā)出的主動掃描的Probe request使用隨機的MAC地址祭务。隨機MAC地址Universal/Local Bit位為1(該位為0才是全球唯一地址内狗,為1表示是本地管理地址),Unicast/Multicast 位為0。
例如:ca:ad:c6:50:97:d4义锥,f6:8a:be:70:46:38的Universal/Local Bit都為1柳沙,是隨機的MAC地址。
????????掃描狀態(tài)的隨機MAC這種技術(shù)拌倍,保護了處在WIFI掃描狀態(tài)(主要是手機的主動掃描AP)的手機赂鲤,避免泄露WLAN接口的MAC地址,一旦進入真正的通信狀態(tài)柱恤,802.11通信的數(shù)據(jù)包中將攜帶明文的真正的MAC地址数初。這里面有兩個概念,一個是WIFI掃描狀態(tài)下的虛擬隨機MAC地址梗顺,一個是真正進入通信狀態(tài)下使用的MAC地址泡孩。上面實驗抓的是手機已經(jīng)連接上TPLINK的AP,故抓到的是真實的MAC地址荚守。
????????舉個例子珍德,某個購物商場,商場大門口裝了個隱私收集的WIFI探針AP矗漾,如果用戶拿著一個開了WIFI的手機,手機自動掃描周圍的AP薄料,廣播Probe Request報文敞贡,如果沒有隨機MAC地址保護,探針AP可以直接從Probe Request包獲取用戶的WLAN的MAC地址摄职。
????????獲取了用戶手機的MAC地址誊役,可以做的事情很多,為人所詬病的是用戶隱私分析谷市。如果用戶的MAC地址連同其他信息一起泄露到網(wǎng)上蛔垢,例如(MAC地址、姓名迫悠、性別鹏漆、購物記錄等),那可以直接使用MAC地址進行關(guān)聯(lián)出用戶的其他信息,找出當(dāng)前進入商場的用戶是誰艺玲。
? ? ? ? 有一個問題來了括蝠,既然真正WIFI通信狀態(tài)下使用真實的MAC地址,這個真實的MAC地址可以被信號范圍內(nèi)的任何一個第三方無線網(wǎng)卡捕獲饭聚,那這個MAC地址還是能被作用戶被定位和跟蹤么忌警?這個問題上,windows 10對無線網(wǎng)絡(luò)網(wǎng)卡的MAC地址進行了進一步的保護秒梳。提供了通信狀態(tài)下的隨機MAC地址法绵,比如說可以有兩個選擇:單一一次的無線網(wǎng)絡(luò)連接使用同一個隨機MAC地址,或者配置WIFI網(wǎng)絡(luò)連接MAC地址一天隨機變化一次酪碘。
? ? ? ? 測試一下礼烈,windows 10對無線網(wǎng)卡MAC地址的保護:
????????對test_2.4G的無線網(wǎng)絡(luò)斷開并選擇“忘記”,此時需重新輸入密碼登陸WIFI婆跑,MAC地址已經(jīng)修改此熬,得到了新的MAC地址,這個MAC地址的Universal/Local Bit位為為1(9A的二進制位 1001 1010)Universal/Local Bit為右數(shù)第二位
再測試一次:對test_2.4G無線網(wǎng)絡(luò)斷開并選擇“忘記”滑进,此時重新輸入密碼登陸WIFI犀忱,MAC地址已經(jīng)修改,得到了新的MAC地址扶关,這個MAC地址的Universal/Local Bit位為為1(CA的二進制位 1100 1010)Universal/Local Bit為右數(shù)第二位
? ? ? ? 最后一個問題:目前的狀態(tài)下阴汇,要保護自己手機的WLAN的MAC地址,怎么做最安全呢节槐?如果出門不需要用WIFI上網(wǎng)搀庶,則關(guān)閉WIFI功能吧;如果確實要用WFI上網(wǎng)铜异,盡量升級和選擇有掃描狀態(tài)下隨機MAC功能的手機(僅僅測試過蘋果和小米手機)哥倔。