热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

六、从安卓设备恢复删除的数据

六、从安卓设备恢复删除的数据到目前为止,您所学习的提取和获取技术将帮助您访问各种详细信息,如呼叫

六、从安卓设备恢复删除的数据

到目前为止,您所学习的提取和获取技术将帮助您访问各种详细信息,如呼叫日志、消息等。然而,这些技术并不能帮助我们看到从设备中删除的数据。在本章中,您将了解数据恢复技术,这些技术将使您能够查看设备上删除的数据。删除的数据可能包含高度敏感的信息,因此,数据恢复是移动取证的一个重要方面。在本章中,我们将涵盖以下主题:


  • 数据恢复概述

  • 恢复从 SD 卡中删除的数据

  • 恢复从手机内部存储中删除的数据


数据恢复概述

数据恢复是数字取证中一个强大的概念。它是在无法正常访问设备或 SD 卡时,从设备或 sd 卡中检索已删除数据的过程。能够恢复被用户删除的数据有助于解决几起民事和刑事案件。这是因为大多数被告只是删除了设备上的细节,希望证据会被销毁。因此,在大多数刑事案件中,删除的数据可能至关重要,因为它可能包含用户想要从安卓设备中删除的信息。例如,考虑一个场景,一部手机被恐怖分子没收。

知道哪些项目被他们删除了不是最重要的吗?访问任何已删除的短信、图片、已拨号码等可能至关重要,因为它们可能会泄露许多敏感信息。从普通用户的角度来看,恢复已删除的数据通常是指操作系统的内置解决方案,例如 Windows 中的回收站。虽然数据确实可以从这些位置恢复,但由于用户意识的增强,这些选项通常不起作用。例如,在台式电脑上,当人们想从桌面上完全删除一个文件时,他们会使用 Shift + Delete 。同样,在移动环境中,用户知道应用等提供的恢复操作。尽管如此,数据恢复技术允许法医调查人员访问从设备中删除的数据。

关于安卓,可以恢复大部分删除的数据,包括短信、图片、应用数据等等。然而,重要的是以适当的方式扣押设备并遵循某些程序,否则数据可能会被永久删除。为了确保删除的数据不会永远丢失,建议您牢记以下几点:


  • 抓住手机后,不要将其用于任何活动。删除的数据存在于设备上,直到其他传入数据需要该空间。因此,电话必须而不是用于任何类型的活动,以便数据不会被覆盖。

  • 即使不使用手机,如果没有我们端的任何干预,数据也可能被覆盖。例如,传入的短信会自动占据覆盖已删除数据的空间。此外,远程擦除命令可以擦除设备上的内容。为了防止此类事件的发生,您可以考虑将设备放在法拉第袋中,如第 1 章、介绍安卓取证中所述。因此,应注意防止通过任何通信手段传递任何新消息或数据。


删除的文件如何恢复?

当用户从设备中删除任何数据时,数据实际上不会被擦除,而是继续存在于设备中。被删除的是指向这些数据的指针。所有文件系统都包含维护文件层次结构、文件名等信息的元数据。删除实际上并不删除数据,而是删除文件系统元数据。仅仅删除元数据就提高了操作系统的性能;与实际擦除所有数据相比,删除指针并将空间标记为可用是一个极其快速的操作。因此,当文本消息或任何其他文件被删除时,它们只是对用户不可见。但是,只要文件没有被其他数据覆盖,它们就仍然存在于设备上。

因此,有可能在新数据进入并占据空间之前恢复它们。

在安卓上恢复删除的数据涉及两种场景:


  • 恢复从 SD 卡中删除的数据,如图片、视频等

  • 恢复从设备的内部存储中删除的数据,如短信、拨号、浏览历史、应用数据、聊天日志等

以下部分涵盖了可用于从安卓设备的 SD 卡和内部存储中恢复已删除数据的技术。

恢复从 SD 卡删除的数据

SD 卡上的数据可以揭示许多在法医调查中有用的信息。图片、视频、语音记录、应用数据等都存储在 SD 卡上,这一事实增加了它的分量。如前几章所述,安卓设备通常使用 SD 卡上的 FAT32 文件系统。主要原因是大多数操作系统都广泛支持 FAT32 文件系统,包括 Windows、Linux 和 Mac OS x。fat 32 格式的驱动器上的最大文件大小约为 4 GB。随着现在可用的分辨率格式越来越高,通常会达到这个极限。如果可以作为驱动器装载,恢复从外部 SD 删除的数据会非常容易。

如果 SD 卡是可移动的,则可以通过使用读卡器将其连接到计算机来将其安装为驱动器。安装 SD 卡时,任何文件都可以传输到 sd 卡。一些使用通用串行总线大容量存储的旧设备在通过通用串行总线电缆连接时也会将设备作为驱动器安装。如前所述,在取证中,为了确保原始证据没有被修改,会拍摄磁盘的物理图像,并对图像本身进行所有进一步的实验。类似地,在 SD 卡分析的情况下,需要拍摄 SD 卡的图像。成像过程类似于第 5 章、从安卓设备中物理提取数据的过程。一旦成像完成,我们得到一个dd图像文件。在我们的例子中,我们将使用一个免费工具,FTK 成像仪。该工具是一个映像实用程序,除了创建磁盘映像之外,它还可以用来探索磁盘映像的内容。

使用 FTK 成像仪恢复 SD 卡的内容需要以下步骤:


  1. Start FTK Imager. Click on File and then on Add Evidence Item in the menu.

    Recovering data deleted from an SD card

    在 FTK 成像仪中添加证据


  2. 选择源对话框中选择图像文件 ,点击下一步


  3. In the Select File dialog, browse to the location where you downloaded the sdcard.dd file. Select the file and click on Finish:

    Recovering data deleted from an SD card

    在 FTK 成像仪中选择图像文件进行分析


  4. FTK 成像仪的默认显示将出现,SD 卡的内容在右下角的视图窗格中可见。您也可以点击左下窗格下方的属性选项卡来查看磁盘映像的属性。


  5. 在左窗格中,驱动器已经打开。你可以点击 + 标志打开文件夹。突出显示文件夹时,其内容会显示在右窗格中。选择文件后,其内容可以在底部窗格中看到。

  6. As shown in the following screenshot, the deleted files will have a red cross over the icons derived from their file extensions:

    Recovering data deleted from an SD card

    图标上显示有红色十字的已删除文件


  7. To export the file, right-click on the file that contains the picture and select Export Files:

    Recovering data deleted from an SD card

    在 FTK 成像仪中导出删除的文件


有时,只有文件的一个片段是可恢复的。无法直接读取或查看该文件片段。在这种情况下,我们需要在未分配的空间中寻找更多的数据。雕刻可用于恢复未分配的空间。Winhex、手术刀、prefirst 和 Photorec 是一些可以帮助你做到这一点的工具。大多数最新的安卓设备都不作为大容量存储器安装。这是因为这些设备不支持 USB 大容量存储,而是使用 MTP 或 PTP 协议。有了 USB 大容量存储,计算机将需要独占访问存储。换句话说,外部存储在连接到工作站时,需要与安卓操作系统完全断开。这导致了移动应用的其他一些复杂情况。当安卓设备使用 MTP 时,它在计算机看来是一个媒体设备,而不是可移动存储,如下图所示:

Recovering data deleted from an SD card

显示在视窗便携设备下的安卓设备

然而,正常的数据恢复工具需要一个安装驱动器来执行扫描,尽管这不是一个推荐的过程,因为它可能导致对设备进行更改。因此,大多数使用 MTP/PTP 的最新设备都不被视为装载驱动器。因此,适用于计算机的传统数据恢复工具在这些设备上不起作用。

出于前面提到的原因,当设备使用 MTP/PTP 并且没有作为驱动器安装时,可以通过某些特定于安卓系统的数据恢复工具进行恢复,这些工具需要打开 USB 调试选项。市场上几乎所有的安卓数据恢复工具都需要你启用 USB 调试,这样你的设备和 SD 卡才能在开始安卓数据恢复之前被识别。此外,这些工具只在根设备上工作。我们现在来看看如何恢复从安卓设备的内存中删除的数据。

恢复从内存中删除的数据

大多数分析工具都不支持恢复从安卓内存中删除的文件,如 app 数据等。这主要有两个原因。首先,与 SD 卡中使用的常见文件系统不同,内部内存使用的文件系统可能无法被取证工具识别和装载。第二,考官无法访问安卓手机内存的原始分区,除非手机是有根的。以下是审查员在尝试从安卓设备的内存中恢复数据时可能面临的一些其他问题:


  • 要访问内存,您可以尝试将手机设为 root。然而,生根过程可能涉及向/data分区写入一些数据。此过程可能会覆盖设备上的宝贵数据。

  • 与 SD 卡不同,这里的内部文件系统不是 FAT32(它被取证工具广泛支持)。内部文件系统可以是 YAFFS2(在旧设备中)、EXT3、EXT4、RFS,或者是为在安卓上运行而构建的专有文件系统。因此,许多为 Windows 文件系统设计的恢复工具将无法工作。

  • 安卓设备上的应用数据通常以 SQLite 格式存储。虽然大多数取证工具都提供了对数据库文件的访问,但它们可能必须在本机浏览器中导出和查看。审查员必须检查原始数据,以确保删除的数据不会被取证工具忽略。

由于这些原因,恢复从安卓设备的内存中删除的数据很困难,但并非不可能。安卓设备的内存保存着大量的用户数据和你调查的关键。如前所述,为了访问原始分区,设备必须是根设备。值得注意的是,市场上大多数安卓恢复工具都没有强调它们只在根手机上工作的事实。基于硬件的解决方案,如 UFED 和 XRY,完全能够从内存和 SD 卡中恢复删除的数据。现在让我们看看如何从安卓手机中恢复删除的数据。

通过解析 SQLite 文件恢复删除的数据

安卓中的大部分应用数据都存储在 SQLite 文件中。与文本消息、电子邮件和大多数应用数据相关的数据存储在 SQLite 文件中。SQLite 数据库可以将删除的数据存储在数据库本身中。用户标记为删除的文件不再出现在活动的 SQLite 数据库文件中。因此,通过分析这些 SQLite 文件,可以恢复已删除的数据,如短信、联系人等。SQLite 页面中有两个区域可以包含已删除的数据:未分配块和空闲块。大多数恢复已删除数据的商业工具都会扫描 SQLite 页面的未分配块和空闲块。解析删除的数据可以使用可用的取证工具完成,如氧气取证 SQLite 查看器。SQLite 查看器的试用版可用于此目的。但是,您可以恢复的数据量有一定的限制。

例如,我们将从安卓设备中恢复删除的短信。从安卓手机中恢复删除的短信是设备取证分析的一部分,主要是因为这是最流行的通信方式。在安卓设备上恢复删除的短信有不同的方法。然而,关于通过解析 SQLite 文件进行恢复,我们需要了解消息在设备上的存储位置。在第 4 章、从安卓设备逻辑提取数据中,我们解释了安卓设备上存储用户数据的重要位置。这里简单回顾一下:


  • 每个应用都将其数据存储在/data/data文件夹中(同样,这需要根访问来获取数据)

  • /data/data/com.android.providers.telephony/databases处的文件包含短信/彩信的详细信息

删除的文本消息可以通过检查存储在/data/data/com . Android . providers . telephone/databases 中名为 mmssms.db 的 SQLite 数据库文件来恢复。以下是所需的步骤:


  • 提取短信数据库 SQLite 文件(mmssms.db)。这可以使用逻辑数据提取技术来完成,这些技术在第 4 章、从安卓设备逻辑提取数据中有所介绍。

  • 一旦文件被提取到本地机器,您就可以使用可用的工具,如 Cellebrite。这些工具可以自动提取已删除的详细信息。您也可以使用十六进制查看器或 SQLite 查看器(如氧气取证 SQLite 查看器)手动检查碎片。

  • One way to view the deleted data is by clicking on the Blocks containing deleted data tab in the Oxygen Forensics SQLite Viewer, as shown in the following screenshot (referenced from http://az4n6.blogspot.in/2013/02/finding-and-reverse-engineering-deleted_1865.html):

    Recovering deleted data by parsing SQLite files

    氧气取证 SQLite 查看器中显示的已删除数据


您也可以尝试可用的开源 Python 脚本(http://az4n 6 . blogspot . in/2013/11/Python-parser-to-recover-deleted-sqlite . html)来解析 SQLite 文件中的已删除记录。

通过文件雕刻技术恢复删除的数据

文件雕刻 是取证中非常有用的方法,因为它允许恢复隐藏或删除的数据进行分析。简单来说,文件雕刻就是在没有文件系统元数据的情况下,从片段中重组文件的过程。在文件雕刻中,在二进制数据中搜索并提取指定的文件类型,以创建分区或整个磁盘的取证映像。文件雕刻仅基于文件结构和内容从驱动器中未分配的空间恢复文件,而没有任何匹配的文件系统元数据。

未分配空间是指驱动器中文件系统结构(如文件表)中不再有指针的部分。

可以通过扫描磁盘的原始字节并重组它们来恢复或重建文件。这可以通过检查文件的头(前几个字节)和尾(后几个字节)来完成。

文件雕刻方法根据使用的底层技术进行分类。页眉页脚雕刻方法依赖于基于页眉和页脚信息恢复文件。例如,JPEG 文件以 0xffd8 开始,以 0xffd9 结束。页眉和页脚的位置被识别,这两个端点之间的一切都被雕刻。同样,文件结构雕刻方法是基于文件的内部布局来重构文件。然而,传统的文件雕刻技术,比如我们已经解释过的那些,如果数据是碎片化的,可能就不起作用了。为了克服这一点,智能雕刻等新技术利用几种流行文件系统的碎片特征来恢复数据。

手机成像后,可以使用 【手术刀】等工具进行分析。手术刀是一个强大的开源工具来雕刻文件。此工具分析块数据库存储,识别已删除的文件并恢复它们。手术刀是独立于文件系统的,并且已知可用于各种文件系统,包括 FAT、NTFS、EXT2、EXT3、HFS 等。以下步骤解释了如何在 Ubuntu 工作站上使用解剖刀恢复文件:


  1. 使用sudo apt-get install scalpel命令在 Ubuntu 工作站上安装手术刀。

  2. 出现在/etc/scalpel目录中的scalpel.conf文件包含关于支持的文件类型的信息,如下图所示:

Recovering deleted data through file carving techniques

手术刀配置文件

该文件需要修改,以便包含与安卓相关的文件。可以从https://asecuritysite.com/scalpel.conf.txt下载一个样本scalpel.conf文件。您也可以取消文件注释并保存conf文件,以选择您选择的文件类型。完成后,用下载的文件替换原来的conf文件。

手术刀需要和前面的配置文件一起运行在被检查的dd图像上。通过输入配置文件和dd文件,您可以使用如下截图所示的命令运行该工具。一旦命令运行,工具就开始雕刻文件并相应地构建它们。

Recovering deleted data through file carving techniques

在图像文件上运行解剖工具

在前面的命令中指定的输出文件夹现在包含基于文件类型的文件夹列表。这些文件类型都包含基于文件夹名称的数据。例如,jpg 2-0包含与.jpg扩展名相关的恢复文件:

Recovering deleted data through file carving techniques

手术刀工具的输出

如前面的截图所示,每个文件夹都包含从安卓设备恢复的数据,如图像、.pdf文件、.zip文件等。虽然有些图片完全恢复,但有些没有完全恢复,如下图截图所示:

Recovering deleted data through file carving techniques

使用手术刀工具恢复的数据

像 DiskDigger 这样的应用可以安装在安卓设备上,从内存和 SD 卡中恢复不同类型的文件。DiskDigger 等应用包括对.jpg 文件、.mp3和的支持。wav音频、.mp4.3gp视频、原始相机格式、微软办公文件(.doc.xls.ppt)等等。但是,如前所述,该应用需要安卓设备上的 root 权限,以便从内部内存中恢复内容。因此,文件雕刻技术在从设备的内部存储器中恢复重要的已删除文件方面起着非常重要的作用。

分析备份

还建议检查设备是否安装了任何备份应用或文件。安卓的最初版本不包括用户备份个人数据的机制。因此,一些备份应用已被用户广泛使用。使用这些应用,用户可以将数据备份到 SD 卡或云中。例如Super Backup app 包含备份通话记录、联系人、短信等选项,如下图截图所示:

Analyzing backups

超级备份安卓应用

一旦检测到备份应用,法医检验人员必须尝试确定数据存储在哪里。备份中保存的数据可能包含重要信息,因此在设备上查找任何第三方备份应用都会非常有帮助。

您也可以通过设备上配置的谷歌帐户,使用恢复联系人选项恢复设备上的联系人。如果该设备的用户之前已经使用安卓系统中的同步设置选项同步了他们的联系人,这将会有效。此选项会同步联系人和其他详细信息,并将它们存储在云中。拥有合法权限或适当同意的法医可以恢复删除的联系人,如果他们可以访问设备上配置的谷歌帐户。访问帐户后,请执行以下步骤来恢复数据:


  1. 登录 Gmail 帐户。

  2. Click on Gmail in the top-left corner and select Contacts, as shown in the following screenshot:

    Analyzing backups

    Gmail 中的“联系人”菜单


  3. 点击联系人列表上方的 更多


  4. Click on Restore Contacts, and the following screen appears:

    Analyzing backups

    “恢复联系人”对话框


  5. 使用这种技术,可以将联系人列表恢复到过去 30 天内的任何时间点的状态。



总结

数据恢复是从设备中检索已删除数据的过程。因此,它是取证中一个非常重要的概念。在本章中,我们看到了从 SD 卡和内存中恢复已删除数据的各种技术。虽然从可移动 SD 卡恢复数据很容易,但从内部存储器恢复数据会有一些复杂性。SQLite 文件解析和文件雕刻技术帮助法医分析师恢复安卓设备内存中存在的已删除项目。建议检查设备上安装的任何备份应用,因为这样既省时又省力。

在下一章中,我们将尝试理解分析安卓应用的取证视角。


推荐阅读
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat ... [详细]
  • 本文介绍了如何使用Flume从Linux文件系统收集日志并存储到HDFS,然后通过MapReduce清洗数据,使用Hive进行数据分析,并最终通过Sqoop将结果导出到MySQL数据库。 ... [详细]
  • 本文详细介绍了如何在 Linux 系统上安装 JDK 1.8、MySQL 和 Redis,并提供了相应的环境配置和验证步骤。 ... [详细]
  • 如何在Java中使用DButils类
    这期内容当中小编将会给大家带来有关如何在Java中使用DButils类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。D ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • 如何在Linux服务器上配置MySQL和Tomcat的开机自动启动
    在Linux服务器上部署Web项目时,通常需要确保MySQL和Tomcat服务能够随系统启动而自动运行。本文将详细介绍如何在Linux环境中配置MySQL和Tomcat的开机自启动,以确保服务的稳定性和可靠性。通过合理的配置,可以有效避免因服务未启动而导致的项目故障。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • Amoeba 通过优化 MySQL 的读写分离功能显著提升了数据库性能。作为一款基于 MySQL 协议的代理工具,Amoeba 能够高效地处理应用程序的请求,并根据预设的规则将 SQL 请求智能地分配到不同的数据库实例,从而实现负载均衡和高可用性。该方案不仅提高了系统的并发处理能力,还有效减少了主数据库的负担,确保了数据的一致性和可靠性。 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
  • 为了确保数据库的高效运行,本文介绍了一种方法,通过编写定时任务脚本来自动清理 `order` 表中状态为 0 或为空的无效订单记录。该脚本使用 PHP 编写,并设置时区为中国标准时间,每 10 分钟执行一次,以保持数据库的整洁和性能优化。此外,还详细介绍了如何配置定时任务以及脚本的具体实现步骤。 ... [详细]
  • 优化Vite 1.0至2.0升级过程中遇到的某些代码块过大问题解决方案
    本文详细探讨了在将项目从 Vite 1.0 升级到 2.0 的过程中,如何解决某些代码块过大的问题。通过具体的编码示例,文章提供了全面的解决方案,帮助开发者有效优化打包性能。 ... [详细]
  • tabnine 破解_最新在线免费激活2022.07.18
    (tabnine破解)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。Intell ... [详细]
author-avatar
低碳的S
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有