如何判断 Mac 应用是否在通过网络窃取你的信息
脚踏实地地教你识别那些“回拨服务器”过于频繁的 Mac 应用——分清正常通信与真正监控之间的信号差异。
- Privacy
- Security
- macOS
- Network monitoring
你装一个屏幕录制应用,给了它请求的权限,一周后你注意到它每晚 3 点都在传几百 KB。它是不是在监视你?大概不是。它是不是在做你没同意的事?可能是。"一个 mac 应用是不是在网络上监视"这个问题有真实答案,不是"是"或"否"——是"实际什么在离开机器、它去哪、那是不是符合应用告诉你它会做的事"。
这是技术帖,不是偏执帖。多数应用没事。少数应用话多。极少数做不该做的事。目标是用证据而不是感觉区分它们。
遥测 vs. 监视——它们不一样
两件很不一样的事经常被混在一起:
- 遥测。 应用报告匿名化的使用数据:功能计数、崩溃日志、安装信息,有时粗糙的人口统计。通常隐私政策里披露。常可选退出。一般不恶意,即使烦人。
- 监视。 应用把内容外发——你输入的东西、你打开的文件、你屏幕上的东西、你的联系人、你的摄像头输入——发到服务器,无披露或刻意含糊披露。这在主流 Mac App Store 应用里罕见但确实发生,特别是商业模式不清的免费应用。
带宽监控能给你看网络活动的量和时机。它不能告诉你加密连接的内容。披露行为和观测行为之间的不匹配通常足以标记一个 mac 应用在网络上的监视——或更常见的是,确认看起来可疑的实际是平常的。
mac 应用在网络上监视的迹象
这里是值得多看一眼的规律。
非时间段上传
一个应用在你睡着的凌晨 3 点上传数据、没有用户动作能触发它,值得问一下。一些合法理由存在(分析批量、错误日志上传、内容同步),但一个屏幕录制器在凌晨 3 点上传 80 MB 而录制功能没在用,至少值得问一下。
反复重连
一个应用持有长连接或每几秒重连,是在做实时通信。聊天应用和协作工具(Slack、Discord、Figma)需要这个。PDF 阅读器不需要。
持续慢速上传
5–20 KB/s 持续细流是流式遥测的指纹。那是按键、屏幕帧、还是只是分析事件,看应用。值得知道背后是什么。
连接到许多不同主机
多数合法应用跟少数后端通信——它们自己服务器、可能一个分析提供商、可能一个 CDN。一个跟 30 个不同主机通信的应用要么用了很多第三方 SDK(广告支持的应用典型),要么在做更有意思的事。
加密到未知 IP 段
几乎所有现代应用都用 HTTPS,所以加密本身不可疑。有意思的是哪些主机。一个跟自己域加 Cloudflare CDN 加 Apple 分析端点通信的应用是正常的。一个跟开发者所在国无关的国家的纯 IP 地址通信的应用至少奇怪。
你实际能看到什么、看不到什么
macOS 上的按应用带宽监控给你:
- 进程名(以及辅助进程,正确归因时)。
- 按时间的发送和接收字节。
- 实时速率,加历史。
- 经常还有连接计数。
它不给你:
- 加密连接的内容。
- 没有额外工具就拿不到的目的域或 IP。
- 应用是否在读你的麦克风、屏幕或按键。
对目的端,lsof -i -n -P 显示按进程当前打开的连接。对域解析,你能把它和 DNS 日志或 Little Snitch 这种工具配对。对内容,你需要一个装了根证书的中间人代理,那是比多数人想要的更具侵入性的设置。
多数用户的现实工具栈:
- 菜单栏带宽监控做什么时候和多少。
- macOS 隐私权限面板做应用能访问什么。
- 偶尔
lsof做它在跟谁通信。
那已足够抓到几乎所有重要的东西。
实操调查流程
如果一个应用的行为让你怀疑:
1. 拿基线
观察应用一周不干预。它的正常上传规律是什么?什么时候传数据?每天多少?没有基线,每个尖峰看起来都可疑。有了,只有真实异常才显眼。
2. 检查隐私权限
系统设置 → 隐私与安全。看:
- 完全磁盘访问(非常强大——多数应用不需要)。
- 屏幕录制。
- 辅助功能。
- 摄像头、麦克风。
- 文件和文件夹。
交叉对照:这个应用声明的目的需要这些权限吗?笔记应用不需要屏幕录制。键盘工具不需要完全磁盘访问。
3. 检查网络目的地
应用在做让你好奇的事时跑 lsof -i -n -P | grep AppName。看远端主机。对任何看起来不寻常的做反向 DNS 或 WHOIS 查询。
4. 读隐私政策
是的,乏味。但相关问题是"政策有没有披露你观察到的"。如果应用每天上传遥测且政策说"我们收集匿名使用数据",那一致。如果应用每天上传遥测且政策对数据收集啥也没说,那不匹配。
在自己机器上观察这件事
ova 是显示按应用实时速率和历史时间线的菜单栏带宽监控。对这篇里那种调查重要的是:
- 正确处理辅助进程的按应用归因(这样 Chrome Helper 不会是自己一行)。
- 你能拖动的历史,所以"上周二凌晨 3 点这个应用做了什么"有答案。
- 纯本地数据,这样你不会把你正试图保护的信息交给云监控服务。
什么算正常——几个例子
如果你不认识,一些看起来可疑的应用:
mdworker_shared. macOS Spotlight 索引器。后台工作,网络不重。trustd. 校验 SSL 证书。跟 Apple 服务器通信。正常。apsd. Apple Push Service。跟 Apple 持有长连接。正常。nsurlsessiond. 后台网络任务调度器。许多应用通过它排队上传/下载;它显示成 worker,不是原应用。syncdefaultsd. 通过 iCloud 同步偏好设置。低量,频繁。Dropbox/Google Drive/OneDrive. 同步客户端。高量,不可疑。Slack Helper (Renderer). Slack 的辅助进程。多个;合起来占 Slack 的流量。
如果你不认识一个进程,用引号搜精确名字——"process_name" macOS——通常五分钟内你会找到清楚答案。
看你的应用在网络上实际做什么
ova 是一眼可瞄的菜单栏带宽监控——本地、签名、约 3 MB。无账号,无云。
真正看起来不对的时候
你观察一个应用一周,规律不符合它声明的目的,隐私政策没提到你看到的,lsof 显示连接到没意义的主机。然后呢?
按顺序:
- 退出应用并移除。 拖到废纸篓不总够——许多应用装会持续的 LaunchAgents 或 LaunchDaemons。AppCleaner 这种工具帮上忙;手动检查
~/Library/LaunchAgents和/Library/LaunchAgents更彻底。 - 撤销它有的任何隐私权限。
- 决定要不要举报它。 Apple 认真对待 Mac App Store 举报。Apple 反馈助手和 App Store 举报流程是合适渠道。
- 不要在你会继续用这个应用的机器上"在防火墙级别阻断"它。 那是防火墙用例(Little Snitch 领地)。监控是为可见性;如果你想阻断,用阻断工具。ova 是监控,不是防火墙。
收尾
多数应用没事。少数话多。少量越线了不该越的。发现 mac 应用在网络上监视不是偏执——是卫生。观察机器一周,建立基线,反常会无需努力地显眼。
装 ova,让它安静跑着,下次某个应用感觉不对时你会有数据而不是直觉。