360移动互联网恶意软件分析平台
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
360移动互联网恶意软件分析平台
作者:卞松山路轶石晓虹
来源:《信息安全与技术》2013年第12期
【摘要】移动互联网恶意软件的爆发式增长,迫切需要安全厂商实现移动互联网恶恶意软件样本的自动化分析。本文阐述了奇虎360在手机恶意软件样本自动化分析检测领域的技术实践和主要关键技术。
【关键词】移动互联网;恶意软件;样本自动化分析
1 引言
我国移动互联网正处在快速发展的历史机遇中,手机应用软件(APP)层出不穷、繁荣发展。但由于安卓系统的开源和开放性,手机木马、手机病毒等各类恶意APP也开始出现并迅速增粘,安卓平台的安全形势越来越不容乐观。
根据360安全中心发布的《2012年中国手机安全状况报告》显示,2012年360互联网安全中心新增手机恶意软件样本174977款,同比2011年增长1907%,感染人次71664334人次,同比2011年增长160%;其中,Android平台以新增样本123681款,占全部新增样本数量的71%,感染量达51746864人次,占恶意软件感染总次数的78%,成为手机恶意软件的主要感染平台。2012年12月,其更以单月新增30809款达到历史新高。
恶意软件导致的移动终端个人信息泄露问题日益严峻,相关负面报道的不断出现,例如2011年12月,一款名为CarrierIQ(简称CIQ)的内核级间谍软件被曝光,该软件会暗中收集用户隐私信息,甚至每按下一次键盘都会被秘密地记录在案,并将手机内容上传至网络,让手机用户对隐私泄露产生恐慌。
随着个人信息泄露问题日益严峻,智能手机终端个人信息保护日益受到人们关注,迫切需求制定移动互联网软件安全标准,研发移动互联网智能手机恶意软件监测、分析和查杀的相关技术和产品,保护用户个人信息安全,为用户提供安全可控的移动互联网安全产品和服务。
2 手机恶意软件自动分析检测技术发展
对手机恶意软件的样本进行分析和鉴定,需要有一套自动化的分析和检测系统。目前,对手机恶意软件样本的自动化分析技术主要包括两类。
(1)静态扫描技术:包括两种,一种是传统的特征码扫描匹配技术,另一种是基于数据挖掘的样本识别与分析技术,例如项目承担单位实现了基于机器学习的样本人工智能分析技
术,亦即:在建立大量已知黑白样本的训练集基础之上,采用人工智能机器学习算法,对程序文件的静态、行为等特征进行抽取,建立一定的机器学习模型,经过对新样本的不断训练,训练模型将在检出率和误报率之间达到一个较好的平衡,从而实现对未知恶意软件的智能启发式识别能力。
(2)动态行为分析技术:即在一个特定的模拟环境中,监控应用软件的行为,建立恶意软件行为的动态模型,形成一系列恶意软件行为的规则库,通过实时监控识别未知的可疑恶意软件。
3 360移动互联网恶意软件检测分析平台
3.1 系统总体架构
360移动互联网恶意软件自动化分析系统的总体设计方案如图1所示。
3.1.1终端恶意软件查杀
恶意软件查杀的技术路线主要从客户端和云端实现恶意软件的监控与防御——在手机客户端实现主动防御功能,在云端实现联网云查杀的接口服务。其中,主动防御是对系统事件进行实时监控,即当发现手机客户端有异常行为,如未经用户同意即发送付费短信,或者私自联网时,可以在第一时间进行拦截,并且明确提示用户(由用户决定是否继续此行为以及对该软件的后续处理)。
对于普通用户来说,由于软件信息不够透明,用户可能仍无法定性软件是否真的为恶意,因此仅有主动防御对于根除恶意软件是不够的。采用云安全系统设计,用户可以通过与服务器的交互进行“云查杀”——由手机客户端提取该软件的特征码信息,上传至服务端进行即时校验,然后返回该软件的具体信息向用户展现,帮助用户做出准确判断。
3.1.2服务器端手机恶意软件样本自动化分析检测
通过对手机应用软件的使用特点及其面临的安全风险进行分析,选取和使用相应的自动化分析技术和软件权限检测技术。从安装与卸载、程序访问权限、数据安全性、通讯安全性以及人机接口安全性等方面的技术对手机应用软件的安全性进行检测,防止非授权访问、异常执行等。
主要包括三部分技术实现:静态的智能终端恶意代码识别技术;智能终端恶意代码样本收集和特征提取技术;基于动态分析的权限识别技术的实现。
3.2 云端手机恶意软件自动化分析检测技术
360在云端实现软件安全性分析与权限检测的技术实现方法如图2所示。
(1)静态的智能终端恶意代码识别技术
恶意代码的识别技术主要分为两类:基于静态特征的恶意代码识别技术、基于动态分析的恶意代码识别技术,本工具研究中将采取静态分析和动态分析结合的技术路线。
基于静态特征的恶意代码识别技术基于样本分析软件的生产者、软件唯一ID、签名证书信息、版本、安装包文件特征(每个文件大小、数量、时间)、可执行文件特征、权限等静态特征信息,对可疑程序进行分析和特征匹配,从而判断是否为恶意代码。
通过反编译软件包的源代码并对源代码进行扫描,找出具有恶意代码特征的片段,并对其进行分析。关键分析涉及吸费行为、个人隐私、联网行为等可能出现安全问题的行为,如图3所示。
(2)基于动态行为监控分析的识别技术
主要有两种方法。一种是建立系统底层检测模块,使其能够检测、拦截、记录恶意使用某些敏感权限的行为。另一种方法是使用钩子技术(Hook)来检测对敏感权限相关API的调用行为。
建立系统底层模块是指对现有的系统源代码进行改造,加入安全检测模块。检测工具可以对软件运行过程中的发送扣费信息、非法链接、非法内容、盗取用户隐私数据的行为进行检测、记录和处理。其流程如图4所示。
使用Hook技术对调用系统敏感API的行为进行检测。应用程序请求系统服务时,首先调用智能终端上的系统函数库,然后由系统函数库对智能终端设备内核API进行系统调用。在进行用户级调用和系统调用时设置监听拦截器,对应用程序调用信息进行监听、收集,将这些信息传递给检测引擎,检测引擎提取软件行为库中的软件行为模型与监听拦截的系统调用信息进行比对,将比对信息传递给分析引擎,分析引擎对这些信息进行分析,得出软件的行为特征。其流程如图5所示。
4 基于海量用户群体智慧的恶意行为分析
手机恶意软件的自动化检测技术仍处于其发展初期阶段。由于手机应用的特点,应用的部分敏感行为需要结合用户实际操作场景才能做出准确判断,这给完全自动化的检测带来的障碍。
我们正在尝试在360手机卫士软件中引入用户举报反馈机制,由海量用户对特定应用软件进行涉及用户隐私信息的敏感操作进行判定,并将判定结果及上下文信息回传至云端,在云端