解密“丢失的苹果”:一个用于自动化解析iOS FindMy数据的AI辅助工具

本文介绍了一款名为“Lost Apples”的GUI工具,它利用AI辅助生成Python脚本,旨在自动化解析苹果设备FindMy功能中的数据,包括解密加密的数据库和文件,以减轻数字取证人员的手动工作负担。

Endtroducing…Lost Apples

大家好,我是Binary Hick。

我保证我没事

今年早些时候,我写了一篇关于 Observations.db 的文章,这是苹果FindMy功能的一个组件。那是我在2024年所写关于iOS设备上的流氓蓝牙追踪器和FindMy兼容设备文章的后续部分。简而言之,FindMy数据可以为检验人员提供额外的位置信息来源,以及可能属于特定账户的其他苹果设备信息。

在那篇关于Observations的文章中,我提到我使用了一些人工智能来帮助处理该数据库及其他数据库所使用的加密技术。这引发了一个额外的问题:能否利用AI来创建一系列脚本,用以解析那两篇博客文章中讨论的数据?当时我正在处理更多的FindMy数据,发现自己不得不做大量的手动工作,而这些工作也许可以借助AI来完成。

读到这,你可能在想我的博客是不是被敌对接管了;毕竟,了解我的人都知道,我对AI,尤其是在数字取证领域使用AI,持非常谨慎的怀疑态度。作为证据(无论是刑事还是民事)的数据及其与现实世界行为的关联,可能存在许多细微差别。这些细微之处是大语言模型(LLMs)可能(也经常)难以把握的,并且需要人类将碎片拼凑起来、讲述被检数据故事的那种复杂能力。我并不是说AI不能用于数字取证,但可以这么说,精灵已经从瓶子里出来了,我们这个领域将不得不找到与这东西共存的方法。如果我们继续沿着这条路走下去,就必须认真思考如何负责任且透明地使用它。毕竟,一个人的声誉、生计甚至生命都可能依赖于那些数据,因此我们作为一个社群,第一次就把它做好是极其重要的。

考虑到所有这些,我开始尝试用AI看看我能做些什么(如果有的话)。主要是为了自我提升。在过去几周里,我一直在使用Claude Code,并最终开发出了Lost Apples:一个为一系列Python脚本提供图形用户界面的前端工具,它可以处理我两篇博客文章中讨论的FindMy数据。我的想法是利用Claude创建一个工具,来自动化我之前手动完成的任务,而不是用它来解释数据或回答主观/模糊的问题。后者会排除人的因素,而我认为我们不应该这样做。

Lost Apples 需要Python 3.8或更高版本,只有两个依赖项(Pillow和cryptography),并且它使用了tkinter,所以界面可能看起来很眼熟(咳咳….LEAPPs)。

Lost Apples 可以:

  • 提取(Ingest) Cellebrite Premium/Inseyets 和 Graykey 的取证提取数据(无需额外处理)。只需指向其ZIP文件即可。虽然对于Graykey的提取数据你需要提供钥匙串,但对于Premium/Inseyets的提取数据,它会自动从中拾取钥匙串,无需手动提取。
  • 提取单个 com.apple.icloud.searchpartyd 文件夹及其配套的钥匙串。
  • 解密.record 文件中找到的加密二进制属性列表数据。
  • 解密 Observations.db 及其 -WAL 文件。
  • 根据需要,对有或没有 -WAL 文件的 Observations.db 进行查询
  • 将解析后的数据导出为CSV、KML和文本格式。
  • 如有需要,可创建加密数据的解密版本以供后续分析。
  • 导出其日志(用于审计)。

我已经尽可能多地测试了这个工具,测试了来自Cellebrite和Graykey的各种提取数据。我也用我所拥有的已知数据集验证了其输出。尽管如此,请务必验证输出(就像对待任何工具一样)。我还在macOS和Windows上都进行了测试,似乎一切正常,但总有可能我遗漏了什么。

你可以在这里找到 Lost Apples

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计