来源 | CSDN
本月初,来自 SecuRing 的安全研究员 Wojciech Regula 发布了一篇《Your encrypted photos revealed in macOS cache》博客文章,公布了 macOS 系统下的“Quick Look(快速查看)”功能存在安全漏洞,通过该漏洞,黑客可窃取用户加密磁盘上的隐私文件。
此外,这个漏洞存在至少已有八年之久,Mac 用户尚未广泛知晓,且苹果公司目前也仍未修复该漏洞。
▌Quick Look 是什么?
想必使用 Mac 的用户应熟知该功能。Quick Look 是一个比较酷的功能,它是 Finder 文件浏览器的功能之一,可帮助用户在不打开照片、文档文件或文件夹的情况下快速地预览文件。
例如对于 *xlsx 文件,只需按下空格键就可以预览,且无须安装 MS Excel 应用。
为了实现该功能,Quick Look 创建了一个未加密的缩略图数据库,根目录为 /var/folders/.../C/com.apple.QuickLook.thumbnailcache/,用于保存 Quick Look 为每个文件/文件夹生成的缩略图。
▌验证被忽视的 Bug
而就是这个缩略图数据库导致了此次的漏洞。即使最初的照片、文件、文件夹已经加密,但生成的缩略图仍可以在加密磁盘上提供内容预览。
即使用户删除了相关的文件,由于用户已经在加密硬盘或 TrueCrypt/VeraCrypt 等加密工具中预览过了,那些文件也会产生缓存留在根目录中。由此,技术人员可以通过特殊的方法访问这些缩略图,macOS 也没有能删除缩略图的缓存自动清除功能。
为了检测是否真的存在漏洞,Regula 做了验证。
他安装了两个新的加密软件。一个使用 VeraCrypt 软件,保存一个名为 Luke Skywalker 的照片( 本地目录为 /Volumes/Container/luke-skywalker.png),按下空格键使得 Quick Look 生成缩略图。
另一个使用 macOS Encrypted HFS + / APFS 驱动器,保存一张名为 Darth Vader 的图片(本地目录为 /Volumes/EncryptedHDD/test/darth-vader.jpeg)。
基于以上,电脑中应该有两个图片的缓存文件。现在使用以下命令可以找到该文件:
sM4CBt00Ks:~ r3$ find $TMPDIR../C/com.apple.QuickLook.thumbnailcache/ -type f -name "index.sqlite"
/var/folders//d5/5p9d59rs67d59ttncml57pqw0000gp/C/com.apple.QuickLook.thumbnailcache/index.sqlite
sM4CBt00Ks:~ r3$ find $TMPDIR../C/com.apple.QuickLook.thumbnailcache/ -type f -name "thumbnails.data"
/var/folders//d5/5p9d59rs67d59ttncml57pqw0000gp/C/com.apple.QuickLook.thumbnailcache/thumbnails.data
现在将它们复制到其他位置:
sM4CBt00Ks:~ r3$ mkdir ~/Desktop/ql_post/
sM4CBt00Ks:~ r3$ cp /var/folders//d5/5p9d59rs67d59ttncml57pqw0000gp/C/com.apple.QuickLook.thumbnailcache/index.sqlite ~/Desktop/ql_post/
sM4CBt00Ks:~ r3$ cp /var/folders//d5/5p9d59rs67d59ttncml57pqw0000gp/C/com.apple.QuickLook.thumbnailcache/thumbnails.data ~/Desktop/ql_post/
打开 index.sqlite 来查找文件内容。
我们有关于完整路径和文件名的信息。 现在,让我们浏览 thumbnails.data 文件以检索缩略图。 Regula 使用了一个 Python 脚本(https://github.com/mdegrazia/OSX-QuickLook-Parser),稍作修改以提供 macOS 兼容性。
sM4CBt00Ks:OSX-QuickLook-Parser r3$ python2 quicklook_parser_v_3_5.py -d /Users/r3/Downloads/OSX-QuickLook-Parser/ -o /Users/r3/Downloads/OSX-QuickLook-Parser/output
Processing Complete
Records in table: 41
Thumbnails available: 41
Thumbnails extracted: 41
输出目录包含了预览的缩略图版本。
点击打开图片,确实是缩略图,原始版本的像素为 1920*1080,现在缩略图大小为 336*182。
足以确定可以看到加密的图片内容,不是吗?
▌对用户的影响
基于此,Digital Security 首席研究员 Patrick Wardle 也表示同样的担忧,“这个问题至少已有八年之久,然而,目前该漏洞仍存在于最新版本的 macOS 中,并且(尽管可能存在严重的隐私泄露)Mac 用户尚未广泛知晓。”
其安全漏洞对于执法人员来说,无疑提供了很好的便捷性。但是如果攻击者攻击正在运行的电脑系统,即使加密软件已经被卸载,文件的缩略图仍然会存储在用户电脑的临时目录中,这意味着通过缓存还是可以看到缩略图的内容,自然隐私就发生了泄露。
而对于该漏洞的解决方案,Wardle 认为,苹果公司本应该可以很容易解决这个问题,只要文件处于加密软件中,则不生成预览的缩略图,或者在卸载软件时删除缓存就可以解决。
▌写在最后
截止目前苹果公司并未对此漏洞进行修复,所以用户需要做的是在卸载加密软件的同时手动删除 Quick Look 缓存。最后,在该漏洞尚未带来过大影响之前,也希望用户自身可以提前做起预防措施,防范于未然。
参考
https://wojciechregula.blog/your-encrypted-photos-in-macos-cache/
https://thehackernews.com/2018/06/apple-macos-quicklook.html