王德广, 倪怀乾
(大连交通大学 软件学院, 辽宁 大连 116028)
智能手机已不止于通讯,而具备了一台电脑的重要功能。与此同时,不少犯罪分子也利用智能手机进行犯罪活动。为了打击此类犯罪行为,手机取证技术就至关重要。本文采取了一种适用于不同机型的安卓系统获取root的方法,并且利用python开发了windows桌面应用程序用于可视化提取的数据。结合数据挖掘技术将数据进行分析,绘制出网络拓扑图等。为取证人员提供了更为直观的判断,节省了数据的筛选时间,提高了效率。
Android的系统架构[1]大致分为四层,从低到高依次为Linux内核层、系统运行库层、应用程序框架层和应用程序层。
主要分区如下。
(1) modem分区:实现手机必需的通信功能。
(2) bootloader分区:bootloader的primarybootloader部分,主要执行硬件检测;secondarystagebootloader会进行一些硬件初始化工作;fastboot是Android定义的一种简单的刷机协议,用户可以通过fastboot命令行工具来进行刷机。
(3) boot分区:分为头部、Linux内核和ramdisk。
(4) recovery分区:是Android定义的一个标准刷机协议。
Android中使用了多个文件系统,用于启动和运行系统。通过查看文件/proc/filesystems的内容来确定Android所支持的文件系统有哪些。例如在所参考的锤子坚果3上,包含的内容有:sysfs、rootfs、tmpfs、bdev、proc、cgroup、cpuset、debugfs、sockfs、pipefs、ramfs、configfs、ext2、ext3、ext4、msdos、sdcardfs、fuse、selinuxfs、functionfs、exfat、devpts等。
将root级别的几个重要目录(代表性显示)。
(1) cache:lost+found、recovery
(2) data:anr、app、app-private、backup、dalvik-cache、local、lost+found、property、tombstones
data/data/com.facebook.katana:cache、databases、files、lib、shared_prefs
data/misc:bluetooth、dhcp、keystore、systemkeys、vpn、wifi
data/system:sync、usagestats
(3) mnt/sdcard:DCIM、download、Downloads、LOST.DIR、temp
mnt/sdcard/android/data/com.google.android.apps.maps:cache、debug、testdata
(4) system:app、bin、fonts、framework、lost+found、tts、xbin
system/etc:bluetooth、firmware、permissions、PPP、security、wifi
system/lib:egl、hw、modules
system/media/audio:alarms、notifications、ringtones、ui
system/usr:keychars、keylayout、share
(1) SQLite
SQLite数据库属于轻量级的,而且具有跨平台的特性,使得SQLite数据库应用于移动设备的系统中。SQLite数据库文件存储在/data/data/应用程序包/databases文件夹下,是取证最为重要的数据路径。
(2) 内部存储……p>