建立对物联网的信任

建立对物联网的信任,第1张

  物联网 (IoT) 使安全性成为比以往任何时候都更加重要的考虑因素,对于将提供网络的眼睛、耳朵和手的设备以及监控、响应和控制这些设备的命令和控制功能的设备的设计人员来说设备。单独地,设备需要准备好在攻击可能来自其周围任何地方的环境中运行。除了成为嵌入式设备任务功能的领域专家外,系统设计人员现在还必须考虑如何在与可能受损的设备互连时提供该功能。

  知道要防止什么

  现代嵌入式系统涵盖了广泛的架构、系统规模、功能和 *** 作环境。今天开发中的大多数系统共享的一件事是它们使用网络技术在彼此之间或在它们的命令和控制网络中进行通信。设计人员需要退后一步,从对手的角度审视他们的系统。从问一些基本问题开始很有用,例如:

  我需要防范哪些类型的对手?

  在一个相互关联的世界中,潜在的对手可能包括寻找挑战或吹嘘权利的聪明的年轻“探索者”;竞争对手寻找可以在市场上利用的商业秘密或弱点;或承诺的攻击者希望破坏或控制系统,因为其自身的能力或用作临时平台以发动进一步的攻击。所有这些情况的真实情况是,复杂的软件测试设备现在比以往任何时候都更容易获得,互联网使使用它们的信息随时可用,甚至有助于创建具有一系列技能的地理分布团队,以减少时间它需要发动一次成功的攻击。

  他们有什么级别的访问权限?

  虽然许多威胁都基于网络,试图利用协议中的弱点或潜在的软件缺陷,但对系统具有物理访问权限的对手有更多机会来探测弱点。调试端口、测试点和暴露的内存都是物理访问中最喜欢的入口点。应注意保护常见入口点,例如在引导期间通过以太网或串行端口进行未经身份验证的控制台访问,或基于 USB 的引导后自动固件升级。

  成功攻击我的系统会有什么后果?

  最终成功的攻击使攻击者可以完全控制系统,允许他们检查和修改固件。直接后果可能会暴露知识产权 (IP) 或商业秘密,或暴露从其他公司获得许可的知识产权,或因违反保密规定而产生民事责任。间接后果可能包括尴尬或市场声誉受损,或对客户和合作伙伴基础失去信心。

  成功攻击对邻近系统有何影响?

  如果攻击者获得了系统的控制权,他们还能访问什么?用于移动设备的具有 Wi-Fi 连接的汽车信息娱乐系统可以为攻击车辆控制电子设备提供完美的启动平台。

  在我的前几代系统中推动设计决策的假设是否仍然有效?如果不是,会有什么影响?

  许多嵌入式系统,尤其是传感器和控制系统中过去在专有网络上运行的叶节点,正在或将被转换为广泛可用的网络技术,如以太网、Wi-Fi 和 TCP/IP。以前孤立的系统现在可以从 Internet 访问,即使是通过前台或后台网络间接访问。现在,有关 CAN 等专用协议的知识比以前更容易获得,因此即使原始技术仍然适用,它们也可能比以前更容易获得,因此也更容易受到攻击。模糊性和混淆对确定的逆向工程几乎没有保护作用。具有嵌入式机密或服务密码的测试设备可以为攻击者提供访问和控制系统的途径。

  信任始于家庭

  确保系统安全的第一步应该是建立对其固件完好无损的信任。安全引导系统使用固件上的加密签名(可追溯到固件提供商)来确定固件的真实性。虽然主要是固件,但像 EllipTIc 的 tBoot 固件这样的安全引导系统利用了可能嵌入在处理器中或在板级提供的 ARM TrustZone 等硬件功能。通过使用具有信任链的公钥签名算法可以最大限度地提高灵活性,该信任链允许代码签名权限通过撤销和重新发布签名密钥来替换,如果它受到损害。安全性所依赖的基本特征是信任公钥的根对于安全引导系统是已知的,并且是不可更改的。

  虽然系统在启动后可能处于受信任状态,但随着时间的推移保持其完好无损是下一个挑战。一种方法是定期测试可执行代码的加密哈希,以寻找代码已被恶意软件修改的迹象。不允许修改可执行代码或允许程序代码在程序加载时随机重定位的处理器功能有助于使系统更难受到攻击。

  一种正在获得动力的方法是使用保护系统,试图将程序彼此隔离。这个想法是,即使一个程序受到威胁,系统的其余部分也可能能够继续运行,或启动对问题的响应,例如将其报告给网络中的日志节点并重新启动受影响的程序或整个系统从一个干净的备份。Security-Enhanced Linux (SELinux) 使用强制访问控制作为实现最小特权原则的机制:程序只能访问完成程序功能所需的那些系统资源。一种类似的方法开始出现,使用虚拟机和轻量级管理程序将任务环境相互分离。

  信任你的邻居

  如果其目的是使用网络在更大的分布式系统中进行通信,那么拥有一个可 *** 作且独立运行的可信、完整的系统并没有多大价值。虽然某些类型的应用程序需要保密(例如处理患者数据的医疗设备),但大多数设备只需要身份验证。实际上,提供加密身份验证的工作量与提供身份验证和机密性的工作量相当。但是,仅提供身份验证可以使分析系统行为变得更加简单,甚至可以提供非关键服务扩展,因为网络数据是可见的,但中间节点无法在没有检测到的情况下更改。

  一般来说,网络本身应该被简单地视为一种通信手段,而不是信任它的理由。在某些情况下,可以离线或通过注册协议在网络元素之间建立信任。该注册协议可能就像“信任制造商 X签署的所有设备”一样简单的签名密钥”,或者可能需要实际的网络注册协议来注册单个设备。例如,将向许多端点广播或多播读数的传感器可以使用公钥签名方案对这些结果进行签名。当传感器添加到网络中时,它的公钥被添加到其特定类型的受信任设备的数据库中(当然,在验证公钥本身之后)。然后可以信任使用此密钥签名的广播消息源自该设备。如果网络地址与设备相关,则消息上只需要签名。

  在其他情况下,端点使用在线协议在彼此之间建立信任是合适的。主要与 IPsec 一起使用的 Internet 密钥交换 (IKE) 和传输层安全性 (TLS) 握手协议都能够在需要相互身份验证的模式下使用(每一方都对对方进行身份验证)。虽然这些情况最常用于点对点安全链接,但也可以使用在端点之间创建的安全通道来分发组密钥,从而允许一组节点在更大的不可信网络中创建相互信任。但是请注意,该组的任何成员的妥协都会危及该组内的所有通信。与往常一样,建议使用成熟的协议,如 TLS 和 IKE,而不是创建临时协议。

  从失败中恢复

  流行且无处不在的系统将不可避免地受到攻击,其中一种攻击可能会成功发现可利用的漏洞。帮助解决此问题的一个基本工具是能够撤销设备的凭据,以便受感染的设备无法在网络上进行通信。在某些情况下,特定设计的所有设备都可能受到损害,这需要能够识别这些设备。在真正严重的违规行为中,像代码签名节点这样非常敏感的设备可能会受到损害。一个经过深思熟虑的设备凭证设计和相应的签名密钥层次结构有助于从这些问题中恢复,因为如果可能的话,可能会撤销受损的元素并发布新的凭证作为升级的一部分。没有这个能力,网络可能容易受到 2013 年 4 月关闭 PlaystaTIon 网络的各种问题的影响,其中 7700 万个帐户遭到入侵。整个网络关闭了数周,同时准备和分发了新的凭证和替换固件。

  撤销列表的签署机构应该不同于那些被授权发布代码的机构。并且应特别注意防止代码升级回滚,以使旧的攻击不能一遍又一遍地发起。虽然过去的趋势是在嵌入式系统中对这些元素使用特别设计(如果有的话),但物联网和机器对机器 (M2M) 应用程序的大规模互连性以及使用其中一部分的潜力网络干扰他人使得使用由实施基于标准的协议的安全专家设计的经过充分验证的系统成为明智之举。

  审核编辑:郭婷

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/3000674.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-27
下一篇 2022-09-27

发表评论

登录后才能评论

评论列表(0条)

保存