奥利奥依旧默许网卡地址被获取,是基于什么考量?

2017-08-27 04:06:43 +08:00
 EmmaSwan
这几天刷了奥利奥,主要就为了看两点,一个是用电管理对 WIFI 的处理,这点很满意,最长纪录 17 小时 WIFI 没间断。另一点就是定位的管理。在不插 SIM 卡,不开启 GPS 的情况下,各种全家桶依旧轻易地获取了准确定位。更改路由器网卡地址后,定位就失败了。

前几代安卓就开始提供了权限管理,包括定位权限。可是却始终不管控网卡地址的权限,这样一来,只要你的局域网里有人被获取定位,你的位置也就暴露了。而大多数场景里,你都不是局域网的唯一用户。谷歌应该是很清楚这一点啊,更清楚 IOS 对网卡地址的管控。为什么直到现在,还是默许应用获得网卡地址呢?那这样,定位管理还有什么意义?

PLAY 对应用流氓行径的管理也是很废柴。那么多全家桶,公然挑战用户底线,不给通话权限不给定位权限就不给启动。比如某信。而你在 IOS 上用这些应用,即使不给权限,依旧可以启动,且正常使用。谷歌你连 PLAY 里的东西都管不好,其他应用能指望啥。

随便哪个应用,获取了通话权限和定位权限,就等于知道了某一个特定人的实时位置,这些信息只要用户数到一定程度,都可以拿去卖钱。私家侦探 /讨债公司那么容易找到人,这些应用贡献不小啊。即使找不到人,也能根据网卡地址找到你的家人你的同事,进而达到目的。

到底谷歌是为啥不在网卡地址上做出限制?应用获取不到网卡地址,能影响他什么正常功能?
10377 次点击
所在节点    Android
63 条回复
honeycomb
2017-08-27 22:30:22 +08:00
@benmaowang
是不是 macbook 不需要像 windows 那样专门安装额外的 NDIS 驱动?
benmaowang
2017-08-27 22:43:46 +08:00
@honeycomb 不需要。装上 Wireshark 就能抓,如果要指定信道,需要用 airport 命令配合。如果使用系统自带的无线诊断工具抓,可以通过界面设定信道,抓到的数据是保存到文件的,也可以用 Wireshark 打开查看。
EmmaSwan
2017-08-28 06:57:37 +08:00
楼有点歪。
我发这楼其实是想讨论安卓“为什么允许应用获取网卡地址”,而不是“为什么安卓可以获取网卡地址”
连接 WIFI 并不是由应用负责的事情,在我看来是没有必要把相关信息给他的,除非授权他获取定位权限,那么由于网卡地址可以帮忙定位,这才说得通。
从实验来看,IOS 上,如果你未授权定位,那么应用无法获取周边 WIFI 的网卡地址,和你自身连接到的那个 WIFI 的网卡地址。但是安卓上,如果你未授权定位,仅仅是拒绝了获取周边 WIFI 的网卡地址,而你自身链接到的那个 WIFI 的网卡地址,依旧被获取。所以依旧可以定位。我的疑惑就恰恰是,为什么默许应用获取这么关键的信息,而这个信息对它又没有什么用处。
楼上有些同学似乎是没有看到我主楼的实验描述,在我修改了路由器网卡地址后,这些应用就无法实现定位了。所以,显然,这个实验中,定位就是通过手机实际连接上的那个 WIFI 的路由器网卡地址来实现的。和周边其他 WIFI 没有任何关联。或许也能佐证,在未授权定位的情况下,安卓应用是无法获取周边 WIFI 信息的。
EmmaSwan
2017-08-28 07:01:19 +08:00
@fcka 我当然是没有给应用"修改系统设置"的权限的,他如何去碰触 WIFI 协议层面的信息?
liulcq
2017-08-28 08:54:15 +08:00
所以说还是 WIN10 给力, 可以让自己的网卡 MAC 随机化,每天随机、每链接随机还是按热点随机都可以设置。这样就不会存在 MAC 随机的时候冲突问题了
@benmaowang
benmaowang
2017-08-28 09:03:53 +08:00
@liulcq 怎么会不存在?只要随机就有可能会冲突,只是机率小而已。况且,别人花钱买的地址段,凭什么给你随机用,除非微软自己买一段在里面怎么随机都行。
honeycomb
2017-08-28 09:11:06 +08:00
@EmmaSwan WifiManager 不需要任何运行时权限就可以获取当前连接的网络的 WifiInfo,后者有 getSSID,getBSSID 函数就能导出来了,这是不合理的。
EmmaSwan
2017-08-28 09:17:57 +08:00
@honeycomb thanks.看来真是天残,谷歌一日不改,安卓就不存在隐私
greenskinmonster
2017-08-28 09:58:24 +08:00
@EmmaSwan 换个角度想问题吧,没必要凡事都指望谷歌。你可以停在 6.0,装 XPrivacy。7.0 版本上 XPrivacy 能不能正常工作我不太确定。也可以呼吁下有没有跟你一样有隐私意识的去 patch AOSP,或者是 LOS。开源的意义不就在这嘛。

另外未 root 的话,至少 7.0 系统,App Ops 也可以来限制应用的权限,只是需要 ADB 命令来配合,有点麻烦,每次重启还要再做。
https://play.google.com/store/apps/details?id=rikka.appops

你要想最高程度的隐私,那么你就需要一个最大程度上你可以支配的系统。
谷歌确实没提供这样的系统,但是谷歌也没阻止你去获得这样的系统,大多数东西都在 Google Play 上。
你改变不了谷歌,就改变自己呗。
honeycomb
2017-08-28 10:08:48 +08:00
@EmmaSwan

就这个(获得已经连接的 wifi 的信息)问题来说:

"thanks.看来真是天残,谷歌一日不改,安卓就不存在隐私"
iOS 有同样的问题

@greenskinmonster

AppOps 从 Android 4.3 开始就存在了
6.0 出现的变化是:
1:增加了 adb 的接口
2:对应与 6.0 的运行时权限所需的新增的一些 OP(如 OP_READ_PHONE_STATE)
greenskinmonster
2017-08-28 10:22:50 +08:00
@honeycomb 没太明白你想表达啥。

AppOps 这个只是个例子,完全可以根据自己的需要去用其它软件实现。意思就是说,说服谷歌根据你的需求去改他们的系统,可能性微乎其微。谷歌的鸟脾气,有些明显的 bug 都几年不修呢。

但是你想获得更好的隐私保护,有很多其它的办法可以实现,这些是你可以控制的。
honeycomb
2017-08-28 10:37:54 +08:00
@greenskinmonster

是一个勘误,针对这句话
“另外未 root 的话,至少 7.0 系统,App Ops 也可以来限制应用的权限,只是需要 ADB 命令来配合 ”

再具体一些的补充

目前而言,AppOps 的作用大致上是运行时权限的一部分 backend(特别是针对旧 targetSDK 应用),以及一些非运行时权限,以及其它特性(如对 SDK26 以前的应用开启后台限制)
yksoft1
2017-08-28 10:58:03 +08:00
@liulcq 这个和网卡驱动有关吧?
greenskinmonster
2017-08-28 11:04:49 +08:00
@honeycomb 我说的是我链接中的那个 App Ops 软件的功能,而不是在讨论系统内置的 App Ops,所以我附了一个链接在那里,这两者不完全是一回事。
这个软件我在 7.0 未 root 三星系统测试过,对于非要 READ_PHONE_STATE 才肯运行的软件有用,应用只会得到空数据。
7654
2017-08-28 13:59:36 +08:00
谷歌是广告公司
skylancer
2017-08-28 15:18:25 +08:00
@greenskinmonster 这就是系统内置的 AppOps,完全就是一回事
honeycomb
2017-08-28 15:36:48 +08:00
@greenskinmonster

“我链接中的那个 App Ops 软件的功能”

目前有两个做得很棒的 appops wrapper,一个是你提到的 rikka appops,还有一个是开源的 appopsX

rikka appops
https://play.google.com/store/apps/details?id=rikka.appops
配合用的 shizuku api
https://play.google.com/store/apps/details?id=moe.shizuku.privileged.api

appopsx
https://play.google.com/store/apps/details?id=com.zzzmode.appopsx
https://github.com/8enet/AppOpsX

这两者说到底都是在用 AppOps

“对于非要 READ_PHONE_STATE 才肯运行...应用只会得到空数据”
除了通过反射取 appops 以外,还有一个绕过方法,就是检测到非 null 时一律当作权限被阻止(有些银行的应用会这么做),绝大多数包括微信在内的流氓软件们都能用它治疗
greenskinmonster
2017-08-28 15:38:24 +08:00
@skylancer 表抬杠,可以认为这是利用系统 AppOps 来简化权限管理的一个工具,完全等同就不对了。比如这个软件可以设置个权限模板,新装的软件自动套用,系统的 AppOps 能做到吗?
skylancer
2017-08-28 15:40:16 +08:00
@greenskinmonster 你所给的这个工具只是系统 CLI 的前端 App 而已,简化了操作,实际上你这个 App 的任何操作均可以使用 adb 来完成
greenskinmonster
2017-08-28 15:56:37 +08:00
@skylancer 那不是把 chrome 跟 http 协议等同起来了吗?把 mplayer 和 mplayer frontend 也等同起来了么?感觉跑题有点远了。

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

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

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

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

© 2021 V2EX