安卓与iOS系统安全性大比拼
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
安卓与iOS系统安全性大比拼
2011-12-16 19:38 至顶网陈广成..
关键字:IOS 安卓系统安全性系统漏洞移动安全
黑客们对于智能手机安全性的理解远比普通手机用户要深刻的多。赛门铁克报告曾深入分析了安卓和iOS系统中存在的固有问题,并重点强调:
“如今手机设备的操作系统大环境是杂乱的无安全性的,大部分手机在连接企业网络时并没有受到企业网络的安全控制,很多手机与缺乏监管的第三方云服务进行数据同步,有些人则将手机与安全性未知的公用电脑相连,然后又与企业网络相连。”
不要看到企业这两个字就觉得跟自己没有关系,实际上手机安全问题是每个手机用户都在面对的问题。
支柱
首先引用Nachenberg 在报告中的一段话:
“开发团队在这两款手机操作系统的最新版本设计时已经考虑到了安全问题,并试图将安全性融入操作系统,从而减少来自外部的安全攻击。”
接下来Nachenberg测试了安卓和iOS在以下几方面的安全防范情况:
·传统访问控制: 传统的访问控制技术包括密码以及屏幕保护锁。
·基于许可的访问控制: 基于许可的访问控制是为每个程序添加
访问控制能力。
·程序起源: 每一个程序都会拥有一个邮戳,表示该程序的作者,通过数字签名方式来防止程序被非法修改。
·加密: 对便携设备上的数据进行加密隐藏。
·隔离: 隔离技术用于限制应用程序访问特定敏感数据或系统的能力。
操作系统的表现
TechRepublic 专栏作家Francis首先会对安卓和iOS操作系统针对每个支柱的表现给出评论,然后作者根据Nachenberg的报告进行总结。
支柱一:传统访问控制
Francis: 在传统访问控制方面,根据我的经验,iPhone或安卓系统都有很好的表现。
不过,如果触摸屏上的指纹印记太清晰,可能会有助于黑客破解手机密码。在我看来,大部分手机程序开发人员没有为程序添加通过操作系统加锁解锁屏幕实现程序锁定的功能。
在安卓系统上,我使用过一款由Carrot App 开发的软件App Protector Pro 。这个软件可以让我为每个程序添加额外的密码保护,如Gmail, Exchange, 以及Facebook。有了这个程序,如果我的手机丢失,并且对方破解了锁屏密码,那么我还能有额外的一些时间来修改这些程序所涉及的账号密码。
根据我的记忆,好像在iPhone里没有类似的安全软件。我怀疑
这是因为iOS有更具有约束力的沙箱模型。
Kassner: Nachenberg认为iOS提供的访问控制功能可以在手机丢失后起到一定的安全防范作用。在这方面Nachenberg认为iOS 与Windows桌面系统的安全性类似。
报告中Nachenberg 对于安卓系统就没那么客气了。他认为虽然安卓系统也能干防止偶尔发生的攻击,但是安卓系统不支持对SD 卡中的数据进行加密存放,因此如果手机被盗,通过物理方式直接读取SD卡中的数据,就使得安卓的密码防范功能毫无用处了。
支柱二:基于许可的访问控制
Francis: 根据我的经验,iOS上的许可机制很少,比安卓系统上的许可机制少很多。而唯一一个肯定存在的许可机制是当用户访问其它受保护的子系统时,iOS会提示用户需要相应的资源,并要求用户同意。
相反,在安卓系统上这样的许可机制很多。我认为理论上这样做很成功,但是在现实世界中这样的许可系统起不到什么作用,因为这种许可理论上需要依赖于用户对于科技的了解。
目前5个黑客里有4个都在使用安卓系统的手机,安卓手机也逐渐成为了主流智能手机,但是一般用户并不清楚针对某个程序,到底是应该允许其运行,还是不允许。
实际上我觉得用户也不该承担这种判断责任。就好像我去牙科诊所补牙,我可不希望医生在进行必要的操作时,还征求我的意见该使用哪个仪器。毕竟我是付费享受服务的,我依赖于诊室的资源和牙医的
经验技术。
Kassner: 我曾经听过很多人说iOS平台中的许可系统问题。Nachenberg在报告中阐述了这个问题:
“iOS系统中有四类系统资源是必须经过用户许可确认后,程序才可以访问这些资源的。而其它系统资源,要么是明确的允许用户使用软件访问,要么就是明确的禁止用户访问,这是iOS内置的隔离策略。而出现以下情况时,程序可能会向用户提出确认请求:·手机的全球定位系统需要方位本地数据时
·接收到来自互联网的通知警告信息
·向外拨打电话时
·向外发送短信或电子邮件信息时
如果有任何程序试图使用以上四类功能,那么用户首先会看到一个许可提示,当用户许可后,该程序才可以实施该功能。如果用户允许了GPS系统或通知警告系统的功能,程序会被永久允许使用该系统。而对于向外拨打电话或发送短信和电邮的功能,则需要用户每次点击确认。”
而安卓平台使用的是完全不同的方案。它是基于“全部或没有”的概念,我引用Nachenberg在报告中的一段话来解释这个概念:“每个安卓程序内部都集成了一个许可列表,记载了能够让该程序正常工作所需的系统功能。这个列表会采用普通手机用户能够看的懂的方式,在软件安装过程中提示用户,而用户会根据这个软件的安全风险来决定是否要继续安装该软件。
如果用户仍然选择安装软件,那么程序将获得访问相应系统资源的权限。而如果用户放弃安装软件,程序就完全被禁止运行了。安卓系统上没有所谓的中间地带。”
支柱三:程序起源
Francis: 在安卓和iSO系统中,身份起源和判断真实性的机制是明显不同的。人们对这两种机制的优劣一直都没有结论,但目前来看,针对安卓系统的恶意软件要多于iSO。
我不认为Google的安卓系统在安全性上是失败的,但是一系列薄弱的安全点,使得安卓系统在面对安全威胁时显得更脆弱。对于黑客来说,在安卓系统上开发和散步恶意软件没有太大的阻碍,尤其是将软件归为免费或共享时,传播速度更快。
Google对于之前提交的应用程序没有审查机制。不需要开发者证明自己就是拥有该程序开发和修改权限的人。也没有集中化的开发者授权。目前有多种渠道都可以发布和传播安卓系统上的软件,而且渠道数量还在不断增加。而整个过程中存在的最大漏洞就是,黑客可以毫不费力的获取软件店里的软件,通过逆向工程还原成源代码,经过修改加入恶意代码并打包后,再将其以正常软件的名义发布出来。
虽然iPhone的应用软件也可以通过这一系列工作进行篡改,但是iPhone的编程语言并不公开,这种非公开的编程语言比Google 平台的Java语言反汇编要难的多。
Kassner: 在这方面,Nachenberg的观点和Francis 是一致的。iOS在这部分做的比安卓系统强。