AD

WIN10中的WIFI MAC地址随机化分析

0x01 概述


微软在最新的win10上推出了新的安全举措——MAC在WIFI环境中的随机化处理。下面了解一下使用方法和原理。

0x02 开启方法


首先,必须WIFI网卡的驱动支持MAC地址随机化,以Intel 7265 AC为例。打开win10系统中的网络设置——管理WIFI网络设置



假如该网卡及驱动支持MAC地址随机化,则可以看到该选项:



选择ON选项即可。

0x03工作场景


该安全功能开启后,如果正常工作的话,windows将在搜索附近WIFI网络和连接WIFI网络时,无线网卡使用随机的MAC地址。同比而言,APPLE仅仅在搜索附近的WIFI时使用随机的MAC地址,APPLE在连接WIFI网络时,使用的依然是真实MAC地址。

使用一个随机的MAC地址会引发一个问题,假如用户已经使用 这些/自己的/随机的 MAC地址通过了认证。为了避忙这种情况,win10在连接一个特定的WIFI网络时,总是使用同一个随机地址。

例如:连接至一个付费的WIFI网络,该网络会将你的MAC地址作为认证中的一个要素。当开启MAC地址随机化后,WIN10将会在你第一次连接的时候使用一个随机化的MAC地址。假如你在未来一段时间内重新连接该网络,WIN10会使用向前相同的MAC地址进行连接。这样能保证你不需要重新连接至该付费WIFI,导致多次付费。但是这个措施有一个缺点:虽然比以前使用你的真实MAC连接WIFI网络,随机化的MAC地址提升了一些隐私安全。当经常使用该地址连接至特定网络时,攻击者可以获知到联入该特定网络上的该设备。

0x04 原理分析


连接至某一个WIFI网络,使用的随机化MAC地址,是使用如下公式生成的:

MAC(R)=SHA254(SSID,MAC,CONNid,SECRET)

SSID即无线网卡连接至的无线网络名称,MAC地址为设备真实的MAC地址,CONNid是一个值,该值会在用户每次添加/移除网络时发生改变,SECRET是一个256bit的密码随机数,不同的网卡会有不同的SECRET值,以确保不同的网卡会生成不同的随机MAC地址。

最终,bits in the most significant byte of address are set so it becomes a locally administered, unicast address.

0x05其他场景


win10可以对某一个/特定的无线网络关闭MAC地址随机化功能。可以按照下面的操作来关闭,访问该网络将采取真实的MAC地址。



在这个高级设置中,有三个选项:

on:连接至该网络总是使用随机化的MAC地址

off:总是使用真实的MAC地址

Change daily:每天都会使用新的随机化的MAC地址(选取该选项,新的随机化地址如何生成,和旧的如何接力)

需要注意到是,如果启用MAC地址随机化功能,WIN10在扫描搜索附近的WIFI网络时,将总是使用一个随机化的MAC地址。并且该“SCANNING”地址,每次连接/断开网络,或者重启网卡设备/本机时,均会发生变更(多次扫描,不进行连接,是否会改变SCANNING使用的MAC地址,是否禁用/启用网卡会改变该值,重启WIN10是否会改变该值)。因为不会频繁的改变该地址,但依然能在一个较长的时间段里防止攻击者的跟踪。与之相比,APPLE大约几分钟就会更新一次SCANNING使用的MAC地址。

0x05安全分析


WIN10的MAC地址随机化提升了用户的隐私安全,但还存在一些安全问题,可以被bypass。

1、RISK01


在使用MAC地址随机化时,网卡发送的WIFI数据包中,SEQ序号并没有随着随机化的MAC地址的改变而改变。大多数的WIFI数据包的数据帧中都包含SEQ序号,用于检测是否需要把该数据帧重新发送,SEQ序号会在成功传输后增加。但是,当用户连接至一个网络时,虽然随机化的MAC地址进行了更新,但SEQ序号并没有随之重置或改变。



如上图所示,来自MAC地址为“ea:69:0a:*”的SEQ序号为92,来至MAC地址为“ 7c:5c:f8:* ”的SEQ序号为94。根据这个现象,可以认为这两个数据帧均由同一个网卡设备发送。换言之,攻击者将会发现一个网卡设备使用了2个MAC地址,发现该设备使用了MAC地址随机化选项。

2、     RISK02


win10在和Hotspot 2.0网络进行通信互动时,会泄漏真实MAC地址。Hotspot是一个让用户可以自动地安全地在WIFI网络中漫游的新标准,无需人工干涉参与。你的设备可以自动确定是否有合适的凭证(PASSWORD)连接至某个网络。设想一下场景,该场景含有一个GMS蜂窝网络,当你下了飞机,进入该蜂窝网络的覆盖范围,你的手机会自动尝试连接至这个国外的蜂窝网络。Hotspot标准使WIFI也实现了该功能。

为了实现自动漫游,Hotspot 2.0在连接AP前,会向发送ANQP请求。ANQP请求会请求关于该无线网络的详细信息,包括连接hotspot所需要的凭证,不论hotspot提供互联网访问或者仅仅是本地局域网。不幸的是,win10发送ANQP请求时使用的是真实的MAC地址。



如上图所示:数据帧请求使用的是随机MAC地址“ 2a:b3:e6:*”,该请求用于探测附件存在的网络。加入附件有一个Hotspot2.0标准的网络,Win10将会使用真实MAC地址“7c:5c:f8:*”发送一个ANQP请求。因此,攻击者可以通过构造广播一个虚假的Hotspot2.0网络来获取到目标的真实MAC地址。幸运的是,WIN10只在至少有一个配置好的Hotspot2.0网络是才会发送ANQP请求。截至目前,配置好的该网络类型还是很少。但随着Hotspot2.0网络的普及覆盖,用户泄露真实MAC的风险将会上升。

 

评论

此博客中的热门博文

简单粗暴导出小米便签

我——终于一个人了

多种方法绕过POWERSHELL的执行策略