安卓和iOS谁更安全?转折点似乎快到了……
不知道大家是否还记得上个月的一则趣闻:
《纽约时报》发文说 “中国和俄罗斯情报部门一直在监控特朗普的个人苹果手机”。我国外交部新闻发言人华春莹果断回应:“如果特朗普担心苹果手机不安全,可改用华为。”
她的言下之意是,华为手机比iPhone更安全。
如果在早几年前有人说华为手机比iPhone安全,可能会招来不少反驳,因为“安卓系统的安全性不如iOS”说法一直占据主流。
不过,今年的情况貌似有些变化……
就在前阵子(11月13到14日),世界级手机破解大赛 Mobile Pwn2Own 落幕:iPhone X 被参赛选手成功破解,而华为的 P20 和谷歌的Pixel无人攻陷。
不知特朗普如果在推特上得知此消息,会不会认真地考虑一下改用华为手机……
好吧,其实客观来讲,一场比赛结果并不能直接断定哪款手机更安全,因为涉及的因素很多,比如系统版本、选手对不同机型的关注度等等。
但有一点可以100%肯定:经过这些年的努力,中国本土品牌手机的安全实力已经足以跟 iPhone、三星等外国品牌正面刚,甚至还经常能占上风(比如这次)。
作为一个爱真求知的公众号作者,我很好奇,华为在手机安全性上究竟做了哪些事,于是最近撩到了一位很熟悉华为手机系统的技术朋友—— “华哥”。
我俩以“劝特朗普使用华为手机的N个安全理由”为题展开了一场对话,在此分享给大家一些有关华为手机安全性的“小秘密”。
Let's Rock !
理由一:系统内核很“新鲜”
安卓手机的安全性很大程度上取决于系统内核本身的安全性。
虽说“天下安卓是一家”,无论是华为小米三星,还是魅族一加OV,手机系统其实都是基于谷歌开源的Android 系统内核深度定制开发而来。
但这并不意味着所有安卓手机的安全性都一样,就像同样的食材,在不同厨子手里也能做出不同的味道。
就拿今年的 Mobile Pwn2Own 手机破解比赛来说,同为安卓机,三星的 S9 和小米6 就被破解了,而华为的 P20手机和谷歌的 Pixel 手机却未被破解。
华为P20手机这一轮的“胜出”,很大程度是因为它搭载的系统足够“新鲜”。
华哥告诉我:
“华为参加破解比赛的P20手机搭载的EMUI 9系统就是基于最新的“Android P”内核深度定制开发而成。
这款系统内核于今年(2018年)8月份发布,性能和安全性都较之前版本的有很大改观,华为手机的定制版系统也自然继承了这些优点。”
(EMUI 9 用的是 Android 9 内核)
“任何一个智能设备都是如此,系统版本越新,安全漏洞一般就越少,这要求所有研发、安全、测试工程师跟时间赛跑。”
这不,谷歌在3月份发布 Android P 预览版,刚刚鸣响起跑枪声,华为近两千名相关的工程师就“嗖”地一声跑了出去。时间不等人,这一头的定制开发工作紧锣密鼓,马不停蹄。
8月7日,谷歌刚刚给自家亲儿子手机 Pixel 推送了安卓9.0正式版,地球另一边的华为也很快放出微博消息,准备招募用户内测。
(我翻了翻当时的微博)
最终,华为做出 EMUI 9 ,又一次成为国内最快发布新版本安卓定制系统的厂商(安卓7.0、8.0也是)。
正因如此,华为P20和谷歌的Pixel在今年Pwn2Own破解赛上“无人问津”。我猜想黑客们的心里独白可能是:“啊?Android P ?不好意思打扰了……”
理由二:在原生安卓基础上做了大量额外工作
我质疑华哥:“如果单论系统内核的更新速度,没人能比得上谷歌的亲儿子 Pixel 手机。那为什么不直接用 Pixel 不就得了?”
华哥告诉我,华为有几万个研发人员,当然不是把安卓系统内核拿来直接就用, EMUI 9 在原生安卓的基础上做了许多额外的开发工作。
“就拿内核加固来说,我们会基于自己的攻防经验,对黑客可能采取的攻击手法进行预防,给黑客提前挖一些坑。
比如随机更改掉内核里的一部分地址,增加迷惑性。或者加入一些检测代码,一旦发现进程试图跳转到恶意代码的位置,就采取反制措施。
华为手机还个“安全启动”功能,开机时就会从系统内核的外部更靠近硬件底层系统的位置,利用加密学原理来确保软件不被篡改。正常开机后,守护进程会全天候感知整个系统内核的运行状态,守护系统安全。
说到这里,华哥特意强调了华为手机自研芯片的优势:
“这里有很多工作都需要从底层来做,许多手机厂商依赖国外芯片厂商的标准和方案,而华为手机的芯片是自研的,软硬件研发部门可以相互配合,所以安全和各方面优化工作都会顺畅很多。”
理由三:获得顶级安全认证的 “独立空间”
华哥告诉我,华为手机里有一个特殊的安全区域—— TEE OS 。
TEE OS又叫“可信执行环境”,它独立于安卓内核之外,专门用来处理敏感数据,比如密码、指纹、3D人脸解锁、钱包支付等功能,都会隔离在 TEE OS 区域里存储和处理。
(一个不太严谨的示意图)
他举了个例子,EMUI 9 有个“密码保险箱”功能,用户第一次登录某个APP后,可以把账号密码保存在手机里,等到下一次再登录这个APP,就能直接填进去,免去记密码和手动输入。
“这个 密码保险箱 功能的数据就存储在 TEE OS 区域。”
说起来,TEE OS 有点类似于银行柜台。普通人可以在大厅(安卓系统)里随意走动,只有银行工作人员能进入柜台内部(TEE OS),两个区域之间隔离透过狭小的窗口交换信息。
华哥说,"华为自研的 TEE OS 叫 itrustee ,从 Mate 7 开始就在用这项技术大约2014年),今年升级到2.0版本,在国内最早拿到了全球权威信息技术安全性评估标准 CC EAL2+级别认证。”
(从公开网站找到的华为TEE OS 认证信息)
理由四:严格的数据安全和权限管控
聊到数据安全,华哥反复提起一个听着有些专业的词——“数据的全生命周期管理”。意思是从数据的诞生,传输,使用,到消亡,整个过程确保安全。
听着有点复杂,我们试图换个简单的方法来说说。
数据安全的关键在于权限管控,简单来说就是 “谁,在什么时候,有权访问什么数据”。更直白一些,就是提防手机里的某个应用在你不知情时偷偷读取数据。
原生安卓系统虽然有一套权限管控方案,但实际使用体验并不完美。
华哥举了个例子:
“你授权给某个APP麦克风权限,本意只是想临时用一下某个功能,可一旦授权,这个APP就永远拥有了这个权限。
无论是白天还是半夜,无论手机拿在手里还是放进裤兜,它都拥有录音权限,这并不安全也不合理。”
显然,手机里的APP并不会像我们设想的那样守规矩,而安卓手机的很多问题又恰恰源于手机里某个APP “不老实,不守规矩” :
它们要么读取不该读取的数据,获得不该获得的权限,侵犯隐私;
要么展示不该展示的内容(营销广告、不良信息),影响体验;
要么唤醒不该唤醒的进程,占用不该占用的内存,耗费性能。
华哥说,为了解决APP 滥用权限的问题,华为手机准备了两招,一招文,一招武,前者事前预防,后者事后处理。
先说“文招”。
2016年,华为联合阿里巴巴、百度、腾讯、网易四家共同发起了一个“安卓绿色联盟”,拉进来好几百家企业,本意是想让APP开发者能更快地拿到新版本的安卓系统,缩短应用开发适配的时间,以提升用户的使用体验。
解决完APP适配手机系统的问题,华为顺势推出了一个 “安卓绿色联盟应用体验标准”,呼吁联盟成员企业做个表率,按照标准来开发应用。
今年联盟发布了2.0的标准,我从里头随手摘出几条,大家可以感受一下:
“如无必要的使用场景,应用不能在桌面、锁屏和其他应用上,弹出悬浮窗、自定义后台Toast、后台弹出 Activity 等骚扰用户的行为”。
“应用不能引导用户开启开发者选项,禁止引导用户开启USB调试模式”。
“应用申请的权限,都必须有明确、合理的功能和使用场景”。
安卓生态中权限滥用的问题由来已久,仅靠简单的呼吁当然不行。
为了激励开发者们都遵守联盟的开发标准,华为在自家的应用市场做了一个“老实人认证”,只有通过人工和机器的双重检测,严格遵守联盟标准的APP才能在华为应用市场打上“安卓绿色联盟”的标志。
再说“武招”。
如果有人执意作恶,华为在 EMUI 9 系统里为它们准备了一头 “AI 警犬”。
他们开发了一套 AI 模型,把以往出现过的大量恶意应用的行为样本丢进去反复训练,通过深度学习让 AI 模型学会自动辨认恶意应用的行为模式。
“它会在手机端监测着每个应用的行为,不关心某个APP具体是什么谁开发的,只关心它做了什么,实时检测、提醒,拦截恶意行为。”
聊到最后,我问华哥:“安卓和iOS哪个更安全?”
他却反问我:“你有木有发现,这几年苹果的iOS系统和安卓系统越来越像了?无论是功能性、流畅度、安全等各方面体验都是如此。”
我:“确实越来越像了……”
华哥:“它们未来会越来越像。”
我:“为什么?”
华哥说:
“苹果讲究封闭,安卓注重开放,一开始差别很大,可做着做着,苹果也开放了一些功能(比如一开始苹果不支持第三方输入法、不支持NFC刷公交卡等等后来渐渐都支持了),安卓阵营的华为手机也发展出了严格管控的华为应用市场。
单纯地纠结封闭或者开放,其实没什么意义。一台手机的最终目的是什么?无非是带给用户安全、快速、舒适的体验,只要安卓和苹果都是朝着这个目标前进,即便初始差距再大,最后一定殊途同归。
苹果和安卓就像是同一条赛道上的两个选手,双方都处在运动状态。
iOS的封闭性的确在初期给苹果的安全性加分不少,但是安卓并没有坐以待毙,紧追不舍到今天,终于也能在安全领域和 iOS 一较高下,甚至略胜一筹。
未来,它们还会继续你追我赶。