Fastlane.Tools公司創(chuàng)始人兼開(kāi)發(fā)者Felix Krause(菲力克斯·克勞斯)最近發(fā)現(xiàn),iOS應(yīng)用能夠讀取元數(shù)據(jù),并據(jù)此知悉用戶位置等一系列威脅個(gè)人隱私的重要信息。
圖像訪問(wèn)權(quán)限暴露用戶數(shù)據(jù)克勞斯在Open Radar社區(qū)上發(fā)布了詳細(xì)的分析報(bào)告,他表示該應(yīng)用只需獲得“圖像”訪問(wèn)權(quán)限,即可產(chǎn)生相關(guān)風(fēng)險(xiǎn)。
克勞斯寫(xiě)道:
“如果應(yīng)用獲得圖像庫(kù)的訪問(wèn)權(quán)限,其即可對(duì)所有圖像的元數(shù)據(jù)進(jìn)行全面訪問(wèn),包括其拍攝位置。這是個(gè)相當(dāng)嚴(yán)重的問(wèn)題,因?yàn)榈谌脚臄z應(yīng)用同樣能夠全面訪問(wèn)所有照片及其在圖像庫(kù)中保存的位置信息。”
除了地理位置,一張圖片還暴露哪些數(shù)據(jù)?克勞斯亦在GitHub上發(fā)布了一段概念驗(yàn)證代碼,并表示其編寫(xiě)難度幾乎可以忽略不計(jì)。
“您的iOS應(yīng)用是否能夠訪問(wèn)用戶圖片庫(kù)?您想知道用戶在過(guò)去幾年的活動(dòng)軌跡——包括他們?nèi)ミ^(guò)哪些城市、曾經(jīng)使用過(guò)的iPhone以及出行方式——嗎?您希望在不到一秒時(shí)間里馬上獲得答案嗎?這個(gè)項(xiàng)目讓您美夢(mèng)成真!”
通過(guò)訪問(wèn)圖片庫(kù)信息,應(yīng)用程序?qū)⒛軌颢@取完整的EXIF數(shù)據(jù)集——且其中囊括的遠(yuǎn)不止用戶位置這么簡(jiǎn)單。
克勞斯已經(jīng)證明可通過(guò)此種途徑獲取下列數(shù)據(jù):
各圖片之確切位置;
拍攝圖像/視頻的物理速度(相機(jī)移動(dòng)速度);
相機(jī)型號(hào);
確切時(shí)期與時(shí)間;
其它EXIF圖像元數(shù)據(jù)。
攻擊者完全可以利用此類數(shù)據(jù)開(kāi)展監(jiān)控或者欺詐活動(dòng)。
克勞斯建議蘋(píng)果公司對(duì)其圖片庫(kù)權(quán)限管理方式進(jìn)行審查,例如提示用戶以明確方式批準(zhǔn)應(yīng)用訪問(wèn)圖片元數(shù)據(jù)的權(quán)限。另一種可行方式,則是將選擇照片與在圖片庫(kù)內(nèi)訪問(wèn)圖片的權(quán)限彼此區(qū)分開(kāi)來(lái)。
怎樣訪問(wèn)圖像數(shù)據(jù)?克勞斯解釋稱,通過(guò)以下方式即可輕松訪問(wèn)圖像元數(shù)據(jù):
1.要求用戶批準(zhǔn)應(yīng)用訪問(wèn)照片庫(kù);
2. 若獲得批準(zhǔn),則利用以下命令獲取全部以往位置信息;
```objective-c
PHFetchResult *photos = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options:nil];
for (PHAsset *asset in photos) {
if ([asset location]) {
// Access the full location, speed, full picture, camera model, etc. here
}
}
```
3. 使用該數(shù)據(jù)追蹤用戶行動(dòng)軌跡。
感興趣的朋友可以點(diǎn)擊此處通過(guò)蘋(píng)果App Store獲取DetectLocations概念驗(yàn)證應(yīng)用。
祝各位玩得開(kāi)心!