论文部分内容阅读
随着智能移动终端的广泛普及与应用,其主要存储介质NAND闪存也逐渐成为一种重要的数据取证源。SQLite数据库由于具有占用资源低、易移植和易操作等特点,被广泛应用于嵌入式系统中保存用户和应用程序的信息。然而,由于NAND闪存一方面在硬件上具有耐擦写次数低且不支持原地擦写的“异地存储”等物理特性;另一方面在软件上其文件系统往往采用按块擦写、磨损均衡和垃圾回收等特殊机制,使得传统磁盘上的数字取证技术很难在NAND芯片上取得很好的效果。因此,面向NAND闪存的SQLite数据恢复技术也成为数字取证领域的一个研究热点和难点。本文基于YAFFS2文件系统和SQLite的特性,对NAND芯片上SQLite数据恢复技术展开了研究。首先,提出了一种恢复NAND闪存上的SQLite数据库中已删除记录的技术。利用YAFFS2的页面顺序分配原则和垃圾回收特性,借助存储在备份区域中的文件系统元信息,通过恢复出修改前的数据库文件和修改时创建的回滚日志文件来实现已删除记录的恢复。在Linux平台下的模拟实验和真实手机中的实验表明了本文方法的可行性,在DFRWS公开数据集上的实验验证了提出的方法可应用于真实场景。其次,提出了一种数据库历史记录恢复和用户行为时间轴构建的方法。在NAND闪存上SQLite已删除记录的恢复技术基础上,提出了一种SQLite数据库历史记录恢复方法,并利用底层SQL事件到用户行为的抽象技术来建立用户行为的时间轴。在基于人工设计的Linux模拟环境、真实手机和DFRWS数据集上的实验验证了本方法的可行性。综上,本文针对NAND闪存上的SQLite数据恢复问题,提出了一种恢复NAND闪存上的SQLite数据库中已删除记录和历史记录的方法,并实现了一种用户行为时间轴构建的方法。研究成果为数字取证工作提供了一条新思路。