一种面向Android取证的内存镜像数据恢复系统技术方案

技术编号:32664112 阅读:10 留言:0更新日期:2022-03-17 11:15
本发明专利技术公开了一种面向Android取证的内存镜像数据恢复系统,包括有效内存页提取模块和数据记录恢复模块,有效内存页提取模块用于提取内存镜像中有价值的证据数据所在的内存页并发送到数据记录恢复模块,数据记录恢复模块用于根据接收到的有效内存页对未删除和已删除的数据记录进行恢复。本发明专利技术结合了内存镜像异地更新与空间局部性的特性,对内存页结构进行分析,将未删除数据和已删除数据信息相结合,解决了不同文件系统所带来存储机制差异的问题,增加了数据恢复的通用性。增加了数据恢复的通用性。增加了数据恢复的通用性。

【技术实现步骤摘要】
一种面向Android取证的内存镜像数据恢复系统


[0001]本专利技术属于电子取证分析
,特别是一种基于Android非易失性内存镜像取证分析的数据恢复系统。

技术介绍

[0002]Android应用程序越来越多地与现实世界的犯罪活动紧密相关,对Android内存数据的取证分析对于网络犯罪活动的调查至关重要。大部分Android应用程序均使用SQLite数据库来存储其数据,因而,SQLite数据库文件中包含了与取证分析相关的重要数据。Android设备内存根据其使用目的的不同可以分为易失性内存和非易失性内存,其中,易失性内存在断电时会丢失其数据,而非易失性内存断电时可以保留数据,并且非易失性内存数据的删除只是使用逻辑销毁映射关系而不是执行物理删除。所以,为了保证数据的完整性,对断电后获取的非易失性内存镜像的分析方法更加全面。
[0003]现有的Android非易失性内存分区结构多为Ext4文件系统,其数据恢复方法多为基于文件系统的数据重建方法,即重建物理块正确顺序,从而创建更高级别文件系统的逻辑副本,以达到定位有价值的证据数据的位置,检查应用程序创建和管理的文件的目的。然而,非易失性内存使用磨损均衡器将擦除操作均匀地分布在所有块上,由于异地更新和复制操作等特性,非易失性内存镜像中存在一些无效页不会映射到文件系统中,如果基于文件系统进行数据恢复则会遗漏很多重要信息。

技术实现思路

[0004]本专利技术的目的在于针对上述现有技术存在的问题,提供一种面向Android取证的内存镜像数据恢复系统。
[0005]实现本专利技术目的的技术解决方案为:一种面向Android取证的内存镜像数据恢复系统,所述系统包括:有效内存页提取模块和数据记录恢复模块;
[0006]所述有效内存页提取模块,用于提取内存镜像中有价值的证据数据所在的内存页并发送到所述数据记录恢复模块;
[0007]所述数据记录恢复模块,用于根据接收到的有效内存页对内存页数据区域存储的数据记录进行恢复。
[0008]优选地,所述有价值的证据数据为SQLite数据,大部分Android应用程序均使用SQLite数据库来存储其数据,因而,SQLite数据包含了与取证分析相关的重要数据。所述证据数据以单元的形式存储于所述有效内存页中。
[0009]优选地,所述内存镜像为整个Android设备的非易失性内存镜像。所述内存镜像具有异地更新的特点,在物理存储级别删除或更新数据后,将分配一个新的内存页来写入原来内存页更新之后的数据,而原来的内存页只标记为无效,成为垃圾页,不做擦除操作,等待垃圾回收机制进行回收。
[0010]优选地,所述有效内存页包括B+树内部页,B+树叶子页,B

树内部页和B

树叶子
页。SQLite数据库使用B+树存储表数据,而使用B

树存储与表相关的索引信息,内部页存储指向叶子页的指针,叶子页存储表或索引的记录。因此只有B+树叶子页存储证据数据,但是由于异地更新机制,B+树内部页、B

树叶子页和B

树内部页可能是直接覆盖垃圾页,其中还残留部分未被覆盖的证据数据。
[0011]优选地,所述有效内存页提取模块提取内存镜像中有价值的证据数据所在的内存页,具体过程包括:
[0012]按页大小扫描非易失性内存镜像,获得页头结构,所述页头包括页类型、第一个自由块偏移量、本页单元数、单元起始地址,页头之后是单元指针数组,其中每2个字节表示1个单元偏移地址;若页类型为0x0d则可能是B+树叶子页,若页类型为0x05则可能是B+树内部页,若页类型为0x0a则可能是B

树叶子页,若页类型为0x02则可能是B

树内部页;
[0013]对第一个自由块偏移量、本页单元数、单元起始地址和单元指针数组的特征进行判断,若均满足条件则判定该页为有效内存页,提取其物理地址;其中,所述条件包括:第一个自由块偏移量小于内存页的大小,单元起始地址小于内存页的大小,单元指针数组每一项小于内存页的大小,同时单元指针数组大小等于本页单元数。
[0014]优选地,所述数据记录恢复模块包括区域提取单元、恢复表结构和记录恢复;
[0015]所述区域提取单元,用于提取存储数据的区域,所述存储数据的区域在B+树叶子页中包括单元内容区、空闲区域和自由块区域,而其他类型的内存页中只包括空闲区域;
[0016]所述恢复表结构,用于通过关键字匹配从提取的存储数据的区域中提取建表语句,获得所有数据表的表名和对应的字段类型和数量;
[0017]所述记录恢复,用于从提取的存储数据的区域中根据不同的区域结构进行数据恢复与归类。
[0018]优选地,所述单元内容区为各个单元组成的区域,所述空闲区域为单元指针数组和单元内容区之间的区域,由部分已删除数据的地址偏移、0值和已删除数据组成,所述自由块区域为单元内容区中已删除的单元所构成的区域。
[0019]优选地,所述用于从提取的存储数据的区域中根据不同的区域结构进行数据恢复与归类,具体包括:
[0020]若提取的存储数据的区域属于B+树叶子页,解析获得单元内容区的字段类型和数量,并匹配所有建表语句,判断属于哪一个数据表,基于空间局部性,同一页中自由块区域和空闲区域中的数据结构与单元内容区一致(所述内存镜像数据写入遵循空间局部性的特征,同一个内存页中存储的是同一个文件中的数据,其数据结构保持一致),由此恢复自由块和空闲区域中的已删除数据,并写入对应数据表中;
[0021]若提取的存储数据的区域属于其他类型的内存页,提取空闲区域起始处的部分已删除数据的地址偏移,解析获得对应地址处数据的字段类型和数量并匹配所有建表语句,判断属于哪一个数据表,基于空间局部性恢复剩余的数据记录并写入对应数据表中。
[0022]优选地,所述恢复自由块区域中已删除数据的具体过程为:
[0023]根据自由块的第3、4字节获取该自由块的大小;
[0024]将自由块的第四个字节置为0x00,设其为字段1,将其字段类型与单元内容区中获得的字段类型进行匹配,若不一致,则字段1的位置后移一个字节,直到匹配成功;
[0025]依据字段类型提取数据记录内容,数据记录成功提取后,若没有到达自由块大小,
则表明此自由块不止一条记录,继续对该自由块剩余区域使用相同方法进行恢复,若字段1后移至自由块第28字节或超出自由块大小,表明此自由块中数据记录已被覆盖,无法进行恢复;
[0026]优选地,所述恢复空闲区域中已删除数据的具体过程为:首先提取空闲区域中的非0数据,按照完整单元结构提取字段类型并与单元内容区中获得的字段类型进行匹配,若匹配成功,则进行数据恢复,若匹配失败,表明该条数据记录是自由块结构,按照自由块区域的数据恢复方法进行恢复;
[0027]若空闲区域还有剩余数据,表明存在多条数据记录,继续按照上述过程进行数据恢本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向Android取证的内存镜像数据恢复系统,其特征在于,所述系统包括:有效内存页提取模块和数据记录恢复模块;所述有效内存页提取模块,用于提取内存镜像中有价值的证据数据所在的内存页并发送到所述数据记录恢复模块;所述数据记录恢复模块,用于根据接收到的有效内存页对内存页数据区域存储的数据记录进行恢复。2.根据权利要求1所述的面向Android取证的内存镜像数据恢复系统,其特征在于,所述有价值的证据数据为SQLite数据,所述证据数据以单元的形式存储于所述有效内存页中。3.根据权利要求1所述的面向Android取证的内存镜像数据恢复系统,其特征在于,所述内存镜像为整个Android设备的非易失性内存镜像。4.根据权利要求2所述的面向Android取证的内存镜像数据恢复系统,其特征在于,所述有效内存页包括B+树内部页,B+树叶子页,B

树内部页和B

树叶子页。5.根据权利要求1所述的面向Android取证的内存镜像数据恢复系统,其特征在于,所述有效内存页提取模块提取内存镜像中有价值的证据数据所在的内存页,具体过程包括:按页大小扫描非易失性内存镜像,获得页头结构,所述页头包括页类型、第一个自由块偏移量、本页单元数、单元起始地址,页头之后是单元指针数组,其中每2个字节表示1个单元偏移地址;若页类型为0x0d则可能是B+树叶子页,若页类型为0x05则可能是B+树内部页,若页类型为0x0a则可能是B

树叶子页,若页类型为0x02则可能是B

树内部页;对第一个自由块偏移量、本页单元数、单元起始地址和单元指针数组的特征进行判断,若均满足条件则判定该页为有效内存页,提取其物理地址;其中,所述条件包括:第一个自由块偏移量小于内存页的大小,单元起始地址小于内存页的大小,单元指针数组每一项小于内存页的大小,同时单元指针数组大小等于本页单元数。6.根据权利要求1所述的面向Android取证的内存镜像数据恢复系统,其特征在于,所述数据记录恢复模块包括区域提取单元、恢复表结构和记录恢复;所述区域提取单元,用于提取存储数据的区域,基于异地更新机制,所述存储数据的区域在B+树叶子页中包括单元内容区、空闲区域和自由块区域,而其他类型的内存页中只包括空闲区域;所述恢复表结构,用于通过关键字匹配从提取的存储数据的区域中提取建...

【专利技术属性】
技术研发人员:俞研张雪邓芳伟张晗苏铓
申请(专利权)人:南京理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1