2024年5月11日发(作者:)

Microcomputer

Applications

Vol.

37,

No.

1,2021

文章编号

:

1007-757X(2021)

01-0107-04

研究

设计

微型电脑%用

2021

年第

37

)

1

安卓取证系统的设计与实现

王德

广

倪怀乾

(大连交通大学软件学院

大连

116028

)

为了取证人员快速提取分析安卓系统的数据信息

利用

ADB

Python

等工具在

Windows

系统中开发针对于安卓

系统取证的桌面应用程序

°

并利用数据挖掘技术获取嫌疑人的微信好友信息,

通过时间序列图

网络拓扑图的方式显示联系

人之间的亲密度

使用词云显示浏览文本

获得重要信息

°

此程序具有较高的可行性和普适性

为取证人员提供较大的便利

°

关键词:

安卓系统

手机取证

数据分析

中图分类号

TP391

文献标志码

A

DesignandImplemen)a)ionofAndroidForensicsSys)em

WANG

Deguang

,

NI

Huaiqian

(College

of

software,

Dalian

Jiaotong

University,

Dalian

116028,

China)

Abstract

:

In order

to

quickly

extract

and

analyze

data

information

of

forensic

system

,

this

paper

uses

ADB

and

Python

to

devel­

op

deskGop

applicaGions

for

Android

forensics

,

uses

daGa

miningGechnologyGo

obGainGhe

WeChaGfriend

informa

ion

ofGhe

sus-

pecG

,

displaysinimacybeGweenconGacGsbymeansofimeseriesgraphsandneGworkGopologymaps

,

useswordcloudGodisplay

browsing

text

and

obtain

important

information.

The

program

has

high

feasibility

and

universality,

and

provides

greater

con-

veniencefortheforensicpersonnel.

Key

words

:

Android

system

mobile

forensics

data

analysis

(3

)

boot

分区

:分为头部

Linux

内核和

ramdisk

&

0

引言

智能手机已不止于通讯

而具备了一台电脑的重要功

(4)

recovery

分区

Android

定义的一个标准刷机

协议

&

1.

3

Android

手机文件系统

Android

中使用了多个文件系统

用于启动和运行系统

&

能&与此同时

不少犯罪分子也利用智能手机进行犯罪活

为了打击此类犯罪行为

手机取证技术就至关重要&本

文采取了一种适用于不同机型的安卓系统获取

root

的方法

,

并且利用

python

开发了

windows

桌面应用程序用于可视化

通过查看文件

/

proc/filesystems

的内容来确定

Android

所支

持的文件系统有哪些&例如在所参考的锤子坚果

3

包含

sysfs

ootfs

tmpfs

bdev

pBoc

cgBoup

cpuset

de-

bugfs

sockfs

pipefs

amfs

configfs

ext2

ext3

ext4

msdos

sdcardfs

fuse

selinuxfs

functionfs

exfat

devpts

&

提取的数据&结合数据挖掘技术将数据进行分析

绘制出网

络拓扑图等&为取证人员提供了更为直观的判断

节省了数

据的筛选时间

提高了效率

1

安卓系统

1.

1

Android

的系统架构

1.

4

Android

目录结构

root

级别的几个重要目录(代表性显示)&

(1)

cache

:

lost+found

recovery

Android

的系统架构

(

1

)

大致分为四层

从低到高依次为

Linux

内核层

系统运行库层

应用程序框架层和应用程

(

2

)

data

:

anB

app

app-pBivate

backup

dalvik-cache

lo-

cal

lost

+

found

property

tombstones

data

/

data

/

:

cache

databases

iles

序层

&

1.

2

Android

系统的分区结构

lib

shared_prefs

data

/

misc

:

bluetooth

dhcp

keystore

systemkeys

主要分区如下&

(1

)

modem

分区

实现手机必需的通信功能

&

vpn

wii

data

/

system

:

sync

usagestats

(

2

)

bootloader

bootloader

primarybootloader

主要执行硬件检测

secondarystagebootloader

会进行一

些硬件初始化工作

fastboot

Android

定义的一种简单的

(3)

mnt/sdcard

DCIM

download

Downloads

r

LOST.

DIR

temp

mnt

/

sdcard

/

android

/

data

/

.

刷机协议

用户可以通过

fatboot

命令行工具来进行刷机

&

作者简介

王德广

(1968-

),

硕士

副教授,研究方向

信息安全

机器学习

倪怀乾

(1993-),

硕士研究生

研究方向

信息安全

机器学习

&

107

Microcomputer

Applications

Vol.

37,

No.

1,2021

maps

:

c

ache

debug

testdata

(4

)

system

app

bin

fonts

framework

lost

+

found

ts

xbin

研究与设计

微型电脑%用

2021

年第

37

)

1

/

data

/

data

/

-

Step2

"

ers.

settings/databases

中的

settings.

db

文件

&

Step3

:

settings,

db

文件导出

hash

&

system/etc

:

bluetooth

firmware

permissions

PPP

secu-

Step4

获取屏幕锁密码文件&

Step5

:利用密码字典暴力破解获取密码&

rity

wii

system

/

lib

:

egl

hw

modules

system

/

media

/

audio

:

alarms

notiications

ringtones

ui

system

/

usr

:

keychars

keylayout

share

1.

5

Android

手机数据存储

2.3

root

(1

)

手机一键

root

目前安卓应用市场具有较多的一键

root

应用

例如百度

一键

root

超级

root

大师等应用&

1

)

SQLite

SQLite

数据库属于轻量级的

而且具有跨平台的特性,

使得

SQLite

数据库应用于移动设备的系统中

&

SQLite

数据

库文件存储在/

data/data/

应用程序包/

databases

文件夹下

,

(2)

电脑端

root

在电脑端也有较多对手机

root

获取的软件

例如刷机大

king

root

一键

root

大师等

&

(

3

)

手工

oot

是取证最为重要的数据路径&

(2)

内部存储

手工获取

root

权限为目前成功率最咼一-种方式

又称线

刷或卡刷

适用于较新的系统和机型&

以本文机型锤子坚果

3

为例

,利用

9008

工程线进行刷

Android

系统的内部存储是通过

IO

流进行文件的读取&

内部存储文件除了能被

root

用户读取外,

就仅能被对应的应

用程序读取

(

3)

外部存储

机&操作如下

下载

QPST

TWRP

root

root

包复制

到手机根目录

打开

Qfil

Bid

线刷包里的文件

点击

Load

XML

选择工具包中文件

将工程线

(

EDL)

插到电脑

按住工程线的按钮将另一端插入手机

点击

Download

待线刷完成

进入

TWRP

InsallC

安装),

刷入

root

Android

系统的外部存储为

SD

外部存储可以存储

较大的文件,

取证数据多为语音

图片和视频等&

2

安卓系统数据提取前的准备工作

2.

1

Android

手机数据取证流程

(根目录)

重启后获取

root

3

Android

系统数据提取

限于篇幅

提供部分数据库具体路径&

Step1

:获取

root

权限

Step2

开启开发者模式

Step3

:

电脑端配置好

adb

调试模式

,通过

adb

service

令,

验证手机与电脑连接正常

使用

adb

shell

进入到手机,输

su

进入

root

用户&

(1)

通话记录数据库存储位置

/

data

/

data

/

ts

/

databases

/

ca

l

.

(2)

短信数据库存储位置

/

data

/

data

/

/

databases

/

.

2.

2

屏幕锁的破解

屏幕锁⑵的设定在设置安全中

可用的屏幕锁定方式包

括:无、

滑动

人脸解锁、

图案、

密码与指纹&

(

3

)

信数据库

/

data

/

data

/

com.

tencent.

mm

/

MicBoMsg

/

(1

)

九宫图形锁(图案)

从左上角的

00

至右下角的

08

进行编号

根据算法计算后编码为密文,将密码存储在

/data/

8266e537b59dl0d389937efe3d2c30e8

(

不同账号该码不同

)

/

.

微信数据库⑷进行了加密&首先获取当前登录微信的

system/gesture,

key

件中

通过

adb

pull

/data/sys

­

tem/

gesture,

key

将加密文件提取。

获取到

gesture,

key

再利用密码字典暴力破解获得明文密码

&

(

2

)

PIN

"

/

data

/

system

/

passwordUkey

手机

IMEI

再者需要获取微信

uin

信息

微信

uin

与微信

账户进行关联

是唯一标识微信用户身份的标识符&在

/

data/data/com.

tencent.

mm/shared

_

prefs/auth_

info

_

key

_

prefs.

xml

中即可获取

uin

值&将

IMEI

和微信

uin

并,再进行

MD5

解密

,并取计算结果的前

7

位(小写)即为数

,

passwordUkey

用密码字

暴力破

得明文密码&

(

3)

高级用户锁:

通过哈希或

MD5

值对其自动加密

,将

据库解密密码&

(

4

)

QQ

数据库

密码

/

data

/

data

/

comUandroidUprovidersUse

t

ings

/

da-

tabases.

db,

salt

值取出

使用密码字典进行暴力破解

&

/

data

/

data

/

com

tencentUmobileqq

/

databases

/

db

(4)

recovery

模式密码暴力破解

若嫌疑人使用的

An-

droi

-

手机

USB

调试没有打开

启用了开机屏幕锁

就无法进

入设置应用程序中勾选启用

USB

调试功选项

也就意味着

无法进行后续的取证工作&此时需要利用

recovery

模式

QQ

使用的是表加密&解密方法

聊天记录内容明文

(D

)

聊天记录内容密文

(

E

)

;手机

IMEI

公式

E

=

DIMEI

j

按位异或算法)

(

5

)

Facebook

数据库

来进行密码破解

&

Step1

手机关机后重启进入

recovery

模式

bankup

f

/

data/

data/com.

facebook.

katana/databases/contacts

_db2U

(6)

淘宝浏览记录

restore

备份得到新镜像文件&

108

Microcomputer

Applications

Vol.

37,

No.

1,2021

/

data/data/com.

taobao.

taobao/databases/data_history

(7)

QQ

浏览器浏览记录存储位置

研究与设计

微型电脳%用

2021

年第

37

)第

1

/

data/data/com.

tencent

.

mtt/databases/database

(8)

百度浏览器浏览记录存储位置

/

data/data/com

.

baidu

.

browser

.

apps/databases/db-

browserdb

(

9

)

/

data/data/com.

baidu

.

BaiduMap/files

/poi_his.

sdb

件中存储有搜索记录信息

&

10

)

com.

sogou

.

map.

mobile,

android.

history_result.

db

存储

2

数据提取其中一个子页面

搜索记录

数据提取过程

进入手机命令行并进入

root

用户

(例

女口)

cd/data/data/com

.

android.

providers.

contacts/databas-

es

输入

Is

查看提取该数据库的名称

cp

calllog.

db

/

mnt/sdcard/

-

将该数据库提取到

sdcard

此时再打开一个

新的命令行

adb

pull

sdcard/

calllog.

db

即可成功将数据

库提取到当前命令行所在的目录下

&

4

实验

实验环境

&

笔记本电脑

神舟战神

i7

内存

8G

显存

4G1T

1

28SSD

Window10

64

3

核心内容页面

该类页面使用

QDialog

为最核心内容页面

查询显示数

据库内容

&

开发工具:

PyCharm

专业版

(

PyQt

QtDesigner

PyUic

)

adb

SQLite

从输出到控制台的内容截取到该界面文

本框内显示

&

将其以设定

信息

4.2

功能架构

格式显示

键字

4.

1

功能阐述

通讯

微信

QQ

社交软件

浏览器

地图导航

淘宝

机系统信息等数据的提取主界面

如图

1

所示

&

微信聊天记录微信图片微信视频

微信语音微信好友微信社交网络

通讯录

通话记录

短信通话序列图

1

浏览器

---------------------------

----

--------------------

QQ

浏览器猎豹浏览器火狐浏览器谷歌浏览器

360

浏览器搜狗浏览器

UC

浏览器百度浏览器

2345

浏览器

2

微信

3

通讯

0

?

0

___

5QQ

淘宝聊天记录淘宝浏览信息

(

2

FaceBook

FaceBook

Message

WhatsApp

Twitter

Line

MSN

(1)

各类浏览器获取的历史搜索记录及网页存储的表

单账号与密码

&

(2)

提取微信存储的聊天记录

图片

语音及好友亲密

数据等

(3)

获取通讯好友

短信

通话记录和绘制通话记录的

1

数据提取主界面

(

4

)

类导

软件

数据

主界面

QMainWiiidow

QtGui

QtCore

QtWidgets

QApplication

sys

等库

主要为页面的设计和页面的跳转

(

5

)

QQ

信息与

记录

(6)

手机系统信息提取的数据无需获取

root,

连接电脑

每个按钮通过信号和槽连接到相应的子页面

以其中一个子

后即可查看

其中

WiFi

查看嫌疑人连接过的

WiFi

用户名

页面为例,

如图

2

所示&

2

QDialog

页面

其它库与主页面相同

不同于使

及密码

网络

IP

查询连接的网络

包括

2/3/4/5G

网络连接

的地址

使用

VPN

代理的信息

WiFi

连接的

IP

系统信

息是查询手机版本

系统版本

提取手机镜像是在本地存储

一份当前手机的所有数据并备份

日志是查

QComboBox

来设计下拉选择列表

列表内容为

4.2

功能

架构下分支的内容

点击

查询

按钮跳转到所选项目的查

手机的各

询显示

如图

3

所示&

109

信息

Microcomputer

Applications

Vol.

37,

No.

1,2021

7

查看淘宝的聊天记录和浏览记录

&

8

研究与设计

微型电脳%用

2021

年第

37

1

表示这两个节点之间越熟悉

,

所代表的两个用户之间的关系

各类社交软件的聊天记录与好友信息

&

越亲密

,

两者之间的影响力也就越大

,

反之相反&因此本文

采用权

4.

3

快速取证

计算方式来精确计算

疑人与

该方式无需

root,

使用

itchat

库登陆网页版微信

扫描二

的关系

准确还原出犯罪嫌疑人近期的社交关系网络&

维码后便在本地生成用户信息文件和用户名

.html

其中

以模块度算法公式

>

=

占工

LA

+

-

66

.

#

?

,

c

+

2

m

用户信息文件包含所有微信好友的微信

id

昵称

、地区和个

性签名

用户名

.

html

文件是通过

collections

Counter

pyecharts

Bar

库来生成并统计好友所在地区信息、

数量与

单一社区和权值公式为

4

#

0

=

#

2

#,

0

*

'

2

m

实现社交网

男女比例等&

*

=

0

络的绘制。

其中

中心是嫌疑人账号

,

节点是各个联系过的

5

数据分析

5.

1

基于时间序列的可视化方法

用户账号

,

边上数值为权值

截取部分信息

5.3

基于词云的可视化

通过生成词云的方式

,

快速分析嫌疑人网购商品的类

基于时间序列的可视化方法是将时间作为主要变量

在生

云中

,

字体越大

过时间序列图构建时间线&以通信时间作为

X

通信对象

作为

Y

坐标原点为本机账号

嫌疑人

建立时间序列图

,

嫌疑人购买该商品的可能性越大&以此来判断嫌疑人最近

的购买活动

,

从而评估相应的行为动机

如图

6

所示&

如图

4

所示&

....................

響豎

-

1

而@锻武畫十曲必

r

吧絆

布絲布變

1558809MB

1834115H

旋机布

化::皿心

水林术协

注倚島诛矗

6

单累

6SD

气"

可判断该用户购买多为生活用品

该方法使用停用词

表进行数据清洗

并使用

jieba

库分词

wordcloud

matplot-

•务多多多多务多多多多务多乡

lib

生成词云&

6

总结

4

本文通过对安卓系统的解锁与

root

的获取研究

,

成功提

用线段将嫌疑人和用户进行连接

表示在某时间点与用

取出手机内部重要的数据库

在提取数据阶段

,

使用

python

开发的应用程序加以可视化

,

更为直观明了

在数据分析阶

等方

信息以

户进行了通信

。直观展现了嫌疑人与各个用户账号通信行

为频率

便于取证人员结合案件发生的时间

,锁定特定时间

段内与嫌疑人进行通信的用户

缩小取证范围

提高取证效

式呈现给取证人员

提供了更多的分析依据

,

从而进一步实

该方法用

tlib.

pyplot

等库

通过调用

plot

,

提供更为

程序&

函数绘制

0

"#

以坐标轴形式显示

截取部分信息

5.

2

基于社交关系网络的可视化方法

通过社交关系网络拓扑图,

可清晰确定用户的社交关系

参考文献

[

1

(

吴中超.安卓系统安全攻防简析[

J

(

.

网络安全技术与

亲密度

如图

5

所示&

应用

,

2017(8

):

101-103.

[2

(

唐卫中

.

锁屏

Android

手机破解方法研究

[

J

(

.

保密科

学技术

,

2018

,

97(10):31-35.

[3

(

石穗东

李蒙

雷鸣.运用第三方

recovery

破解安卓手

机屏幕锁

[

J

(

.

刑事技术

,2015,40(4

):

327-329.

[

4

(

Wu

S

,

Zhang

Y

,

Wang

X

,

et

al.

Forensic

analysis

o

f

WeChatonAndroidsmartphones

[

J

(

DigitalInvestiga

­

tion

,

2017,21(jun.

)

3-10.

5

社交关系亲密度

(

:

20191127

%

在社交网络拓扑图中

若两个节点之间的权值越大

,

110