誰在偷看你的 iPhone 相冊?只需 3 個操作就讓流氓 App 無處藏身

10 月 8 日,一條有關於微信的熱搜 #微信在後臺反複讀取用戶相冊# 引發了不小的話題,一位用戶利用 iOS / iPadOS 15 自帶的「記錄 App 活動」和應用「隱私洞見」發現微信會在未主動使用的情況下後臺掃描用戶的相冊。這也讓不少人擔心自己的照片會被用於跟蹤,甚至有可能會被意外洩露。

雖然微信也於當晚通過新浪科技作出了回應,但我們也可以在自己的 iDevice 上查看已安裝的 App 是如何使用自己數據的,也就是通過之前提到的 iOS / iPadOS 15 自帶的「記錄 App 活動」功能進行查閱,但它目前有一個小問題——不夠直觀。

圖片
Apple 官方還未上線的 App 隱私活動查看功能,來自 Apple Newsroom
雖然,WWDC 上提到「記錄 App 活動」這個功能在稍後的 iOS / iPadOS 版本中將提供可視化圖表,但是截至 iOS / iPadOS 15.1 beta 3 此功能仍未上線。這個功能目前已經可以導出純粹的 json 格式,但 json 不利於普通用戶進行數據分析,所以我們仍需借助「隱私洞見」才能進行可視化分析。

1打開和存儲「記錄 App 活動」

在執行 iOS 或者 iPadOS 15 的 iOS 設備和 iPadOS 設備上,前往「設定 > 隱私 > 記錄 App 活動」,並打開「記錄 App 活動」右側的開關。此時,你的設備會立即開始記錄各個 app 的活動,你可以隨時選擇存儲,設備會記錄近 7 日內的各類隱私數據的 app 活動,包括相冊、位置、麥克風、攝像頭等等訪問數據,還有這些 app 訪問的網路 IP 或者域名。
圖片
打開後,下方會出現「存儲 App 活動」的按鈕。點擊這個按鈕,iOS 會將目前已經記錄的活動保存成一個文件,並彈出分享菜單(這個過程可能會花上一點時間)。

2把隱私訪問數據導入「隱私洞見」

安裝「隱私洞見」之後,在「設定 > 隱私 > 記錄 App 活動」中點擊「存儲 App 活動」,此時在彈出的共享菜單中選擇「導入到隱私洞見」,在彈出的窗口中點擊「導入」。在這個窗口中,還可以添加一些標註,可以酌情添加。
圖片
點擊「導入」之後,所有數據都會導入這個 app。「隱私洞見」也會自動打開,顯示提示「已導入」。此時點擊「查看」按鈕,即可查看本次存儲的隱私活動數據。
要註意的是,目前 iOS 只能記錄 7 天的 app 活動,因此,為了能夠持續獲得隱私報告,用戶需要每 7 天將 App 活動報告導入到「隱私洞見」一次。

3. 查看具體 app 的隱私訪問數據

由於在 iOS 隱私報告中並不會出現 app 的具體名稱,而是以標識符的形式呈現,「隱私洞見」通常會調用 iTunes API 訪問 App Store 自動識別這些標識符;但如果沒有自動識別,我們也可以手動對這些標識符進行識別,從而能夠更清晰地看到這些 app 的真實名稱。
圖片
以「Picsew」為例,我們點擊「com.sugarmo.ScrollClip」後,點擊「嘗試識別」按鈕,然後點擊「我知道此應用的國家/地區」,在列表中選擇你購買(獲取)這個 app 的商店所在的國家 / 地區(在這裡是「中國大陸」),也可以下拉進行搜尋。此後,重新回到 app 列表,就可以看到這款 app 的圖標、名稱與開發者。
在 1.3 版本的「隱私洞見」中,你還可以設定這款 app 默認讀取的 App Store 國家或地區,分為「首選」和「備選」,最大程度保證列表中的每一款 app 都可以自動識別。相關設定在「隱私洞見 > 設定 > iTunes API」中。
圖片
每個 app 的數據頁都會顯示一個總覽,包括橙色的數字(即訪問具體隱私項目,比如相冊、攝像頭、位置、麥克風等等的總次數)以及藍色的數字(即訪問網路活動的總條數)。點擊下方「記錄」一欄中的「訪問記錄」和「網路活動」可以分別查看兩項記錄的具體數據。
圖片

隱私數據訪問記錄

在「訪問記錄」中,我們可以見到某款 app 在甚麼時間做了甚麼事情。如果點進去,還可以看到它訪問這項數據的具體情況,包括開始、結束與持續的時間;此外,還可以點擊右上角的「All」對數據進行篩選。
以「支付寶」為例,2021 年 10 月 8 日早上 8:19,它調用了我的攝像頭,持續時間為 1 秒。當時我正在掃碼開單車,所以這項活動完全在我的意料之內。
相比之下,「微信」的活動則有點出人意料。目前我 iPhone 上的微信處於登出的狀態,平常也不會打開使用,不過,我還是可以看到,2021 年 10 月 8 日下午 9:39,微信曾請求了我的定位,時間長達 10s;同一時間還訪問了我的相冊,時間長達 44s。
微信 10 月 8 日通過新浪科技作出了回應,相關話題曾沖到微博熱搜榜第 2 名。回應指出,「當用戶授權微信可以讀取『系統相冊權限』的前提後,為便於用戶在微信聊天中按『+』時可以快速發圖,微信使用了該系統能力,使用戶發送圖片體驗更快速流暢。上述行為均僅在行動電話本地完成,最新版本中將取消對該系統能力的使用,優化快速發圖功能。」
然而,我對此還是持懷疑態度:我以為微信快速發圖這個功能,是我點擊「+」號的時候才對我的相冊做讀取操作;其實邏輯上來說,微信也並不需要在用戶相冊每次更新的時候讀取數據。退一萬步來說,就算相冊更新的時候微信需要讀取數據,它也不需要讀取用戶的當前位置數據;更不需要在用戶已經登出的情況下讀取任何數據。
至於該功能如何「優化」,還要待微信官方推出更新後進行測試才能知曉。
圖片

網路活動數據

在「網路活動」中,可以看到某款 app 在甚麼時間訪問了哪些 IP 地址或者域名。以「飛書」為例,它在 2021 年 10 月 8 日下午 1:16 訪問了某網站 4,254 次。該網站是飛書的官方網站,這一活動很可能是完全正常的。

iOS 的權限管理建議

數據本身是冰冷的,它還是需要用戶的解讀。有些時候,app 訪問隱私數據與網站是正常之舉,我們無需擔心;但是有些時候,它們的行為明顯不太正常,這才需要使用類似「隱私洞見」的應用程序配合 iOS 的權限記錄來進行分析。針對某些 app 的不太正常的隱私數據訪問活動,你可以採取的行動包括:
  • 關閉(或者部分關閉)app 的隱私數據訪問權限。前往「設定 > 隱私」,可見到許多隱私項目,可以一一點進去進行自定義設定,可以選擇打開或者關閉某些 app 的開關。特別地,針對照片訪問,我們可以選擇讓某些 app 只訪問相冊中你選擇的圖片與視頻。
  • 關閉 app 後臺重新整理。在「設定 > 通用 > App 後臺重新整理」中,可以選擇關閉部分 app 的後臺重新整理。這樣,在你清理掉這個 app 的後臺之後(即在 App 切換器中上劃退出這個 app),它就會停止後臺活動,即使有權限也無法訪問你的數據。關閉後臺重新整理也不會影嚮即時聊天軟體的消息推送。
  • 善用系統級別的分享菜單。如果你還是擔心某些 app 讀取照片、文件等個人數據,還可以直接關閉它們訪問這些數據的權限。如需發送照片或者文件,可以在「照片」或者「文件」app 中使用系統級的分享菜單,把想要的圖片或者文件發送到這些 app 中。這將創建這個文件的一份拷貝,它只用於你所分享到的 app,而不會洩露其他的照片和文件,也(得益於 APFS 文件系統的特性)不會占用額外的設備存儲空間。
  • 卸載(而不是刪除)app。iOS 提供卸載(而不是刪除)app 的功能,可以在保留 app 用戶數據的同時刪除 app 本體的代碼與文件,在需要時可以隨時從 App Store 下載。在「設定 > 通用 > iPhone 存儲空間」(也可能是「iPad 存儲空間」或者「iPod 存儲空間」)中,當 app 列表加載完成後,點擊進入 app 空間使用詳情頁面,點擊「卸載 App」(藍色文字)。這樣一來,app 也無法在後臺訪問任何隱私數據。

 

(本文轉載自微信公眾號:少數派,作者Kostya)