下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、南京邮电大学毕业设计(论文)开题报告题目基于程序切片的安卓软件安全分析学生姓名班级学号专业软件工程一、 对课题任务的学习与理解1. 课题产生背景随着Android平台的普及,针对Android平台的攻击也日益增强,恶意软件给用户带来巨大的安全隐患,如隐私侵犯、恶意扣费等。当前手机平台上的反病毒措施主要依赖基于签名的检测,无法检测未知恶意软件;而基于行为的检测方法,又分为静态和动态两种。程序切片是通过分析程序语句之间的依赖性关系达到自动分解源程序的一种有效技术,它由程序中直接或间接影响某个兴趣点变量值的语句集合组成。程序切片技术在程序调试、回归测试、程序分析和理解、软件维护以及反向工程等领域都有
2、广泛的应用。2. 课题实现目标本课题要求结合Java程序源码的程序切片方法,研究并实现Android平台的恶意软件的检测方法。成果形式:(1)给出基于Java程序切片的Android平台下恶意软件检测方法;(2)提交毕业设计报告及其相关电子文档。二、 文献调研综述1. Java切片的概念程序切片是一种分析和理解程序的技术,是通过对源程序中每个兴趣点分别计算切片来达到对程序的分析和理解.程序中某个兴趣点的程序切片不仅与在该点定义和使用的变量有关,而且与影响该变量的值的语句和谓词以及受该变量的值影响的语句和谓词有关。程序切片的概念由Mark Weiser在1979年在他的博士论文中首次提出,后来他
3、又在1981年国际软件工程大会上一级1984的IEEE Tansaction Software Engineering杂志发表文章进一步阐述程序切片的思想和实现算法,引起了当时计算机界不小的震动。满足下列两个条件的程序切片被称为Mark Weiser 程序切片:1)一个程序切片对应一个特定的切片准则(Slicing criterion)(V,i),其中V表示在i定义或使用变量的集合,i指程序中的某个点(一般指某条语句);2)程序p的切片S可通过从P中删除0条或多条语句得到,但要保证程序P和切片S关于切片准则(V,i)的行为相同。计算程序切片时,首先一般要考虑以下情况:1)静态切片和动态切片2)
4、前向切片和后向切片3)过程内切片,过程间切片,模块间切片4)粗粒度和细粒度切片程序切片算法:程序切片的算法主要Weiser的基于数据流方程的算法,无定型切片算法,Bergeretti的基于信息流关系的算法,K.J.Ottenstein和L.M.Ottenstein以及Horwitz的基于程序依赖图的图形可达性算法,杨洪的基于波动图的算法。程序依赖图(PDG)PDG是程序的一种图形表示,他把控制依赖和数据依赖包含在单个的结构中,如果给定程序中的语句X和Y,则X和Y可以通过控制流或者数据流来彼此关联。如果从Y至少引出两条路径,其中一条总会导致X的执行,而另一条可能导致X不执行,则语句X控制依赖于语
5、句Y;如果有一条从Y到X的路径,且存在一个在Y点定义在X点使用的变量,且该变量在沿Y到X的路径上其他任何地方没有被重新定义,则称语句X数据依赖于语句Y,PDG的形式定义是有一个控制依赖子图,一个控制流图和一个数据依赖子图组成,其中CDG包含了程序中的控制依赖;CFG包含几种类型的结点,即语句节点表示程序中的语句;域节点概括了语句见的控制依赖;谓词节点(由此可以引出两条边表示)表示程序中的策略或分支条件,CDG中的域节点可利用相同的控制医疗来集合语句,DDG包含语句见的数据依赖,可通过在CDG的节点节点之间插入数据依赖边来构造DDG,同样PDG不允许过程间分析,他也没有能力表示继承,多态性和动态
6、定连等重要的面向对象的特性。系统依赖图(SDG)SDG是程序的一种语法分析树表示,节点表示程序构造(constructs),输入输出参数(in,out参数)和调用位置等,边表示与之相连的节点之间的各种依赖(例如数据依赖,控制依赖和声明等),程序依赖图通常是为单个的过程间程序来定义的,由于现实世界的程序一般是由多个过程组成的,所以必须考虑使用一种与现实世界程序匹配的表示方法,于是Horwitz等人提出了系统依赖图,SDG是一棵经过装饰的表示程序的语法分析书,形式的说,SDG是有一个程序依赖图和一组过程依赖图构成的有向,带标记的多重图,PDG模型化软件系统中的主程序,PrDG模型化软件系统中的多个
7、过程体,SDG可以用来处理过程间的数据流和控制流,并能表示数据传递,SDG允许过程间分析,但面向对象程序远不是一些过程或方法的简单组合,所以SDG提供的机制还不足以描述这些面向对象的概念。2Wala框架的简述T. J. Watson Libraries for Analysis( WALA )是为Java和JavaScript提供静态分析功能的软件库。该库是根据Eclipse公共许可协议,其中已通过了OSI (开放源代码促进会)作为一个完全认证的开放源代码许可协议发布。最初的WALA是作为自主研发的DOMO研究项目在IBM Watson研究中心的一部分。 2006年, IBM将WALA开源贡献
8、给社会。使用该框架,我们可以分析到程序依赖关系,能够检测特定的类和方法对程序的影响,使用SDG和PDG图直观的展现程序的依赖关系,利用Slicer功能对代码进行检测,得到影响程序的类进行上下文相关检测,从而确定该类或者方法是否为恶意代码。3Android简介Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联
9、盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。 Android会同一系列核心应用程序包一起发布,该应用程序包包括客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用Java语言编写的。开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以
10、使用其所发布的功能块(不过得遵循框架的安全性)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。隐藏在每个应用后面的是一系列的服务和系统,其中包括;丰富而又可扩展的视图(Views),可以用来构建应用程序, 它包括列表(Lists),网格(Grids),文本框(Text boxes),按钮(Buttons), 甚至可嵌入的Web浏览器。内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和布局文件(Layout files
11、 )。通知管理器 (Notification Manager) 使得应用程序可以在状态栏中显示自定义的示信息。活动管理器(Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。4Android切片的方法针对Android恶意代码泛滥的问题,综合静态和动态分析技术,实现对Android恶意代码的检测。在静态分析部分,提取Android程序中的权限,API调用序列,组件,资源以及APK机构的构建特征向量,并且从WALA的切片分析结果中提取出可能存在风险的类和方法。从Android恶意软件的行为模式上我们可以进行防护,一般Android恶意软件需要获取root权限以便
12、实现对手机的控制,而能够得到root权限的方法不多,我们可以对代码中的特征类和方法进行检测,达到寻找恶意代码的目的。主要参考文献:1 李必信,郑国荣,王云峰,李宣东.一种分析和理解程序的方法-程序切片J.计算机研究与发展,2000,37(3):1-7.2 胡文君,赵双,陶敬,马小博,陈亮.一种针对Android平台恶意代码的检测方法及系统实现J.西安交通大学学报,2013,47(10):1-7.3 刘伟.Android平台恶意软件行为模式研究J.软件杂志, 2012,33(11):150-156.4 路程. Android平台恶意软件检测系统的设计与实现D.北京:北京邮电大学,2012:1-7
13、3.5 宋杰,党李成,郭振朝,赵萌.AndroidOS手机平台的安全机制分析和应用研究J.计算机研究与发展,2010,20(6):1-4.6 韩扬. Android应用软件安全评测工具的设计与实现D.北京:北京交通大学,2012:1-68.7 Martin A.N.张大方,缪力.一种Java程序静态切片的方法D,湖南:湖南大学计算机与通信学院,2005:1-20.8 王智学.程序切片技术理论与应用研究J. 吉林:吉林大学,2012:38-60.9 王伟,陈平.程序切片综述J.西安:微电子学与计算机,2002(8):25-27.10 韩永生,章雪梅.基于程序切片的软件测试技术初探J,石家庄:无线电工程,2006(2):45-53.三、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 20262025年养老服务管理师资格认证考试试题及答案解析
- 2026年医院医疗质量与安全管理和持续改进方案
- 2026年药学部处方管理办法培训考核试题(附答案)
- 2026年煤矿安全检查工题库带答案
- 2026年护士执业资格《基础护理学》测试卷专项训练
- 2026年传染病报告与管理规范考试试题及答案
- 2026年殡葬火化考试试题及答案
- 2025年新能源汽车充电设施运维安全知识测试试卷
- 办公室日常安全课件
- 办公室汇报课件
- 2026宜宾市属国有企业人力资源中心宜宾天原科创设计有限公司公开招聘考试备考题库及答案解析
- 老年髋部骨折诊疗与管理指南2026年版
- 2026年重庆丰都县社区工作者招聘考试【结构化面试题库+高分答题模板】(含考官评分要点)
- 统编版九年级上册 道德与法治 第二单元《进入新时代》单元检测试卷(含答案)
- 2026江西九江长途汽车运输集团有限公司劳动合同制员工招聘4人考试模拟试题及答案解析
- 2026福汽集团审计稽核部招聘2人考试模拟试题及答案解析
- 四上2-8《呵护我们的器官》教学课件
- 新生儿PICC置管与维护技术
- CSCO肾癌诊疗指南2026
- 2025四川简阳农商行社会招聘笔试历年典型考题及考点剖析附带答案详解
- 2.2.1 中国的气候 课件(共37张)地理商务星球版(2024)八年级上册
评论
0/150
提交评论