一根数据线,扒出了 iPhone 的隐私盲区: 148 款 App 背后,藏着多少秘密?
原创
JacobWang
JacobWang
NowSec
2026年11月7日 17:23
陕西
去阅读
不越狱、不安装来路不明的软件,甚至主动关闭后台 App 刷新,并不代表用户就能完全看清手机里的应用到底在做什么。
一直以来,iPhone 的封闭生态和沙盒机制都是苹果安全体系的重要卖点。应用从 App Store 下载,敏感权限需要用户授权,不同 App 的数据也由系统进行隔离。
但这些安全机制解决的,更多是“应用能不能越过边界”。至于一个 App 在自己被允许的范围内做了什么、调用了哪些系统能力、引入了哪些第三方 SDK,普通用户其实很难直接看到。
最近,开发者 Arnold 开源了一个名为 iOS-NOIR 的项目。他使用 Python 和苹果已有的设备配对、诊断接口,对自己一台未越狱、安装了 148 款应用的 iPhone 做了一次审计,并公开了不少值得讨论的结果。
包括后台资源消耗、通知扩展进程、URL Scheme 查询、特殊系统权限、共享存储,以及第三方 SDK 可能参与设备身份识别等。
不过,检测到某项权限、配置或者组件,和证明应用正在利用它收集、上传个人信息,是两回事。
这也是理解整件事最重要的前提。
不越狱,也能看到 iPhone 的另一面
iOS-NOIR 比较特别的一点,是它并不要求用户越狱。
过去,想要深入观察 iOS 应用内部行为,往往需要越狱环境、脱壳、网络抓包或者专门的逆向分析工具。而 iOS-NOIR 选择了另一条路线。
它基于 pymobiledevice3 等开源组件,通过苹果本身提供的设备配对与诊断服务,从连接的 iPhone 中采集系统允许访问的信息。
比如,InstallationProxy 可以获取应用安装信息;HouseArrest 可以访问符合条件的应用文件共享容器;DVT 和系统日志接口则能够观察部分进程活动和运行时事件。
再结合 App 的 Info.plist、签名权限和 iOS 诊断日志,工具最终可以整理出一份相对完整的 HTML 审计报告。
这不是利用漏洞突破了 iOS,也不是获得了系统最高权限。更准确地说,它是在苹果允许的设备管理和诊断能力范围内,把普通用户平时看不到的信息尽可能拼出来。
这种方式当然也有边界。未越狱设备上的应用二进制和私有数据仍然受到系统保护,工具不能因此随意读取所有 App 的私人文件,更无法仅凭一项静态配置,就判断某次网络通信的真实用途。
但对于隐私审计来说,这些信息已经足够提供大量线索。
明明划掉了 App,为什么后台还有它的进程?
原作者做过一次手机静置实验。
按照其公开数据,在约一小时观察窗口内,WhatsApp 的 CPU 时间增加约 105.7 秒,本地磁盘读取约 411.5 MB;Instagram 的 CPU 时间增加约 35.6 秒,磁盘读取约 195 MB。同时,他还观察到了美团、小红书等应用的通知服务扩展进程。
很多人的第一反应是:App 明明已经从多任务界面划掉,为什么还能运行?
其中一个原因和 iOS 的应用扩展机制有关。
苹果提供了 Notification Service Extension。应用收到符合条件的远程通知时,系统可以临时启动独立扩展进程,对通知进行解密、下载附件或者修改展示内容。苹果官方文档说明,这类扩展的处理时间通常只有约 30 秒。
所以,主 App 没有运行,并不等于属于它的所有扩展进程都不能运行。
但这并不是一个可以任意绕过沙盒的“后门”。通知扩展依然受到独立沙盒、运行时间和权限限制,要读取主应用的数据,通常还需要开发者预先配置共享容器。
同样需要避免另一个误区:CPU 时间和磁盘读写量,并不能直接等于隐私泄露。
读取大量本地数据,可能和缓存、媒体文件、数据库整理、索引或者正常业务逻辑有关。要证明这些内容最终离开了设备,还需要网络流量和服务器端行为等更多证据。
原帖中还提到一份支付宝诊断记录,称应用在 7414 秒内发生了 14228 次线程唤醒,并因资源限制被系统终止。不过,14228 次与原帖提到的 45001 次阈值并不一致,两者可能对应不同统计范围,仅凭这一组数字,还不足以确认具体终止原因。
iOS 后台并非完全静止,但“后台还有活动”和“App 正在偷偷窃取数据”之间,仍然差着一条完整证据链。
你的手机装了什么,其他 App 可能真的能猜出来
相比后台进程,URL Scheme 可能更接近普通用户能理解的隐私问题。
iOS 应用可以注册自定义 URL Scheme,让其他 App 通过特定链接唤起自己。支付、地图导航、第三方登录等功能都会使用这种机制。
苹果同时提供了 canOpenURL,允许应用判断设备能否处理某个 URL Scheme。
这意味着,在符合系统限制的情况下,应用确实可以借此判断用户是否安装了某些软件。
原作者称,其扫描结果中,航旅纵横声明了 280 个待查询 URL Scheme,Soul 声明了 250 个,其中包含银行、办公、汽车品牌以及社交应用相关协议。
如果一个应用能够判断用户是否安装了高端汽车品牌 App、投资交易软件或者某类社交应用,这些信息确实可能被用于补充用户画像。
但这里有一个必须补上的技术边界。
声明了 280 个 Scheme,不代表实际成功查询了 280 个 App。
苹果对 LSApplicationQueriesSchemes 本身存在数量限制。针对不同 SDK 版本,系统允许查询的数量并不相同,因此静态配置中的大量声明,只能说明安装包里存在这些内容。
它有没有真正调用、实际查询成功了多少、结果有没有上传,都还需要动态验证。
问题从来不是 URL Scheme 本身,而是一个正常的互操作机制,是否被扩展成了用户并不知情的设备画像工具。
卸载再重装,也不一定等于“第一次见面”
原帖还总结了一套“五层设备身份链”,涉及 iCloud 键值存储、Keychain、App Groups、运营商认证和 Wi-Fi 信息。
其中一些表述比较绝对,但背后涉及的隐私问题确实存在。
先看 Keychain。
iOS 钥匙串主要用于保存密码、Token 等敏感信息,也支持符合签名和访问组要求的应用共享指定数据。部分 Keychain 数据在 App 被卸载以后仍可能保留,因此应用重新安装时,理论上可以利用这些信息恢复登录状态或者识别此前的安装环境。
App Groups 则允许同一应用体系内的 App 和扩展共享指定容器。iCloud 键值存储还可以提供跨设备同步。
这些能力都有正常用途,例如账号同步、登录状态共享以及应用套件之间的数据交换。
但从隐私角度看,它们也说明:删除 App,并不天然等于与这个 App 相关的所有身份关联信息都被清空。
不过,持有相关签名权限,只代表应用具备使用这些能力的资格,并不能直接证明开发者已经写入了永久追踪标识,更不能证明其正在违规跟踪用户。
IDFA 和 VPN 也经常被放在一起讨论,但两者解决的本来就不是同一件事。
关闭广告跟踪授权,主要限制广告标识符以及苹果定义的跨应用跟踪;VPN 主要改变网络流量的传输路径。用户主动登录的账号、合法保存的 Token 和服务器端风控记录,并不会因为打开 VPN 就自动消失。
不是这些隐私保护机制没有意义,而是不能指望单一开关解决全部身份识别问题。
特殊系统权限,不能只看名字下结论
原帖中争议比较大的另一部分,是应用持有的一些特殊签名权限。
例如 VoIP 推送相关能力、多路径网络通信 Multipath,以及 Wi-Fi 热点辅助功能 HotspotHelper。
这些能力确实存在,而且部分还需要苹果额外授权。但权限名称本身,并不能直接证明实际行为。
以 Multipath TCP 为例,它的正常用途是让网络连接在 Wi-Fi 和蜂窝网络之间平滑切换,提高连接稳定性。拥有 Multipath 能力,并不意味着应用天然可以绕过任意 VPN。
要证明某个 App 在 VPN 开启后仍通过蜂窝网络直接通信,需要真实观察路由、网络接口、连接目标和出口地址。
HotspotHelper 也是类似逻辑。它可以访问部分 Wi-Fi 热点相关信息,但苹果对使用场景有明确限制,不能仅凭 Entitlement 就认定应用持续扫描周边所有路由器并上传位置。
特殊权限值得审计,但特殊权限本身不是恶意行为的证据。
真正值得继续追的是:为什么需要这个权限、在什么场景调用、调用后访问了什么数据,以及数据最终去了哪里。
比系统权限更复杂的,是第三方 SDK
原帖还从多个应用中识别出了第三方 SDK、域名和组件信息。
这其实触到了今天移动端隐私治理里一个更现实的问题。
一款 App 并不等于一家公司的代码。
为了支付、统计、广告、崩溃分析、反欺诈、身份认证和运营分析,应用往往会同时集成多个第三方 SDK。
这些 SDK 可能拥有不同的数据访问能力,也可能连接完全不同的服务端。
例如金融业务通过设备状态、输入节奏和操作行为做风险识别,本身可以有合理业务目的。但相同的技术如果进一步用于广告画像或长期跨场景关联,就会产生另一类隐私问题。
识别组件和权限 → 确认实际调用 → 观察数据访问 → 验证网络传输 → 判断业务必要性
安全审计如果只做到第一步,就很容易把“具备能力”误写成“正在做坏事”。
同样,二进制中出现某个 SDK 名称,不代表这个 SDK 的所有功能都已经启用;配置文件中存在某个域名,也不意味着应用当前一定会向它传输数据。
尤其是 NSExceptionDomains,还必须继续查看具体 ATS 参数,不能仅因为域名存在就认定 App 关闭了 HTTPS 保护。
一根 USB 数据线,能不能直接读走 App 私人文件?
原作者通过 HouseArrest 发现,部分应用开启了 UIFileSharingEnabled,因此 Documents 目录中的部分文件可以通过设备文件共享接口访问。
这是 iOS 正常提供的功能。
开发者可以允许用户通过 Finder 等工具访问应用公开共享的文件。但如果开发者把数据库、密码文件或者其他敏感内容错误放进共享目录,暴露面就会随之扩大。
不过,这里同样不能省略一个重要前提:
设备通常需要先完成苹果的“信任此电脑”与配对流程,访问还会受到设备锁定状态和数据保护机制约束。
所以,这并不是“任何人接一根 USB 线就能读取所有 iPhone App 文件”。
更现实的风险,是已经获得信任的电脑本身被恶意软件控制,或者用户曾经授权了不可信设备,此时暴露在文件共享目录中的敏感数据就可能增加风险。
它更接近应用的敏感文件存储设计问题,而不是整个 iOS 沙盒失效。
iOS-NOIR 值得研究,但“隐私护盾”别急着装
除了审计能力,项目作者还提供了加密 DNS 配置描述文件和部分代理软件拦截规则。
这套思路本身没问题。通过域名规则屏蔽部分广告、统计和追踪服务,确实可以减少一些不必要的网络通信。
但它并不是一个万能的隐私防火墙。
项目中的 mobileconfig 使用的是外部加密 DNS 服务:
https://dns.adguard-dns.com/dns-query
DoH 可以保护 DNS 查询在网络传输过程中的内容,但 DNS 服务提供商本身依然会处理这些查询。
另外,项目规则还可能拦截部分运营商一键登录、统计或者其他业务服务。这些域名有时承担的并不仅是广告功能,也可能参与正常登录、风控、推送或者业务流程。
配置描述文件本身拥有修改网络行为的能力,安装之前至少应该检查 DNS 地址、证书、设备管理权限以及其他网络设置。
对普通用户来说,与其直接安装陌生 mobileconfig,更适合先用 iOS 自带的 App 隐私报告。
在“设置 → 隐私与安全性 → App 隐私报告”中,可以看到应用对定位、相机、麦克风等敏感资源的部分访问情况,以及相关网络活动。
同时定期清理不用的权限和 App,也比盲目安装所谓“隐私增强配置”更稳妥。
真正的问题,不是 iPhone 到底安不安全
看到这里,很容易得出一个过度悲观的结论:既然还有这么多后台能力,苹果的沙盒是不是也没什么用了?
不是。
iOS 的沙盒、代码签名、权限授权和应用审核依然是非常重要的安全边界。它们限制了未经授权的数据访问,也让普通 App 很难直接获得完整系统控制权。
问题在于,安全和隐私并不是完全相同的概念。
一个 App 可以在完全不突破沙盒的情况下,合法调用系统提供的接口;第三方 SDK 也可以在合法获得业务权限以后,处理比用户想象中更多的数据。
真正需要长期关注的,不是“这个权限存不存在”,而是:
谁在使用它;
为什么需要使用;
实际采集了什么;
数据有没有离开设备;
用户是否真正知情;
以及能不能关闭。
从这个角度看,iOS-NOIR 最有价值的地方,并不是证明“148 款 App 都在偷偷监控用户”。
它更像是提供了一种新的观察角度:把原本隐藏在系统配置、签名权限、运行日志和应用扩展里的东西,尽可能摆到桌面上。
写在最后
一台 iPhone 有没有越狱,并不能回答所有隐私问题。
一款 App 有没有通过 App Store 审核,也不能代表用户就已经完全了解它的数据行为。
但反过来,扫描到了一个特殊权限、一条 URL Scheme、一个第三方 SDK,也不能直接证明这个 App 正在偷数据。
真正靠谱的移动隐私审计,最后还是得回到证据上。
权限只能说明“它可能做什么”。
日志只能说明“它做过什么的一部分”。
要证明隐私数据被不当采集和外传,还需要把调用、数据和网络行为真正串起来。
这条原则适用于 iOS,也适用于 Android、浏览器插件和桌面客户端。
iOS-NOIR 真正值得关注的地方,不是给 148 款 App 贴上“有问题”的标签。
而是提醒了一件很现实的事:
系统允许某种行为,不代表这种行为一定符合用户对隐私的预期。
比制造恐慌更有意义的,是让这些行为逐渐变得可观察、可验证、可解释。
当用户终于能看见 App 在做什么,隐私保护才真正有机会从“相信平台”走向“验证平台”。
资料来源
-
Arnold:X 平台公开发布的 iOS-NOIR 研究
-
iOS-NOIR 开源项目:
https://github.com/arnold117/iOS-NOIR -
Apple Developer Documentation:Notification Service Extension、canOpenURL、PushKit、Multipath TCP、HotspotHelper、Keychain Sharing、App Transport Security
4. Apple Support:App 隐私报告、信任此电脑
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论