安全电话系列:设备安全

2020-11-03 22:15:32

«查看所有帖子移动通信的需求与日俱增意味着对安全和私人电话的需求也在不断增长。企业、组织和机构都使用安全设备,这在市场上产生了巨大的需求。我们经常听到的问题是,“是什么让安全设备变得安全?”这是一个重要的问题,而且Copperhead在前沿安全Android开发方面拥有直接的市场经验。为了清楚地了解是什么使设备变得安全,我们需要细分该设备被认为是安全和私有所必需的基本组件。考虑到这里需要的相关信息的数量,我们将为安全电话的每个组件提供一个由3部分组成的系列。这些组件是设备或硬件、操作系统和用户实践。下面是我们所学到的一些东西。

这篇文章将概述安全电话解决方案中一个重要且必要的部分:硬件。

安全电话的安全性从制造商级别开始。当设备制造商设计新电话时,他们会看到要放置在设备中的硬件选项。片上系统(SoC)的选择是Android设备的架构蓝图,它直接影响到该设备的安全容量。在SoC之后加入了安全元素,例如Pixel的Titan M芯片。这些芯片将操作系统进程锁定在安全硬件容器内,与潜在的恶意进程隔离。

片上系统(System On Chip)被维基百科描述为“集成了计算机或其他电子系统的所有或大部分组件的集成电路(也称为芯片)”。电话使用的SoC(安全的或非安全的)确定该电话的硬件容量,然后包括其他组件。SoC支持的状态仅依赖于该领域的少数几家公司(高通、联发科、恩智浦),这意味着设备制造商几乎没有选择。安全手机绝对需要最新的SoC版本,因为它规定了Linux内核版本,从而决定了使用SoC的操作系统的功能。当然,手机中的SoC越老,操作系统和设备的安全能力就越差。移动电话领域的Linux手机的最新版本就有这个问题(请看这里查看未发布的Linux手机正在使用的SoC的示例)。确保整个软件和操作系统堆栈启用FOSS/OSS可能意味着涉及的组件不是最新的,甚至没有通过当前的安全规范。自由软件运动的支持者可能会接受这种安全与开放的权衡,但铜头并非如此。最新的片上系统设计有助于为设备的硬件提供安全蓝图。

Android使用Linux内核与手机硬件接口。较旧的SoC依赖较旧的Linux内核版本来支持Android和Linux。使用Linux内核是一把双刃剑;Linux内核的开发基于对包含的重要性的共识是什么:维基百科声明:“截至2020年,Linux内核5.6版大约有3300万行代码,大约14%的代码是核心(拱门、内核和mm目录)的一部分,而60%是驱动程序。”多亏了驱动程序的提升权限,他们通常是移动电话等端点上的第一个被利用的资源。控制驱动器意味着几乎完全控制设备。在Linux内核中添加更多驱动程序会带来更多利用漏洞的可能性,从而不必要地增加攻击面。使用稳定的长期支持(LTS)Linux内核意味着我们可以可靠地进行安全测试,并剥离未使用的驱动程序。相比之下,使用最新最好的Linux内核实际上可能会在部署中引入危险的新错误。Copperhead经常精心挑选更新的Linux安全特性,并将它们包含在针对CopperheadOS的稳定LTS内核中。

安全元件是电话被视为安全电话的典型组件。安全元件有时称为硬件安全模块(HSM),为在隔离的硬件环境中操作敏感进程和验证设备的引导链提供安全保护。在设备受到恶意软件危害的情况下,银行交易等流程仍可通过Android受保护的确认API在设备上免受恶意软件的影响。安全元素提供了可供验证的操作系统组件的防篡改轮廓,限制了对系统完整性的篡改或未经授权更改文件。例如,恶意软件通常被设计为持久的,在被删除甚至出厂重置后仍留在设备上。试图创建持久性的恶意软件不能造成麻烦

并不是所有的设备都是平等的,尽管Android手机制造商已经开始采取正确的措施来保护他们的用户,但Google Pixel设备仍然是最安全的Android手机。Titan M HSM使用强大而安全的LTS Linux内核、来自高通/谷歌的更新补丁、锁定Pixel Bootloader的可用性以及包含安全操作系统(如CopperheadOS)相结合,为客户提供了成功的移动通信安全解决方案。