"手机APP逆向分析在电子数据取证工作中的应用"
手机APP逆向分析在电子数据取证工作中的应用是当前信息安全领域中一个非常重要的研究方向。随着移动互联网的普及,手机恶意APP的威胁日益严重,电子数据取证工作变得越来越重要。逆向分析作为恶意程序取证的重要方法之一,已经成为业界的一个热门工作。
逆向分析也称为反向工程(Reverse Engineering)[2],其含义是根据已有的应用程序,通过逆向工程来得到其源码,进而分析其设计方案[3]。目前有很多公司和司法鉴定机构用这个方法分析恶意程序,该方法可以将手机恶意APP通过反汇编的手段来分析APP相关功能,找到程序中存在的具体恶意行为,从而得到违法行为的证据或线索。
逆向分析的方法有很多,常用的有静态检测分析法和动态检测分析法。静态分析法,是在程序没有运行的情况下通过逆向工程来提取程序的特征,然后再对这些特征进行分析判断,看APP程序是否具有恶意行为。静态分析的优势是速度快效率高,但是缺点是面对易混淆代码和多态技术时力不从心,尤其是包含一定社工攻击的恶意程序。动态分析法,主要是指在虚拟机或者沙箱环境中执行APP程序,在执行过程中,取证系统会完整的记录恶意程序的所有恶意行为。沙箱按照空间类型被分为用户空间沙箱以及内核空间沙箱,典型的内核空间沙箱如TainDroi等。
通过静态检测技术和动态检测技术相结合,就可以较为全面地实现恶意APP源码分析和恶意APP的行为分析。将恶意程序关键数据提取出来,并固定其中的相关数据,从而掌握恶意程序实施恶意行为的关键证据。
在手机APP逆向分析取证实例中,以某涉及手机个人隐私窃取的“X约.apk”程序为例,展示了逆向分析在手机恶意APP电子数据取证过程中的常用解决思路和具体操作方法。首先启动工作台,对工作环境用杀毒软件进行检测,然后导入所要检测的目标文件。接着通过jadix-gui-0.9.0反编译工具解开“X约.apk”文件,得到该文件的内部代码结构。将解开的文件统一存放到规定位置,并计算MD5值,以用于证据固定。
其中AndroidManifest.xml是安卓平台与APK程序执行交互的接口文件,该文件提供了APK的所有申请权限和所有的组件。选中AndroidManifest.xml文件,该文件内包含APK向Android平台申请的所有权限,包括“写入外部存储”、“读取联系方式”、“读取短信”、“访问精确位置”等敏感权限。
在“X约.apk”程序中,首先执行的是index.html文件,该文件打开之后,有唯一的“确定”按钮,点击即调用aa()方法,该方法检查输入的手机号和邀请码,继而getPermission方法申请读取联系人权限,如果没有申请到权限,弹出消息框告知用户:“请您同意弹出的权限,便可实用程序!如果未弹出,请前往“手机设置”里的“权限管理”找到本应用,并打开通信录权限,方可使用。”;如果申请到权限,则调用successCallBack方法,该方法在successCallBack方法中调用的huoqu(sjh,yqm)方法,该方法的代码为index.html代码的406至439行。
huoqu(sjh,yqm)方法执行逻辑为:第一步:将手机号码、邀请码和address变量中存储的手机的厂商和型号赋予con变量;第二步:调用dcloud的H5框架接口获取通信录数据信息;第三步:将获取的所有联系人名字和手机号数据存储在con变量;第四步:将数据信息发送到服务,...
在电子数据取证工作中,逆向分析是一个非常重要的步骤,它可以帮助我们更好地了解恶意程序的行为和设计思想,从而更好地进行电子数据取证和犯罪调查。同时,逆向分析也可以帮助我们提高信息安全防护能力,防止恶意程序的攻击和破坏。
手机APP逆向分析在电子数据取证工作中的应用是一个非常重要的研究方向,逆向分析可以帮助我们更好地了解恶意程序的行为和设计思想,从而更好地进行电子数据取证和犯罪调查。