Win11 Recall 回顾功能体验与取证之旅

Recall功能介绍

Recall是Win11预览版中一个基于AI的新功能,中文名为“回顾”,可以借助这个功能跨时间来搜索曾经浏览过的内容。

其原理是每五秒钟截屏一次并存储在本地,使用OCR识别截图中的文字后建立索引用于搜索。

例如在你浏览器中看过一篇“iOS越狱工具”文章,但是怎么也找不到这个文章的网址,这时在Recall的搜索框中输入“iOS”或者“越狱”,就能找到相关的屏幕截图,从而知道这篇文章网址。单从功能来看,这个功能实装后我肯定开启,因为对我找东西帮助太大了。


这个功能在方便了用户的同时也方便了取证分析,还原操作行为将会非常方便,与注册表、事件日志等取证源相比更加直观简单。Recall开始推出后,被指出了各种隐私问题,被爆骂,看了几篇文章,还是想亲自看看究竟是怎么样的,因此对它探究一番。

环境搭建

环境搭建是整篇文章最复杂的一个部分,因为Recall功能目前只在尚未发售的微软Copilot+电脑的预览版中实装,Copilot+电脑使用的是高通CPU,Arm64的架构,我们平时用的电脑大多是x86的架构,因此有下面几种方法可以造出这个Arm64环境来:

  1. 在x86电脑上用QEMU模拟arm64(模拟的性能很差,开机开了两天没开开,以失败告终)
  2. 租用Azure的Arm64架构虚拟机,有原生Win11预览版镜像(钞能力,不解释)
  3. M系列芯片的MAC电脑(没有)

还好,经过几天不断的折腾,最终把我吃灰的小米平板5刷成了Win11的系统….用起来还不错,很流畅,Win11触屏的体验感也很好

Recall的安装

Win11 on Arm安装完后,还需要安装Github大佬提取出的Recall程序,可以让Recall安装在非Copilot+电脑上。

1
https://github.com/thebookisclosed/AmperageKit

按照Readme的操作,将AI Components和AmperageKit整合到一起并运行命令 Amperage.exe /install 开始安装。


安装完成后重启,设置中就有了“回顾与快照”的选项,可以看到可以删除某个时间范围内的快照,设置筛选器让某些网站或者程序不被快照,我们打开“保存快照”。


任务栏右下角也出现了回顾功能的图标,点击后发现默认是关闭状态。


点击“恢复快照”,回顾功能就正式启动了。


模拟了下正常使用痕迹,聊微信,访问网页,听歌等,发现Recall后台组件的CPU占用率有点高。


尝试搜索微信,发现下载、登录、聊天都有进行文本匹配,视觉匹配中多给了一张不相关结果。


搜索阿里巴巴相关文章,都有匹配到。

取证分析

Recall的数据存储非常简单且没有任何加密,数据的位置都在用户目录下的一个路径中。

1
C:\Users\$USER\AppData\Local\CoreAIPlatform.00\UKP\{GUID}


ImageStore中存储的是JPEG的图片,修改后缀后可直接打开查看。


另有三个sqlite数据库文件,主要信息在ukg.db中,结构相对简单,这张表应该就是OCR的索引


web表中保存了两个url,其中一个是在必应中搜索的关键词。


App表中包含了运行过的应用ID、名字、以及程序路径


AppDwellTime中有应用ID对应的启动时间戳、驻留时间等


取证的信息还是很丰富的,上述Recall的数据文件及截图已经打包压缩,公众号私信关键词“recall”获取下载地址。

小结

主要研究的时间都花在了环境搭建上,Recall的数据分析相对简单,可能因为只是最初的Demo,加上最近Recal功能被各种喷,微软发公告说Recall功能将会默认为关闭状态,并且会增加更强的加密措施,持续关注测试。