黑莓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服务在你所在的地区被墙,请使用代理访问。