Android和iOS系统安全机制分析Android是Linux操作系统和基于Java的Dalvik平台的联合体。包括一个应用程序框架,几个应用程序库和一个基于Dalvik虚拟机的运行时,所有这些都运行在Linux内核之上。iOS系统是苹果公司用于iPod、iPhone和iPad设备的精简版的OS X Mac操作系统。iOS与苹果的Mac OSX操作系统一样,它也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。 1、Android系统概述 Android是Linux操作系统和基于Java的Dalvik平台的联合体。包括一个应用程序框架,几个应用程序库和一个基于Dalvik虚拟机的运行时,所有这些都运行在Linux内核之上。基于Android应用的开发主要采用Java语言编写,通过Google的工具将其转化为可以在Andorid系统的Dalvik虚拟机中运行的应用,并且可以运行在任何基于Android的设备上。 2、iOS系统概述 iOS系统是苹果公司用于iPod、iPhone和iPad设备的精简版的OS X Mac操作系统。iOS与苹果的Mac OSX操作系统一样,它也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。原本这个系统名为iPhone OS,直到2010年6月7日WWDC大会上宣布改名为iOS。 3、移动终端系统的安全模式 下面讨论5个安全模式,用于评估移动终端操作系统的安全性: 1)传统的访问控制:通过密码和空闲屏幕锁定来保护设备安全; 2) 应用来源控制:每个应用都赋予作者的身份戳和数字签名来抵御篡改应用; 3) 加密机制:加密设备的数据以防设备的丢失或被盗; 4)隔离机制:一种限制应用访问设备系统和敏感数据的技术; 5)基于许可的访问控制:可以授予应用一系列的权限,允许在此权限范围内访问设备数据和系统。 4、安全机制对比分析 4.1 传统的访问控制机制 Android提供身份鉴别、口令设置、重鉴别、鉴别失败的机制,要求用户身份鉴别尝试失败后达到多少次数,进行锁定或处理。Android2.X的版本提供了基本的密码配置选项,包括指定密码的强度、指定电话屏幕的锁定时间间隔,以及当移动设备的密码尝试失败多少次后,设备自动清除数据。而Android3.0的版本引进了一个密码过期概念,能够提示用户在一定的时间内更新密码。 iOS提供传统的访问控制机制,包括密码配置和账户锁定功能。系统的管理者可以设定密码的强度,可确定用户频繁使用后需要重新设置新密码的周期。同时还可以设置当用户错误登录超过一定次数后,系统自动擦除设备上数据信息。 4.2 应用的来源控制机制 Android系统提供的是一种数字签名的方式,但是没有苹果的应用那么严格。开发Android的应用方在发布软件时候,需要给软件进行签名,防止软件逻辑被修改重新发布,同时可以识别用户的开发者信息。如果用户需要将开发的应用发布到Android市场上销售,可以通过向Android市场信用卡支付25美金,然后就可以自动关联收款人和数字证书来签署应用软件的签名。 iOS系统上安装的应用都需要通过正规的发布流程,通常提供两种方式对基于iOS系统开发的应用进行发布。 一种方式,某个开发方需要将自己开发的应用销售给用户。在这种情况下,开发上需要将应用发布到苹果公司的App Store上。同时苹果公司会对发布的应用进行大约1至2周的审核,通过审核后,应用才能在App Store上进行销售。 另一种方式,某个公司需要发布私用的应用程序。在这种情况下,有这种需求的公司需要提交相关的申请,同时需要得到邓百氏公司的信用证明。通过审核后,可以发布应用到苹果的管理平台上进行使用。每个开发的应用在发布之前都需要进行数字签名,数字签名有一定的时间限制。 4.3 加密机制 Android系统仅仅在3.0版本以上才提供硬件加密功能来保护设备上的数据信息。而早期的版本通过用户名、密码和应用关联数据的方式来保护数据信息。 iOS在加密机制上,采用硬件AES-256加密所有存放在flash内存上的数据。同时还可以指定保护的数据选项,例如对电子邮件加密。 4.4 隔离机制 Android系统通过sandbox机制来实现,“沙盒”是在受限的安全环境中运行应用程序的一种做法,这种做法是要限制授予应用程序的代码访问权限。在缺省情况下,没有一个程序具有执行对其他程序,操作系统或用户产生副作用的权限。这些包括读取或写入用户的私有数据(如联系人或电子邮件),读取或写入另外一个程序文件,网络访问,保持设备处于工作状态等等。一个程序的进程是一个安全的盒子,它不能打断其他程序,除非显示声明它需要额外的能力的权限。 但是下面几个访问例外: 可以获取安装在移动设备上的应用列表,检查每个应用的程序逻辑,单不可访问私有数据; 不受限制地可以读取(但不可写入)用户SD卡的所有数据内容,如用户的音乐,视频,安装的程序,保存的文档等。 可以启动系统中的其他应用,如web浏览器、地图应用等等。 iOS系统设计为每个应用独立运行,互不干扰。应用间不能查看或修改数据和运行逻辑,并且应用在执行过程中也不可能查看到设备上已安装其他应用。另一方面,可以不授权的情况下访问如下资源: 可以启用无线网络与其他设备互联; 可以访问设备的地址簿,包括邮件地址,电话联系人等; 可以访问设备的日历条目; 可以访问设备唯一标识号; 可以访问设备的电话号码; 可以访问设备的音乐和图像文件; 可以访问safari浏览器的搜索历史记录; 可以访问自动更新历史; 可以访问在YouTube应用中的查看历史; 可以访问Wifi连接日志; 可以访问设备的麦克风和摄像应用。 4.5 基于许可权限的访问机制 Android在默认情况下,当许可没有明确要求用户这样做的时,大多数Android应用什么都不能做。例如,如果一个应用程序想要联通互联网,它必须明确请求允许用户这样做,否则默认隔离政策就直接阻止应用启动联网操作。 因此,每个Android程序包含一个嵌入式列表的权限,需要它才能正常运行。请求的权限以非技术语言提供给用户,并安装在移动设备上。在应用程序安装的过程中,用户可决定权限授予允或否。如果用户选择继续进行安装,应用程序将被允许进入所有许可的子系统。而如果用户选择终止安装,应用程序将被完全阻塞运行。Android没有中间地带(允许一些权限,但拒绝其他权限)。 第三方的应用程序可请求权限使用下列高级子系统: 1)网络子系统:应用可以建立启动WIFI网络和移动电话网络与其他网络设备互联。 2)设备表示:应用可以获取设备的电话号码,设备的ID(IMEI)号,SIM卡的序列号和设备的ID(IMSI)号。这些被利用作为手机诈骗犯罪。 3)信息子系统:应用可以访问设备发件箱,收件箱和消息系统发出电子邮件和附件信息。同时也可以传出电子邮件和 SMS消息。 4)日历和通信录子系统:应用可以读取、修改、删除和修改系统的日历和通讯录条目。 5)媒体和图片文件子系统:应用可以访问多媒体(如MP3文件)和照相机应用的产生的图片文件。 6)外部存储卡访问:应用可以请求去保存、修改、删除外部SD卡存储的数据内容。一旦被授予权限,应用可以不加限制的访问SD卡上的全部数据, 并默认情况下,这些数据都不被加密。 7)GPS系统:应用可以获取设备的位置信息。 8)电话系统:应用可以在未经许可的情况下启动和终止电话应用。 9)日志和浏览历史:应用可以访问设备的日志,如电话的打入或打出记录,系统的错误日子等,还可以访问浏览器的书签和冲浪的历史数据 10)任务列表:应用可以获取目前系统中正在执行的应用程序列表。 iOS系统有四种资源需要授权使用,其他资源采用隔离机制来限制访问。这四种资源分别是通过全球定位系统GPS来获取位置数据;接受来自互联网的通知提醒功能(通常,是基于云的服务发送通知给移动设备);拨打电话;发送短信或电子邮件。 责编:梦右右 微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友 著作权声明:kaiyun体育官方人口
文章著作权分属kaiyun体育官方人口
、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 |
最新文章
|