黑莓 Priv 的安全架构概要

想必当你上网搜寻黑莓安全特性时已经厌倦了这张一直被传播的图(来自 知乎):

所以我打算从我收集到的一些信息来简要的概括一下黑莓(Priv)到底是个什么样的设计体系.

先简要评论一下图片中的信息:

  • CPU 和 FLASH 特殊定制:这个是对的
  • JTAG 屏蔽:据说现在主流手机都是这样的,没有调查过,而且至于他是否是第一个出来的与现在黑莓手机安全性似乎没有联系(网景第一个搞出 SSL 现在还是死了…)
  • 发送和接受信息加密:啊,什么东西发送和接受消息?
    如果是 BBM,是 3DES 加密外套一个 TLS 层(仅指 BBOS10,其他平台的 BBM 就一层 TLS).
    如果是 PIN Message,这个服务需要购买 BIS,不过 BIS 所有数据肯定会上交的,不然根本不可能在中国运营,不过开了 BIS 后使用 PIN Message 是不需要钱的,相当于你弄了个 QQ 流量包一样,QQ 流量不计入你的消费中,然后付月租. 如果没开通 BIS 就用不了 PIN Message.

  • 软件之间连环加密:WTF?当然不存在!
  • CPU 和 FLASH 引导 BOOT ROM 加密:见下文

硬件设计

黑莓依靠的是硬件信任链(hardware root of trust)设计,类似 SSL 的 Root Authority,不过这套链是黑莓的专有技术,简要来说就是分层次地对上层进行校验完整性.

首先从 CPU 开始,CPU 自带一个包含 BSIS 的签名开始启动,检测启动 ROM(Boot ROM)是否完整未被篡改,Boot 确认后通过高通签名的 gensecimage.py 对上层操作系统(也就是黑莓加固过的原生 Android 6.0.1)RSA2048 解密和 SHA256 检测文件校验和,之后已经通过校验的操作系统再通过 SHA512 和 ECC521 对上层文件系统进行完整性检测,最后文件系统会对每个 APP 进行 SHA256 检测,杜绝 APP 被劫持. 同时,还有专门的硬件来检测你的系统是否被 root.

注意,这里和我们熟悉的 Luks 并不一样,如果要做一个类比的话应该类似计算机的 UEFI 过程,由于硬件 ROM 在出厂的时候已经写死,所以可以通过最底层的硬件校验递归判断顶上各层的完整性.

增强型 Android 系统

  • 无法 root,硬件保护
  • 每月都会有安全更新推送
  • 默认全盘加密,不可解除
  • 随机化内存地址分配(Address Space Layout Randomization):这个好像是 Android 特性,减少了内存溢出攻击的可能性.
  • 输错 10 次密码自动进行 Secure Wipe,应该是使用了美国国防部 DoD 5220.22-M 方式进行擦除. 这个是黑莓手机的一贯作风:如果手机丢了,大不了手机就送给别人了,但是数据绝对不能泄漏出去.

题外话:我的 Passport 被同学故意输错 10 次密码后在 Security Wipe 的时候突然卡住,重启就 bberror bb10-0021 了,好在最后通过 Blackberry Link 修好,顺便还更新了一下手机上一直没有推送更新的 BBOS 系统(而且还必须挂 VPN,不然下载不了).

关于是否可以 root,可以看 Can the Priv be rooted
部分网友回答及翻译摘录:

With Android M or L, the PRIV is vulnerable to be rooted.Witness the recent Quadrooter vulnerabilities and the scrambling to patch them. However, I surmise that a rooted OS may not load next time you reboot. You may also get warnings from DTEK of your OS being compromised.

(最近看到了最近高通处理器漏洞. Priv 使用了安卓的系统,所以也许可以被 root. 但是我推测 root 过后的系统在重启后就没法被加载了,而且你可能也会看到 DTEK 警告你的系统已被攻陷)

Other Android phones may be vulnerable but the PRIV is not just another Android phone. There are features in the hardware and firmware of PRIV that prevent rooting.

(其他的安卓机器可能会被 root,但是 Priv 不仅仅是一个普通的安卓机器,它有专门的硬件来防范被 root)

XDA had a bounty offered to anyone that could root one and the price got up to $900 and it looks everyone gave up.

(XDA 给了 $900 的悬赏给可以 root 这个设备的人,但是似乎没有人成功过.)

软件设计(APP 沙盒)

对上层用户表现来看与普通手机无异,依靠 Android 自带的权限管理机制来控制各个 APP 的权限,但是在底层每一个 APP 都会有自己的运行空间和依赖库,类似 Docker,保证了访问权限的隔离.

Guest Mode

当别人发现你的手机很有意思想借去玩的时候,可以打开 Guest Mode,此时手机会运行在一个临时的 Session 中(只会显示系统自带应用),并在切换回你自己用户的时候会删除所有临时数据. 不用担心你的个人隐私应用数据等被偷窥.

通讯

一般我们讨论黑莓的通讯大多为他们自己开发的 BBM,这个软件的设计特性我打算以后专门用一篇文章来介绍.

此外还有一些企业级别的应用,比如:WatchDox,Enterprise Identity,VPN Authentication,SecuSUITE,BBM Protected 对于大众而言可能接触的不多,这里就不做介绍了.

总结

如果要用一段话来总结,那么我的版本会是:
相比国产手机而言,硬件和软件不存在政府级别的相关监控后门. 以硬件为根的多层信任安全链的设计极大地增加了各类以非法获取手机内信息或者攻破操作系统进行后门植入为目的的(冷 / 热)攻击的难度,BBM 聊天数据除了 RIM 公司以外无法被第三方解密,是否会上交得看 RIM 节操,目前还尚未发生过上交 BBM 数据的先例,目前相对可靠.

参考资料

  1. BlackBerry PRIV Security Brochure
  2. How and Why the PRIV Protects Against Rooting

我的博客使用了Disqus评论框,如果你看不到评论框,那么多半Disqus服务在你所在的地区被墙,请使用代理访问。