一种基于文件访问动态监控的Android恶意应用检测方法及系统技术方案

技术编号:13738194 阅读:106 留言:0更新日期:2016-09-22 09:49
本发明专利技术涉及一种基于文件访问动态监控的Android恶意应用检测方法及系统,利用动态加载内核模块技术修改Android内核;点击应用的不同组件,收集运行过程中的所有文件访问操作,形成原始文件访问记录INI及其属性值;以文件访问周期为单位做整理,形成整理后的文件PRE及其属性值;定制文件访问策略集S,Q,U,S表示无时序策略集,Q表示单文件时序策略集,U表示多文件时序策略集,判别是否触发敏感行为,最终判断是否为恶意应用。

【技术实现步骤摘要】

本专利技术涉及一种Android恶意应用动态检测方法,确切的说,涉及一种基于Linux内核文件访问规则的恶意行为检测方法,属于信息安全

技术介绍
随着现有的Android智能终端的普及,人们对Android智能终端的依赖性快速增强,基于终端的应用日益多样化同时也更加难以掌控。大量的终端软件和应用也意味着大量的安全风险,针对终端设备的各类攻击从2004年之后就开始出现。目前Android智能终端面临的安全威胁和安全风险主要包括三个方面:一是自身系统和软件的漏洞;二是恶意软件(病毒,木马等);三是出现违反国家法律的内容和服务。具体可能存在的安全隐患包括:个人隐私泄露,个人身份盗用,应用程序安全,位置定位,手机病毒,信息窃取,存在安全漏洞的业务等。国内外针对Android系统恶意程序的检测跟防护主要有两种,即静态代码分析和动态行为分析。其中静态代码分析主要是通过Google等提供的开源工具,从恶意程序中提取若干具有特征性的代码作为描述恶意行为的表现形式,并依靠该方法构建起病毒库来防范恶意程序。静态代码分析虽然简单高效,但是具有较大滞后性,并且要鉴别隐藏或者尚未发作的恶意程序无能为力。动态行为分析方面,国内的联想的乐安全以及LBE团队研发的LBE手机安全大师通过研究Android系统的组织架构和应用程序行为特征,实现API拦截的主动防御功能,是目前动态行为分析方面的佼佼者,但监控和防御的方位也仅限于对应用的进程外部行为监控,并且对于更改so库的文件与更改执行时更改.dex文件的恶意应用无可奈何。综上所述,Android应用在人们的生活中发挥着重要的作用,而Android恶意应用软件检测的方法还不够成熟,为此,如何全面有效的对Android恶意应用软件进行检测就成为业内科研人员所关注的新课题。
技术实现思路
鉴于此,本专利技术的一个目的是提供一种基于文件访问动态监控的Android恶意应用检测方法,通过修改Android内核源码使得应用在Android手机上运行时可以输出相应的文件访问信息列表,将该列表与策略集相比对最终判断是否触发敏感行为,进而判断是否为恶意应用。从而达到监控敏感文件的修改,删除,以及各种敏感行为所涉及到的文件操作。本专利技术的另一个目的在于提供一种细粒度的Android恶意应用检测系统。该系统主要对目前Android应用动态检测方法做功能以及能力上的补充增强,弥补其不能检测.dex文件修改以及so库文件恶意代码注入的不足。将监控点部署在内核层的文件操作相关的系统调用上,使得恶意代码利用代码混淆,重打包以及恶意代码注入等方式都无法逃过内核层的检测,从而提高检出率。为了达到上述目的,本专利技术采用如下技术方案——基于文件访问动态监控的Android恶意应用检测方法,包括如下步骤:步骤S01:基于Android内核结构,利用动态加载内核模块技术(Loadable Kernel Module,LKM)加载修改过的文件系统,更换原系统调用列表,使待测应用在运行过程受到监控,得到修改过的Android内核;步骤S02:定制文件访问策略集S,Q,U,S表示无时序策略集,Q表示单文件访问时序策略集,U表示多文件访问时序策略集;步骤S03:在步骤S01修改过的Android内核上运行待测应用,点击应用的不同组件,收集运行过程中的所有文件访问操作,形成原始文件访问记录INI及其属性值;步骤S04:对形成的原始文件访问记录INI,进行初步的数据清洗,将无用的文件操作去除,得到去噪后的INI’文件,以保证文件系统的运行效率;步骤S05:将去噪后的INI’按照文件访问周期整理,形成新的记录文件PRE及其属性值;步骤S06:将步骤S05整理后的记录文件PRE与步骤S02制定的文件访问策略集S,Q,U匹配,判别是否触发敏感行为,最终判断是否为恶意应用,若判定文件PRE匹配文件访问策略集S,Q,U中的任意一条,则认为该应用触发了敏感行为,为恶意应用,否则认为该应用为安全应用。所述步骤S01中动态加载内核模块技术的步骤如下:(1.1)找到sys_open(),sys_close(),sys_read(),sys_write(),sys_unlink()这五个系统调用在原系统调用列表中的入口地址;sys_open(),sys_close(),sys_read(),sys_write(),sys_unlink()分别表示打开文件,关闭文件,读文件,写文件,删除文件;(1.2)将步骤(1.1)所找到的入口地址保存,即为这五个系统调用的旧入口地址;(1.3)将自定义新的函数所对应的入口地址写入原系统调用列表中步骤(1.2)所保存的位置处。至此原系统调用列表就被替换。所述步骤S02中定制的文件访问策略集S,Q,U如下:(2.1)无时序策略集SS={s1,s2,...sm...本文档来自技高网
...

【技术保护点】
一种基于文件访问动态监控的Android恶意应用检测方法,其特征在于包括如下步骤:步骤S01:基于Android内核结构,利用动态加载内核模块技术(Loadable Kernel Module,LKM)加载修改过的文件系统,更改Android原生系统的系统调用列表,使待测应用在运行过程受到监控,得到修改过的Android内核;步骤S02:定制文件访问策略集S,Q,U,其中S表示无时序策略集,Q表示单文件访问时序策略集,U表示多文件访问时序策略集;步骤S03:在步骤S01修改过的Android内核上运行待测应用,点击应用的不同组件,收集运行过程中的所有文件访问操作,形成原始文件访问记录INI及其属性值;步骤S04:对形成的原始文件访问记录INI,进行初步的数据清洗,将无用的文件操作去除,得到去噪后的INI’文件,以保证文件系统的运行效率;步骤S05:将去噪后的INI’按照文件访问周期整理,形成整理后的记录文件PRE及其属性值;步骤S06:将步骤S05整理后的记录文件PRE与步骤S02制定的文件访问策略集S,Q,U匹配,判别是否触发敏感行为,最终判断是否为恶意应用,若判定文件PRE匹配文件访问策略集S,Q,U中的任意一条,则认为该应用触发了敏感行为,为恶意应用,否则认为该应用为安全应用。...

【技术特征摘要】
1.一种基于文件访问动态监控的Android恶意应用检测方法,其特征在于包括如下步骤:步骤S01:基于Android内核结构,利用动态加载内核模块技术(Loadable Kernel Module,LKM)加载修改过的文件系统,更改Android原生系统的系统调用列表,使待测应用在运行过程受到监控,得到修改过的Android内核;步骤S02:定制文件访问策略集S,Q,U,其中S表示无时序策略集,Q表示单文件访问时序策略集,U表示多文件访问时序策略集;步骤S03:在步骤S01修改过的Android内核上运行待测应用,点击应用的不同组件,收集运行过程中的所有文件访问操作,形成原始文件访问记录INI及其属性值;步骤S04:对形成的原始文件访问记录INI,进行初步的数据清洗,将无用的文件操作去除,得到去噪后的INI’文件,以保证文件系统的运行效率;步骤S05:将去噪后的INI’按照文件访问周期整理,形成整理后的记录文件PRE及其属性值;步骤S06:将步骤S05整理后的记录文件PRE与步骤S02制定的文件访问策略集S,Q,U匹配,判别是否触发敏感行为,最终判断是否为恶意应用,若判定文件...

【专利技术属性】
技术研发人员:张妍王雅哲
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京;11

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

1