哪些 iOS 应用程序使用数据保护?

信息安全 文件加密 IOS
2021-08-29 03:22:02

iOS 数据保护 API 及其实现有很好的文档记录,但只有在应用程序实际使用 NSFileProtectionNone 之外的某个级别来保存文件时,它才真正有用。

是否有关于股票 iOS 应用程序对各种数据使用什么保护级别的任何信息?Apple提到Mail 应用程序对后台下载的附件使用“受保护的除非打开”类,并存储和存储受 NSFileProtectionComplete 保护的消息,但对联系人、照片等其他数据只字未提。

第三方开发商呢?是否有关于流行应用程序使用数据保护的常见程度的研究?对于 iOS 7,Apple 提到“所有第三方应用程序现在都自动启用了数据保护”,但我想知道这是否也适用于“旧版”应用程序,是否有些甚至主动禁用了保护。

1个回答

您可以自己检查任何应用程序实施的数据保护。在越狱手机上使用 cycript 附加到 SpringBoard(或任何其他进程),例如:

cycript -p SpringBoard

并在里面运行以下脚本:

用于列出给定路径中每个文件的 FileProtection 类的 cycript 脚本

?expand


var path=@"/var/mobile/Library/Preferences/";
var fm = [ NSFileManager defaultManager ];
fin = [ fm enumeratorAtPath:path ];
ps= [] ;
while (name=[fin nextObject] )
{
 fPath=path+name;
 pClass=[[ fm attributesOfItemAtPath:fPath error:nil ] objectForKey:@"NSFileProtectionKey" ]
 pName=name
 ps.push(""+pName+":"+pClass+"")
 }
 ps.toString().replace(/,/g,"\n");

在 5.1.1 iOS 上,我得到了 Stocks 应用程序和 youtube 应用程序的这些结果:

com.apple.stocks.plist:NSFileProtectionNone
com.apple.youtube.dp.plist:NSFileProtectionComplete

在 6.1.2 iOS 设备上看起来并没有什么不同:

com.apple.stocks.plist:NSFileProtectionNone
com.apple.youtube.dp.plist:NSFileProtectionComplete

你可以尝试在你的设备上运行它,看看其他版本有什么变化

@_coreDump