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
)
数据库
储
置
:
密码
储
/
data
/
data
/
comUandroidUprovidersUse
t
ings
/
da-
tabases.
db,
将
salt
值取出
,
使用密码字典进行暴力破解
&
/
data
/
data
/
com
tencentUmobileqq
/
databases
/
db
(4)
recovery
模式密码暴力破解
:
若嫌疑人使用的
An-
droi
-
手机
USB
调试没有打开
,
启用了开机屏幕锁
,
就无法进
入设置应用程序中勾选启用
USB
调试功选项
,
也就意味着
无法进行后续的取证工作&此时需要利用
recovery
模式
使用的是表加密&解密方法
:
聊天记录内容明文
(D
)
;
聊天记录内容密文
(
E
)
;手机
IMEI
;
公式
:
E
=
DIMEI
。
j
按位异或算法)
。
(
5
)
数据库
储
置
:
来进行密码破解
&
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)
浏览器浏览记录存储位置
:
研究与设计
微型电脳%用
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
功能阐述
通讯
、
微信
、
、
社交软件
、
浏览器
、
地图导航
、
淘宝
、
手
机系统信息等数据的提取主界面
,
如图
1
所示
&
微信聊天记录微信图片微信视频
微信语音微信好友微信社交网络
通讯录
通话记录
短信通话序列图
1
浏览器
---------------------------
阜
----
--------------------
浏览器猎豹浏览器火狐浏览器谷歌浏览器
360
浏览器搜狗浏览器
UC
浏览器百度浏览器
2345
浏览器
2
微信
3
通讯
0
、
?
「
0
___
5QQ
淘宝聊天记录淘宝浏览信息
(
2
Message
Line
MSN
(1)
各类浏览器获取的历史搜索记录及网页存储的表
单账号与密码
&
(2)
提取微信存储的聊天记录
、
图片
、
语音及好友亲密
数据等
。
(3)
获取通讯好友
、
短信
、
通话记录和绘制通话记录的
。
图
1
数据提取主界面
(
4
)
提
类导
软件
储
导
和
数据
。
主界面
用
QMainWiiidow
、
QtGui
、
QtCore
、
QtWidgets
、
QApplication
、
sys
等库
,
主要为页面的设计和页面的跳转
,
由
(
5
)
查
信息与
聊
记录
。
(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
发布评论