Security+ 学习笔记36 嵌入式系统安全

一、工业控制系统(Industrial control system)

工业控制系统(Industrial control systems)或ICS系统是控制工业生产和运作的设备和系统。它们包括监控电力、天然气、水和其他能源基础设施和生产运营的系统,以及控制制造工厂、工业设施、物流运营和其他关键基础设施要素的系统。我们会发现ICS系统有各种各样的现代应用,包括作为建筑和设施自动化系统、工作流程自动化系统和流程自动化系统使用。黑客们喜欢以工业控制系统为目标,原因有很多:

  1. 首先,对ICS系统的成功攻击会产生巨大的影响。成功的ICS攻击可以使一个国家的电网瘫痪,或者损坏或摧毁一个城市的部分基础设施;
  2. 其次,工业控制系统通常不像传统的计算基础设施那样安全;
  3. 第三,它们对稳定性和持续运行的高要求意味着它们不太可能被持续修补和更新。事实上,一些ICS系统制造商建议其客户不要更新控制系统和传感器设备,这使得保护SCADA和DCS系统成为更大的挑战。

让我们来讨论三种不同类型的工业控制系统:监督控制和数据采集(Supervisory Control And Data Acquisition)或SCADA系统,分布式控制系统(Distributed Control Systems,,缩写为DCS,以及可编程逻辑控制器(Programmable Logic Controllers),更简单地称为PLC。

  1. 像如下所示的SCADA系统,在需要对其基础设施和生产系统进行远程监控的行业中非常普遍。这包括天然气管道、电力生产、配电基础设施和供水控制系统。SCADA系统通常包括被称为远程遥测装置(Remote telemetry units) 的单个远程传感器。这些传感器向中央数据收集系统提供报告,并提供某种程度的本地控制。然后中央系统使用远程单元提供的信息来控制整个电网或生产和控制系统的管道。针对SCADA系统的攻击可以针对提供给中央控制系统的反馈,也可以使本地传感器和控制单元执行错误的行动。
    Security+ 学习笔记36 嵌入式系统安全_第1张图片
  2. DCS,如图下所示,经常被用来控制水和废水处理和分配系统、发电厂、炼油厂和生产线,如世界各地制造汽车、电子产品,甚至食品的生产线。DCS系统使用传感器和反馈系统的组合,在收到反馈时控制和调整过程。与SCADA系统一样,对DCS系统的攻击可能很简单,就是提供不正确的反馈,导致系统在关键时刻停产、超产或延迟。Security+ 学习笔记36 嵌入式系统安全_第2张图片
  3. PLC,如图所示,是为处理专门的输入和输出系统而设计的特殊用途计算机。PLC通常被设计用来处理具有特殊温度、振动或其他要求的困难环境,同时仍能正常工作。PLC的设计是为了可靠地处理和响应专门的输入和输出,以确保它们支持的过程不受干扰或延误。PLC与人机界面相连,提供可以与它们的人类操作员互动的界面。通常情况下,除了内置的按钮或灯之外,PLC本身并没有显示器或其他界面。

    PLC通常在SCADA和DCS系统中使用。PLC通常使用一种专门的通信协议,称为modbus。modbus协议允许在工业应用中流行的串行接口(Serial interfaces)上进行简单的通信。

二、物联网(Internet of Things)

工业系统并不是唯一在过去十年中经历了重大变化的系统。随着我们对物联网的适应,嵌入式计算机系统现在是我们日常生活的一部分。在我们的家里或当地的消费电子商店走动,很难不看到大量的设备,现在被称为智能(Smart)XX。 所有这些智能的意思是,它们是由计算机控制和网络连接的。嵌入式设备技术开始于我们家庭中一些更常见的计算设备,如游戏机和打印机,并使它们首先连接到网络。Security+ 学习笔记36 嵌入式系统安全_第3张图片
制造商很快意识到,人们希望通过无线连接来实现多人游戏和无需电缆的打印,然后这种技术就诞生了。接着,无线智能设备遍布整个家庭,甚至随着智能汽车的出现而进入车库,将车内计算系统暴露给司机和乘客。所有这些设备也伴随着安全挑战:

  1. 首先,消费者通常很难更新这些设备的软件。虽然设备可能运行传统操作系统的精简版,但它们并不总是有显示屏或键盘,所以我们看不到我们所谓的智能设备实际上是在运行一个过时的windows 95版本;
  2. 第二,这些设备连接到我们用于个人生产力的相同无线网络。如果一个智能设备被入侵,它可以成为通往我们网络其他部分的网关;
  3. 第三,智能设备经常连接到云服务以进行指挥和控制,为外部攻击者创造了一个绕过防火墙进入我们网络的潜在途径。

除了家庭自动化和车辆,我们现在还有监测我们健身和医疗状况的可穿戴智能设备,以及将音频和视频监测与运动检测算法相结合的监控系统。我们还看到物联网包括影响医院和医疗系统的传感器和设施自动化系统、飞机和无人机、公用事业智能电表以及许多其他应用。

三、安全智能设备(Security smart device)

嵌入式设备需要特别的安全关注,无论它们是在家庭还是商业环境中出现。为了安全地使用智能设备,我们能做的最重要的一件事就是检查系统上可能存在的任何薄弱的默认值。如果设备有一个默认的管理密码,请立即改变它。黑客知道这些默认值,如果我们把设备连接到互联网上,我们的设备很可能在几分钟内被攻破。
Security+ 学习笔记36 嵌入式系统安全_第4张图片
我们还必须确保智能设备定期接受安全更新。更新驱动这些嵌入式设备的软件与更新传统计算机上的操作系统一样重要,甚至更重要。黑客经常发现嵌入式设备的漏洞,如果不定期打补丁,就会导致严重的风险,不仅是我们的智能设备,而且是我们的整个网络受到破坏。不同设备的更新过程有很大不同。有些设备有一个简单的自动更新设置,允许设备在有更新的时候下载和安装,而不需要用户干预。其他设备缺乏这种自动功能,需要用户检查网站的更新,并手动下载和应用它们。我们必须了解自己家庭和企业计算设备中所有智能设备的更新要求,并认真遵守。Security+ 学习笔记36 嵌入式系统安全_第5张图片
在非常敏感的环境中,如工业控制系统,我们应该更进一步,建立一个正式的固件版本控制系统(Formal firmware version control system),确保在我们的所有系统组件上安装适当的固件版本。对该固件的更新只能在正式的变更控制流程的支持下进行,以评估风险并管理推出的情况。

在一些特殊情况下,不能对已知的漏洞进行修补。必须运行易受攻击的系统的组织可以把Security Wrappers作为一种替代方法。在这种方法中,设备不能通过网络直接访问,而是通过一个包装系统到达,该系统监控输入和输出的安全问题,只通过来自网络系统的审查请求。我们可以把包装器看成是嵌入式设备的一个小型防火墙。

四、智能设备的安全联网(Secure networking for smart devices)

我们可以确保嵌入式系统的控制多样性和冗余的一个方法是将它们放在一个安全的网络环境中。这是为了保护智能设备不受攻击,并保护网络上的其他系统不受受损的智能设备影响。这种屡试不爽的技术被称为网络分段(Network segmentation)。

网络分段,简单地说就是把不受信任的设备放在一个属于自己的网络中,在那里它们不能访问受信任的系统。在嵌入式设备的背景下,它可能看起来像这样:Security+ 学习笔记36 嵌入式系统安全_第6张图片

我们有标准的企业有线和无线网络,其中有笔记本电脑、台式机和服务器连接到它们,然后有一个独立的网络挂在防火墙上,其中包含用于控制工业流程的嵌入式设备。我们将嵌入式系统放置在一个隔离的DMZ区域中,允许它们在必要时相互访问和访问互联网,但也允许我们严格控制这种访问,并限制这些设备对你网络上其他系统的访问。网络分段也许是你可以实施的最重要的控制,以保护嵌入式系统。

应用防火墙(Application firewalls)在保护我们的嵌入式系统方面也发挥着重要作用。特别是当这些系统被不信任的人访问时。有网络接口的嵌入式系统很容易受到许多与我们发现的更复杂系统相同的网络应用程序攻击。它们可能容易受到序列注入、缓冲区溢出和跨网站脚本攻击(Sequel injection, Buffer overflows and Cross-site scripting)。当应用防火墙放置在嵌入式系统前面时,监测入站流量,寻找恶意活动的迹象,当他们检测到这种类型的攻击流量时,可以在它到达潜在的脆弱的嵌入式设备之前阻止它。这些元素都是分层防御(Layer defense)的一部分。

五、嵌入式系统(Embedded system)

物联网正在将技术带入许多工业、机械、家庭和运输系统。我们经常把物联网设备的技术组件称为嵌入式系统,因为它是一个完整的计算机系统,嵌入到另一个更大的系统中。 例如,我们可能会发现一台办公室打印机或多功能设备实际上有一个完整的计算机系统在里面,运行一个通用的操作系统。这个系统作为一个打印服务器来处理来自其他网络设备的打印作业,作为一个网络服务器来促进打印机的管理,作为一个电子邮件服务器来发送扫描的文件到电子邮件地址。嵌入式系统在相机中也有类似的作用,它们可以执行图像处理,将相机连接到网络,并允许用户直接从相机中与社交媒体账户互动。我们还会在更大的运输系统中发现嵌入式系统。半自动驾驶汽车当然依赖于技术,但任何现代汽车也是如此,它们在引擎盖下使用计算机来帮助处理燃料混合物、GPS和许多其他功能。现代飞机基本上是一个大型飞行计算机,协助飞行员进行导航,为乘客提供娱乐,甚至在自动驾驶模式下驾驶飞机。而无人机甚至完全取消了机载人类飞行员。

有两个主要的技术涉及嵌入式系统,片上系统(Systems on a chip)实时操作系统(Real-time operating systems或RTOSs)

  1. 片上系统是将整个嵌入式系统封装在一个芯片上。它们包含了在单个设备中执行特定功能所需的所有组件,可以很容易地打包成一个更大的系统。片上系统的具体组件取决于设备的用途,但它们通常包括一个微处理器、内存、时钟、电源管理和无线网络接口。我们可以在这里看到树莓派(Raspberry Pi)的图片,它包括一个Broadcom的片上系统。Security+ 学习笔记36 嵌入式系统安全_第7张图片
    Arduinos是一种competing system on a chip technology。Field-programmable gate arrays,或称FPGA,是允许终端用户重新编程硬件的计算机芯片。FPGA相当灵活,它们在嵌入式系统中非常有用,因为它们可以根据需要进行定制和更新。IBM的eFUSE技术允许对计算机芯片进行即时的重新编程。eFUSE功能通常用于绕过芯片上有缺陷的子系统。
  2. 实时操作系统通过为处理物联网代码提供一个安全、可靠的环境,为物联网提供动力。现代桌面和服务器操作系统,如Windows和Linux,是庞大而复杂的,被设计用来执行各种各样的功能。这种复杂性有时会导致诸如进程挂起或整个操作系统崩溃的问题。在许多物联网环境中,这完全无法接受的。我们不会希望因为正在看的电影占用了太多的内存,而导致自己的自动驾驶汽车的安全系统崩溃。嵌入式系统也需要通信能力,这些设备不是使用复杂的TCP/IP网络,而是被设计成直接相互通信,使用称为控制器域网(Controller Area Network)或CAN总线的专门网络。实时操作系统的设计是为了在最高优先级的任务发生时为其提供资源,顾名思义,它们是实时工作的。这对于驱动高价值流程或影响人类安全的物联网系统至关重要。但是嵌入式系统的运行环境对其能力有特殊的限制。由于成本、空间和复杂性的限制,克服这些限制可能很困难。它们经常在电力、计算能力和网络能力有限的环境中运行。它们往往有低带宽的网络和短距离的通信。在这些有限的资源下,运行密码学可能很困难,而且可能很难给嵌入式系统打补丁。管理员应仔细评估嵌入式设备的认证做法,以确保它们符合安全最佳做法,因为许多嵌入式系统是在隐性信任的基础上运行的,假定连接到同一网络的设备是友好和可信的。

六、嵌入式设备的通信(Communicatations for embedded devices)

1.蜂窝网络
嵌入式系统经常在不寻常的环境中运行,传统的有线和WIFI网络连接不可用。这可能是在遥远的工业厂房里,甚至是在野外。我们需要专门的通信技术来协助处理这些情况。虽然wifi网络可能无法使用。使用4G或5G技术的传统蜂窝网络可能仍然可以填补这一空白。设备可以配备蜂窝调制解调器(Cellular modems),作为一种内置技术或附加技术,然后使用普遍可用的蜂窝网络进行通信。使用蜂窝通信的设备将需要一个用户身份模块或SIM卡。SIM卡通常是硬件卡,我们需要把它插入手机或其他蜂窝设备中,以验证供应商的网络。但SIM卡也可以以数字形式提供,用于不接受物理SIM卡的设备。

2.ZigBee和Z-Wave
ZigBee和Z-Wave标准是为短距离通信设计的。它们通常出现在家庭自动化系统中。而在无法使用蜂窝网络的更偏远的情况下,设备可能依赖于射频通信,使用窄带或基带频率进行更远距离的通信。

3.卫星通信
卫星通信也是远程设备的一个可行的选择。尽管在许多应用中,使用卫星可能不具有成本效益。

整理资料来源:
https://www.linkedin.com/learning/paths/become-a-comptia-security-plus-certified-security-professional-sy0-601

你可能感兴趣的:(Security+学习笔记,物联网,iot,网络安全,嵌入式系统)