macOS的快速浏览机制允许用户在不需要实际打开文件的情况下查看文件的内容,但研究人员Wojciech Reguła表示,这个功能很可能泄露缓存文件的信息,即使文件存储在加密驱动器或文件已被删除也无法保证数据的安全。
根据苹果提供的信息,快速浏览功能允许类似Finder和Mail之类的App显示文件内容的缩略图,甚至还可以直接查看Keynote、Numbers、Pages、PDF文档、图片以及其他类型文件的完整内容。
快速浏览功能是以com.apple.quicklook注册的,而其中的ThumbnailsAgentXPC服务能够创建缩略图数据库并将其存储在/var/folders/…/C/com.apple.QuickLook.thumbnailcache/目录之中。
而现在的问题就在于,无论文件夹存储在内部驱动器还是外部驱动器中,这个服务都会对可访问文件夹内所有支持的文件创建缩略图,而且这个功能同样适用于macOS中HFS+/APFS加密驱动器。因此,根据用户所安装的快速浏览插件,com.apple.QuickLook.thumbnailcache/目录中所存储的SQLite数据库文件将包含可访问文件夹内所有的文件预览信息、元数据、图片文件路径和其他类型的文件。需要注意的是,该功能不仅会对用户选择快速预览的文件创建缩略图,它还会对文件夹内所有支持的文件创建缓存内容。
为了对漏洞进行演示,Regula创建了一个VeraCrypt容器,加载并在其中存储了一张图片,然后利用快速浏览功能创建了该图片的缓存文件。接下来,他还在macOS HFS+/APFS加密驱动器中存储了另一张文件,并创建了相应的缓存文件。创建完成之后,文件路径和文件名称等图片缓存信息都将存储在之前所提到的数据库中。接下来,研究人员使用了一个自制脚本提取出了thumbnails.data文件,并获取到了缩略图信息。
Regula表示:“这项技术在数据取证领域中早已是“家喻户晓”了,但我个人却是才发现的。对我来说,我不能理解为什么存储在加密容器中的文件也会使用这样的机制来进行缓存。当我们在容器中创建一个文件之后,系统会自动对文件的缩略图创建缓存,即使用户只是在UI界面中查看容器内容。值得一提的是,这种技术还适用于采用了密码保护的加密AFPS容器。”
即使加密卷没有加载,其中的文件缩略图仍然会存储在临时目录中,这也就意味着这部分内容是可以被提取出来的。除此之外,该功能还会对用户插入到Mac电脑上的U盘文件创建缓存缩略图。
当主驱动器被加密之后,在电脑关闭的情况下数据仍然是安全的,但是如果攻击者或执法部门能够访问目标系统,即使是在加密驱动器没有被加载的情况下其中的数据仍然可以被获取到。
当然了,大家可以使用qlmanage -r cache命令来清除缓存内容,而且这个命令的生效不需要用户重启系统。
* 参考来源:securityweek,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM