构建物联网 (IoT) 解决方案有很多方面。安全性可能是任何计算机系统最重要的方面,但对于物联网尤其重要。每隔一段时间就会有关于物联网解决方案遭到破坏的新闻报道;例如,连接互联网的摄像头被入侵以创建执行拒绝服务攻击的僵尸网络,或者连接互联网的汽车以危险的方式被入侵。无论特定的物联网解决方案用于什么,物联网解决方案的整体安全性都是一个极其重要的细节,从设计开始一直到实施,以及部署到生产,都要牢记这一点。
设计任何物联网 (IoT) 解决方案时要牢记的安全方面之一是系统不同部分(物理和软件)之间的信任边界。
物联网组件
在设计物联网 (IoT) 架构时,解决方案将包含多个不同的组件。这些组件中的每一个都有不同的用途,它们都提供了设计和构建物联网解决方案的构建块。这些是物联网解决方案的主要组成部分:
- 设备
- 现场网关
- 云网关
- 服务
设备
设备是连接到传感器和其他组件的单个物联网设备。这些设备提供了物联网的“物”部分。
现场网关
现场网关是一种设备或软件组件,用作云与一个或多个设备和/或其他现场网关之间的连接点。这些可用于通过在本地或本地网络和云上运行的组件之间提供单个连接点来提供额外的安全性。现场网关可以提供多种不同的功能,包括事件/消息通信聚合、消息或协议转换,或解决方案中的多种其他功能。称为边缘网关的设备也是一种现场网关。边缘网关或边缘设备通过添加在本地运行云功能的能力,更靠近其他设备,以降低实时处理循环中的延迟,从而提供更高级的功能。可以下推到边缘设备的一些云功能是机器学习、事件流处理或其他云功能。
云网关
云网关与现场网关非常相似,但是,它们不是在本地或其他设备本地运行,而是在云中运行。云网关可以通过在云端而不是本地运行来提供与现场网关类似的功能。
服务
服务组件是 IoT 系统后端的其他组件的存储桶,例如 REST API、数据库或其他一些组件。这些服务可以在云中运行,或者以本地或混合方式在本地运行;基本上在整个物联网解决方案中需要它们的地方。
物联网解决方案信任区和边界
所有物联网解决方案都是使用各种组件构建的(如上所列)。在物联网解决方案的整体安全架构中,不同的组件将被隔离到不同的信任区和边界中。这些不同的区域和边界提供基于物理和软件的隔离级别,以分离解决方案的各个组件以进行保护。以下是信任区域和边界用于保护物联网解决方案的不同组件免受以下影响的一些不同事物的部分列表:
- 身份欺骗
- 事件数据篡改
- 信息披露
- 分布式拒绝服务 (DDOS) 攻击
- 提升特权漏洞
为了提供对信任区和边界的分段保护,物联网 (IoT) 解决方案的不同方面通过安全保护相互分离,以更安全的方式将每个方面与其他方面隔离开来。下面的物联网 (IoT) 信任区和边界图是一个很好的模型,可以开始使用它来可视化不同的信任区和它们之间的边界。以下是设计任何物联网安全架构时要牢记的主要信任区:
- 本地区域
- 设备区
- 现场网关区
- 云网关专区
- 网关和服务区
- 远程用户区
物联网信任区和边界图
信任区域之间的边界要遵循的一般规则是在每个区域之间有一个边界。这将通过在每个区域与其他区域之间创建一定程度的隔离来帮助保护每个区域。当向云工作时,它还有助于为每个较高区域添加安全性,以验证从其下方较低区域到本地区域或本地组件的通信的安全性。如我们所见,该图列出了大多数区域之间的边界,除了设备区域和现场网关区域的分隔。这样做的原因是设备区中的设备将直接与现场网关通信,因此它们可以聚合事件数据和/或提供其他网关功能。此图未在此处放置信任边界,但仍然可以在此处添加更大级别的分离,例如此处的信任边界,如果 IoT 解决方案需要,或者只是想提高安全性以使事情更多比其他方式更安全。最后,如何设计 IoT 架构以及该解决方案的安全信任区域和边界实际上取决于您。
本地区域
本地区域是任何本地用户所在的区域。这可能是存在客户端计算机的本地或本地网络,甚至是靠近设备和现场网关的物理空间。保护这个区域包括用户可以连接到系统并与系统交互的物理和虚拟空间。从虚拟的角度来看,保护本地区域将包括保护最终用户连接和使用的计算机系统。这也意味着在“最小权限”模型中授予用户特定的访问权限,他们可以访问执行他们的工作/职责,但不能超过必要的权限。从物理的角度来看,保护本地区域将涉及各种必要的物理安全措施。这可能意味着只需用钥匙或生物识别技术锁定门,以便访问本地区域的物理区域。
设备区
设备区是物联网设备所在的区域。这包括设备周围的物理空间,以及设备连接到的本地网络(或本地网络)。本地网络为设备提供数字连接以与系统的其余部分进行通信,并且可能包括 Internet 连接。由于连接和访问设备的物理和虚拟范围,设备的安全架构需要物理和数字保护措施。从虚拟的角度来看,保护设备区域将包括保护它们连接到的本地网络上的设备;包括可能集成在设备中的有线和无线连接。这包括使用加密密钥进行通信,例如使用 SSL/TLS 进行安全通信,以及其他加密和验证技术。从物理的角度来看,保护设备区将包括通过将设备锁定在安全盒中来保护设备,或者保护对设备所在房间或设施的访问。请记住,每个设备可能位于不同的位置,因此每个设备可能需要自己的安全设计,该设计不同于系统中使用的其他设备。
现场网关区
现场网关区域是系统中使用的任何现场网关所在的位置。这可能意味着包含在与其他设备相同的信任边界内,或者甚至将现场网关放置在单独的专用信任边界中。由于许多不同的设备可能位于物理上不同的设施或位置,因此可能在这些不同的物理设施或位置中使用多个现场网关。因此,您的整体 IoT 安全架构中实际上可能存在多个现场网关区域,以适应连接到 IoT 设备和 IoT 解决方案的云组件并促进它们之间的通信。从虚拟的角度来看,保护现场网关区域将包括以类似于保护物联网设备有线或无线连接的方式保护现场网关设备。这将包括 SSL/TLS 加密通信,或与现场网关设备通信的其他设备和组件的一些其他安全验证。从物理的角度来看,保护现场网关区域将包括以与保护设备区域内的物联网设备类似的方式保护现场网关设备。这可能意味着将设备锁定在安全盒中,或确保对网关所在的房间或设施的访问安全。请记住,这可能需要部署不同现场网关的多个不同设施或位置的安全性。
云网关专区
Cloud Gateway 区域是消息代理或消息队列所在的位置。物联网解决方案的消息代理将促进各种物联网设备与系统的后端、服务组件之间的通信。Cloud Gateway 不是特定的数据库、存储或处理服务。云网关提供通信以从后端服务和解决方案中的设备获取数据。Cloud Gateway Zone 可以位于公共云中;例如微软 Azure 或亚马逊 AWS。但是,云网关区域也可以位于与 IoT 解决方案中的任何其他设备不同的网络和位置。在这种情况下,“云”一词用于指代提供操作措施以防止有针对性的物理访问该区域的做法。在当今的 IoT 环境中,这通常意味着 IoT 解决方案将使用驻留在 Microsoft Azure、Amazon AWS 或其他云提供商中的云组件构建,但重要的是要记住这可能意味着本地、本地环境或其他一些混合环境也是如此。保护 Cloud Gateway Zone 的虚拟连接通常是计划使用此特定区域的主要安全表面区域。特别是如果架构依赖于云提供商(如 Microsoft Azure 或 Amazon AWS)来提供基于云的 IoT 消息代理服务。需要在该区域内实施适当的通信加密和设备身份验证。每个特定的 IoT 消息代理服务都将有自己的要求和有关如何配置其安全性的文档。从物理角度来看,保护 Cloud Gateway Zone 的工作已被卸载到云提供商,例如 Microsoft Azure 或 Amazon AWS。但是,如果云组件托管在本地本地环境或其他混合环境中,则需要将保护物理数据中心或其他设备的常用物理安全措施纳入物联网安全架构。
网关和服务区
网关和服务区是所有其他后端服务所在的地方。这将包括数据库、REST API、与本地系统的混合连接以及系统的任何其他后端组件。一般来说,将有多个网关和服务区,具体取决于整个后端架构在云提供商和本地网络之间的分布方式。此外,这将主要包含服务,但可能包括额外的消息代理/网关,以构建给定物联网和业务场景所需的系统架构。网关和服务区域的安全性将根据集成到系统中的不同服务、组件和本地系统而有所不同。每个组件都可以实现自己的安全性。因此,在所谓的网关和服务区域的上下文中可能存在一个甚至多个安全边界。
远程用户区
远程用户区域是一种通用存储桶,包含解决方案的各个部分,为用户甚至第三方合作伙伴提供某种类型的远程或外部访问。这还可能包括物联网解决方案与集成的任何第三方服务之间的集成,以提供作为整体物联网架构一部分的附加功能。远程用户区域的安全性比其他区域的预定义要少。远程用户连接可能包括使用远程桌面 (RDP) 连接到 Windows VM、使用 SSL/TLS 访问某种最终用户 Web 应用程序,或使用其他安全访问方法访问第三方。实际上,远程用户区提供了用于通信和集成到可能需要集成到 IoT 解决方案中的任何其他系统的后端区域。这可能包括那些第三方 API 或服务、最终用户访问 Web 应用程序或其他一些数据联合方案。
结论
在任何软件解决方案中,威胁建模和将安全设计为特征的过程都很重要。虽然,它在物联网 (IoT) 解决方案中变得尤为重要,因为连接了更多单独的组件;每个都有自己的物理和数字攻击面来保护。因此,将 IoT 信任区和边界纳入 IoT 解决方案架构非常重要,以确保将适当的隔离和安全性纳入整个系统设计。从规划之初就将信任区和边界的安全性纳入物联网解决方案架构也非常重要,因为如果没有正确考虑和实施,安全性错误可能会对系统设计和业务运营造成灾难性后果。黑客和安全漏洞对任何软件系统都构成重大风险,但物联网带来了一些独特的挑战,使其难以保护。这就是为什么在整个设计过程中牢记安全性非常重要的原因。希望本文有助于提高人们对组织如何更好地思考如何将安全性设计为物联网解决方案功能的认识。
英文原作者:克里斯·皮奇曼