作者:Caroline Hayes,高级编辑
一刀切的政策并不适用于互连安全。ARM 营销和软件系统部门副总裁 Vincent Korstanje 解释了嵌入式系统设计的多层方法为什么是最安全的途径。
不论是在家、办公室、从某地驱车前往另一地点的途中,还是介于两地之间的某个地方,我们都期望能够连接到互联网。每个家庭的互连设备数量将持续增长,并且战略分析部门预测,接入互联网的设备在 2014 年约为 120 亿台,这一数据将在 2020 年增至三倍左右,达到 330 亿台,换言之,全球范围内每人 1.7 台设备也将增长至每人 4.3 台设备。在这一过程中,IHS Automotive 预计,全球连接至互联网的汽车数量将在 2020 年从现今的 2300 万台增长至 1.52 亿台,并且联网家庭数量将在 5 年的时间内增长至介于 5 亿至 7 亿之间。
Korstanje 如此定义互连设备“任何拥有 IP 地址且连接至互联网的事物 — 这可以是汽车、移动电话和物联网设备。”随着连接性的持续增强,多个产品和服务也将连接至联网系统,范围涵盖家庭娱乐系统和控制环境条件的传感器网络。
图 1:分层系统意味着攻击者必须尝试攻破多个安全要素。
尽管连接非常方便,但是也会使设备容易受到攻击。鉴于互连设备可从安装在墙上的传感器到服务器群或自动化工厂,范围十分广泛,因此潜在攻击目标数量也非常庞大,而攻击这些潜在目标的途径也多种多样。攻击者可以追踪数据、ID 和电力网访问权限,或者只需针对机会目标进行钓鱼。Korstanje 发现,“最近的重点一直以经济性为基础 — 事物的价值是否高到需要保护以及如何轻松地实现该保护。”但是,在完全互连的环境下,即便是看似低价值的设备(如电灯泡)也可用作为访问更关键系统和数据的桥梁。
Vincent Korstanje,市场营销和软件系统部门副总裁
在 Korstanje 看来,解决方案在于在可信硬件基础上构建的多层架构。拒绝针对该硬件基础进行未经授权的访问至关重要,但是也要假定系统采用了正确的方法进行设计,并且每层中的安全和安全性是固有的。设计工程师面临的挑战是,他们必须在开发期间找到系统中的全部漏洞,尽管攻击者只需找到一个漏洞便已足够。在多层系统中,攻击者必须经历数层,并且攻破一层不会削弱另一层(见图 1)。在 Korstanje 看来,这非常类似于某个楼宇的安保系统,某人必须先通过前台的保安人员,进入某一层的大门,然后穿过办公室才能偷到锁在办公桌里的皮夹。
Korstanje 认为,“从理论上来看,互联网上的设备意味着所有人均可以访问该设备,从而导致不同类型的攻击 — 硬件、软件和通信攻击。”在系统方法中,CPU 周围具有保护性硬件基础结构,然后还具有软件和通信层(见侧栏:ARM 增添了新的安全层),从而实现了真正意义上的安全。
Korstanje 还认为,“对于操作系统而言,虚拟机监控程序将额外提供保护层。”具备硬件支持的虚拟机监控程序会区分较大块的代码,从而使得 OS 位于“容器”中。例如,Android 可以使用该监控程序,在单个设备上区分工作数据和私人数据。这也是一种受欢迎的方法,能够应对航空和军事系统中所使用的实时操作系统。
进一步的保护层是可认证的可信执行环境 (TEE),它位于应用程序处理器中,并且通过硬件与富执行环境隔离开来。TEE 托管的可信应用程序可供软件的更高层在富执行环境 (REE) 下使用。并且,利用 ARM® TrustZone® 技术可以安全、实际地将 REE 与 TEE 隔离开来,从而保护关键功能免受软件攻击。
图 2:信任根构成了多层安全系统的基石。
Korstanje 解释到,ARM 采用 TrustZone 技术执行系统范围的方法。正如 Korstanje 所述,TrustZone 可与 ARM 处理器集成,从而为可信执行环境 (TEE) 提供硬件平台,而在该环境下,可信应用程序将在可信 OS 顶层运行。这些应用程序可以由不同的服务提供商写入。TEE 能够加载可信应用程序(例如 Netflix 等公司提供的数字版权管理 (DRM) 应用程序,或者中国银联等公司提供的付款应用程序)。TrustZone 中的可信 OS 将与主 OS 划分开来。可信应用程序执行需要隔离和完全信任的任务,如解密加密密钥或者收集身份验证和身份材料。
ARM TrustZone 将可信域的 CPU 状态与其他任务隔离开来,从而确保外设免受软件攻击,Korstanje 说到。单个的物理处理器将执行富执行环境(如运行 OS)和可信执行环境(如运行可信 OS、可信应用程序和系统监控器)中的代码。
信任根是安全系统的起点(图 3)。此代码是最可信的并且从未更改过。它连同操作系统代码及其标识的相关知识,构成了安全系统的基石。Korstanje 坚持认为,以硬件为基础的安全性无法进行更改。他继续说到,信任根将运行数字代码,以便设置设备并执行 TEE 和 REE 的可信根,从而检查所有连接是否正确,进而确定任何已知缺陷或漏洞。
图 3:基于 ARM 的安全系统将解决系统设计和复杂性难题。
Korstanje 认为,拥有行业标准“链”将使得安全系统设计更为简便;他同时相信,ARM 生态系统具备相关技术和专业知识来帮助开发人员创建安全的互连世界。