iOS 13滑动输入技术的取证分析

本文深入探讨iOS 13滑动输入功能在数字取证中的价值,详细分析shapestore.db和user_model_database.sqlite两个关键数据库文件的结构及其记录的键盘交互数据,为设备使用情况调查提供重要证据。

iOS 13 - 滑动输入

iOS 13带来了许多有趣的新功能,其中一个我已开始使用的就是滑动输入。其准确性令我印象深刻。

这项功能在第三方应用中早已存在,并且在Android中(我认为)作为原生功能已有一段时间。

原生iOS版本在底层是如何实现的?

滑动输入 - 有趣的文件

/private/var/mobile/Library/Keyboard/shapestore.db

该数据库包含的内容与您期望在dynamic-text.dat字典文件中看到的内容大致相同。唯一明显有用的表称为shapes,该表将滑动的单词存储为string_representation,还有一个用于shape_data的blob条目,可能存储与手势跟踪准确性相关的数据,但这只是一个假设。

/private/var/mobile/Library/Keyboard/user_model_database.sqlite

这个数据库看起来才是真正有趣的。这个数据库中有几个表,但我们感兴趣的是:

  • usermodeldurablerecords
  • usermodeltransientrecords

usermodeldurablerecords

这个表看起来非常简单,它显示了键入单词的总数和路径单词的数量,推测第二个值与通过滑动输入功能创建的单词数量相关。

usermodeltransientrecords

这个表有许多与键盘用户活动相关的字段或键:

  • tium.wordsTyped
  • tium.pathEligibleWordsTapped
  • tium.durationTappedWords
  • tium.wholeWordDeleted

我尚未弄清楚每个字段的具体含义,尽管有些会很明显,如您所见,还有最后更新时间戳。

当与SMS.db中的消息活动、网页浏览或其他应用程序数据配对时,这将为识别用户实际与设备交互的时间提供良好证据。

虽然还需要进一步的工作,但这是一个不错的新线索,调查人员可以将其纳入工具包,用于查找设备实际使用的证据。

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