admin 管理员组文章数量: 1086019
2024年4月20日发(作者:js中try catch用法)
SYS SECURITY
系统安全
手机APP逆向分析在电子数据取证工作中的应用
◆
张静文 廖
赟
张 鹏 邹儒将 周南京
摘要:近年来,手机恶意APP威胁信息安全的问题愈发突出,因而恶意APP程序的检测和电子数据取证
工作在新的形势下变得更加重要,逆向分析作为恶意程序取证的重要方法之一,已经成为业界的一个热门工
作。论文通过一个实际案例,展示了逆向分析在手机恶意APP电子数据取证过程中的常用解决思路和具体操作
方法。
关键词:手机APP;逆向分析;电子数据取证
一、前言
信息化在全球的不断普及,使人们在使用手机APP
让生活便利的同时,也面临着恶意程序侵害的风险——
有的伪装成合法的程序、有的带欺骗性的恶意链接、有
的隐秘窃取个人用户隐私信息……。因此,如何通过有
效方法对智能手机的APP恶意程序开展电子物证检测,
显得尤为重要。而在手机APP恶意程序的电子物证检验
工作中,逆向分析是最为重要手段之一,可以通过其识
别恶意程序的恶意代码,了解其如何进行攻击
[1]
。
会完整的记录恶意程序的所有恶意行为。沙箱按照空间
类型被分为用户空间沙箱以及内核空间沙箱,典型的内
核空间沙箱如 TainDroi等。通过静态检测技术和动态检
测技术相结合,就可以较为全面地实现恶意APP源码分
析和恶意APP的行为分析。将恶意程序关键数据提取出
来,并固定其中的相关数据,从而掌握恶意程序实施恶
意行为的关键证据。
三、手机APP逆向分析取证实例
下面以某涉及手机个人隐私窃取的“X约.apk”程
序为例,探讨手机APP逆向分析是如何实践应用于电子
数据取证。
(一) 静态检测过程。首先启动工作台,对工作环
境用杀毒软件进行检测,然后导入所要检测的目标文件。
接着通过jadx-gui-0.9.0反编译工具解开“X约.apk”文
件,得到该文件的内部代码结构。将解开的文件统一存
放到规定位置,并计算MD5值,以用于证据固定。其中
是安卓平台与APK程序执行交互的
接口文件,该文件提供了APK的所有申请权限和所有的
组件。选中文件,该文件内包含APK
向Android平台申请的所有权限,包括“写入外部存储”、
“读取联系方式”、“读取短信”、“访问精确位置”
等敏感权限。
打开H5框架,调用核心业务程序的入口文件
”,可见“X约.apk”首先执行的是index.
html文件,该文件打开之后,有唯一的“确定”按钮,
二、 APP逆向分析
(一)逆向工程。逆向工程也称为反向工程(Reverse
Engineering)
[2]
,其含义是根据已有的应用程序,通过逆
向工程来得到其源码,进而分析其设计方案
[3]
。目前有很
多公司和司法鉴定机构用这个方法分析恶意程序,该方
法可以将手机恶意APP通过反汇编的手段来分析APP相
关功能,找到程序中存在的具体恶意行为,从而得到违
法行为的证据或线索。
(二)分析方法。最常采用的分析方法有静态检测
分析法和动态检测分析法。静态分析法,是在程序没有
运行的情况下通过逆向工程来提取程序的特征,然后再
对这些特征进行分析判断,看APP程序是否具有恶意行
为。静态分析的优势是速度快效率高,但是缺点是面对
易混淆代码和多态技术时力不从心,尤其是包含一定社
工攻击的恶意程序。动态分析法,主要是指在虚拟机或
者沙箱环境中执行APP程序,在执行过程中,取证系统
图1 apk向Android平台申请的权限
42
信息系统工程 │ 2020.9.20
点击即调用aa()方法,该方法检查输入的手机号和邀请
码,继而getPermission方法申请读取联系人权限,如
果没有申请到权限,弹出消息框告知用户:“请您同
意弹出的权限,便可实用程序!如果未弹出,请前往
“手机设置”里的“权限管理”找到本应用,并打开通
信录权限,方可使用。”;如果申请到权限,则调用
successCallBack方法,在successCallBack方法中调用
huoqu(sjh,yqm)方法,该方法的代码为代码
的406至439行,如图2所示。
图2 huoqu(sjh,yqm)方法代码
huoqu(sjh,yzm)方法执行逻辑为:第一步:将手机号
码、邀请码和address变量中存储的手机的厂商和型号赋
予con变量;第二步:调用dcloud的H5框架接口获取通
信录数据信息;第三步:将获取的所有联系人名字和手
机号数据存储在con变量;第四步:将数据信息发送到服
务器,服务器地址存放在apiserver变量。最后,调用了
translatePoint方法,该方法将获取的定位数据发送到服务
器。发送成功后,如果服务器返回数据是“获取成功”,
则调用RequestPermission方法,最后再设置30秒一次的定
时器,定时调用RequestPermission方法。RequestPermission
方法是获取短信信息,代码121行至129行是将获取的短
信信息发送到指定的服务器。如图3所示。
图3 translatePoint方法代码
SYS SECURITY
系统安全
(二)动态检测过程。将“X约.apk”文件拷贝到
专用取证电脑,首先进行检材固定,计算其MD5值,接
着运行模拟器Genymotion for personal use Custom Phone
6.0.0,将“X约.apk”软件拖放进模拟器,界面弹框包含
“要允许夜约访问您设备上的照片、媒体内容和文件吗?”
的文字信息,“拒绝”和“允许”两个按钮。点击“允许”
按钮,而在后续的“X约.apk”界面上有“填写邀请码”
的按钮,点击该按钮,即进入 “填写邀请码”的对话框,
进而收取用户的个人有关信息。
在动态检测过程中发现,手机号和邀请码只输入其
中之一,点击“确定”按钮,程序提示:“输入正确手
机号和邀请码”;若输入手机号和邀请码,多次尝试输
入1-6位随机数字,结果程序没有反应。
(三)分析结果。综上所述,“X约.apk”程序具
有获取手机型号、手机通信录、定位信息和短信信息功能,
及将获取的信息上传到服务器的功能。没有其他的社交、
聊天等即时通信功能。具有每隔30秒定时获取短信功能。
未发现除上述功能外的其他功能。同时,在程序运行过
程中几乎没有隐私政策、用户注册协议、免责声明等隐
私协议,是一款典型的用于窃取用户隐私的“钓鱼”软件。
上述检验分析的相关代码证据文件,按照司法鉴定流程
可用为电子数据证据加以固定,作为法庭取信之用。
四、结语
本文通过对一款特定恶意APP进行分析取证,展示
了逆向分析在电子数据取证工作中的基本方法,通过该
方法,可以针对手机APP恶意程序进行取证分析。而现
实案例证明,手机恶意程序千变万化,在实际数据取证
研究中,必须结合多种方法,灵活地进行电子数据取证,
才能为净化网络环境创造条件。
H
参考文献
[1] 边悦,戴航,慕德俊.Android 恶意软件特征研究[J].计算
机技术与发展,2014 (11):178-182.
[2] Eldad Eilam.逆向工程揭秘[M].北京:电子工业出版
社,2007:4-16.
[3] 丰生强. Android 软件安全与逆向技术[M]. 北京:人民邮
电出版社,2013:94-156.
[4]吴俊昌, 骆培杰, 程绍银, 等. 基于权限分类的 Android 应
用程序的静态分析[A]. 北京: 中国信息安全测评中心,2011:41-4.
(作者单位:南京拓界信息技术有限公司)
信息系统工程 │ 2020.9.20
43
版权声明:本文标题:手机APP逆向分析在电子数据取证工作中的应用 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1713554579a640491.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论