- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一种动态监测安卓应用程序的方法-西北工业大学学报导航页
2016年12月 西 北 工 业 大 学 学 报 Dec. 2016
第34卷第6期 Journal of Northwestern Polytechnical University Vol.34 No.6
一种动态监测安卓应用程序的方法
蒋煦,张慧翔,慕德俊
(西北工业大学 自动化学院,陕西 西安 710072)
摘 要:针对安卓应用程序在终端用户未知的情况下获取系统服务的问题,提出了动态监测应用程序
获取系统服务的方法。 首先,检查应用程序是否存在第三方库,如存在,则检查第三方库中是否存在
敏感函数。 如果不存在敏感函数,就将应用程序安装到监测系统,实施对应用程序获取系统服务的实
时监测。 实验结果表明,该方法在能够避免恶意应用程序对监测系统进行破坏的前提下,可以实时监
测到应用程序来自Java层或是本地层对系统服务的调用,而且该方法的实现对时间的开销也在可接
受的范围内。
关 键 词:应用程序编程接口;网络安全;Java语言;实时系统;数据安全;第三方库;挂钩子;系统
服务调用;Linux;安卓应用程序;动态监测
中图分类号:TP309 文献标志码:A 文章编号:1000⁃2758(2016)06⁃1074⁃08
随着移动互联网的飞速发展,智能手机承载着 码进行修改,在敏感 API 调用处添加监控代码,从
越来越多的服务功能。 Android 系统由于其开源的 而监控应用程序的执行,虽然该方法无需对系统进
原因,市场占有率稳居第一,因此成为了恶意应用程 行修改重新编译,但无法监控应用程序的动态加载,
[1]
序重要的滋生平台 。 需要对应用程序进行重新打包签名,有可能影响应
针对Android恶意应用程序的检测主要分为静 用程序的正常执行。
态检测和动态检测。 静态检测是指在不运行应用程 无论采取哪种检测方式,都必须要面对应用程
序的情况下,通过扫描反编译的应用程序代码,发现 序第三方库。 而目前绝大多数的检测方案集中在
[2]
其恶意行为。 Felt等 从应用程序中提取出相关申 Java层,导致恶意应用程序的开发者通过第三方库
请权限,通过分析应用程序的权限判断应用程序是 实现其恶意行为,达到绕过Java层检测的目的,甚
[3] [6]
否为恶意应用程序。 CHEX 首先通过识别应用程 至有可能破坏Java层的安全检测系统 。 所以,对
序中可能被调用的接口,然后对这些接口进行数据 于Android 检测系统的研究,应用程序第三方库的
流分析,判断接口是否有可能被恶意应用程序利用 行为检测应该得到相应的重视。
以达到提权的目的。 静态检测方法的优点是可以快 本文在充分研究Android系统Binder机制及其
速地判断应用程序是否存在恶意行为,但无法应对 源码后,提出了全新的Android 系统动态监测方法。
代码的混淆、加密、动态加载等情况。 首先,检测应用程序的第三方库中是否存在敏感函
动态检测是在应用程序执行的过程中实时监控 数破坏监测系统,其次,将应用程序安装到动态链接
应用程序的行为,一旦发现恶意行为,立刻提示终端 文件libbinder.so 中的ioctl 函数被挂钩子的系统中,
[4]
用户。 TaintDroid 对Android系统应用程序框架层 监测来自Java层
文档评论(0)