【 摘 要 】 移动互联网恶意软件的爆发式增长,迫切需要安全厂商实现移动互联网恶恶意软件样本的自动化分析。本文阐述了奇虎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手机卫士软件中引入用户举报反馈机制,由海量用户对特定应用软件进行涉及用户隐私信息的敏感操作进行判定,并将判定结果及上下文信息回传至云端,在云端形成海量用户对应用软件行为的判定数据,并进一步通过数据挖掘的方法,实现对软件恶意行为的分析。其基本原理如***6所示。
360手机终端主动防御模块,对用户每款软件的行为判决,回传到云端。云端有了亿万用户对各款软件的投票之后,能够根据真实用户对软件行为的评判,利用群体智慧,完成软件的恶意行为分析。
基于大数据的云计算,包括三个核心模块。
1)MapReduce计算框架。云端可以灵活地选取不同时间窗内的用户评判,利用分布式计算,快速得出结果,并做交叉验证。
2)智能用户分类算法。采用聚类/分类算法,根据用户的安装软件情况,以及对软件行为的判决,将用户划分为若干类,得到分类用户的特征。在时间轴内迭代计算,不断调优用户的特征参数。
3)采用多种维度的计算方法,如二分法、参与度/覆盖度排名、90%置信区间等算法,结合用户特征参数,综合计算软件的恶意行为的可信度。
5 结束语
随着移动互联网恶意软件的爆发式增长,恶意软件自动化分析技术的需求日益强烈。在传统的PC互联网安全领域的静态分析和基于行为监控的动态分析方法,依然适用于手机恶意软件的自动化分析。与此同时,针对手机应用的特性,对于软件恶意行为的判定依赖于用户操作场景,给自动化分析带来障碍。
在此方面,奇虎360公司开始尝试依据海量终端用户对特定敏感行为的举报,通过数据挖掘的方法提升样本自动化分析的能力。
基金项目:
本文研究工作得到“新一代宽带无线移动通信网”国家科技重大专项课题《移动应用软件的认证管理软件开发》(2012ZX03002029)支持。
作者简介:
卞松山(1981-),男,毕业于北京工业大学,获得通信工程专业学士学位,现任北京奇虎科技有限公司核心安全团队技术经理,主要从事手机应用软件的安全分析检测的产品技术研发工作。
路轶(1979-),男,毕业于华南理工大学,获得计算机应用专业硕士学位,现任北京奇虎科技有限公司核心安全团队技术总监,主要从事网络安全、机器学习、云计算等领域的产品技术研发工作。
石晓虹(1970-),男,毕业于西安交通大学,获得计算机系统结构专业工学博士学位,现任北京奇虎科技有限公司副总裁,主要从事网络安全、云计算等领域的技术和产品研究,是国家***、工信部等多个项目的负责人。
转载请注明出处学文网 » 360移动互联网恶意软件分析平台