随着智能手机的普及和互联网技术的发展,各种移动终端软件应运而生,在方便人们生活、工作、学习的同时,也给移动网络安全带来了极大隐患。 Android平台兼具开放性和高效性,广受用户青睐,大量智能终端的生产商和开发者加入Android阵营,让其成为黑产分子眼中的香饽饽,成为各种恶意应用和手机病毒的主要攻击对象。 2017年全年,累计截获Android平台新增恶意软件样本757.3万个,平均每天新增2.1万;从手机用户感染恶意软件情况看,累计监测到Android用户感染恶意软件2.14亿。Android平台新增恶意软件主要是资费消耗,占比高达80.2%,相比2016年增加了6个百分点。2017年恶意软件使用了多种新技术,分别是针对系统运行库的攻击,利用Telegram软件协议远控,手机挖矿,手机僵尸网络发起DDOS攻击,使用SOCKS代理和SSH协议穿透内网防火墙,恶意软件多级化,滥用应用多开技术以及高级定向攻击持续化。在恶意样本上利用的安卓漏洞主要有屏幕录制漏洞(CVE-2015-3878)、脏牛漏洞(CVE-2016-5195)、TYPE_TOAST(CVE-2017-0752)和Janus安卓签名漏洞(CVE-2017-13156)。(本段数据来自360互联网安全中心和360烽火实验室出品的安全报告节选) 在历年的送检案件中,我司鉴定所对Android平台恶意软件类案件的鉴定量也为数不少,本文选取了一例关于恶意APK的鉴定作为案例分享。 【案情简介】 犯罪嫌疑人潘某等人以校讯通、违章查询等方式发送含有木马病毒的链接给受害人,诱惑被害人下载安装带有病毒的应用,从而获取被害人的隐私信息,骗取受害人钱财。为鉴定潘某所使用的软件是否留有后门,办案机关委托盘石软件(上海)有限公司计算机司法鉴定所对该APK软件进行鉴定。
【鉴定过程】 1虚拟机创建
使用VMwareWorkstation程序创建新的虚拟机,操作系统为windows7,将相关APK目录文件复制到虚拟机。 2dex文件反编译
在虚拟机中将“校讯通.apk”进行解压,解压后的文件夹中classes.dex文件是java文件编译再打包而成的,使用dex2jar.bat将classes.dex进行解包,产生一个“classes-dex2jar.jar”文件。
3jar文件分析
使用java反编译工具打开生成的jar包“classes_dex2jar.jar”,对jar文件进行分析,发现恶意行为及代码片段由于代码经过混淆,故只对恶意行为进行说明。 隐藏桌面图标:类“com.phone2.stop.activity.MainActivity”,代码截图如下所示: 类“com.phone.stop.db.a.class”为代码保存数据的位置,具有保存数据、提交数据、获取数据的功能,此段代码内定义的方法内含有一个固定的电话号码和邮箱,根据其他类的调用可知,其他模块会调用这些方法向手机号码发送短信或者向邮箱发送邮件,代码截图如下: 短信获取设置:类“com.phone.stop.a.a.class”, 获取短信:类“com.phone.stop.b.b.class”, 获取联系人和手机号码信息:类“com.phone.stop.c.a.class”, 删除短信:类“com.phone.stop.c.f.class”, 发送短信:类“com.phone.stop.e.f.class”, 邮箱设置和发送邮件:类“com.phone.stop.c.b.class”和“com.phone.stop.c.d.class”, 激活设备管理器:类“com.phone2.stop.activity.DeleteActivity”,代码截图如下: 通过对“校讯通.apk”功能分析,可知其代码部分含有恶意功能模块,恶意模块的主要功能有:隐藏桌面图标,激活设备管理器,获取手机中的基本信息、短信、邮件,发送短信,发送邮件。这些恶意功能会造成用户隐私泄露。 经鉴定,送检的APK文件中含有恶意功能模块,恶意功能模块包括:隐藏桌面快捷图标,激活设备管理器,获取手机中的基本信息、短信、邮件,发送短信,发送邮件。这些恶意功能会造成用户隐私泄露。 该案件的主要鉴定方法,是通过对委托方提供的检材样本进行反编译,对反编译后的代码进行解析。通常这类案件为软件功能性鉴定,通过软件的代码分析或者功能验证,确认软件能否实现某种功能。 APK是AndroidPackage的缩写,即Android安装包(apk),通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。把android sdk编译的工程打包成一个安装程序文件,格式为apk。APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是DalvikVM executes的简称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。 apk反编译就是通过使用反编译工具,将apk文件中的源文件和资源反编译出来,得到的源文件和资源文件可以进行处理后再进行编译,以达到个性化定制、汉化apk等目的。 apk相关工具: 1.最典型的apk编译工具的核心是apktool,但是因为操作需要调用cmd命令,所以出现了很多具有可视化界面的各种编译工具,像easyapk、apkdb、doapk。 2.dex2jar.jar,将apk中的classes.dex转化成Jar文件,再通过jd-gui工具反编译jar文件。
|