【技术视界】第15期:智能手机APP取证脚本编写续—iPhone数据提取与解析
在《技术视界》第11期中,数据恢复四川省重点实验室科研人员以途牛软件为例子,介绍了一种编写手机APP取证脚本的方法。该技术方案扩展性强,可助力一线取证人员有效应对暂不支持的APP数据提取问题。文章投放后,受到极大关注,很大一部分读者微信留言、致电询问Iphone手机APP取证脚本的编写方法。本期,针对本问题,以Iphone手机APP数据为例讲解正常数据与删除数据的提取。相比正常数据,删除数据的提取与解析难度非常大,脚本编写步骤也更复杂,除了填写分析文档、插件智能匹配、定义数据结构和数据处理方法,还需要配置特征库文件才能实现。
随着手机互联网的进步,手机APP应用越来越多,APP应用数据的分析就愈加重要。要实现APP数据分析,首先需要建立一个分析规范,因此分析人员应该更深入、更透彻、更全面地研究各类手机的各类应用APP,探索更多有效方法,抓取到更多有效信息,实现精准数据分析。做好APP应用数据的分析规范,可以较大地提高相关取证产品在实际应用中提取出更多、更全的数据。在第11期中,数据恢复四川省重点实验室科研人员已经详细讲解了APP取证脚本的编写流程与方法,这其实就是一种分析规范。对于暂不兼容的APP,一线人员可根据这种分析规范(或方法)自行编写取证脚本,提升兼容性。
解析应用APP时,首先需要熟悉功能,了解数据存储结构。通过APP应用的主页,大致就能分析出数据的存储雏形,所以目测即可完成。下面,以APP“百度贴吧”为例详细讲解。
使用“百度贴吧”一段时间后,手机上就会产生一些数据(如图1),包括浏览历史、我的收藏、关注的人、我的粉丝、我的好友、消费记录、好友动态、我的吧动态等等。基于此,我们可以提取的信息大致包括好友信息(好友本身资料)、好友消息(聊天内容)、群组信息、群组消息、好友动态、浏览历史等。
【图1: 百度贴吧主页面】
熟悉“百度贴吧”结构以后,可根据数据的重要性排列出提取顺序,以最重要的数据为最高点,依次降序处理。如图1,在分析时,可以首先把“我的好友”确定为重要数据(对于取证来说,所有数据都可能重要),将这个数据确定分析的入口,优先分析。当然,也可以选择“浏览历史”。
这里要注意,数据分析一定要全面、透彻,数据结构要严谨、层次。数据层次最好按照APP应用的呈现结构来处理,清晰明了,比如“百度贴吧”,就按照本身的数据结构来进行。
对于iphone手机,可以通过SPF9139智能手机数据恢复取证系统的物理镜像提取数据,如图2:
【图4:打开“百度贴吧”数据库可以看到各种信息(红色框内为聊天信息)】
打开数据库,我们可以看到里面的各种信息,包括浏览历史、我的收藏、关注的人、我的粉丝、我的好友、好友动态、我的吧动态等等,下一步工作就是对这些信息进行解析。
分析数据,是一项繁琐、复杂的工作,为规避遗漏、丢失、重复、混乱等风险,最好使用分析文档来记录,针对APP脚本编写,科研人员专门拟定了分析文档《APP应用分析文档(模板)》(如图5),目前已经在效率源SPF9139的APP取证脚本模块中使用。整个分析文档模板分三部分,包括手机应用信息、分析记录人员和分析报告记录。分析报告主要是记录在分析过程中可能遇见的各种问题、数据结构分析中存在的问题以及分析过程中数据的关联性问题等等。因此,这里的分析报告需要简明扼要地记录问题,同时,在分析文档中详细描述问题的细节报告,避免二次分析。
SPF9139系统中核心的插件就是数据解析插件。本文所述的插件、脚本其实是一个概念,脚本就是以javascript的方式实现的插件,并且可以开放给用户使用。如图6中所示,执行插件前最重要的一步就是插件智能匹配,因为针对一个app应用,其app可能存在N个版本,假若这N个版本的数据结构都不同,就需要开发N个插件。当有手机接入时,根据手机中安装的该应用的版本号,来进行智能匹配,找到最合适的插件来执行。倘若手机没有安装某个app应用,则其对应插件也不会执行。
这一步,我们可以使用科研人员为效率源SPF9139量身定制的脚本编辑器XLYScriptVisualStudio进行脚本开发。插件的配置包括name(插件的名称)“百度贴吧”、group(插件分组)“社交聊天”、icon(插件图标)“百度贴吧”图标,devicetype(插件所适应的手机系统类型)“IOS”、pump(插件所支持的数据泵类型)“USB、WIFI、mirror、bluetooth”、app(插件所解析的应用app名称)“com.baidu.tieba”、version(应用app的版本)“7.4.0”、description(插件描述信息)“百度贴吧”等。
【图7:定义数据结构】
插件配置完毕后,继续在脚本编辑器XLYScriptVisualStudio中定义数据结构,使和用户相关信息展现出来,如好友数据结构、群组数据结构、会话数据结构等(如图7)。然后,定义数据处理方法,利用js语言展现数据库内容(如图8)。
配置特征库文件,是脚本编写中比较重要的一步,是实现同类别删除数据提取的关键步骤,需要借助“Sqlitecharactor特征库配置for sqlite2015”这一软件来实现。比如以图9中的蓝色条部分为例,通过给“tb_usermsg_12503**810配置特征库文件,可以实现所有这个名称格式的正常和删除文件提取。
自此,特征库文件配置完毕。为验证其正确性,我们可以通过Sqlite手机数据恢复工具进行检测效果,如图12所示。
【图12:Sqlite手机数据恢复工具显示的删除内容(红色框部分)】
效率源Sqlite手机数据恢复工具,是一款针对智能手机删除数据恢复、数据解密的软件,功能强大、准确率高。基于sqlite数据库文件,能够实现正常数据快速全面导出、删除丢失数据快速恢复导出、加密数据快速解密还原成可读信息。经验证(如图12),该特征库能够实现删除数据提取(红色框部分)。
通过在js里载入特征文件,然后把特征文件、“百度贴吧”脚本、“百度贴吧”图标放入SPF里面,然后运行就能提取恢复苹果手机里的“百度贴吧”数据了。
【技术视界】系列推荐:
1、【技术视界】第1期:手机取证-手机音频文件恢复提取技术研究
2、【技术视界】第2期:精确读取 提高缺陷硬盘数据恢复成功率
3、【技术视界】第3期: 如何利用S.M.A.R.T.技术对硬盘进行健康体检?
4、【技术视界】第4期: 电子取证-WD硬盘固件损坏的文件恢复提取技术研究
5、【技术视界】第5期:电子取证——智能手机定位痕迹如何快速提取?
6、【技术视界】第6期:电子取证——日立硬盘BIOS加密无法访问的快速解密方法技术研究
7、【技术视界】第7期:手机取证-SQLite数据库文件恢复提取技术研究9、【技术视界】第9期:视频侦查——不转码直接检索监控视频的方法探讨
10、【技术视界】第10期:电子取证— RAID 5、RAID 6崩溃的数据恢复取证提取技术研究
11、【技术视界】第11期:教你怎么编写智能手机APP的取证脚本
12、【技术视界】第12期:电子取证反向思维 防御手机APP偷窃破案机密的2个高招
13、【技术视界】第13期:希捷硬盘修复P表实现数据恢复的电子取证方法研究
14、【技术视界】第14期:手机取证——关于iPhone手机数据提取方式的探讨