安卓取证框架综述

安卓取证关键技术框架

一个全面的安卓证据获取框架

1 引言

如今,新一代高性能智能手机几乎取代了个人计算机。新系列的智能手机配备了强大的处理器、内存和图形处理单元,使其几乎可以完成个人计算机所能做的所有事情。此外,移动性、轻便性以及通过4G接入高速互联网网络是新一代智能手机的其他优势。这些优势使得来自不同年龄和职业群体的大多数人使用智能手机来完成日常任务,例如查看电子邮件、记笔记、安排事件、编写文档等。根据一项高德纳的研究,仅在2013年就有近9.68亿部智能手机售出,与2012相比增长了42.3%。当前智能手机使用不同类型的操作系统。根据高德纳2013年的研究,当年安卓操作系统市场份额最高,售出的9.68亿台设备中近7.59亿台搭载安卓操作系统。其余市场份额由iOS、微软、黑莓及其他操作系统占据。

安卓是一种基于Linux的操作系统,由谷歌为触摸屏智能手机开发。后来,该操作系统的使用范围扩展到了其他设备,如智能电视、智能手表、数码相机等。谷歌通过开源许可证发布了安卓的源代码。安卓的开源特性鼓励了许多开发者为该操作系统开发和发布各种类型的应用程序。

安卓操作系统的普及使其成为黑客的理想目标。此外,由于其普及性,搭载安卓操作系统的智能手机涉及犯罪的可能性很高。一部安卓智能手机可能以三种不同的方式卷入犯罪行为:第一,它可能属于犯罪嫌疑人;第二,它可能属于受害者;第三,它可能存储有违法行为的相关信息。

  • 安卓手机作为犯罪嫌疑人的持有物:智能手机可能被犯罪嫌疑人在实施犯罪过程中使用。例如,犯罪嫌疑人可能通过其智能手机与其他犯罪同伙进行通信。
  • 安卓手机作为受害者的持有物:智能手机可能在事发期间被受害者使用。例如,该智能手机可能包含受害者与犯罪嫌疑人之间的通信记录。
  • 安卓手机作为违法行为的存储载体:智能手机可能被用来存储和携带违法内容。例如,智能手机可能包含儿童色情内容、被盗的银行凭证或属于受害者的其他敏感信息。

安卓智能手机可以成为用于侦破犯罪案件的出色信息来源。这些信息可能构成犯罪证据。对安卓智能手机的检验一直是调查人员面临的挑战。以下列出了一些此类挑战:

  • 在某些安卓智能手机中,若不拆下电池,访问外部存储器(SD卡)非常困难。如果SD卡位于电池下方,则需要断开电池连接,这会导致内存信息丢失,在某些情况下还会触发安全机制。
  • 安卓智能手机制造商通常会改变其产品的硬件和软件结构以保持竞争力。这些变化使得手机的取证过程更加困难,调查人员需要及时了解新发布型号的硬件和软件结构信息。
  • 新型智能手机的内存和存储容量正在持续增加。更大的内存和存储尺寸意味着从智能手机生成镜像的过程将更长。
  • 新一代安卓手机配备了加密机制。该加密机制会对存储中的全部内容进行加密。对手机内容的解密过程可能非常耗时。

移动设备取证是指在符合取证规范的条件下,使用公认的方法从移动设备中恢复数字证据的科学。考虑到安卓取证面临的各种挑战,应当建立一个全面的框架,用于访问、保全和获取安卓智能手机中的证据。该框架应遵循取证准则和标准。在本研究中,我们提出了一种从安卓智能手机收集和保全证据的取证框架。

2 问题陈述

当在犯罪现场发现搭载安卓操作系统的智能手机时,应采用明确的框架来查找和保全证据。安卓智能手机的工作方式与个人计算机有很大不同,这些差异源于安卓手机的硬件和软件结构。因此,调查人员无法沿用传统的个人计算机取证方法论。

3 提出模型

当调查人员决定收集证据时,应从最易失的到较不易失的开始。安卓手机中的易失性顺序为:内存、内部存储、外部设备(如果存在)以及SIM卡。此外,服务提供商日志在取证过程中也可能非常有帮助。尽管它们并不直接属于安卓智能手机的一部分,但在取证过程中起着重要作用。例如,当无法访问短信和通话记录时,服务提供商可以为取证目的提供这些信息。然而,这在很大程度上取决于犯罪发生地的国家法律。此外,在无法获取安卓手机GPS信息的情况下,智能手机用于通信的蜂窝基站的位置也可以为犯罪嫌疑人/受害者提供大致的位置估计。

智能手机的取证过程通常由三个主要程序组组成(扣押、采集和分析)。每个主要程序组包含若干子程序。本文将研究范围限定为从安卓智能手机中进行证据获取,因此扣押和分析程序不在本研究范围内。采集是从智能手机内存中提取内容的过程。该过程类似于个人计算机取证中的逐位复制成像。数据获取可以在现场进行或在实验室中。关于智能手机在转运至实验室过程中的电池耗电问题,本文不予讨论。本研究假设发现的智能手机处于锁定状态,这是最复杂的情况。然而,如果发现的智能手机处于解锁状态,则首先应启用USB调试,然后尽量避免手机进入锁定模式。随后,调查人员可以跳过第一个步骤,直接进入内存镜像步骤。 示意图0

3.1 解锁

智能手机取证与个人计算机取证的主要区别在于,如果发现计算机处于锁定状态,可以轻松地对其内存进行逐位镜像。然而在安卓手机取证中,如果手机被查获时处于锁定状态,镜像和分析过程就会变得非常复杂。最新版本的安卓操作系统配备了加密功能,该功能会对整个内存进行加密,并且只有在完成有效的解锁过程(图案、PIN码、密码输入)后才会解密内容。因此,如果调查人员无法获取解锁密钥,将难以直接解密内容,而需要进行暴力破解攻击。在本节中,我们将回顾12种用于获取解锁密钥或绕过认证的技术。

3.1.1 污迹攻击

污迹攻击是指试图通过触摸屏设备上残留的用户敏感输入痕迹来推断其输入内容的一种方法。智能手机屏幕上用户指纹残留物的持续存在,可能成为破解安卓手机图案解锁的线索。通常情况下,密码图案留下的污迹会一直保留在屏幕上,直到用户主动清洁屏幕为止。在光照条件合适且拍摄图像质量较高的情况下,调查人员可借助计算机图像编辑软件使图案变得清晰可见。然而,当用户在解锁智能手机后频繁使用触摸屏时,该方法将难以奏效。 示意图1

3.1.2 暴力破解四位数密码

旧版安卓智能手机存在锁屏漏洞。由于错误尝试之间的等待时间较短,使得暴力破解攻击成为可能。过去,在连续5次失败尝试后,手机会将用户锁定30秒。因此,暴力破解从0000到9999的登录个人识别码仅需16.6小时。然而,此漏洞已在最新版本的安卓系统中修复,但仍有一些智能手机可能使用旧版本的认证机制。

3.1.3 Gmail 恢复

在安卓最新版本中,经过几次失败尝试后,智能手机会提供一个选项,允许用户通过登录其Gmail账户来绕过图案解锁。如果在犯罪现场发现了犯罪嫌疑人的用户名和密码,则可以利用这些信息绕过图案解锁。如果智能手机无法连接互联网,此方法将失效。

3.1.4 使用应用程序解锁

某些类型的安卓应用程序旨在解锁屏幕。这些应用程序可以分为两类。

首先,这些应用程序可在谷歌应用商店中获取。在此情况下,需要能够访问手机所有者的Gmail账户和一台计算机。接下来,通过计算机及其Gmail账户登录谷歌应用商店来安装该应用程序。然后,需触发启动该应用程序(通过来电或消息)。最后,该应用程序将解锁手机。此解决方案仅在犯罪现场找到了手机所有者的Gmail账户凭据时才可行。

第二类是需要通过USB数据线传输的应用程序。借助安卓软件开发工具包和调试桥,应将解锁应用程序复制到智能手机中。然后通过命令行安装并启动该应用程序以解锁屏幕。此解决方案要求启用USB调试。

之前提到的两种解决方案都会忽略内存数据的完整性,这违反了取证准则。然而,在调查人员没有其他选择的情况下,可能会采用其中任何一种程序来访问智能手机中的证据。

3.1.5 操作 SQLite 数据库

屏幕锁的设置保存在SQLite数据库中。通过更改数据库中该设置的值,调查人员可以绕过屏幕锁。但此选项仅适用于已获取root权限的安卓手机。

3.1.6 冷启动攻击

冷启动攻击允许调查人员通过将智能手机冷冻来从锁定的安卓手机内存中检索密码,以10°C。冷启动攻击利用残余效应在短时间内保存内存内容。残余效应指出,内存内容会随着时间推移逐渐消失,而内存芯片温度越低,内容消失得越慢。

对于冷启动攻击,调查人员应将手机放入冰箱,使其温度降至5–10°C。然后立即断开并重新连接电池。此方法可使调查人员保存大量内存中的数据。重启手机后,需要解锁引导加载程序,而这会导致用户分区被擦除。该技术的缺点是,在解锁引导加载程序的过程中用户分区将被清除,这可能导致部分证据丢失。穆勒及其同事在一项研究中证明,通过使用冷启动方法,可以从锁定的安卓手机内存中恢复出显著数量的敏感信息。

3.1.7 密码破解

安卓将屏幕锁个人识别码以哈希字符串的形式存储在位于/data/system/password.key路径的password.key文件中。然而,密码并非以明文形式存储。密码首先使用随机字符串进行加盐处理,然后进行哈希运算。安卓系统将用于后续认证过程的盐值保存在/data/data/com.android.providers.settings/databases/settings.db数据库中。因此,在存在哈希值和盐值的情况下,可以通过暴力破解来获取个人识别码。进行暴力破解时,依次将字符串使用盐值加盐,然后进行哈希运算,最后与已有的哈希值进行比对。如果哈希值相等,则该字符串即为个人识别码。此技术的局限性在于其需要访问文件系统,而这需要启用调试功能。

3.1.8 手势密码

安卓将图案解锁信息存储在/data/system/gesture.key文件中。如果手机已获取root权限,调查人员可以直接删除gesture.key文件,从而绕过图案解锁。由于图案解锁的可能性有限,因此也可以创建包含所有可能图案的彩虹字典,并将gesture.key文件中的哈希值与之进行比对。

3.1.9 JTAG

JTAG是联合测试行动组的缩写,是一种符合IEEE(1149.1)标准的测试访问端口。JTAG端口通常存在于大多数智能手机的电路板上,用于调试目的。JTAG可用于访问内存并对其进行转储。转储包含哈希和盐值,这使调查人员能够通过暴力破解找到个人识别码。生成JTAG转储的过程可能较慢。然而,当开发者模式被禁用时,使用JTAG可能是绕过认证的最佳解决方案之一,同时还能保持内存的完整性。

3.1.10 服务提供商代码

在某些情况下,手机可能会使用SIM卡锁。SIM卡锁可保护SIM卡内容免遭未经授权的访问。然而,调查人员凭借司法部门出具的信函,可向服务提供商索取PIN号码。

3.1.11 检查封没物品

通常,智能手机所有者会写下密码以避免忘记。在某些情况下,智能手机的密码与犯罪邮箱或计算机的密码相同。因此,应对检查期间扣押的物品进行仔细检查。有可能在某个笔记上写有智能手机的密码。

3.1.12 尝试与错误

一些手机用户可能会选择较弱的PIN号码,以避免忘记(例如0-0-0-0或9-8-7-6)。因此,调查人员可以尝试这些可能性来解锁手机。然而,不建议使用此技术。通常智能手机对解锁尝试次数有限制,经过几次试错后,内存可能会被清除,或其他安全机制可能被激活。如果调查人员决定使用此技术,应首先查阅与该款智能手机型号相关的可用文档,以确认允许的解锁尝试次数。

3.2 内存镜像

内存是一种存在于安卓智能手机中的易失性存储器。内存中的数据具有易失性,意味着在电源断开后数据将被清除。因此,RAM镜像过程应在安卓手机开机并运行(实时)状态下进行。内存通常包含对取证调查过程至关重要的信息,例如运行中的进程、加密密钥、通信内容片段、打开的文件、网络结构等。

取证程序在捕获内存时应尽量减少证据被篡改的可能性。然而,无法完全捕获一个易失性内存的100%精确复制,因为操作系统会持续对内存进行一些更改。RAM镜像的输出结果应与RAM采集前的状态没有明显差异。

西尔维及其同事在一项关于从安卓设备进行易失性内存采集的研究中得出结论:现有的内存采集解决方案均不适用于安卓,且无法转储内存的全部内容。随后,他们引入了LiME以实现完整的内存转储。在本节中,我们将讨论使用JTAG和LiME进行RAM镜像的方法。

3.2.1 JTAG

正如我们之前在第3.1.9节中提到的,联合测试行动组(JTAG)也称为边界扫描,可通过处理器直接访问内存。该技术可用于生成内存内容的镜像。在此技术中,内容被更改的风险被降至最低,且无需拆卸内存芯片。

3.2.2 LiME

LiME是Linux内存提取器,以前称为DMD。LiME允许进行内存转储。调查人员可以选择将SD卡或网络(通过安卓调试桥的TCP)作为转储目标。由于在此阶段尚未获取存储卡(外部存储器)的镜像,唯一可行的方案是使用网络作为镜像的目标位置。使用网络进行内存镜像转储将最大限度地减少开销和痕迹。使用此技术需要启用安卓调试桥(ADB)功能。通常情况下,此功能默认是关闭的。但存在一些方法可以远程启用ADB。

3.3 内存镜像

安卓智能手机的内部存储器应是取证调查员的主要关注点之一。该存储器包含多种可能成为证据的数据类型。这些信息的一些示例包括GPS地理位置、浏览器历史、电子邮件、聊天记录、搜索记录、缓存、日志、日历事件、笔记、消息、语音消息、用户名、联系人列表、通话记录、社交媒体活动、图片、视频等。

在布罗thers的一项研究中,他将内存数据获取分为五种主要方法。这种分组如图3中的金字塔所示。从金字塔的底部向顶部移动时,每一层都变得更加复杂、昂贵且耗时。本节将对每种方法进行描述。 示意图2

3.4 外部内存成像

通常,安卓智能手机都配备有外部存储卡。这些存储卡旨在增加智能手机的存储容量。它们通常用于存档不太敏感的数据,如音乐、图片和视频。然而,这些信息可能成为重要的证据来源。这些存储卡是可拆卸的,通常位于电池下方。外部存储器的内容通常未加密,因此可能成为丰富的证据来源。 示意图3

调查人员应遵循几个步骤从外部存储器获取镜像。首先,应将存储卡置于写保护模式。其次,生成存储卡的哈希值以供后续完整性检查。然后,应使用取证工具创建存储器的副本镜像。最后,应获取镜像的哈希值并与存储卡的哈希值进行比较。两个哈希值相等表明所生成镜像的完整性。

3.5 SIM卡复制

SIM是用户身份模块的缩写。所有移动电话都依靠SIM卡与蜂窝网络进行通信。SIM卡可以插入和从手机中移除,这使得用户能够将其信息从一个手机设备转移到另一个手机设备。SIM卡有不同的尺寸,但它们都用于手机用户的识别和认证。SIM卡类似于小型计算机,因为它们拥有自己的处理器、只读存储器、操作系统、随机存取存储器和只读存储器。 示意图4

表1 SIM卡访问条件
| 访问条件 | 描述 |
|----------|------|
| 始终(ALW) | 该命令始终在文件上运行而无需任何限制 |
| 持卡人验证1(CHV1) | 该命令仅在PIN1验证后运行,或PIN1未激活时 |
| 持卡人验证2(CHV2) | 该命令仅在PIN2验证后运行,或个人识别码2未激活的时间 |
| 行政 (ADM) | 服务提供商是负责此条件分配的责任人 |
| 从不 (NEV) | 该命令永远不会运行 |

SIM卡包含多种对取证调查员有价值的信息。

  • 电话簿
  • 最后拨打的号码
  • 短消息服务 (SMS)
  • 增强消息服务 (EMS)
  • 呼入和呼出电话
  • 路由位置信息
  • 运营商信息

SIM卡使用不同的安全措施来保护其数据。SIM卡使用访问条件来确保只有经过适当授权的用户才能运行命令。5种SIM卡访问条件列于表1中。

对SIM卡进行取证程序时,首先应将其从智能手机中取出。通常SIM卡位于电池下方。然后应使用SIM卡读卡器对SIM卡进行克隆。应计算镜像的哈希值以确保镜像的完整性。调查人员应保存SIM卡,以避免其数据发生任何更改。

3.6 收集服务提供商日志

蜂窝网络服务提供商记录用户信息以生成使用账单。此信息称为通话详单记录(CDR)。用户身份、拨打号码、时间、通话时长是此类信息的一些实例。此外,提供服务的通信塔(基站)的位置也被记录。基站之间的切换及其时间也被记录。

服务提供商的记录保存期限有限,因此调查人员应立即着手收集这些信息,以免其被删除。

由服务提供商提供。通过遵循该国的司法程序,调查人员可以获得短信、彩信和语音邮件的内容。

除了通信信息外,服务提供商还能提供有关SIM卡持有人的以下信息:

  • SIM卡持有人姓名和地址
  • SIM卡账单姓名和地址
  • SIM卡持有人手机号码
  • 用于账单支付和购买额外服务的银行信息
  • SIM卡上的可用服务
  • PIN1和PIN2号码

这些信息可直接用作证据,或间接帮助调查人员破案。例如,蜂窝基站位置记录可以估计犯罪嫌疑人所在区域。蜂窝基站之间的切换及其时间可以帮助调查人员推断犯罪嫌疑人行进的大致路径。然而,职业罪犯了解服务提供商的这些能力,他们可能会让他人使用自己的SIM卡制造虚假踪迹,而自己身处其他位置。

SIM卡持有人的银行信息和地址也是证明犯罪嫌疑人/受害者身份的非常有用证据。

3.7 恢复内存中的已删除项目

在生成内部和外部存储器的镜像后,调查人员应探测已删除项目。通常,犯罪嫌疑人会删除与其犯罪相关的数据,甚至可能格式化整个内存。当用户删除文件时,操作系统并不会真正删除该文件,而是删除文件表中的指针,并将所占用的空间标记为可用。因此,数据仍然存在于存储器中,有可能被恢复。然而,一旦有新数据写入,就有可能覆盖原先已删除的数据。目前有多种取证工具可供使用,使调查人员能够恢复这些已删除的项目。

4 结论

智能手机的取证程序与个人计算机的常规取证程序不同,因此需要为这些设备建立一个综合框架来进行取证。在本文中,我们聚焦于安卓智能手机,并将研究范围限定在数据获取方面。我们提出了一种针对安卓智能手机数据采集的完整取证框架。首先,我们讨论了绕过或解锁安卓手机认证机制的不同方法。接着,我们涵盖了用于获取内存、内部存储内存和外部存储器。然后我们讨论了如何复制SIM卡。接着,我们解释了服务提供商日志的重要性以及可以从其中获取哪些有用信息。最后,我们讨论了已删除数据恢复的流程。该框架将帮助取证调查员谨慎选择从安卓智能手机中获取数据的适当方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值