英语原文共 11 页,剩余内容已隐藏,支付完成后下载完整资料
面向安卓设备的一般收集方法
摘要
Android平台已经在设备上得到广泛的应用,主要是用在手机上,这给设备装置带来了前所未有的常用软件功能而不再依赖于运营商和制造商。现代数字取证过程区分了采集和分析,理想的收集只会有一次,随后的分析依赖于适当的收集。在探索特殊设备引导模式和Android的分区模式后,我们详述一个Android启动图像的构成,讨论去设计这样一个图像来鉴定收集。本文主要讲的是Android设备的数据收集一般过程和在一些特定的设备进行实验的相关结果。
关键词:
Andro
id框架 移动设备 数字取证 采集 获取
1.引言
手机鉴证需要对设备制造商或者收集和分析的模型非常具体的过程。不仅手机使用各种接线、接口和形成因素,而且设备也有独特的软件,内存布局和存储技术。这个惊人的多样性导致了数字取证的工作者被包含大量的连线和数据收集技术的复杂工具包困扰(Yates,2010)。移动设备,尤其是移动电话在当今社会为分析员提供了大量的信息。
在2010年底,31%的美国手机消费者拥有了智能手机,所有的十大畅销手机都是智能手机。Android是谷歌的移动软件框架,它正享有一个比苹果的iPhone更大的市场份额和成长潜力,迅速使Android成为移动市场的重要一员。许多现有生产企业生产Android 基础设备和所有主要运输公司都出售可说设备。的确,Android现在可以出现在在客厅里支持GoogleTV,出现在即将到来的雪佛兰和福特汽车还有索尼的新“PlayStation手机”:Xperia玩。智能手机价格下降,“功能手机”的市场份额减少,也可能最终被免费的Android系统支持。
无处不在的设备在利用Android框架,利用常用的属性来最小化数字取证工具的多样性要求,同时最大化潜在的声音数据收集。制造商和运营商倾向于通过添加附加功能和通过移动设备提供附加服务保持竞争力,但Android为基础的设备共享一个共同的框架,我们利用这一点来实施收集(有时称为“获取”)。以我们的知识,本文放在第一位的工作是面向安卓设备的一般采集方法。
2.相关工作
尽管智能手机使用的量正在上升,移动电话本身并不是一个特别的新技术。手机数量和定价是由需求量和用户群的需求来指示的,必须通过数字取证人员处理。在本节中,我们提供一个在今天被视为一个便宜“功能手机”的移动设备上进行数字取证工作的过程,尤其是在智能手机上。
Willassen(2003)为GSM列出了许多基于手机分析的感兴趣的东西:位置、短信、联系人等。(参见附录1以得到Android简要概述的数据)。2006年,同一个作者探讨手机商品采集的方法,特别是使用实体线路接口(如JTAG端口)或物理存储器芯片通过芯片程序员采集收集之后的数据。同样是在2006年,Casadeiet al.(2006)介绍了被称为SIMbrush的现场收集技术,促进了整个文件系统收集(对于不受保护的文件),尤其是SIM卡设备。
2007年,Al-Zarouni(2007)研究了手机的关于数字取证的flashing工具的使用。作者得出结论,当取证可靠时,工具的主要用途是写入设备,而不是读出。设备读的能力因品牌和型号不同而差异很大,因此flashing工具作为一种采集方式可能是有问题的。
同样是在2007年,Mokhonoana和Olivier(2007)详细说明了塞班OSv7设备的采集方法,2008年,Distenfano探索了塞班OSv8采集方法(Distefano and Me,2008)。事实上,由于移动空间巨大的多样性,特定的操作系统或硬件平台等是很常见的研究范围比如黑莓(Fairbanks et al.,2009),CDMA(Murphy,2009),iPhone 3 Gs(Bader and Baggili,2010)、诺基亚(Williamson et al.,2006)等等。
手机取证的需求和移动设备市场的多样性产生了无数的手机取证工具。2006年,Ayers 等(2007)根据他们现有工具的收购,审查和报告功能的比较,认为典型的手机信息,如IMEI和SMS / MMS可以被现有的工具发现。同年威廉姆森等(2006)研究了移动取证工具特定的性能尤其是诺基亚手机。2007年,詹森和艾尔斯(2007)又用现有的工具检测手机并把他们的工作写到NIST报告中。后来,在2010年,耶茨(2010)指出,移动设备市场的多样性相关的复杂性使得工作者选择适当的数字取证工具。这里提到的比较文件为:Cell Seizure, GSM.XRY, MOBILedit! Forensic, TULP 2G, Forensic Card Reader, ForensicSIM, SIMCon, SIMIS and Oxygen Phone Manager。
专门针对Android设备,2009年Hoog(2009)讨论了Android取证包括Android手机的采集方法,比如手机上的检索文件使用一个由Android SDK提供的应用调试工具,使用商业工具比如Paraden设备检取和获取htc G1 的root权限。
Root是一种常见的的获取设备本地管理的权限,在这里用户只有最低的权限,比如一个电话。我们将在5.2节中进一步探讨root。
3.背景
建立在Linux内核基础上的Android操作系统是一个使用基元(如流程和用户的id)以及Java虚拟机(Dalvik)来给应用程序提供一个安全的平台(Shin ect., 2009)。Android应用程序通常是用JAVA编写,它与Android框架通过一个定义良好的API进行交互。出于性能原因,开发人员可以创建在硬件上自然运行的软件而避免JAVA虚拟机所造成的过载。SDK(软件开发工具包)和NDK(本机开发工具包)都可以应用于应用程序开发(不用于低水平开发如内核修改等)。SDK通过提供一个功能很全的模拟器让高级软件开发可行,Eclipse(优先集成开发环境)安卓特殊扩展和特殊的安卓调试桥(adb),使用adb可以从模拟器或用USB接口连接的实体设备得到调试信息(Android开发人员)。
Android调试桥包括在设备上(或模拟器实例)和开发人员的软件组件,通过USB或TCP连接。使用该功能,开发人员不仅可以观察调试信息,还可以执行其他各式各样的操作如安装软件(回避市场应用程序)重新启动设备,甚至打开交互式远程shell脚本。注意,adb不一定要能在生产设备上开启,但一定要能被用户开启。低等级试验中,Android代码是开源的,代码可以很容易地获得和编译(Android源代码)。
一些供应商,如G1手机的制造商HTC,为开发人员提供了丰富的网站,不仅提供了文件也有预先构建的工具,甚至手机图像(HTC开发者中心)。相反的,其他制造商从未向公众发布此类信息并且把电话图像这一让人梦寐以求的知识产权进行了保护。
本文剩下部分,我们假设了更严格的例子,就是当设备被屏幕锁机制“遮住”詹森和艾尔斯(2007)定义了这种机制。但是本文中描述的这项技术同样也可在“通畅”设备上工作,而且可以进行更加广泛地采集,它可以更简单的在“畅通”设备上运行adb并且执行无特权的逻辑收集。这样的收集将严格包含更少的信息,因为它未分配的存储位置不能存取,以及运行中的Android系统执行的权限(adb程序不执行root权限)。
4.收集目标
由于我们的数据收集的目的是为了取证,我们必须考虑技术上的一些约束条件和合理的的性质。理想情况下,设备和其数据都可以“精确复制”获得,即使通过与这个设备交互,我们多少可以改变它的状态,努力获得尽可能接近精确的一个的拷贝(Dobell)。在这里我们列举理想的收集标准。
数据存储
数据存储最重要的是存储用户数据,因为这类型的数据是相比常见的许多设备在系统文件调查上更有价值。这种观点并不能完全低估存储收集,更不可能是用户存储数据,它只在用户数据上加更多价值。事实上,获取系统信息在联系上用户数据后可能是非常有用的。虽然很有可能不太常见,但是具体情况可以命令缓存信息、固件和内核崩溃信息,这是至关重要的。另外,在理想的情况下,任何事物都可以作为一个“精确复制”收集。
Atomic收集
在设备收集上,数据应该尽可能自动收集。如果设备目前正在执行的指令并且操作存储,收集到的状态可能是无效的。考虑磁盘碎片清理,而外部程序也在复制相同的磁盘。这个过程要花些时间,文件将通过碎片整理而移到一个被外部程序复制的集群,这样很合理。在这种情况下,副本将不包含文件!一个简单的解决方案是复制磁盘不过磁盘没有其他正在执行的操作。当分配表等元信息在复制过程中改变时,关于文件系统的有效性可以提出相同的方案。
正确性
至于上面提到的Atomic标准,它对正确性有明显的要求。即使在设备上有自动复制的能力,数据必须要正确复制,软件必须必须从源头真正的复制数据到目的地并且在运输途中保正其完整性。
确定性
这个过程必须是可重复的,以便从业者的收集数据过程是在考虑之中的。在相同的状态下,先后在同样的设备上收集,应该产生相同的结果。
可用性
过程必须是可用的,发生在可行的时间内。
根据设备的硬件特点,可能需要其他预防措施。例如,一定程度上干扰或其它方法来阻止手机接受网络,这可以解释为传入的数据肯定会改变手机的状态,这样可能删除有价值的数据。
5.收集过程
我们的技术重新恢复分区和Android设备相关的恢复模式用于集合。对于任何设备,收集是一个多步骤的过程,这需要恢复图像收集。5.3节中概述了一个关于如何创建这样一个图像的大纲。
一旦获得了恢复图像,它将被使用下面第六节中说到的特定的设备指令闪存到设备中。设备装载好收集恢复图像后,设备将重启进入恢复模式并连接到装有adb(来自Android SDK)的电脑上。可以用于adb程序确认设备是否连接。(./adb设备),并远程执行在设备上执行的图像恢复(./adb命令行壳层)。
在这一点上,推荐的收集程序是使用adb从设备端口转发到TCP端口,开始在电脑上运行接收程序并将数据从存储设备中转移到本地设备的TCP端口。作者所写的TCP传输软件也可计算完整的被嵌套写入哈希数据。完整性散列的显示通过检查adb命令行壳层中的哈希显示来允许正确传输的核实,同时一个图像收集在计算机上独立算出。
数据释放被使用一定程度上取决于设备的特性。许多安卓设备使用配置存储设备(MTD),MTD系统是“原始闪存设备的抽象层”(MTD),允许软件使用单一界面访问各种闪存技术。在MTD设备中可以使用nand 转储收集NAND闪存数据,而独立于在内存中的高级文件系统。而那些没有使用MTD的设备则需要其他的收集技术。比如dd技术可以用来复制数据。还有一点值得注意,那就是不是所有的数据都要存储在便携存储其中的。Android设备通常支持一个或多个SD卡,用户不仅可以存储一些应用,还可以在这个设备上存储数据,一些制造商可能选择在这个设备上存储整个用户数据分区。<!--
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[147113],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。