距离微软 Build 大会刚刚过去 15 天的时间,只发布了一个预览版,甚至都还未正式上线的 Recall 功能,便遭到了众多网络安全人士、开发者乃至普通消费者的抵制:
我想他们能做的最好的事情就是……忘记 Recall。我对 Windows 的愿望清单很短:保留适用于 Android 的 Windows 子系统,可通过 Google Play 来获取。希望他们停止添加无用的功能并使其稳定(再次)。我只想要一个快速、稳定、可靠的操作系统,不会试图预测我想要什么。好吧,如果不做改变的话,我想要的可能只是 Linux。
如果微软推迟 Recall 计划的推出并重新考虑整个概念、重新设计然后在稍后重新推出,那将是明智之举。
一个 Recall 功能为何能引发众怒,还将微软自身卷入了舆论的漩涡之中,其背后究竟是怎么一回事?
Recall 到底是什么?
Recall 的中文可以理解为回顾、召回,是微软在今年 Build 2024 大会上着重介绍的一项由 AI 驱动的功能,这项功能在微软最新发布的 Copilot+PC 品牌设备中才能使用。
不过,5 月 24 日,微软将 Windows 11 24H2(Build 26100.712)面向 Release Preview 用户提供,你可以加入 Release Preview 频道,手动下载并安装 Windows 11 24H2,就可以提前体验到新系统,随之不少人也体验到了微软提供的 Recall 预览版功能。
基于 Recall,Windows 11 用户可以在 PC 上搜索和检索过去的活动,包括你之前打开了什么应用、使用哪些网页、玩了什么游戏...
这也意味着 Recall 会记录用户在 PC 上所做的一切,你也可以视为 Recall 宛如一个实时监控,隔几秒钟会把你在电脑上的具体动作保存快照(屏幕截图)存下来“留证”,方便你后续用这样功能来满足自己的一些需求。此外,这项功能还允许用户使用人工智能转录和翻译语音的功能搜索他们参加过的电话会议和观看过的视频。
或是考虑到用户肯定会有一些安全顾虑,因此微软在发布时便着重强调了,“快照经过加密并保存在您 PC 的硬盘上。Recall 屏幕截图仅与特定用户个人资料相关联,并且 Recall 不会与其他用户共享它们,也不会让微软查看它们,也不会将它们用于定向广告。屏幕截图仅供个人资料用于登录设备的人使用。”
为此,用户可以暂停、停止或删除捕获的内容,并可以排除特定的应用或网站。Recall 不会对 Microsoft Edge 中的 InPrivate 网页浏览记录或受 DRM 保护的内容进行快照。但是,Recall 同样不会主动隐藏屏幕上显示的密码和财务账户号码等敏感信息。
默认情况下,如果你在电脑上登录了微软账户,则通常默认启用该技术;此外,在具有 256GB 存储空间的 PC 上,Recall 可以在三个月的 PC 使用过程中存储几十个 GB 的数据。
相比 Recall 带来的便利性功能,更多的人指出,“这听起来就像是一场潜在的安全噩梦”,特别是当有安全研究人员“拆穿”微软的安全公告时。
被安全研究人员不断「拆台」的微软
为了严谨也为了拿出实证,不少安全研究人员开始“出动”,从“自制可以运行 Recall 的环境”到“探索 Recall 功能收集到的数据”再到“实测 Recall”,全流程可谓是齐全。
其一:制作可以运行 Recall 的环境
由于并不是所有设备都支持 Recall 功能,所以有开发者 Albacore 想了个办法:开发一款名为 AmperageKit(https://github.com/thebookisclosed/AmperageKit)的开源工具,这款工具可在运行 Windows 11 24H2 build 26100.712(该版本目前在 Windows Insider Release Preview 频道中提供)的基于 Arm 的 Windows PC 上启用 Recall 功能。
只限于这一版本的系统,因为其他 Windows 11 24H2 版本缺少启用 Recall 所需的底层代码。
其二:查询 Recall 功能截取快照中的信息
另外一位网络安全人员 Alexander Hagenah 更是直接简单明了地开源了一个名为 TotalRecall(https://github.com/xaitax/TotalRecall)工具,表示这款工具从 Windows 11 中的 Recall 功能中提取并显示数据,提供一种非常简单的方式来访问 PC 活动快照信息。
Alexander Hagenah 分享道,Windows Recall 将所有内容存储在未加密的 SQLite 数据库中,而屏幕截图则保存在 PC 上的文件夹中。你可以在这里找到它们:
C:\Users$USER\AppData\Local\CoreAIPlatform.00\UKP\{GUID}
所有图像均存储在以下子文件夹中:
.\ImageStore\
这个 SQLite 数据库的 ukg.db 结构相对简单,但却蕴含着丰富的信息:
通过 TotalRecall,它会复制数据库和屏幕截图,然后解析数据库以查找你可能想要的内容。你还可以定义日期来限制提取,以及搜索感兴趣的字符串(通过 Recall OCR 提取)。
「这一切背后没有什么深奥的科学。这是非常基本的 SQLite 解析」,Alexander Hagenah 说。
$ totalrecall.py -h
usage: totalrecall.py [-h] [--from_date FROM_DATE] [--to_date TO_DATE] [--search SEARCH]
Extract and display Windows Recall data.
options:
-h, --help show this help message and exit
--from_date FROM_DATE The start date in YYYY-MM-DD format.
--to_date TO_DATE The end date in YYYY-MM-DD format.
--search SEARCH Search term for text recognition data.
示例(可以直接查询到快照中的密码):
$ totalrecall.py --search password --from_date 2024-06-04 --to_date 2024-06-04
___________ __ .__ __________ .__ .__
\__ ___/____/ |______ | |\______ \ ____ ____ _____ | | | |
| | / _ \ __\__ \ | | | _// __ \_/ ___\__ \ | | | |
| |( <_> ) | / __ \| |_| | \ ___/\ \___ / __ \| |_| |__
|____| \____/|__| (____ /____/____|_ /\___ >\___ >____ /____/____/
\/ \/ \/ \/ \/
v0.2 / Alexander Hagenah / @xaitax / ah@primepage.de
? Recall folder found: C:\Users\alex\AppData\Local\CoreAIPlatform.00\UKP\{D87DDB65-90BE-4399-BB1B-5BEB0B1D12CB}
? Windows Recall feature found. Do you want to proceed with the extraction? (yes/no): yes
? Creating extraction folder: C:\Users\alex\Downloads\TotalRecall24-06-04-13-49_Recall_Extraction
? Captured Windows: 133
? Images Taken: 36
? Search results for 'password': 22
? Summary of the extraction is available in the file:
C:\Users\alex\Downloads\TotalRecall24-06-04-13-49_Recall_Extraction\TotalRecall.txt
? Full extraction folder path:
C:\Users\alex\Downloads\TotalRecall24-06-04-13-49_Recall_Extraction
Alexander Hagenah 还在 GitHub 上直接分享了 TotalRecall 的工作原理,整个过程也非常简单:
1. 数据提取:TotalRecall 将 ukg.db 数据库和 ImageStore 文件夹复制到指定的提取文件夹。这可确保在你探索提取的数据时,原始数据保持完整。
2. 数据库解析:它会解析 SQLite 数据库以提取可能有趣的信息,例如窗口标题、时间戳和图像标记。该工具会查找符合你指定条件(例如日期范围、搜索词)的条目。
3. 截图管理:如果 ImageStore 文件夹中的图像文件没有 .jpg 扩展名,TotalRecall 会将其重命名为 .jpg。这样可以更方便地查看和管理屏幕截图。
4. 搜索功能:你可以利用 Windows Recall 的 OCR 功能在数据库中搜索特定术语。这意味着你可以找到屏幕上显示的文本,即使它是在图像中。
5. 输出生成:该工具会生成所提取数据的摘要,包括捕获的窗口数和所拍摄图像数。它还会在文本文件中创建一份详细报告,列出所有捕获的数据和搜索结果。
Alexander Hagenah 吐槽称,“TotalRecall 提供了一种直接的方式来探索 Windows Recall 收集的数据。这根本不是什么深奥的科学。”这也显示 Recall 数据可以多么快速、轻松地被窃取和搜索。
其三:实测 Recall 功能
此外,正如几天前