在使用 iOS 设备与局域网内其他设备互动的过程中,发现一些有意思的现象,可能对分析“本地网络”能在多大程度上保护用户隐私有所帮助:
第三方浏览器似乎不需要允许“本地网络”权限就可以访问局域网内地址,例如路由器管理页面。是因为 iOS 上的第三方浏览器都是 AppleWebKit 套壳,所以不再需要额外权限?
使用 SSH 软件连接局域网内服务器,必须允许“本地网络”权限,否则无法连接。
使用群晖 DS 套件 App 连接局域网内 NAS ,发现“本地网络”权限所保护的对象,似乎仅限与当前设备处于同一网段的 IP 地址。
192.168.1.123
,“本地网络”权限似乎只能用于限制 App 与属于 192.168.1.0/24
网段的 IP 进行通信,而对于其他网段的局域网 IP 则不做限制。192.168.0.234
的服务器,用户使用 IP 地址为 192.168.1.123
的 iOS 设备,无需给相应 App 授权“本地网络”权限,即可跨网段连接到目标服务器。App 可以获取用户是否允许了“本地网络”权限,进而调整自己的行为。例如使用 Readdle Documents 开启 WebDAV 服务器:
http://设备 IP
连接;http://设备 IP:随机端口号
连接xxx 的 iPhone
。进一步猜测还可以获取到 MAC 地址,如果 App 开发者想做,完全存在被用于用户画像 /追踪的可能。以上都是基于用户主动输入 IP 地址:端口号发起连接时的行为,至于 App 后台自行发起的连接,iOS 系统是否有能力与用户发起的请求作出区分,还请了解 iOS 开发的大佬解答!
1
ruixue 2022-01-04 12:38:16 +08:00
这个本地网络权限是有点迷,TIM 局域网备份聊天记录到电脑,显示要本地网络权限,实际上不给也能成功备份,然而微信如果不给本地网络权限,备份必定失败
|
2
daveh 2022-01-04 12:49:27 +08:00 via iPhone
你理解的还不够到位,你提的那些问题应该不是问题。
并不是说能访问到局域网其他 IP 就会泄露隐私,而是其中 IP 对应的 MAC 地址可能泄露你隐私。 试想如果这个 MAC 地址是你 Wi-Fi 路由器的,那 app 根本不用请求定位权限,仅通过扫描出的 MAC 地址就能查到对应 AP 所在位置,从而间接定位到你的位置。 局域网中,跨网关后,没法获取到其他网段 IP 的 MAC 地址,所以应该也不存在泄露隐私问题。 |
3
yaoyao1128 2022-01-04 13:20:58 +08:00 via iPhone
mac 地址获取不到 ios11 开始
之后设备名称是 ptr 记录( rdns )就会返回的 这个好像是 dhcp 分配的结果 跨越了 dhcp 所以获取不到 |
4
kingxiangqi 2022-01-04 16:39:13 +08:00
这么说的话,Mac 上安装的 iOS App 没有权限管理,网络可以随便扫呗?
macOS 也没有 iOS 的私有 MAC 地址功能,笔电背包族还是可能会被追踪。(可以手动改 |
5
zjddp 2022-01-05 09:19:49 +08:00
我知道的两个需要“本地网络”的场景是 DLNA 设备发现和苹果的 Bonjour 服务,这两个应该都用到了组播。
|
6
okakuyang 2022-01-05 16:56:05 +08:00
“至于 App 后台自行发起的连接,iOS 系统是否有能力与用户发起的请求作出区分”
可以,用 c 的库写的请求也可以拦截,iOS 提供的网络库应该也是对 c 那些库的封装。 |