ImageVerifierCode 换一换
格式:PPTX , 页数:64 ,大小:216.54KB ,
文档编号:7608276      下载积分:20 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-7608276.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(momomo)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(《移动智能终端安全》课件第3章.pptx)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

《移动智能终端安全》课件第3章.pptx

1、第3章 操作系统安全架构及面临的安全威胁3.1 安全模型安全模型3.1.1系统体系结构系统体系结构Android是基于Linux的操作系统,主要应用于移动设备,例如智能手机和平板电脑等。Android操作系统最初由Andy Rubin开发,主要应用于手机,后被谷歌公司收购。在随后的时间里,谷歌公司对Android系统进行研发改良并发布了Android的源代码。iOS是苹果公司开发的基于类Unix的操作系统,主要应用于iPhone、iPad等苹果公司旗下的电子产品。第3章 操作系统安全架构及面临的安全威胁1.Android操作系统操作系统Android系统的体系结构如图3-1所示。第3章 操作系

2、统安全架构及面临的安全威胁图3-1Android系统体系结构图第3章 操作系统安全架构及面临的安全威胁Android系统体系分为五层,分别为Android应用程序层、Android应用程序框架层、系统库层、Android运行时层和Linux内核层。1)Android应用层(Application)Android平台包含一系列的核心应用程序,如短信、浏览器、通信录、地图、日历等。第3章 操作系统安全架构及面临的安全威胁应用通常分为两类:预装应用与用户安装的应用。预装应用包括谷歌提供的应用、原始设备制造商或移动运营商提供的应用,如日历、电子邮件、浏览器等。用户安装的应用是指用户在购买移动智能终端设

3、备后自己安装的应用。无论通过Google play商店等应用市场直接下载还是通过代码指令进行安装,这些应用以及预安装应用的更新都会保存在/data/app目录中。第3章 操作系统安全架构及面临的安全威胁上面介绍的是已有的App,若想开发自己的App,就要用到App的集成开发环境及其中的应用组件。Android集成开发环境提供的应用组件有:AndroidManifest.xml、Intent、Activity、Broadcast Receiver、Service和Content Provider。(1)AndroidManifest.xml。所有Android应用包(APK)必须包括Androi

4、dManifest.xml文件,该文件含有应用信息的汇总,具体包括如下内容:唯一的应用包名及版本信息。第3章 操作系统安全架构及面临的安全威胁 Activity、Broadcast Receiver、Service和插桩定义。插桩是指在保证被测程序原有逻辑完整性的基础上插入一些代码段,通过执行代码段,抛出程序运行的特征数据。对这些特征数据进行分析,即可获得程序的控制流和数据流信息,进而得到逻辑覆盖等动态信息,从而实现测试目的。权限定义(包括应用请求的权限以及应用自定义的权限)。关于应用使用并一起打包的外部程序库信息。其他支持性的指令,比如共用的UID(用户ID)信息、首选的安装位置等。第3章

5、操作系统安全架构及面临的安全威胁(2)Intent。Intent是应用间通信的关键组件,即一种消息对象,包含要执行操作的相关信息、将执行操作的目标组件信息(可选),以及其他一些(对接收方非常关键的)标识位或支持性信息。几乎所有常用的动作(比如在邮件中点击链接来启动浏览器、通知短信应用收到SMS短信,以及安装和卸载应用等)都涉及在系统中传递Intent。第3章 操作系统安全架构及面临的安全威胁(3)Activity。Activity是面向用户的应用组件或用户界面(UI),包括一个窗口和相关的UI元素。Activity的底层管理是通过Activity管理服务(Activity Manager)组件

6、来进行的,这一组件也处理应用之间或应用内部用于调用Activity所发送的Intent。Activity在应用的Manifest文件中定义。(4)Broadcast Receiver。Broadcast Receiver是另一种类型的IPC端点,通常会在应用希望接收匹配某种特定标准的隐式Intent时出现。在Broadcast Receiver上设置权限要求可以限定哪些应用能够向该端点发送Intent。第3章 操作系统安全架构及面临的安全威胁(5)Service。Service是一类在后台运行而无需用户界面的应用组件,用户不需与Service所属的应用直接进行交互。Android系统上一些常见

7、的Service例子包括SmsReceiver Service和BluetoothOpp Service。虽然这些Service都运行在用户直接可见的视图之外,但与其他Android应用组件一样,它们也可以利用IPC机制来发送和接收Intent。Service必须在应用的Manifest.xml文件中声明,Service通常可以被停止、启动或绑定,所有这些动作都通过Intent来触发。第3章 操作系统安全架构及面临的安全威胁2)Android应用框架层(Application Framework)作为应用和运行之间的连接,Android应用程序框架层为开发者提供了执行通用任务的部件程序包及基类

8、。通用任务可能包括管理UI元素、访问共享数据元素,以及在应用组件中传递消息等,即框架层中包含所有的在Dalvik虚拟机中执行的系统的(与特定应用无关)特定代码。应用程序框架层包含活动管理器、视图系统、程序包管理器、电话管理器、资源管理器、位置管理器和通知管理器等。第3章 操作系统安全架构及面临的安全威胁(1)活动管理器:管理Intent的解析与目标、应用或Activity的启动等。(2)视图系统:管理Activity中的视图(用户可见的UI组合)。(3)程序包管理器:管理系统上线之前或正在进入安装队列的程序包相关信息。(4)电话管理器:管理与电话服务、无线电状态、网络及注册信息相关的信息与任务

9、。第3章 操作系统安全架构及面临的安全威胁(5)资源管理器:为诸如图形、UI布局、字符串数据等非代码应用资源提供访问。(6)位置管理器:提供设置和读取(GPS、手机、WiFi)位置信息的接口,位置信息包括具体的定位信息、经纬度等。(7)通知管理器:管理不同的事件通知。比如播放声音、震动、LED闪灯,以及在状态栏中显示图标等。第3章 操作系统安全架构及面临的安全威胁3)系统库层(Libraries)Libraries即Android中的C、C+库,该库是应用程序框架的支撑,可被Android系统中的各式组件使用。该库通过Android应用程序框架为开发者提供服务,包含Surface Manage

10、r、Media Framework、SQLite、OpenGL IES、FreeType、WebKit、SGL、SSL、Libc共九个部分。第3章 操作系统安全架构及面临的安全威胁(1)Surface Manager:负责与显示相关的模块。(2)Media Framework:Android多媒体框架,对外提供与媒体相关应用程序的API接口。(3)SQLite:Android中常用的轻型的关系型数据库管理系统。(4)OpenGL:开放式图形库,用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口。(5)FreeType:Android中开源的、高质量且可移植的字体引擎,可提供统一的接口

11、来访问多种字体格式文件。第3章 操作系统安全架构及面临的安全威胁(6)Webkit:开源的、高效稳定且兼容性好的Web浏览器引擎。(7)SGL:2D图形引擎库。(8)SSL:安全套接字层协议。该协议位于TCP/IP协议与各种应用层协议之间,为数据通信提供支持。(9)Libc:C函数库。第3章 操作系统安全架构及面临的安全威胁4)Android运行时层(Android Runtime)Android虽然采用Java语言编写应用程序,但并不使用J2ME来运行,而是采用特有的“Android运行时”来执行程序。“Android运行时”包括核心库和Dalvik虚拟机两部分。核心库包含两部分内容:一部分

12、是Java语言需要调用的功能函数;另一部分是Android的核心库,如android.os、android.media等。Dalvik虚拟机是专门为移动设备设计的,它可使一台设备同时运行多个虚拟机程序而同时又消耗较少的资源,Android中的每个应用程序都在一个自有的Dalvik虚拟机中运行。第3章 操作系统安全架构及面临的安全威胁整体的开发流程如下:(1)开发者以类似Java的语法进行编码。(2)源代码被编译成.class文件。(3)得到的类文件被翻译成Dalvik字节码。(4)所有类文件被合并成一个Dalvik可执行文件(DEX)。(5)字节码被DalvikVM加载并解释执行。第3章 操作

13、系统安全架构及面临的安全威胁5)Linux内核层(Linux Kernel)Android的核心系统服务依赖于Linux2.6版本内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核作为硬件与软件栈的抽象层,为Android设备的各种硬件提供了底层驱动。驱动包括Binder(IPC)驱动、电源管理、低内存管理器、匿名共享内存等。(1)Binder是一种IPC(进程间调用)机制。虽然Android的Binder代码量相对较小(大约有4000行源码,存在于两个文件中),但对于大部分的Android功能却是非常关键的。第3章 操作系统安全架构及面临的安全威胁(2)电源管理:是一种

14、基于标准Linux电源管理系统的轻量级Android电源管理驱动方式,针对嵌入式的电池电量等做了很多优化。(3)低内存管理:可根据需要来杀死进程,达到释放内存的目的。(4)匿名共享内存:为进程间提供共享内存,同时为内核提供回收和管理该内存的机制。第3章 操作系统安全架构及面临的安全威胁2.iOS操作系统操作系统除了Android操作系统,移动智能终端的另一个主流操作系统为iOS操作系统。iOS操作系统体系结构如图3-2所示。iOS系统基于类Unix系统开发,系统架构共分为四层,由上到下层次为可触摸层(Cocoa Touch Layer)、媒体层(Media Services Layer)、核心

15、服务层(Core Services Layer)、核心操作系统层(Core OS Layer)。第3章 操作系统安全架构及面临的安全威胁图3-2iOS系统体系结构第3章 操作系统安全架构及面临的安全威胁1)可触摸层可触摸层是iOS架构中最重要的层之一。该层为应用程序开发提供了各种常用框架且大部分框架和界面相关,本质上可触摸层负责用户在iOS设备上的触摸交互操作。2)媒体层媒体层提供应用中与视听相关的技术,包括图像、音频和视频技术,采用这些技术可以在移动终端上为用户提供较好的多媒体体验。第3章 操作系统安全架构及面临的安全威胁3)核心服务层核心服务层给应用提供所需要的基础的系统服务,这些服务包括

16、:(1)核心基础框架(CoreFoundation.framework):是基于C语言的接口集,为iOS应用提供基本数据管理和服务功能。(2)CFNetwork框架:是一组高性能的C语言接口集,提供网络协议的面向对象抽象。可以利用该技术操作协议栈,访问低层结构。(3)电话本(AddressBook)框架:提供移动终端设备的电话本编程接口。第3章 操作系统安全架构及面临的安全威胁(4)核心位置框架(CoreLocation.framework):可以获得移动终端设备当前的经纬度,利用GPS、蜂窝基站或WiFi信号测量用户的当前位置。可利用该技术为用户提供定位或地址查找服务。(5)小型数据库(SQ

17、Lite):iOS应用中通过嵌入该小型数据库,实现无需在远端运行另外的数据库服务器。(6)安全框架(Security.framework):iOS提供内置的安全特性和外部的安全框架,从而确保应用数据的安全性。第3章 操作系统安全架构及面临的安全威胁4)核心操作系统层核心操作系统层包含操作系统的内核环境、驱动和基本接口三部分。第3章 操作系统安全架构及面临的安全威胁3.1.2系统安全模型介绍系统安全模型介绍1.Android系统安全模型系统安全模型Android系统安全模型如表3-1所示。第3章 操作系统安全架构及面临的安全威胁1)Linux安全机制Android继承了Linux的安全机制,主要

18、有POSIX用户和文件访问控制两种方式。(1)POSIX用户:当包文件安装时,Android会赋予该文件唯一的Linux用户ID。(2)文件访问控制:Android系统文件与应用文件的访问控制继承了Linux的权限机制,即每个文件绑定UID(用户ID)、GID(用户组ID)和rwx(读写执行)权限进行自主访问控制。第3章 操作系统安全架构及面临的安全威胁2)Android本地库及运行环境安全机制(1)内存管理单元(MMU):为进程分配不同的地址空间(虚拟内存),可以隔离进程,即进程只能访问自己的内存页,不能访问其他进程的内存页。(2)强制类型安全:通过编译时的类型检查、自动的存储管理和数组边界

19、检查保证类型安全。(3)移动设备安全:借鉴智能手机设计中的“认证”“授权”特征来实现移动设备安全。“认证”和“授权”通过SIM卡及其协议完成,SIM卡中保存使用者的密钥。第3章 操作系统安全架构及面临的安全威胁3)Android特定安全机制(1)权限机制:Android 的权限管理遵循“最小特权”原则,即所有的Android 应用程序都被赋予最小权限。Android应用程序如果没有声明任何权限,就没有任何特权。(2)组件封装:可以保证应用程序的安全运行。若组件中的exported属性设置为“false”,则该组件只能被应用程序本身或拥有同一UID(用户ID)的应用程序访问,此时,该组件称为私有

20、组件;若exported属性设置为“true”,则该组件可被其他应用程序调用或访问,此时,该组件称为公开组件。第3章 操作系统安全架构及面临的安全威胁(3)签名机制:Android将应用程序打包成.apk文件,该类型的文件包含应用的所有代码和非代码资源。Android要求对所有的应用程序进行数字签名以获得数字签名证书,以此保证应用程序的开发者对该应用负责。只要该数字签名证书仍然有效且公钥可以正确验证签名,则签名后的.apk文件为有效文件。(4)Dalvik虚拟机:Android中的每个应用程序都在一个自有的Dalvik虚拟机中运行,Dalvik虚拟机与POSIX用户安全机制一起构成了Andro

21、id沙箱机制。第3章 操作系统安全架构及面临的安全威胁2.iOS系统安全模型系统安全模型iOS系统安全模型如表3-2所示。第3章 操作系统安全架构及面临的安全威胁1)安全启动链iOS系统启动过程的每个步骤都包含了由Apple签名加密的组件以保证该步骤的正确性以及完整性。这些加密的组件包括bootloader、kernel、kernel extensions和baseband firmware。该安全启动链确保系统的最底层的软件不会被非法篡改并且确保iOS启动只会在经过验证的iOS设备上运行,如果启动过程中任何步骤验证出现问题,启动过程就会终止并强制系统进入恢复模式。第3章 操作系统安全架构及面

22、临的安全威胁2)代码签名所有在iOS操作系统上运行的二进制文件和类库在被内核允许执行前都必须经过苹果公司指定的可信机构签名才可以执行,以确保应用程序不被非法篡改。3)沙箱机制沙箱是指每个iOS应用程序都会创建一个独立、封闭、安全的文件系统目录或文件夹,该文件系统目录或文件夹就叫作沙箱。沙箱机制规定应用程序只能在自己的沙箱中访问文件,无法访问其他沙箱的内容。第3章 操作系统安全架构及面临的安全威胁4)地址空间布局随机化当任意攻击者采用ROP(Return Oriented Programming,面向返回编程)的代码复用攻击时,会利用被攻击者的内存布局信息推测出具有利用价值的代码或数据的内存地址

23、,来定位并攻击。地址空间布局随机化可以防止缓冲区溢出攻击,可以随机化处理内存中的动态库、动态链接器、堆栈等地址,使得攻击者无法推测出内存中有用信息的地址,提高攻击成功的难度和成本。第3章 操作系统安全架构及面临的安全威胁3.2权限权限3.2.1权限申请及管理权限申请及管理在应用程序安装时,为了访问其他应用程序或操作系统的敏感资源,应用程序需要申请相应的权限来获取访问对应资源的能力。第3章 操作系统安全架构及面临的安全威胁1.Android系统系统1)在Android中申请权限Android中的应用程序静态地声明它们所需要的权限。在应用程序安装时,系统向用户展示应用程序运行所需的权限,经用户确认

24、后,由包管理器负责授权。安装完成后,应用程序无法再提出新的权限申请,应用程序执行未授权的操作将被终止。2)Android对权限的管理权限管理是Android中最重要的安全措施之一,为了达到方便、可用和简单快速的目的,Android采用粗粒度的权限管理机制。第3章 操作系统安全架构及面临的安全威胁2.iOS系统系统1)在iOS中申请权限在iOS系统中,所有软件需要读取的数据会在读取的瞬间触发系统的强制提示,显示系统提示框,询问用户是否授予该软件此项权限。2)iOS对权限的管理如果用户拒绝授予该软件此项权限,则软件无法获得任何对应的内容。相关授权在第一次询问之后,用户可在设置中调整该软件的对应授权

25、。第3章 操作系统安全架构及面临的安全威胁3.2.2权限赋予及执行权限赋予及执行对于Android操作系统,在权限实施过程中,其通过Android中间件中的引用监视器对发起的组件间通信进行监视,如果某个组件发起的通信未能提供目标组件需要的权限,那么将无法调用目标组件。第3章 操作系统安全架构及面临的安全威胁3.2.3系统权限系统权限Android内置权限的定义在以Android开头的包中,这些包被称作Android框架或平台。Android框架的核心是一组由系统服务共享的类,框架中的框架类会被打包成JAR文件,并且框架中含有单独的APK文件。APK文件定义了Android包和系统权限,声明了权

26、限组和权限。系统权限有访问用户通信录、访问用户照片、执行手机拨号等。系统权限的特点是涉及用户隐私并需要用户授权。应用程序在需要系统权限时,会询问用户是否授权,并且在运行该应用程序时,首先检查是否有所需要的权限申请,这样可以提高系统安全性。第3章 操作系统安全架构及面临的安全威胁3.2.4广播权限广播权限广播接收者的权限可以由接收者自己指定或由发送广播的应用指定。当发送广播时,应用可以使用Context.sendBroadcast(Intent intent)函数,将广播传递给所有已注册的接收者;可以使用Context.sendBroadcast(Intent intent,String rec

27、eiverPermission)函数来限制接收者,其中receiverPermission参数是指对该广播感兴趣的接收者的权限。第3章 操作系统安全架构及面临的安全威胁静态注册广播接收者可以通过设置Manifest.xml文件中标签的permission属性来限制谁可以给自己发送广播。动态注册广播接收者可以使用Context.registerReceiver(BroadcastReceiver receiver,IntentFilter filter,String broadcastPermission,Handler scheduler)函数传递权限参数,其中,第一个参数是我们要处理的广播接

28、收器(广播接收器可以是系统的,也可以是自定义的);第二个参数是意图过滤器;第三个参数是广播权限;第四个参数是处理器。第3章 操作系统安全架构及面临的安全威胁3.2.5公开和私有组件公开和私有组件Android应用程序由Activity、Service、Content Provider和Broadcast Receiver四类组件构成。其中,Activity是Android程序与用户交互的界面(UI),一个Activity对应一个窗口;Service组件在后台运行,如播放音乐、下载文件等;Content Provider是应用程序之间共享数据的容器,系统的通信录、日历等数据都保存在相应的Cont

29、ent Provider中;Broadcast Receiver接收系统或者程序发送的消息,然后根据消息内容执行任务或反馈信息。第3章 操作系统安全架构及面临的安全威胁Android应用中包含许多组件,通过组件可以实现各种功能。这些组件可以是公开的或私有的。公开组件被所有应用调用,私有组件只能被所声明的特定应用调用。1.组件公开与私有的方法2.组件应用场景1)组件公开应用场景当某个App公开了自己的某个组件(例如图片美颜功能)时,其他的App都可以调用该App的美颜功能。但是将组件公开的行为会带来安全隐患,攻击者可能会利用该App公开的组件进行攻击。第3章 操作系统安全架构及面临的安全威胁2)

30、组件私有应用场景当某个App将组件私有时,其他App对该App某个或某些组件的调用均会被活动管理器阻塞并失效,这样就在一定程度上保护了App的安全,使攻击者无法通过利用该App的组件进行攻击。第3章 操作系统安全架构及面临的安全威胁3.3权权 限限 机机 制制3.3.1Android安装时的权限机制安装时的权限机制iOS需要用户授权的权限有两种:一种是涉及用户隐私的权限,如定位服务、照片、通信录等;另一种是系统服务权限,如无线网络和蜂窝数据、通知权限、VPN等。第3章 操作系统安全架构及面临的安全威胁3.3.2iOS的实时权限机制的实时权限机制实时权限要求在应用程序运行时,用户对应用程序所需访

31、问的请求进行批准。iOS采用的权限保护机制为实时权限机制。所有软件需要读取的数据都会在读取瞬间触发系统的强制提示,这时用户会看到系统提示框询问“是否授予软件此项权限”。如果用户选“否”,那么软件将无法获取任何对应的内容。相关授权在进行过第一次询问之后,用户可以在“设置隐私”中调整软件的对应授权。第3章 操作系统安全架构及面临的安全威胁3.4设设 备备 安安 全全3.4.1控制系统的启动和安装控制系统的启动和安装如果与设备有物理的直接接触,攻击者可以通过操作系统结构、获取设备内存或磁盘等方式来获得或修改用户系统数据。直接接触可以通过对设备电子组件进行物理直接接触来实现,例如拆卸设备并连接隐藏的硬

32、件调试接口或者拆焊Flash存储元件,最后通过专用设备进行读取。第3章 操作系统安全架构及面临的安全威胁其他有效地获得设备数据的方法是使用设备的更新机制来修改系统文件,以此消除对数据获取的限制,或启动另一个操作系统来实现对存储设备的直接访问。控制系统的启动和安装过程包括引导加载程序和恢复系统两部分。第3章 操作系统安全架构及面临的安全威胁3.4.2验证启动验证启动Android验证启动的实现基于dm-verity设备块(device-mapper)完整性检测靶。device-mapper是一个Linux内核框架,它提供通用的方法实现虚拟块,可用来实现全盘加密、RAID阵列和分布式冗余存储。dm

33、-verity是一个块完整性检测靶,每当块设备被读入时,都会透明地验证块设备的完整性。第3章 操作系统安全架构及面临的安全威胁在Android系统上启动验证的步骤如下:首先生成哈希树,为哈希树制造dm-verity映射表,并为该映射表签名;然后生成verity元数据块并将其写入到目标设备中;最后验证启动完成。第3章 操作系统安全架构及面临的安全威胁3.4.3硬盘加密硬盘加密硬盘加密是一种加密的方法,系统将需要存储到硬盘上的文件的每个比特都转换成密文进行存储,保证如果没有解密密钥,就无法从硬盘上读取数据。Android的硬盘加密使用Linux内核标准磁盘加密子系统。它是一个device-mapp

34、er靶,可以将加密物理块设备映射到虚拟device-mapper设备上。所有对虚拟device-mapper设备访问的数据都会被透明地解密(读取时)或加密(写入时)。第3章 操作系统安全架构及面临的安全威胁3.4.4屏幕安全屏幕安全“对系统和应用访问进行用户认证”是对Android设备访问控制的一种方法。这种方法在每次设备启动和屏幕开启时都会锁定显示屏幕界面。不同设备的锁屏界面会展示不同的组件,包括设备和应用的当前状态,以及在多用户的设备上切换用户或解锁系统密钥生成器等。系统对屏幕的锁定过程是:在窗口上排放多个窗口,其中某个窗口处在高窗口层中,其他应用无法在其窗口之上再绘制其他窗口或控制这个窗

35、口层,并且密钥守护者会劫持所有导航按键,使得用户无法避开该窗口,从而实现屏幕“锁定”。第3章 操作系统安全架构及面临的安全威胁3.4.5系统备份系统备份Android中包含了备份框架,能够将应用数据备份到Google的云存储中,并且支持在USB连接的状态下将所有安装的APK文件、应用数据和外部存储文件备份到宿主机上。备份框架允许应用定义一个特殊组件备份代理,在系统对应用进行备份或恢复时自动调用。其中,备份分为云备份和本地备份。第3章 操作系统安全架构及面临的安全威胁1.云备份云备份因为备份与用户的Google账户关联,所以在新设备上安装拥有备份代理的应用之后,如果用户建立备份时使用了与设备注册

36、相同的Google账户,那么应用数据就会自动恢复。2.本地备份本地备份Android4.0允许用户将备份保存在计算机中。因为将本地备份数据传送到宿主机上需要使用ADB(Android Debug Bridge,安卓调试桥),所以需要设备打开ADB调试,使用ADB工具将Android中的数据进行备份,复制出所有的包文件,并提取包数据。第3章 操作系统安全架构及面临的安全威胁3.5系统更新和系统更新和root访问访问3.5.1引导加载程序引导加载程序引导加载程序(bootloader)是一个专用的、与硬件相关的程序。在设备第一次启动时,该程序就会运行,其作用是初始化设备硬件,找到并启动操作系统。引

37、导加载程序分两个阶段来执行:第一阶段:检测外部RAM以及加载对第二阶段有用的程序。第二阶段:引导加载程序设置网络、内存等。第3章 操作系统安全架构及面临的安全威胁3.5.2recoveryrecovery(恢复系统)是一个小型操作系统,用来执行不能直接通过Android系统执行的命令,比如恢复出厂设置或应用OTA(Over-The-Air Technology,空中下载技术)更新等。由于recovery保存在一个特定分区中,因此可以在引导加载程序处于下载模式的情况下刷入一个第三方的recovery,之后即可替换对应公钥或者关闭签名验证。这样,recovery就允许主系统被第三方操作系统镜像完全

38、替换,第三方recovery还可允许ADB获取无限制root权限或提取分区数据。第3章 操作系统安全架构及面临的安全威胁3.5.3root权限权限root权限(根权限)是系统权限的一种,它是Linux和Unix系统中的超级管理员用户账户,被赋予了完全的系统控制权,可以读取、写入或更改任何文件和目录及其权限位,可以杀掉任何进程,可以挂载或卸载任何数据卷等。获取root权限的途径如下:(1)通过刷入新boot镜像,一个user编译选项的系统就被转化为工程机或userdebug系统,由此可以获得root权限来执行命令。第3章 操作系统安全架构及面临的安全威胁(2)解压系统镜像,在解压的镜像文件中增加

39、一个SUID的su文件,将原来的system镜像替换掉,这样就可以从shell中获取root访问。(3)通过刷入一个OTA更新包即可实现在不替换系统的前提下修改系统文件,从而获取root权限。(4)对于一个未加锁或可解锁引导加载程序的设备,可以先解锁引导加载程序,然后对设备进行定制修改。定制修改中包含自主设置权限。而要想在一个已启动的系统上获得root访问权限,通常通过Android系统中未修补的安全漏洞来获得root shell,即攻击者可以利用内核漏洞规避安全规则以获取无限制的root访问。第3章 操作系统安全架构及面临的安全威胁3.6面临的安全威胁面临的安全威胁通过权限提升来实现对移动智

40、能终端的成功攻击,是攻击者最常用的手段之一。权限提升攻击是指没有任何权限或具有较低权限的恶意程序能够通过第三方应用程序获得所需的权限。权限提升攻击分为两类:困惑代理攻击和合谋攻击。第3章 操作系统安全架构及面临的安全威胁1.困惑代理攻击困惑代理攻击编译程序运行时同时具有分别来自两个调用的不同权限。对于移动智能终端而言,具有不同权限集的应用可以彼此通信,这样就使恶意应用具有非法使用某些正常App权限的可能性。第3章 操作系统安全架构及面临的安全威胁2.合谋攻击合谋攻击合谋攻击方式需要多个应用程序之间的相互配合。以下通过举例说明其原理,如图3-3所示。(1)攻击源A通过代理组件(C1,C2,Cn)

41、到达泄露点P并植入恶意代码(种下种子等)。(2)通过攻击源B二次对泄露点P进行攻击,进行提权操作或窃取数据等。这样,即使检测器可以检测到其中一个攻击源的攻击,另外一个攻击源也很难被发现。第3章 操作系统安全架构及面临的安全威胁图3-3合谋攻击示意图第3章 操作系统安全架构及面临的安全威胁小结小结本章概述了操作系统安全的知识。由于Android系统的普遍性,本章主要以Android系统安全性描述为主,iOS为辅。主要介绍了系统安全模型、系统权限及权限机制。系统不是单独存在的,是同某些设备相结合并作为一款产品提供给人们的。所以我们进一步从设备安全的角度介绍了具体设备对操作系统安全的影响,如验证启动、硬盘加密、屏幕安全及系统备份等。由于通过设备的某些操作,操作系统也有被替换的风险,因此本章介绍了系统更新与恢复的内容。最后描述操作系统面临的主要风险权限提升攻击。

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|