相比成为历史的 Windows Phone 和成为笑柄的 YunOS,KaiOS 是真正的全球第三大移动操作系统。
KaiOS 的前身是 Firefox OS,退居为按键功能机专属系统之后,功能手机得以在如今延续下去。
目前,能够购买到的国行 KaiOS 系统的手机仅有 Nokia 8110 4G,虽然这系统被 Nokia 宣传为 Smart Feature OS。
你也许会认为使用功能机就能够获得足够的安全性,事实并非如此。
那么本文就以 Nokia 8110 4G 为例来介绍一下它的系统设计缺陷。KaiOS 的设计缺陷在其它厂商的 KaiOS 手机——例如 Jio 也一并存在。
一、数据得不到保护?
Google 从 Android 5.0 起,要求手机首次启动必须部署强制全 userdata 分区加密,目的是为了减少数据销毁后被恢复的可能性。
KaiOS 并没有这样的措施,并且原生的 KaiOS 操作系统甚至还具备通过 adb 的 USB 调试功能——Android 设备的开发者经常跟 adb 打交道,应该知道我说的是什么。 然而 Nokia 8110 4G 下,他们故意从设置里删掉了此功能,然而这没什么卵用,你只要拨打 *#*#33284#*#* 就可以轻松激活 USB 调试。
出于某些原因,KaiOS 本身似乎并没有安全更新机制的样子,通过 adb 很容易打入手机的内部。至于 Root 权限的获取似乎显得更加简单。
通过使用一种叫做 tnroot 的二进制文件,你就可以轻易给手机获取 Root 权限,当然因为 KaiOS 没有授权管理,这个 Root 权限只限制在 adb 内,不过这已经足够了。
由于 Nokia 8110 4G 的内置存储仅有 4GB,只要插上一张 8G 或以上的存储卡,配合 busybox 的 dd 命令就可以把整个 emmc dump 出来。dump 完成之后,就可以开始分析这个 emmc dump 了。
dd if=/dev/block/mmcblk0 of=/sdcard/ta1059_dump.img
二、没有验证启动,Recovery 的签名验证形同虚设?
通过分析 KaiOS 手机的 emmc 文件结构,我们不难发现它和一般的 Android 手机没什么区别,同样也具备 Recovery 分区。
Nokia 8110 4G 刚发售的时候,黑客发现 8110 4G 的 Recovery 内部走的 OTA 签名验证竟然用的是 Google 官方 Android 6.0.1 r23 的测试签名,于是,可以通过伪造 OTA 更新包对系统加以修改。
首先这位黑客为了验证这一点,他伪造了一个更新包将开机动画改回了经典的握手动画。
Nokia 8110 4G 发售后三个月,厂商通过一个小更新封堵了这个漏洞,然而毫无卵用,前面第一部分提到的内容根本没修复,他们照样可以大摇大摆地黑进系统内核来降级 recovery。
三、第三方 ROM 可以随意上,不带解锁 Bootloader 的?
第一个适用于 KaiOS 的第三方 ROM GerdaOS 就是借助了这两个漏洞而诞生的。
通过这个第三方 ROM,就解除了 KaiOS 本身的部分限制,使得 KaiOS 能够具备一定的可玩性,比如说,你甚至可以上 Telegram,虽然体验过于酸爽。
四、总结
KaiOS 并没有充分对中国用户进行本地化,不是很适合中国用户使用。
但是,由于在安全性防护上没有做出太大的努力,搭载这个系统的手机,仍然不适合需要存储敏感数据的人使用。
和原生 Android 版本迭代带来的安全性进步相比,KaiOS 仍然要有很长的一段路要走。