最近读了一个论文 Secure Software Installation on Smartphones ,最初的时候从网络上下载的文章,后来再次查找的时候发现不能免费下载了,可以购买:(。文章链接为:http://www.computer.org/portal/web/csdl/doi/10.1109/MSP.2010.202。

下面是做的笔记。

论文讨论的是android 、苹果公司的IOS、Symbian等主流的智能手机的软件安装相关安全问题。

1.智能手机上软件安装安全的问题涉及以下方面:

a: 进程和文件系统的隔离。

IOS和Symbian提供系统级别的隔离机制。IOS的情况我看了一些资料,简而言之,IOS强制应用运行在“沙箱”SandBox环境下,对应用能够访问的文件系统目录、网络资源、硬件资源等系统资源进行限制,详细见http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/RuntimeEnvironment/RuntimeEnvironment.html#//apple_ref/doc/uid/TP40007072-CH2-SW3。至于Blackberry和Android, 通过JAVA虚拟机能够提供进程隔离(JAVA VM以及 Dalvik),但Android上应该说还不足够,因为开发人员可以创建本地运行的非虚拟机上运行的应用。

b:应用/代码签名

应用/代码签名的技术应用在每一种主流智能手机平台上,对Android来说,应用必须自签名,亦即是,开发者产生key,并对应用进行签名,此过程不需要Google干预。android的这种签名流程有两种用法,第一种用法用在应用软件的后续更新流程中开发者对原版本软件的签名进行验证,注意android的这种使用方法不能用在应用软件的初始安装中;第二种用法是在应用间的进程间通信场合(IPC),开发者可以限制具有相同的私有签名的进程才能彼此访问。对IOS来说,应用未经过苹果公司签名的不能在设备上运行,该限制固化在操作系统级别,该签名由设备上的审批进程(vetting process)来进行检验(个人字面理解,vetting process对应IOS安全架构的哪一个部分尚未清楚)。

c:ROM,Firmware的更新和恢复。

与桌面系统相比,智能手机设备的操作系统以及固件(firmware)通常烧入只读的内存(ROM)中,ROM中的数据不能被用户空间的进程所修改,因此更加安全。当设备提供商需要对操作系统进行升级的时候,需要对ROM进行写入,此时多数设备提供商提供一个PC 上运行的软件以及一个USB的接口连线,将PC上的系统镜像拷贝烧入设备。这里比较特殊的是Android, 提供了通过空口(over the air)更新ROM的数据的功能。OTA是通过移动通信(GSM?CDMA)的空中接口对设备的数据和应用进行远程管理的技术(网上资料上指对SIM卡的数据进行管理,此处是否android对ROM的数据进行了更新?)。

d:KILL SWITCH

kill switch技术是一种远程对移动设备上的应用进行废除和卸载的技术。该技术通常与平台的应用商店进行紧密结合,能够阻止恶意软件在设备中的使用,但是也带来人们对设备运营商或者运营商过渡控制设备,侵犯用户隐私的担心。文章提到IOS和Android的应用商店平台具有配套使用该技术。

2.智能手机上的软件安装模式分类。

文章将智能手机上的软件安装模式分成三类:第一种叫做Walled Garden Model ,第二种叫做Guardian model ,第三种叫做End-user control model。

Walled Garden model是一种设备提供商或者其他角色例如运营商对终端设备上的软件安装进行完全的控制的模式。这种模式的主要使用者是传统的旧有的手机,同时,苹果的IOS被文章认定为主要使用该模式。在该模式下,用户设备上能安装的第三方的软件必须经过苹果的认可,通过苹果的审批,非法安装在用户终端上的程序软件商店平台可以通过Kill Switch的技术进行卸载。

Guardian model下面,应用安全的决策代理给专业的第三方Guardian,例如,代理给操作系统的提供商(此时,非常接近于Walled Garden model),电信运营商。Guardian负责主要的安全决策,不需要用户进行介入。文章提到BlackBerry 使用了该模式。

End-user control model中,用户了解各种来源的软件的安全风险,负责所有软件安装的安全决策。这要求用户具有比较专业的背景知识,才能回答“请问您是否允许XX应用读取电话状态?”之类比较专业的问题。Android被认为主要采用End-user control model ,依赖用户来决定设备上的应用能否安装以及访问系统资源。市场上的一些电信运营商将Android移植和按照自身的需要客户化成成某种品牌的设备操作系统,此时,其软件安装模式通常被修改成Guardian model , 此处Guardian就是运营商本身。当然,Google使用kill switch技术控制设备的时候,Android具有了一定程度上的Walled Garden model的属性。

3.智能手机上的应用安装模式和应用商城

目前主流的智能手机操作系统提供商都建设相关的智能手机应用商城。智能手机应用商城主要用以智能手机应用的审批、销售/发布。

在Walled Garden model模式下,应用商城是操作系统提供商控制应用能否进入设备的一个控制点,在这种模式下软件的审批、测试需要花费巨大的成本。

在End-user control model下,应用商城仅仅用于应用软件的发布。操作系统提供商基本不干涉最终用户与应用开发者之间的交互。软件是否值得购买/下载更加依赖与大众评分和推荐。

在Guardian model下,应用商城的主要角色是软件发布的平台,软件被允许下载,但是能否安装控制在智能手机设备的配置中。各种应用软件可以从非应用商城的途径(例如,某个网站)直接下载,而应用商城的软件则是经过测试的,比较有价值和保障的应用来源。

更多相关文章

  1. [软件]安卓手机 kindle app 手工导入mobi电子书
  2. 正确获得android设备的IP地址
  3. adnroid开发环境的搭建
  4. Android(安卓)Bluetooth 蓝牙基本操作
  5. Android(安卓)应用软件开发(九)控件续
  6. Android(安卓)6.0 变更
  7. 编译可在Nexus5上运行的CyanogenMod13.0 ROM(基于Android6.0)
  8. ubuntu Android环境的搭建及其shell执行脚本
  9. 27款Python 测试工具开源软件

随机推荐

  1. 2020-09-07
  2. ゞAndroid - 疑难問題 - 技巧小结 ゞ
  3. android造假 editView显示时间
  4. android Uri使用
  5. android使用google map api
  6. Android使用返回键退出实现
  7. android ApiDemos里的Transition3d翻转修
  8. 7、NFC技术:让Android自动运行程序
  9. Android之使用Android-query框架进行开发
  10. android的调试技巧,尤其是nativec等底层程