【ACCESS精品源码栏目提醒】:网学会员鉴于大家对ACCESS精品源码十分关注,论文会员在此为大家搜集整理了“Android智能手机系统中文件实时监控的研究与实现 - 其它资料”一文,供大家参考学习
第9卷第7期2009年4月 科学技术与工程 VoL9 No.7 Apr.20091671-.1S19(2009)7.-1716··05 Science Technology and Engineering @2009 Sci.Teck Engnb Android智能手机系统中文件 实时监控的研究与实现 温敏艾丽蓉’ 王志国 (西北工业大学计算机学院,西安710129)摘要保证文件的安全是保护系统安全的一个重点,通过文件监控来保证教据的完整性是保护系统安全和灾情评估的基础。
通过对Android智能手机操作系统的研究和分析,提出了在Android系统下采用基于文件信息节点的监控机制实现对文件的实时监控,并详细的描述了在Android平台下实现的关键数据结构、实现细节以及实验测试结果。
关键词文件监控 Android 智能手机中图法分类号TN929.5;文献标志码B 随着手机技术的不断发展,一方面,手机功能 用了Android手机系统,通过对Android智能手机操不断增强,向智能方向发展,手机与个人电脑之间 作系统的研究,在此基础上描述了一套对手机中文的界限越来越模糊,许多用户将自己的私密信息存 件进行实时监控的方法和实现细节。
在当前手机放在手机中,这些信息一旦泄露或损坏,对手机用 数据通信交换通道多样化的环境下能对智能手机户造成的损失将无法估量;另一方面,随着智能手 中的文件进行有效的监控。
机的普及,针对手机的恶意软件也越来越多,这些 1 Android智能手机系统简介恶意软件包括蠕虫、木马、间谍软件及其他病毒等,随着智能手机在全球范围内销量的急剧增加,恶意 Android系统是Google公司开发的基于Linux软件大规模扩散的危险也越来越严重,给手机上用 平台开源手机操作系统,该平台由操作系统、中间户的信息安全带来了极大的威胁。
件、用户界面和应用软件组成,是首个为移动终端 对于—个安全的计算系统而言,保证其文件的安 打造的开放和完整的移动软件。
全是保护系统安全的一个重点,对文件实施监控,对 Android系统基于Linux 2.6内核来提供系统的于从文件管理器到安全工具的各种应用程序都是必 核心服务,例如安全机制,内存管理,进程管理,要的,也是保护系统安全乃至于以后的灾情评估的基 网络堆栈和驱动模块。
其包含一组核心库,提供了础,因此需要对文件的实时监控技术进行分析和研 Java语言核心库内的大部分功能。
Android应用程究,也就是通过文件监控来保证数据的完整性¨1。
序运行于Dalvik虚拟机之上,该虚拟机是基于存储 针对当前智能手机操作系统多种多样,本文采 器的,运行经过Java语言编译器的类,这些类通 过”d】【”工具被转换成.dex(Dalvik Executable)格式。
20鸺年11月24日收到 陕西省自然科学基础研究计划项目 Android中应用程序一种是APK(Android Package) (2007F45)、西安市科技创新支撑 格式文件,是类似于ZIP文件的压缩文件,可以直接 计划项目(YF07019)资助 运行于Dalvik虚拟机上。
第一作者简介:沮敏(19髓一),男,硕士研究生,研究方向:智能手机的安全防护。
Android系统中文件系统采用的是一种针对 ‘通信作者简介:艾丽蓉(1肛).女,副教授,研究方向:软件安 NAND设备的新型文件系统Yaffs2【2 J,读写速度更全,信息安全与智能处理。
快,并支持大容量的NAND-Flash芯片。
万方数据7期 温敏,等:Android智能手机系统中文件实时监控的研究与实现 1717 建立日志文件。
用来详细记录文件保护系统每天发2设计原理 生的各种各样的事件,达到审核和监测的目的。
Linux内核文件系统管理中,每一个目录或文件在内核中都对应一个唯一的文件信息节点(iIl—ode);inode节点是内核管理文件系统的最基本单位【3】。
如果对文件或目录对应的inode节点实行监控,将是一种细粒度的、非常有效的文件监控措施。
通过对Android系统Linux内核的分析,尤其是对文件系统源代码的深入分析和理解,本文提出了在Android系统下采用基于inode节点的文件监控机制,实现对文件的有效监控,其实现可分以下几个步骤(见图1)。
(1)Android应用程序所使用的文件类型,包括txt、JPg、mp3、avi等常见类型普通文件和二进制文件,以及直接运行于Android Dalvik虚拟机上的APK(Android Package)格式文件; 图1文件实时监控流程图 (2)创建监控文件列表,要实施监控的文件将保存在此表中; (3)通过接口函数inotify—add—watch()为监控 3具体实现文件列表中的每个文件或目录inode节点创建监控实例,这一过程在内核中通过系统调用sys—inotify— 3.1创建监控文件列表add_watch()实现;若要停止对某文件或目录的监控 通过对内核中文件系统及有关数据结构的分通过接口函数inotify一册一watch()取消其所对应的 析,结合文件监控的功能需要,确定了监控文件列监控实例,在内核中通过系统调用sys—inotify—rnl— 表所采用的数据结构stmct filelist,并建立链表watch()实现。
基于inode节点的文件监控机制使 watch—filelist,所有的受监控文件的文件名和inode用文件描述符fd作为基本接口,通过使用文件I/0 信息都写入到该链表中,该数据结构如下所示。
操作select和poll【4 o来监控文件系统的变化; typedef s自mct fdelist I (4)对Android系统Linux内核修改后,使用交 char mename〔FILENAME_SIZE〕; —nlct inode●inode;叉编译工具重新编译内核,用生成的新内核镜像文 struct filelist·next;件替换Android系统原来的镜像; I·wetch_filellst; (5)启动Android系统,通过设置的监控列表对 另外通过使用proc—dir—entry数据结构(in.其中的文件进行监控,获得文件被访问、修改、打开 clude/linux/proc_fs.h中),在内存/proc文件系统”】或关闭、创建、删除等信息,同时将监控文件信息及 中建立列表文件filelist—proc—me和控制文件昂一相应事件记录到日志文件,以便查看和对文件完整 control_proc—file,这样可以动态的添加新文件缈性的检查; proc的监控文件列表中。
(6)监控文件信息及相应事件记录由内核发送到用户应用程序,使用Android SDK提供的日志类 衫proc文件系统中创建的文件,可根据函数 read_proc和write—proc对这些文件实现数据的读写 万方数据 1718 科学技术与工程 9卷操作口1。
通过对列表文件filelist—
上一篇:
浙江省教师招聘考试中学信息技术考试说明
下一篇:
bc80e7a0-d1f2-4595-b21d-01a76798e87a