还剩2页未读,继续阅读
文本内容:
恶意程序检测复合方法android1android恶意程序随着移动智能设备的普及,android系统的发展也非常迅速与此同时,android恶意软件的快速发展和广泛应用,给android用户带来了严重的安全隐患恶意程序是一种软件程序代码,旨在干扰正常的使用,收集系统/用户的敏感信息,获取未经授权的信息等等恶意程序包括病毒、蠕虫、木马、后门、逻辑炸弹、漏洞攻击程序、间谍软件、广告软件、rootkit后门以及其他恶意程序代码国内在Android安全研究及Android恶意程序检测等方面卓有成效例如,蒋绍林等在对工作中收集整理到的226份Android恶意程序样本和一些公开的恶意程序样本进行综合分析的基础上,应用Python编写了相关的统计程序,统计出Android恶意程序常用的权限类型与使用频度,并确定了静态分析环节中需要重点关注的权限另外,结合信息安全测评工作的实践活动,基于沙箱系统的Android恶意程序动态分析方法,进行了Android恶意程序激活方式研究,归纳了动态分析中激活恶意程序的方法结合静态分析与动态分析,总结出恶意程序行为分析的有效方法2android恶意软件的一般权限统计访问控制是系统实施安全控制的有效手段之一,而访问控制具体体现在主体对客体的访问权,即主体对系统资源的访问权限上
2.1系统资源保护Android系统在应用程序框架中提供了权限许可机制,为开发者定义了一百多种权限用于保护系统资源,并提供了对应的API用于访问上述系统资源由于Android严格的权限许可机制,恶意程序如果试图获取用户隐私、系统信息或者执行系统操作,都必须在Android Manifest,xml文件中申明相应的权限,否则在程序运行时就会触发安全异常
2.2zeltser.co对于此次研究,统计分析的Android恶意程序样本部分源于以下各开放网站.com/malware-samp1e-sources/;.mediafire.com/78npy8h7h0g9y;.blogspot.com/o其余样本是由实际工作中收集整理的,共226个
2.3android恶意软件的一般权限统计所用命令与参数如下程序输出结果略鉴于篇幅
2.4android恶意软件的一般权限统计结果的分析根据以上样本及程序分析得出如表1所示的统计结果表中所反映的这些权限及相关的API函数就是在静态分析中需要重点关注的部分3android恶意软件的反编译示例
3.1android文件反编译下面以分析Android恶意程序Cute PuppiesWallpaper,apk为例进行说明通过使用Apktool工具可对待检测APK文件进行反编译过程略编译后可以产生和程序包层次结构相同的Smali目录,目录中包含着反汇编后的Smali文件反编译后的Smali文件代码通常较长,而且指令繁多,代码分析时很难捕捉到重点,因此有必要快速定位程序关键代码,提高分析效率,降低分析强度
3.2关键代码的生成Android程序由一个或多个Activity以及其他组件构成,不同的Activity实现不同的功能,但每个程序有且只有一个主Activity对于大多数应用程序而言,主Activity的On Create就是程序的代码入口,所有功能从这里开始执行以下是快速定位的操作步骤步骤1:先解析出Android Manifest.xml文件,找到主Activity,如图1所示步骤2:查看其所在类的On Create方法的反汇编代码,提高分析效率,如图2所示通过以上两个步骤就可以定位到程序的代码入口
3.3快速定位重要权限关联api函数还需要根据表1,重点分析恶意程序常用权限的函数调用情况通过定位程序关键代码、定位重要权限关联API函数两种途径,就可以快速找到程序的入口及其重要功能代码部分在源代码分析过程中,优先分析程序关键代码可以避免顺序分析中阅读大量无关代码,加快了分析速度,提高了分析效率4箱原理介绍Android恶意程序动态分析利用沙箱原理,即在计算机系统内部构造一个独立的虚拟空间,恶意程序所作的任何写磁盘操作,都将重定向到这个虚拟空间
4.1分析环境的搭建将装有Droidbox、Wireshark、An装oguard等检测分析工具的主机或是笔记本电脑通过有线或无线方式接入互联网,打开笔记本电脑无线网络,将其设置为访问接入点AP SSID:Test,打开待检测手机的WIFI功能,接入无线网络,这样就完成了分析环境的搭建其拓扑结构如图3所示
4.2触发恶意程序以下从分析恶意程序的激活方式,创建激活条件激活恶意程序,使用APIMonitor对恶意程序进行分析三个方面进行介绍1恶意软件激活模式经对Android恶意程序实例分析并结合工作实践经验,分析和总结了Android恶意程序的主要激活方式,如表2所示2a网络协议模式通过以下四个步骤可以完成恶意程序激活的全过程步骤1提供WIFI与移动数据网络两个Internet网络出口有些恶意程序为了规避流量监测,采取了智能判断,仅当有WIFI连接时才有网络行为步骤2:需更改测试环境的时区及时间设置有些恶意程序,为了提高其隐蔽性,在其源代码中加入了时间判断,在正常工作时间07:00-24:00不工作,有效规避了分析人员在正常时间内对其进行动态分析步骤3:尽可能尝试多种网络协议类型的操作有些恶意程序通常在用户主动进行网络操作时才运行,如打开浏览器HTTP、网络下载FTP等,因此在动态分析时需要主动尝试多种网络行为步骤4:根据表2总结的恶意程序激活方式尽可能模拟很多的监听事件,触发木马恶意行为3系统的静态分析APIMonitor是Droid Box中独立的动态分析工具,它通过向目标APK包中插入监视代码来监测应用程序在运行过程中调用的APEAPIMonitor首先反编译所要处理的APK包,接着遍历Small代码如果找到在配置文件中配置的需要监测的API,则分析这个API参数,插入Droid Box包下相应的类的静态函数,最后重新打包这个APK包这样,当应用程序在运行过程中调用到插入了监视代码的API后,系统日志就会出现标签Droid Box标记的日志信息,只需过滤出这些日志信息,就可以获得应用程序调用系统API的信息默认监控的API列表存放在config/default_api_collection文件下其内容如图4所示通过静态分析结合动态分析,可在短时间内快速全面掌握Android恶意程序的基本功能、程序流程、网络行为较传统分析而言,大大缩短了分析时间,提高了分析效率5android恶意程序检测为解决Android恶意程序检测中代码分析量大、核心代码定位难、检测判断效率低等问题,提出了将静态分析与动态分析相结合的Android恶意程序行为监测和分析的复合检测方法该方法对收集整理的226个和开放的恶意程序样本进行了综合分析,应用Python语言编写了自动化Android恶意程序权限统计程序,统计分析了打开网络套接字、将数据写到外部存储设备和接收系统启动时的广播事件动作等15种常用权限,并以此确定静态分析中需要重点关注的权限及其调用函数以Android恶意程序Cute PuppiesWallpaper.apk为验证实例,使用Apktool工具对待检测的APK文件进行了反编译,得到了反汇编后的Smali文件,通过定位程序关键代码、定位重要权限关联API函数两种途径快速找到程序入口及其重要功能代码部分同时,采用沙箱系统的Android恶意软件动态分析方法,得到开机启动、应用程序变更等事件及其对应的激活方式使用该方法,可以有效提高分析效率,缩短恶意代码分析时间,快速定位核心代码,及时阻止恶意程序传播。