WLAN的MAC地址保卫战

        信息社会大数据时代下,日日匆忙行走在城市中的你可能没有意识到,有些信息对你来说弥足珍贵,一旦为人所获取,如赤身于人群中,比如说:身份证号码,手机号码,再比如说,本文的主角:WLAN无线网卡的MAC地址。泄露了,只能安慰自己,反正大多数人一起,大家都裸奔吧。

        身份证和手机号码作为个人隐私关键信息,这是地球人大约都知道的,这个无线网卡的MAC地址是什么鬼?这里不做MAC地址的科普,只提一下:作为全球范围内基本可以唯一关联到你身边最危险的设备--手机的信息字段,无线网卡的MAC地址的地位肯定引人注目的。 爱我们(姑且算是“爱”吧)的苹果、Android、windows操作系统想方设法保护它,黑产/灰产和各种业务的大数据采集行业绞尽脑汁窃取它,我们无知快乐着(果然还是不能看得太透彻呀!)

        胡扯两段,直接进入一个实验:小米的手机,连接一个SSID为test_2.4G的无线网络,在此无线网络信号覆盖范围的另外一台第三方笔记本电脑,能否获得小米手机的WLAN无线网卡的MAC地址?

        答案当然是能的,实现侦听无线WIFI的网络协议包(802.11协议),只要配置无线网卡为监听模式(Monitor mode)。一般情况下无线网卡和无线接入点(Wireless Access Point,WAP)建立连接后,处在托管模式(Managed mode)下,无线网卡只接受从 WAP 发给自己的数据报文。如果把无线网卡设置成监听模式(Monitor mode),无线网卡可以监听空气中所有的无线通信包(802.11协议的原始报文),使用诸如 Wireshark 等的软件捕获数据报文进行分析。

        下面的实验的过程

        WIFI无线网络环境,使用TPLINK的无线路由器,配置test_2.4G的无线网络:


       连接小米手机到TPLINK无线路由器,使用Android的调试工具ADB连接到小米的手机上,由于手机是非ROOT的手机,从ifconfig命令中不能获取手机的无线网卡的MAC地址(这个信息是受保护的信息),获取无线网卡的IP地址:192.168.1.102。



点击TPLINK的管理界面上的的ARP列表,获取小米手机的无线网卡的MAC地址。


        尝试从一台不接入任何一个WIFI AP的笔记本上进行捕获小米手机的WIFI通信过程。在一台MAC笔记本上直接启动802.11WIFI协议的抓包,将WIFI网络接口配置为Monitor的模式,抓取802.11WIFI协议的原始包。找到test_2.4G的MAC地址,设置包过滤,马上可以看到test_2.4G的Beacon广播的数据帧:


        关闭小米手机的WIFI连接,然后再启动连接test_2.4G,准确抓到了小米手机发出的Probe Request包,该数据包包含了小米手机WLAN接口的MAC地址,可以看到,和上文里从TPLINK管理界面上看到的MAC地址是一致的。由于真实的MAC地址携带了厂家的信息,在wireshark的抓包中直接看到MAC地址解释成可读的硬件厂商名:


        当然,不仅仅是Probe Request包包含小米无线网口口的MAC地址,Authentication等其他通信的相关包都带有无线网卡的MAC地址。


        Probe Request引人注目的原因是:它是手机在真正的WIFI连接之前主动扫描时发出的包,在人主动发起手机上的WIFI连接之前,Probe Request就携带这MAC地址已经发送出来。

        下面是关于802.11的Probe Request / Probe Response 请求的说明

        探测请求(wlan.fc.type_subtype == 0x04)和探测响应(wlan.fc.type_subtype == 0x05)

        Probe request由STA(这里是手机)发出,用于探测周围的BSS(这里理解成AP)。如果指定了SSID,则只有SSID与之一致的BSS(准确来说是BSS内的AP)会通过Probe Response进行响应;如果未指定,则所有BSS都会进行响应。

        在实施对Probe Request保护之前,这个特性这几年来被用作用户定位和跟踪,商场街道等场所的人流人员识别,有一类业务叫做WIFI探针的数据采集开始繁荣,甚至利用无线网卡的MAC地址与网络上已经泄露的黑产/灰产数据进行撞库,以掌握更多个人的隐私信息。于是引起了人们对个人隐私的的担忧。

        苹果公司第一个提出了使用随机MAC地址进行WIFI扫描,规避手机扫描状态下真实MAC地址的泄露。当手机打开WIFI,但没有连接任何WLAN AP的时候,手机发出的主动扫描的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地址。

        扫描状态的随机MAC这种技术,保护了处在WIFI扫描状态(主要是手机的主动扫描AP)的手机,避免泄露WLAN接口的MAC地址,一旦进入真正的通信状态,802.11通信的数据包中将携带明文的真正的MAC地址。这里面有两个概念,一个是WIFI扫描状态下的虚拟随机MAC地址,一个是真正进入通信状态下使用的MAC地址。上面实验抓的是手机已经连接上TPLINK的AP,故抓到的是真实的MAC地址。

        举个例子,某个购物商场,商场大门口装了个隐私收集的WIFI探针AP,如果用户拿着一个开了WIFI的手机,手机自动扫描周围的AP,广播Probe Request报文,如果没有随机MAC地址保护,探针AP可以直接从Probe Request包获取用户的WLAN的MAC地址。

        获取了用户手机的MAC地址,可以做的事情很多,为人所诟病的是用户隐私分析。如果用户的MAC地址连同其他信息一起泄露到网上,例如(MAC地址、姓名、性别、购物记录等),那可以直接使用MAC地址进行关联出用户的其他信息,找出当前进入商场的用户是谁。


        有一个问题来了,既然真正WIFI通信状态下使用真实的MAC地址,这个真实的MAC地址可以被信号范围内的任何一个第三方无线网卡捕获,那这个MAC地址还是能被作用户被定位和跟踪么?这个问题上,windows 10对无线网络网卡的MAC地址进行了进一步的保护。提供了通信状态下的随机MAC地址,比如说可以有两个选择:单一一次的无线网络连接使用同一个随机MAC地址,或者配置WIFI网络连接MAC地址一天随机变化一次。

        测试一下,windows 10对无线网卡MAC地址的保护:



        对test_2.4G的无线网络断开并选择“忘记”,此时需重新输入密码登陆WIFI,MAC地址已经修改,得到了新的MAC地址,这个MAC地址的Universal/Local Bit位为为1(9A的二进制位 1001 1010)Universal/Local Bit为右数第二位


再测试一次:对test_2.4G无线网络断开并选择“忘记”,此时重新输入密码登陆WIFI,MAC地址已经修改,得到了新的MAC地址,这个MAC地址的Universal/Local Bit位为为1(CA的二进制位 1100 1010)Universal/Local Bit为右数第二位



        最后一个问题:目前的状态下,要保护自己手机的WLAN的MAC地址,怎么做最安全呢?如果出门不需要用WIFI上网,则关闭WIFI功能吧;如果确实要用WFI上网,尽量升级和选择有扫描状态下随机MAC功能的手机(仅仅测试过苹果和小米手机)。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,417评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,921评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,850评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,945评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,069评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,188评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,239评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,994评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,409评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,735评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,898评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,578评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,205评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,916评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,156评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,722评论 2 363
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,781评论 2 351

推荐阅读更多精彩内容