本文系猎云网读者、阿里YunOS首席架构师潘爱民投稿
移动操作系统的安全性这两年备受关注,人们通常关心应用层面可以感知到的安全性,比如垃圾短信、恶意扣费、骚扰电话,等等。拿一个手机系统来说,如何看待它的安全性呢?用户可感知的安全只是一个方面,甚至只是系统安全的一部分表象。
本文解释一下移动操作系统的系统安全,以及YunOS在系统安全方面所做的重要工作。最后也解释了仅仅应用层安全防护是不够的。
一、移动操作系统的安全性
严格来讲,系统安全必须是一个全方位的防护方案,从系统底层,经过中间层,再到应用层,都需要有相应的防护手段并且提供必要的安全能力。在系统底层,内核空间的安全至关重要,譬如基于Linux的移动系统,必须确保Linux内核正常工作,同时在Linux内核提供必要的安全机制,比如监视关键路径上的异常情况、安全日志等。在中间层,一方面,有大量的代码运行在系统特权账户下,对这些代码要进行各种安全性测试,以防止代码漏洞被恶意利用;另一方面,中间层需要提供重要的安全功能,比如密钥管理、证书管理、应用验证、网络入侵检测、数字版权保护,等等。如果中间层有沙箱或者虚拟机运行环境,则还要保证沙箱或虚拟机本身的安全性。在应用层,则主要实现用户可感知的安全功能,包括前面提到的垃圾短信、骚扰电话等。
这些安全防护手段或者安全功能并非孤立。通常而言,上一层的安全性往往建立在下一层的安全机制基础之上,比如中间层的代码完整性检测需要内核层的支持,应用层的安全功能往往需要中间层安全机制的支持,譬如用户隐私的保护需要中间层或者底层提供安全存储的能力。
对于移动操作系统,位置服务也是系统安全的重要方面。一方面位置服务涉及到多个软件层次,甚至硬件层,有可能被植入后门;另一方面,它直接关系到用户的个人隐私,个人隐私数据有可能通过关联的网络定位服务泄漏出去。
此外,为了保护整个基础操作系统或者内核模块,甚至需要硬件层提供必要的防护手段。否则,有可能整个操作系统被改写掉(手机可以被刷机),所有的安全手段都不再可信。
二、YunOS安全性
YunOS不是一个孤立的终端操作系统,它有内置的云服务,从而将操作系统的功能延伸到云端。YunOS从系统底层开始,层层加固,从端到云形成一个安全闭环。在操作系统内核安全加强方面,YunOS实现了入侵检测和主动防御,能有效地防止非法越狱,对国内外市场上所有针对Linux操作系统的主流ROOT工具,都能有效防御。同时YunOS在内核中对内核资源进行强制访问控制,极大地提高了安全性。
YunOS在应用框架层能实时拦截并控制应用对用户敏感数据的访问、对敏感API的调用,可以有效地保护用户的联系人、电话记录,对应用进行上网控制,防止应用偷跑流量。YunOS提供了隐私空间的功能,用户可以在隐私空间中存放图片、视频和文件。YunOS提供了安全支付、安全输入法,可以有效地保障用户的在线支付安全和资金安全。当用户进行密码输入时强制使用系统的安全输入法,此时不能截屏或录像,输入通道也不能被拦截,从而保障了用户的输入不会被窃取。此外,任何第三方应用不能访问、窃取用户的短信和联系人,从而有效地防止了基于短信的金融诈骗。
YunOS结合“端”与“云”的能力,来实现未知应用的病毒查杀或者后门检测,以及垃圾短信的识别,为用户提供一个清静的移动世界。
YunOS 为用户提供无限容量的云空间,可以将资料备份到云端,永远不会丢失。在其他YunOS手机上可以实现一键同步恢复。另外,YunOS也提供了防手机丢失的功能,用户在丢失手机后可以通过云空间进行远程定位,远程擦除数据。
三、仅应用层安全防护的局限性
目前市场上手机用户很大部分依赖于一些应用层安全软件来防护他们的手机系统,实际上,应用层安全软件不仅在防护能力上很受限制,甚至会破坏系统的正常运行。
对于应用层安全软件,其防护能力可以分为两个层次:
1.利用操作系统的标准编程接口,在应用层上提供一些基本的安全功能,比如申请访问存储空间进行垃圾文件扫描、要求访问短信以便进行垃圾短信过滤,等等。由于一个正式发布的操作系统通常会限制应用软件访问数据的能力,应用层安全软件能提供的安全功能非常有限;
2.大多数应用层安全软件都希望能突破上一点提到的功能限制,为用户提供更强、更有吸引力的安全功能,比如修改系统配置、管理应用和应用权限或者对系统进行加速等功能。它们往往有意识地对系统进行攻击,以获取特权并注入代码,从而提供这些高级功能。这种攻击行为本身对系统是一个伤害,几乎不可避免地会影响系统的性能、稳定性和一致性。
手机安全性另一方面也取决于手机厂商对于安全性的重视程度和资源投入,他们通常会关注手机稳定性和易用性,比如打电话、收发短信、浏览网页等,但安全性方面大多缺乏长期投入,比如,当系统的安全漏洞暴露之后,未必及时地发布升级包。这自然而然地造成了用户依赖第三方安全软件来弥补安全功能的不足,但实际上他们的系统可能已经被实施了攻击。
在移动终端产业链中,最有驱动力来解决安全性问题的当属操作系统厂商。然而,在国内市场上,绝大多数安卓手机并未能得到Google的支持,安卓手机的安全性还是依赖于终端厂商对安全性的重视程度,以及用户可能会安装第三方应用层安全软件。在这种情况下,其真正的安全性如上面所分析。