一种Android平台恶意软件自动化检测方法
【技术领域】
[0001] 本发明涉及自动化测试领域,尤其涉及一种Android平台恶意软件自动化检测方 法。
【背景技术】
[0002] 随着Android系统的流行,各种Android应用层出不穷,同时也出现了大量的针对 Android平台的恶意软件,这些恶意软件呈现连续递增的趋势,Android系统面临着严重的 安全威胁。
[0003]JesseBurns在2009年阐述了Android平台上的手机应用程序的安全性问题, 但是并没有针对恶意软件提出相关的安全检测方法。王志国等在2009年提出并实现了 Android智能手机系统的文件实时监控技术,但由于缺少真实的Android平台恶意软件的 实际攻击研究,使得无法对Android的应用程序检测达到良好的效果。Shabtai等于2010 年在Android平台上实现了一个基于行为检测的HIDS(host-basedintrusionprevention systems)恶意软件检测系统。Aubrey-DerrickSchmidt等于2009提出静态分析可执行文 件来检测Android平台的恶意软件。UriKanonov等在2011年,提出一种基于行为的检测 框架,名为"Andromaly"。该框架实现了一个基于主机的恶意软件检测系统,在这个系统中, 通过持续监视移动设备的不同特征和事件,然后请求异常检测机器学习对搜集到的数据进 行分类,将数据分为正常的或恶意的。
[0004] 可以看到现有的Andr〇id平台安全研究基本集中在Andr〇id应用程序的体系架构 安全防范,恶意软件的静态特征提取以及通用的基于行为模式的异常检测,并没有对恶意 软件的行为模式特点进行深入研究和分析,从而从恶意软件特征行为模式以及攻击意图的 角度开展恶意软件的相关检测方法研究。
【发明内容】
[0005] 本发明的目的在于,为克服上述问题,本发明提供了一种Android平台恶意软件 自动化检测方法及系统。
[0006] 为实现上述目的,本发明提供一种Android平台恶意软件自动化检测方法,所述 方法包含:
[0007] 步骤101)输入待测试软件,分析待测试软件的软件特征行为,进而获取软件特征 行为中的恶意软件特征行为;
[0008] 步骤102)计算获取的所有恶意特征行为的权重值之和;
[0009] 步骤103)将权重之和与设定阈值比较,进而判断待检测软件是否为恶意软件;
[0010] 其中,所述的恶意软件特征行为包括:自启动的行为、注册高优先级接收器的行为 或获取root权限的行为。
[0011] 可选的,上述步骤101)之前还包含:
[0012] 首先,对所有软件的恶意软件行为模式进行分析,提取出各种恶意软件特征行为, 并建立恶意软件特征行为库;
[0013] 然后,为提取的各种恶意软件特征行为分配权重,建立各恶意特征行为与权重之 间的映射关系表;
[0014] 最后,根据恶意特征行为权重计算出各类软件属于恶意软件的检测阈值,依据得 到的所有检测阈值建立恶意软件检测模型库;
[0015]且,
[0016] 所述步骤101)根据恶意软件特征行为库逐项检测待测试软件是否具有恶意特征 行为;
[0017] 所述步骤102)根据所述映射关系表计算所有检测出的恶意行为的权重之和。
[0018] 可选的,上述述步骤103)之后还包含:
[0019] 将恶意软件采用所述恶意软件检测模型库中的模型进行类别判断,并输出测试结 果;
[0020] 其中,类别判断是指分析出待测软件属于哪一类恶意软件,所述恶意软件的类别 包含:Droiddream家族类,Droidkungfu家族类,Golddream家族类,Basebridge家族类或 plantton家族类。
[0021] 此外,本发明还提供了一种Android平台恶意软件自动化检测系统,所述系统包 含:
[0022] 恶意软件特征行为提取模块,用于提取待测软件的恶意特征行为;
[0023] 特征行为权重处理模块,用于基于特征行为权重映射表计算所有恶意特征行为的 权重的和;
[0024] 其中,所述特征行为权重映射表为建立的各种恶意特征行为与各种恶意特征行为 分配的权重之间的映射关系;
[0025] 判断决策模块,用于将得到的权重和和与预设的门限值进行比较,进而判断待测 软件是否为恶意软件。
[0026] 可选的,上述系统还包含:
[0027] 恶意软件特征行为库,用于对各种软件的恶意软件行为模式进行分析,提取恶意 软件特征行为,进而建立恶意软件特征行为库;
[0028] 所述恶意软件特征行为提取模块依据恶意软件特征行为库判断待测软件存在的 恶意特征行为。
[0029] 上述软件的恶意特征行为包:自启动行为、注册高优先级接收器、获取root权限 或向远端服务器发送敏感信息。
[0030] 上述系统还包含:
[0031] 恶意软件检测模型库,用于计算各类恶意软件的检测阈值,并依据检测阈值建立 恶意软件检测模型,进而得到恶意软件检测模型库;
[0032] 恶意软件类别检测检测模块,用于依据所述恶意软件检测模型库得到待检测的恶 意软件的类别。
[0033] 上述的恶意软件特征行为库和/或恶意软件检测模型库部署在本地服务器,或部 署在云端服务器。
[0034] 总之,为了解决上述问题,更好的发展完善恶意软件自动化检测技术。本发明提 出了一种Android平台恶意软件自动化检测方法,在深入研究恶意软件行为模式特点基础 上,建立恶意软件特征行为模型,通过比对被测软件的特征行为和恶意软件检测模型库来 判断这个软件是否是恶意软件,从而有效提高恶意软件测试效率。
[0035] 为实现上述目的,本发明首先对恶意软件行为模式进行分析,提取出恶意软件特 征行为,并建立恶意软件特征行为库;然后为恶意软件每个特征行为分配权重,建立恶意特 征行为与权重的映射关系;根据特征行为权重计算出恶意软件检测阈值,建立恶意软件检 测模型库。在进行恶意软件检测时,首先根据恶意软件特征行为库,逐项检测待测试软件是 否具有恶意特征行为,然后计算所有检测出的恶意行为的权重之和,根据恶意软件检测模 型给出判决结果。
[0036] 进一步地,本发明中所述的恶意软件特征行为包括但不限于自启动行为、注册高 优先级接收器、获取root权限、向远端服务器发送敏感信息等。所述的注册高优先级接收 器检测采用静态检测方法,具体是提取Manifest,xml文件中BroadcastReceive继承类的 android:priority属性参数,如果优先级数大于1000,则判定为注册了高优先级接收器。 所述的向远端服务器发送敏感信息行为检测方法为建立恶意软件远端服务器黑名单,通过 解析软件系统日志,检测是否包含远端服务器黑名单上的IP地址;同时捕获分析被测软件 发送的网络消息,是否包含有用户账号信息、浏览历史记录以及浏览器内书签等敏感信息。
[0037] 进一步地,本发明中所述的恶意软件特征行