基于配对函数的Android系统内核安全防护研究
发布时间:2017-10-01 07:56
本文关键词:基于配对函数的Android系统内核安全防护研究
更多相关文章: Android 配对函数 驱动结构 依赖规则 跳跃链表
【摘要】:Android系统作为一个面向移动平台的操作系统,其安全性和稳定性一直受到广大软件开发者的关注。与传统的Linux系统相似,内核驱动模块的安全和稳定会直接影响到整个系统的稳定性。不同功能的驱动模块共同组成了整个系统内核,这些驱动模块负责设备的管理和资源的申请释放,在整个驱动的运行过程中需要处理大量的错误和异常。在驱动模块的函数调用过程中,正常功能的执行和异常处理的过程中存在很多在函数功能上互补的函数,这些函数的正确调用是整个驱动模块运行正确的前提,在本文中我们称这种在功能上互补的函数为配对函数。然而很多开发者因为不熟悉这些配对函数或者是因为人为的疏忽导致整个内核当中存在大量的配对函数缺失错误,进而影响到整个系统的稳定运行。本文首先分析了Android内核代码中配对函数的特点,发现这些配对函数除了在功能上互补之外,在命名规则上还存在一定的结构关系和语义关联,并且在调用顺序上存在一定的依赖规则。根据这些特点,本文制定了一套配对函数匹配规则,根据该匹配规则提出一种可自动检测Android内核中配对函数缺失的检测算法。该算法通过对内核源代码的挖掘自动生成相应的配对函数集,并根据已生成的函数集合对检查内核配对函数的缺失。在分析配对函数检测算法的时间复杂度基础上,提出一种利用跳跃链表的算法优化方案。通过对Android内核Goldfish2.6.28和3.10.10配对函数的检测实验发现,Android内核中存在大量的配对函数缺失现象,证明本文所设计的检测算法可以正确检测出Android内核代码中的配对函数缺失错误,从而有助于提高Android系统的整体稳定性。
【关键词】:Android 配对函数 驱动结构 依赖规则 跳跃链表
【学位授予单位】:中国民航大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP316;TP309
【目录】:
- 摘要5-6
- Abstract6-9
- 第一章 绪论9-13
- 1.1 研究背景及意义9-10
- 1.2 国内外研究现状10-11
- 1.3 论文主要工作11
- 1.4 论文组织结构11-13
- 第二章 Android系统结构与代码挖掘方法介绍13-22
- 2.1 Android系统13-19
- 2.1.1 Android系统结构13-15
- 2.1.2 Android系统内核15-18
- 2.1.3 Android系统安全机制18-19
- 2.2 Linux内核驱动常见错误分析19-20
- 2.3 代码挖掘技术20-21
- 2.4 本章小结21-22
- 第三章 基于配对函数的Android内核漏洞挖掘方法22-36
- 3.1 设计思路与框架设计22
- 3.2 函数分支与配对函数22-23
- 3.3 基于配对函数的数据挖掘方法设计23-33
- 3.3.1 算法设计23-24
- 3.3.2 配对函数提取算法24-31
- 3.3.3 推理规则定义31-33
- 3.4 基于配对函数的漏洞检测方法33-35
- 3.4.1 检测方法设计33-34
- 3.4.2 配对函数匹配的置信度计算优化34-35
- 3.5 本章小结35-36
- 第四章 算法实现与复杂度优化36-45
- 4.1 算法实现36-41
- 4.1.1 整体算法流程36-37
- 4.1.2 主函数定位37
- 4.1.3 函数配对检测37-41
- 4.2 复杂度分析与算法改进41-44
- 4.2.1 算法的复杂度分析41-42
- 4.2.2 算法复杂度优化42-44
- 4.3 本章小结44-45
- 第五章 实验与结果分析45-53
- 5.1 实验环境搭建45-46
- 5.2 基于配对函数的漏洞挖掘方法的实验验证46-49
- 5.3 不同版本内核的检测比较49-50
- 5.4 增加置信度优化之后的检测比较50-51
- 5.5 加入跳跃链表优化后的运行时间比较51-52
- 5.6 本章小结52-53
- 第六章 总结与展望53-55
- 6.1 总结53-54
- 6.2 展望54-55
- 参考文献55-60
- 致谢60-61
- 作者简介61
本文编号:952244
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/952244.html