再来看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的安全并没有媒体以及一些非独立的安全机构经常宣传的那样脆弱。所以如果你使用新的Android系统并且从正规渠道下载应用,那么下次再看到“99%的Android设备将受到病毒感染”这样的新闻时,并不需要惊慌,也没必要马上为安全厂商送去钞票了。
(责任编辑:)