一种检测Android恶意软件的方法、系统及设备技术方案

技术编号:8366884 阅读:289 留言:0更新日期:2013-02-28 05:48
本发明专利技术公开了一种检测Android恶意软件的方法,包括:服务器模拟执行待检测软件,将待检测软件调用的函数的敏感特征信息和恶意特征信息,与本地保存的敏感特征信息和恶意特征信息进行匹配,若匹配成功,则确定该函数调用为恶意行为,待检测软件为恶意软件。本发明专利技术同时还公开了一种检测Android恶意软件的系统及设备,应用本发明专利技术的技术方案,避免了现有Android恶意软件检测技术存在滞后期以及某些恶意软件的恶意行为触发条件复杂,可能长时间无法检测出该软件为恶意软件的问题。

【技术实现步骤摘要】

本专利技术涉及通信领域,尤其涉及一种检测Android恶意软件的方法、系统及设备
技术介绍
目前移动终端普遍采用Android系统,但Android系统的软件发布渠道多样且缺乏有效监督,用户很容易安装恶意软件,导致用户资费被恶意消耗、个人信息被恶意删除,影响用户体验。如此,迫切需要有效的检测恶意软件的方法,当前恶意软件常见的检测方法包括以病毒查杀的方式进行检测;动态实时监控软件的运行及其与外部环境的交互,以确定该软件是否为恶意软件。上述采用病毒查杀的方式来检测恶意软件的方法,依赖于病毒特征码,对于新发布的软件需要人工分析出病毒特征码,因此检测结果存在一定的滞后期;而动态实时检测·的方法依赖于特定的触发条件,若软件中隐藏的恶意行为触发条件复杂,则可能长时间无法检测出该软件是否为恶意软件。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种检测恶意软件的方法、系统及设备,用户无需病毒特征码,即可利用本专利技术的方案对待检测软件中是否隐藏恶意行为,且不受软件恶意行为触发条件复杂与否的限制。为达到上述目的,本专利技术的技术方案是这样实现的本专利技术提供了一种检测Android恶意软件的方法,该方法包括服务器模拟执行待检测软件,将待检测软件调用的函数的敏感特征信息,与本地保存的敏感特征信息进行匹配,若匹配成功,则标识该函数调用为敏感行为;将敏感行为中被调用函数的恶意特征信息,与本地保存的恶意特征信息进行匹配,若匹配成功,则标识该函数调用为恶意行为,以确定待检测软件为恶意软件。上述方案中,所述敏感特征信息包括函数名、函数类名、函数参数类型和函数参数个数;所述恶意特征信息包括函数名、函数参数常量值。上述方案中,所述服务器模拟执行待检测软件之前,该方法还包括服务器接收用户通过客户端上传的待检测软件的安装包,对安装包中的字节码文件进行反汇编,根据反汇编出的程序代码,构建程序结构并求解程序执行路径。上述方案中,该方法还包括服务器分析程序执行路径中的指令,并在所述指令为常量值引入指令时,记录引入的常量值并将常量值在程序执行路径中向下传播。上述方案中,该方法还包括服务器评定被恶意行为的危险等级,结合恶意行为危险等级生成检测结果并保存在本地,并在模拟执行完毕待检测软件后,将本地检测结果通过客户端用户界面Π报告用户。本专利技术还提供了一种服务器,该服务器包括模拟执行单元,检测规则存储单元、标识单元、敏感行为匹配单元和恶意行为匹配单元;其中,所述模拟执行单元,用于模拟执行待检测软件;所述检测规则存储单元,用于存储敏感特征信息和恶意特征信息;所述敏感行为匹配单元,用于所述模拟执行单元调用函数时,将所述被调用函数的敏感特征信息与检测规则存储单元中的敏感特征信息进行匹配;所述标识单元,用于在所述敏感行为匹配单元匹配敏感特征信息成功时,标识所述函数调用为敏感行为; 所述恶意行为匹配单元,用于在所述标识单元标识所述函数调用为敏感行为时,将所述函数调用中被调用函数的恶意特征信息与检测规则存储单元中的恶意特征信息进行匹配;所述标识单元,还用于在所述恶意行为匹配单元匹配恶意特征信息成功时,标识所述函数调用为恶意行为,以确定待检测软件为恶意软件。上述方案中,所述敏感特征信息包括函数名、函数类名、函数参数类型和函数参数个数;所述恶意特征信息包括函数名、函数参数常量值。上述方案中,该服务器还包括预处理单元、程序结构构建单元、程序执行路径求解单元和常量值分析单元;其中,所述预处理单元,用于接收用户通过客户端上传的待检测软件的安装包,并对安装包中的字节码文件进行反汇编;所述程序结构构建单元,用于在所述预处理单元根据字节码文件反汇编出程序代码后,根据所述程序代码构建程序结构;所述程序执行路径求解单元,用于在所述程序结构构建单元构建出程序结构后,根据所述程序结构求解程序执行路径;所述模拟执行单元,具体用于根据所述程序执行路径求解单元求解出的程序执行路径,顺序分析程序执行路径中的指令;所述常量值分析单元,用于在所述模拟执行单元分析出程序执行路径中的指令为常量值引入指令时,记录引入的常量值并在程序执行路径中将常量值向下传播。上述方案中,该服务器还包括危险等级评定单元、检测结果保存单元和恶意行为报告单兀;其中,所述危险等级评定单元,用于在所述标识单元标识所述函数调用为恶意行为,以确定待检测软件为恶意软件时,评定恶意行为危险等级,结合恶意行为危险等级生成检测结果;所述检测结果保存单元,用于保存所述危险等级评定单元生成的检测结果;所述恶意行为报告单元,用于在所述模拟执行单元模拟执行待检测软件完毕后,将所述检测结果保存单元保存的检测结果发送给客户端,以通过客户端Π报告给用户。相应的,本专利技术还提供了一种Android恶意软件检测系统,该系统包括客户端和服务器;其中,所述客户端,用于使用户通过运行在客户端的Π向服务器上传待检测软件的安装包;接收服务器发送的检测结果,通过Π报告用户;所述服务器,用于根据接收到的用户通过客户端上传的待检测软件的安装包模拟执行待检测软件,将待检测软件调用的函数的敏感特征信息和恶意特征信息,分别与本地保存的敏感特征信息和恶意特征信息进行匹配,若匹配成功,则确定待检测软件为恶意软件,将检测结果发送给客户端。上述方案中,所述服务器包括模拟执行单元,检测规则存储单元、标识单元、敏感行为匹配单元和恶意行为匹配单元;所述服务器还包括预处理单元、程序结构构建单元、程序执行路径求解单元和常量值分析单元;所述服务器还包括危险等级评定单元、检测结果保存单元和恶意行为报告单元;各单元功能与上面所述相同。 本专利技术所提供的技术方案中,通过模拟执行待检测软件中的全部指令,将待检测软件调用函数的敏感特征信息与服务器存储的敏感特征信息进行匹配,在确定函数调用为敏感行为时,进一步将敏感行为中被调用函数的恶意特征信息与服务器存储的恶意特征信息进行匹配,若匹配成功,则确定待检测软件为恶意软件。如此,对待检测软件进行检测时,无需利用病毒特征码,不存在检测结果有滞后期的问题;不受待检测软件恶意行为触发条件复杂与否的限制,可准确及时地对软件进行恶意行为检测。附图说明图I为本专利技术检测Android恶意软件方法的实现流程示意图;图2为本专利技术Android恶意软件检测系统的组成结构示意图;图3为本专利技术检测Android恶意软件实施例的实现流程示意图。具体实施例方式下面结合附图及具体实施例对本专利技术再作进一步详细的说明。实施例一图I为本专利技术检测Android恶意软件方法的实现流程示意图,如图I所示,该方法包括步骤101 :服务器模拟执行待检测软件,将待检测软件调用的函数的敏感特征信息,与本地保存的敏感特征信息进行匹配,若匹配成功,则标识该函数调用为敏感行为;这里,所述敏感特征信息包括函数名、函数类名、函数参数类型和函数参数个数,其中,通过函数名、函数类名、函数参数个数和函数参数类型,可唯一确定某一函数。这里,服务器在本地保存危险函数的敏感特征信息,其中,所述危险函数为待检测软件中恶意行为在实施时调用的库函数。专利技术人发现,待检测软件中的恶意行为,包括发送固定内容的短信给固定号码,在用户不知情的情况下订购SP(SerVice Provider,服务器提供商)服务,以消耗用户资费;打开固定的URL (Unive本文档来自技高网...

【技术保护点】
一种检测Android恶意软件的方法,其特征在于,该方法包括:服务器模拟执行待检测软件,将待检测软件调用的函数的敏感特征信息,与本地保存的敏感特征信息进行匹配,若匹配成功,则标识该函数调用为敏感行为;将敏感行为中被调用函数的恶意特征信息,与本地保存的恶意特征信息进行匹配,若匹配成功,则标识该函数调用为恶意行为,以确定待检测软件为恶意软件。

【技术特征摘要】

【专利技术属性】
技术研发人员:程绍银李子锋巫妍蒋凡
申请(专利权)人:中兴通讯股份有限公司中国科学技术大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1