互联网应片j。
伴随于机病毒感染数量的快速增长 进行分析时,通过对该文件进行研究,可以得到其运行的权以及恶意攻击者攻击手段的不断提高,有39 85%的用户感 限设置等信息.分析出恶意代码的主要功能。
染过手机病毒,已经成为移动终端面临的最大安全威胁有 由于apk文件中AndroidManirest.xml是经过编译的.需29 55%的手机用户使用塞班操作系统,使其成为恶意攻击者 要对其进行反编译才能进行分析。
目前常用的反编译L县是的攻击重点,但安卓、lOS等移动智能终端操作系统发展迅速, ApkTool,能将一个apk文件分解H{smali代码和里面的xml文面临的安全威胁小断增加.感染比例也在持续上升。
网站浏 件,并且签名之后打包还原。
我们分析基于安卓平台的恶意览已经成为移动终端病毒传播的主要途径,移动终端病毒具 代码时.可以使用ApkTool对apk文件进行反编译,执行命令有更强的趋利性,各类软件论坛、市场和下载网站成为移动 行apktool bat d<源文件)(目标目录>,即可将反编译后的终端病毒传播的新途径”…。
AndmidManifest xml拷贝到目标目录,以便对其进行分析。
4基于安卓平台恶意代码的逆向分析技术 通过对反编译后的AndroidManifest xml文件进行分析,我 逆向分析技术是指将应用程序进行反汇编,通过分析反 们发现其主要包括以下几个部分.一是<uses-permission>标 签.其主要功能是请求一个安全授权,应用程序必须被授于犷编代码来理解应用程序的功能,即在不执行应用程序的情 万方数据 石丽该权限,程序包才能正确的操作;二是<application>标签, public void sendSms0 (表示每一个应用程序的组件及其属性;三是<activity>标签, String str=getStateVal(); if 0”Y”.equals(str))主要应用于用户交互的机制;四是<receiver>标签,主要用于 { SmsManager IocalSmsManager=SmsManager.getDefauh0;接收数据变化或发生行为;五是<service>标签,主要包括在 Intent loealIntent=new Intent():后台任意时刻都可以运行的组件14】。
PendingIntent localPendingIntentl=PendingIntent. getBroadeast(this,0。
localIntent.O): 在进行恶意代码分析时,主要对<uses—permission>标签 PendingIntent IoealPendingIntent2=nail; IoealSmsManager.sendTextMessage(”1066185829”,null。
”921X1”,包含的参数进行分析,如果包含其基本功能不需要的权限, loealPendingIntentI,localPendingIntent2);极有可能是恶意代码。
如某基于安卓平台的日历软件<USES— save(); lpermission>标签中包含如下信息: l <use¥一permi‘ssi。
on
android:name=”
android.I)ermiSSl’On. INTERNET”,> 4.3.2启动Activity <uses—permt。
ssl。
on
android:name=“
android.1)ermisslon. Activity是Android最基本的应用程序组件,任何一个 ACCESS—COARSE—I。
OCATION”,> <uses—permissl。
on
android:name=”
android.I)ermi8sl‘on. Android应用程序都可以看作一组任务这里每一个任务就可以 RESTART二PACKAGES”,> 称作一个Activity,用于呈现数据并与用户进行交互。
恶意攻击 <uses—permiSSl‘On
android:name=”
android.I’ermisslon. RECEIVE—SMS”,> 者实现连接网络和盗取敏感信息等恶意行为,需要通过使用独 <uses—permt‘ssl’on
android:name=”
android.I)ermi851。
on. SEND SMS”,> 立类来实现Activity,即通过
android.app.Activity.startActivity函数 <uses—perml’ssl。
on
android:name=”
android.I)ermiSSl。
On. 来实现各种业务功能,这就为我们进行分析提供了依据吲。
SET_WALLPAPER”,> 4.3.3启动后台服务 我们通过分析发现
android.permission.RECEIVE—SMS表 后台服务功能相当于没有界面的Activity,可以不需要用示允许应用程序去监听短消息并对其进行处理,与该应用程 户直接参与而长时间运行,当一个服务启动后,可以借助各序基本功能不符,极有可能是恶意代码。
恶意代码常用到的 类接口与其进行通信。
在实际应用中,常常需要等待系统或<uses-permission>参数,如表1所示。
· 其它应用发出指令,于是出现了Broadcast Receiver组件,每 表1参数功能表 个Broadcast Receiver组件都可以接收一种或若干种Intent作参数 功能INTERNET 允许应用打开网络套接口 为触发事件,当一个Broadcast Receiver组件被触发后,系统ACCESS——FINE—,LOCATION 允许应用访问精确性的定位(GPS) 就会通知相应程序。
由于服务功能具有静默运行等特点,用RECEIVE—BOOT_COMPLETED 允许应用接收在系统完成启动后发出的 ACTlON—BOOT—COMPLETED广播信息 户不易发现,恶意攻击者通常会利用
android.content.Context.ACCESS——NETWORK—.STATE 允许应用访fnJ网络上的信息 允许应用去监听短消息并对其进行处理 startServiee函数来启动后台服务{71。
RECElVE—SMSBL LrET0f’TH 允许应用左连接蓝牙设备 4.3.4拨打电话SEND SMS 允许应用发送短信 拨打电话是恶意攻击者实施攻击的一种重要手段,可以4.3 classes.dex文件 通过定义ITelephony类实现。
通过调用lTelephony类的dial 安卓应用程序的主要代码包括在classes.dex文件中,该 函数可以实现直拨指定电话号码,例如某具有自动拨打电话功文件是源码编译后生成的java字节码,与AndroidManifest.xml 能的恶意代码中,通过.
上一篇:
基于Android的多线程下载器的研究与设计
下一篇:
政府形象媒体危机的处置策略研究