在刚刚过去的世界移动通信大会上,Android负责人Sundar Pichai也出现在会场。由于媒体上经常出现各类有关Android被恶意软件占领的新闻,所以和Android、iOS安全性相关的问题自然也被抛给了Sundar Pichai。作为Google高级副总裁,Pichai当然表示Android是相当安全的。而在这个问题的背后,Android和iOS到底是如何抵挡恶意软件的呢?
作为一个移动操作系统其安全性相关多个方面,但正如苹果在iOS安全白皮书中所说的那样——应用程序已经是现代移动操作系统安全体系结构中最关键的要素之一,所以本文就从应用的层面来看一看Android和iOS的安全机制。
在系统层面,Android在4.2及以后的版本中增加了应用程序验证机制。当用户安装第三方渠道的应用时,该验证机制便会向Google的服务器发送验证信息来确认其安全性,如果返回的结果是否定的,那么系统便会阻止用户继续安装。为了丰富自己的数据库,除了Google Play Store外,Google还会扫描网络上各类APK文件。而且在接下来,Google还将升级应用验证机制,在升级后,应用验证机制将可以在后台运行以监测那些已经安装的应用是否有不轨行为。预计相关功能将会随着Google Play Services的下次更新悄悄推送给Android 2.3及以上版本的用户。通过此举Google也就让安装第三方渠道应用给用户带来的风险大大降低。
在系统底层上,Android还故意限制了应用程序对一些API的调用,比如Android并不提供直接操纵SIM卡的API。当第三方应用调用相关地理位置、相机、蓝牙、短信等“受保护的API”时则需要得到用户另外的许可。在数据保护上,第三方应用只有通过Android系统权限检查之后才可以访问个人信息、敏感数据输入设备、设备元数据等相关信息。
再来看iOS,由于iOS用户获取应用的途径相对单一,所以苹果可以从源头上来控制应用的安全性。而事实上,苹果也确实是这么做的。iOS系统要求所有可执行的代码都需要使用苹果颁发的证书进行签名,这当然也包括第三方的各类应用。应用开发商想获得苹果颁发的证书就必须到苹果那里注册加入iOS开发项目组。这样所有获得了证书并且有权利向App Store提交和发布应用的开发商都是事先通过了苹果验证的,苹果也很容易就可以辨别出每款应用背后对应的公司或个人信息。用苹果的话说,这样对那些恶意应用开发者来说就有了很好的威慑作用。
事实上,应用签名在Android上也是必须的。而之所以苹果能在这一环节上更好地控制应用的安全性是由于它可以要求所有的开发者都使用苹果的证书进行签名,这在Android上基本上是不可行的。Android上并没有一个“中央权威”来控制所有应用的签名,各运营商、OEM以及第三方市场都可以给应用签名。
在系统层面上,苹果一样做了诸多限制措施。比如当一个第三方应用需要读取信息在应用本身之外时,它只能使用iOS系统提供的API来读取这些信息;需要后台处理能力的应用同样只能使用系统提供的API;而且由于整个OS分区被挂载为只读,所以API也不允许应用程序不断提升自己的权限来修改其他应用或者iOS系统本身。在保护应用内数据方面,iOS的软件开发工具包则提供了一整套API来帮助开发者提升数据的安全性。
此外,由于iOS系统硬件也都受苹果控制,所以苹果还使用了ARM处理器的“禁止执行位”安全技术来防止应用程序做恶。
总结来看,虽然Google和苹果对各自系统的掌控能力不同,但双方都在自己可控的范围内为Android和iOS在系统接入层面、应用未到达设备端时以及应用已经在设备端运行时提供了防护措施。由于苹果可以控制硬件,所以iOS多了一层处理器层面的防护。不过Android是开源的,所以它可以从社区中汲取力量加强自己的安全性,而且Google也确实这么做了。所以两者可以说是各有优势。
相对于iOS,Android的确把更多的选择权交给了用户让他们自行选择。这在某些时候确实会带来隐患,但Android系统APP的安全并没有媒体以及一些非独立的安全机构经常宣传的那样脆弱。所以如果你使用新的Android系统并且从正规渠道下载应用,那么下次再看到“99%的Android设备将受到病毒感染”这样的新闻时,并不需要惊慌,也没必要马上为安全厂商送去钞票了
上一篇: 爱加密让“史上最坑爹的游戏”不再“坑爹”
下一篇: 央视曝光“不死木马” 移动支付安全引担忧