MAC地址随机化:并未如你所想那么随机

编译:Mdrights

什么是 MAC 地址, 为什么要随机化它?

网络设备的接口(俗称网卡)上都有一个出厂时即设定进硬件的(即硬编码的)一组编码,全称“介质访问控制”(Media Access Control)地址(48位),位于链接层中。它是全球唯一的,由 IEEE组织向各厂商有偿分配,其设计用意是因为网络连接过程中需要对网络设备进行唯一性识别。

所以同时也带来了隐私问题,尤其是在那个欧洲次大陆,这是个严重的问题。解决办法就是给设备分配个随机的 MAC地址,让网关(网络的枢纽设备)及偷窥者无法对不同的 MAC地址产生关联,也就无法跟踪某一设备去过哪些网络。

随机化MAC地址的工具

1.2 如果你用 NetworkManager (>1.4), 那你可以舒服地肆意设置你的MAC地址了, 见 他们开发者的博文: 1, 2

1.3 你还可以用 macchanger, macchiato 等等. 见 Archlinux 相关wiki。(用 Linux多好:)

或,

$ openssl rand -hex 6 | sed ‘s/(..)/\1:/g; s/./0/2; s/.$//’ # 生成随机MAC格式的字串 $ sudo ifconfig eth0 down hw ether XX:XX:XX:XX:XX:XX && ifconfig eth0 up ```

2 macchiato (暂未在MacOS试过): https://github.com/EtiennePerot/macchiato

然后就一劳永逸了么?

当然不是, 特别是在移动设备上. 最近的 这个研究 显示, 移动设备(主要是它的操作系统) 并没有很好实施MAC的随机化, 其中或是操作系统开发者的主观设置(比如为了照顾用户体验), 要么是设备的芯片和固件对分配MAC地址的兼容性问题, 还有就是 802.11( WiFi) 无线网络协议本身的复杂性.

Whonix的博客 对这个论文做了简单的解读 (原文实在有点艰深晦涩—译者看了几天还瑟瑟发抖), 现经过译者对这两篇文字的综合理解, 再次解读如下. (有能力的童鞋欢迎继续解读~)

—-翻译开始—-

问题还是存在的. 智能手机的行为和一般计算机网卡(包括有线和无线的) 是不一样的, 因为分配给你电脑的MAC地址不会通过本地路由器被动发给本地网络之外的电脑. 这个意思就是电脑的MAC地址不会被追踪,除非被同一局域网里的电脑记录到.

智能手机的行为有很大的隐私隐患. 任何网络观察者都可以通过窥探周围的 WiFi 网络流量,来定位该流量的特定唯一的设备. 除了广播自己的MAC地址ID之外, 智能手机还发送 “探测请求”, 一种半持续的信号:

… 无线设备在足够近的范围内识别接入点(AP). 传统的是, 设备通过广播自己的探测请求来实施主动扫描, 请附近的AP识别他们, 并通过回以 802.11 参数信息来设置连接. 这种探测请求框架就要求必须要有源设备的MAC地址. 但如果一个 802.11 设备用自己的全球唯一MAC地址来广播, 那么它也是在每一刻都向周围所有的无线设备广播自己的真实身份. 因此可以很轻松地追踪到无线设备用户 在时间和空间上的痕迹. —-引自那篇论文

为了解决该问题, 大多数主流智能手机制造商和操作系统 (安卓/iOS等) 都采取了措施: 在无线网卡还没有与AP关联的时候 (即在广播请求状态), 实行临时随机化的MAC地址, 区别于真实的地址. 这种随机的伪地址会随一定时间而变动一次. (这里译者有些怀疑国产厂商是否有意愿和能力来做这个, 除了少数几个国际化的厂商(Huawei?), 而且那几个国际化厂商针对国内的产品是否真正用了该技术也尚待验证)

那么至少在理论上, 网络流量的观察者(如ISP) 就不能够从大量设备流量中找出某特定设备的流量, 或者通过周边设备来识别出某设备的物理位置. 因为随机化的MAC地址 (且在变动–译者加注) 之间无法关联.

然鹅, 故事还没有完.

有瑕疵的MAC地址随机化实践

对隐私倡导者来说, 不带静态ID的网络流量传输 是保障隐私的一个共识方法. 但不幸的是, 美国海军研究院的这个研究表明 智能手机执行这项技术时有严重的瑕疵(漏洞), 不管是哪个系统, 设备制造商和型号.

这项2017年的研究采用真实世界的数据, 有以下发现:

(译者再来补充几点: )

(是不是有点不说人话了?让我们直接看看那篇论文的一些结论):

这项攻击实验其实就是通过钓鱼热点(该热点的 SSID 名和现场某热点名字完全一样),然后就能看到那些设置了(上面提到的)直连的(或连接了隐藏AP)设备的真实 MAC地址。那么它还告诉你这设置是可以改的,就在 wpa_supplicant.conf 里(iOS没有这个)。然鹅大部分用户是不知怎么更改的,除非你是命令行控且意识到这个隐私问题。


就酱,我不是来黑安卓的

Happy hacking

Posted on June 25, 2017