[安全漏洞] 9102 年都快过去了,为什么 android 应用仍然可以无需权限畅通无阻的获取网卡 mac 地址?

2019-10-21 17:44:57 +08:00
 Jirajine

详见

https://www.jianshu.com/p/16d4ff4c4cbe

https://stackoverflow.com/questions/33159224/getting-mac-address-in-android-6-0

我不知道 google 在 6.0 7.0 的时候封 mac 获取是在搞什么笑话,留了这么大一个窟窿,直到 Pie,应用依然可以通过 native 层获取(并且因为是 native 层,xposed 的 hook 完全无法阻止) < uses-permission android:name="android.permission.INTERNET" />权限几乎是必须权限,并且完全没有任何办法管理。

可以用这个测试: https://play.google.com/store/apps/details?id=com.ddm.ethwork

在我的 LineageOS16,android P 上,它工作的非常好,双 wifi 网卡全部都可以取得地址。

不知道 Q 能否有所改善,但目前来看,Q 只是把 P 中需要手动开启的“Connected MAC Randomization”变成了默认开启,并且会为每一个 ssid 使用一个固定的 mac 地址,对于对抗追踪几乎没有任何帮助。

目前只能写开机脚本 root 执行手动修改成随机的 mac 地址,但无法对每一个应用提供不同的随机化的 mac 导致依旧会被追踪,帮助微乎其微。

android,windows 这些年来到是把外部的 wifi 探针问题解决了差不多,但内部的却依然不设防一般。

5674 次点击
所在节点    信息安全
5 条回复
Jirajine
2019-10-21 18:11:05 +08:00
估计 Google 也不打算修了,只能去给 lineageOS 提 issue 看看能不能解决这个问题。
Baymaxbowen
2019-10-21 18:17:08 +08:00
今天看到一个新闻说 10 会把这些结构屏蔽掉
Jirajine
2019-10-21 18:25:31 +08:00
@Baymaxbowen #2 如果你指的是这个:
In Android P, Google rolled out a developer option to enable MAC address randomization, but it was turned off by default. With the first beta of Android Q, the option became the default.
那么没有效果,这个开启之后会为每个 ssid 使用一个随机的 mac,不换 wifi 不会变,并且所有应用读取到的值也一致。

Q 确实额外提供了仅有 device onwer 可访问的 api 来获取 mac 地址,但 native 层的这个漏洞确是一点都没提。
billlee
2019-10-21 22:03:07 +08:00
native 层这些历史遗留太多了吧,linux 获取 mac 地址,我知道的至少有 procfs, sysfs, netlink 三套接口
Jirajine
2019-10-21 22:15:59 +08:00
@billlee 没那么多,据我所知 sysfs 的已经封了,不过依然有漏洞广泛使用还一直不修,Google 当初搞阻止获取 mac 返回 02:00..就像是笑话。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/611470

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX