采用Zynq SoC实现Power-Fingerprinting 网络安全性
扫描二维码
随时随地手机看文章
驱动工业物联网 (IIoT) 的“任意连接”实现了超高速增长,这不仅仅只是连接众多迥然不同的设备。这还与跨各种广泛应用收集、分析和操作的数据有关。IIoT 概念的关键点在于能够确保设备的安全性,以便能够收集和同化数据并向其他位置进行传输。
“任意连接”这一理念的超高速增长所引发的新漏洞远远快于公司可以实施的安全措施。通常最容易被忽略的漏洞之一就是资源受限制的硬件平台,例如,2010 年攻击伊朗核反应堆的震网 (Stuxnet) 病毒就引发了全球范围内的关注。
PFP Cybersecurity 是一家科技公司,其制定的独特方法能解决众多安全性问题,例如因资源受限制的硬件平台和网络安全威胁(如震网等病毒)的增长所导致的问题。iVeia 通过充分利用 赛灵思’s Zynq-7000 All Programmable SoC 来帮助 PFP Cybersecurity 面向 IIoT 应用实施新颖、高效的算法型网络安全解决方案。与 PFP 的基于 PC 的概念验证相比最终设计在体积和功耗方面均减少或降低了一个数量级。
在探讨我们两家公司如何在 Zynq SoC 上使用名为 Power Fingerprinting (PFP) 的专有技术来开发和商用化某个 IIoT 网络安全解决方案之前,我们首先来深入了解一下资源受限硬件平台不断增长的安全漏洞。
资源受限型硬件平台的漏洞
由于标准工业控制设备使用资源受限制的嵌入式平台,因而控制关键基础设施的大量系统几乎没有网络安全性规定。如今,这种系统级别漏洞正被认为是关键基础设施的严重威胁。在关键基础设施环境中,很多系统具备陈旧的处理器,使用唯一硬件,并且不支持典型网络安全措施所引入的性能降级,它们为入侵留下了后门。最近的一次是在 2014 年 11 月,调查人员发现控制美国电厂、电网、水处理工厂和石油天然气基础设施的系统感染了病毒。[1]
四年前,由于震网病毒感染了伊朗负责运行核离心机的可编程逻辑控制器 (PLC),从而导致了离心机的毁坏。[2] 平台过于僵化,就非常容易遭到入侵, PLC 就是其中的典范。PLC 很大程度上由嵌入式 MPU 组成,能自动对工业设备进行控制和监控。企业通常会建立其 PLC 平台网络,但却趋向于不为任何类型的安全监控或完整性评估提供资源。[3] 同时为了防范零日攻击(zero-day attack)或供应商未意识到的安全漏洞,他们也不会特别频繁地去更新这些平台。[4]
POWER FINGERPRINTING:一种新颖且有效的安全方法
PFP Cybersecurity 开始寻求能解决这类问题的解决方案,其不仅是能与现有安装设备高效协作运行的非侵入式解决方案,同时也不需要安装任何重要的设备或产生大量软件更新。。该公司开发的 PFP 技术可作为完整性评估的创新方法。正如人类指纹是个人的唯一标识一样,相同的理念也适用于特定系统或芯片。PFP 使用物理侧通道(例如,功耗)来获取在处理器中全面执行协议栈内部执行状态的相关信息,并且这与平台或应用无关。PFP 技术将识别被系统认为正常运行的“指纹”。如果之后获取的某个指纹不匹配,则可能表明某些方面出错。
这可通过外部监控器来实现,该监控器在物理上与目标处理器分离,并且在网络攻击破坏了目标时能以极高的准确度进行检测。PFP 同时适用于新系统和原有系统,是现有网络安全性解决方案的补充,并且不需要在目标上安装任何软件或硬件。
PFP 可支持能捕获通道侧信号的各种传感器,并依赖于计算密集型信号处理算法进行功能抽取,而且依赖机器学习进行分类。能通过各种方法来完成感应侧通道,包括 AC 或 DC 电流或者在目标周围获取电场或磁场变化的电磁 (EM) 传感器。PFP 从捕获的信号中抽取唯一有差别特征,将其与一组基线参考进行比较并查找偏差。基线参考是“指纹”,可唯一识别的正常执行目标软件,并且是通过机器学习方法来抽取的。PFP 使用存储的参考来实时检测未经授权的执行偏差。
PFP Cybersecurity 成功开发了概念验证用的监控系统,并使用如下设备对该系统进行了演示:个人计算机 (PC) 、 具备高速模数转换器 (ADC)以及能将 EM 传感器与数据采集设备(如图 1 中所示)实现接口相连的定制模拟前端。PFP 算法引擎在 PC 上执行,并以从数据采集设备收集原始 ADC 数据为切入点。系统的前端处理在设计方面类似于众多多通道数字无线电接收器,即,在 ADC处收集可用于由多个数字调谐器进行处理(通常称为数字下变频,也可简称 DDC)的宽波段。这些 DDC 可调谐到更广波段中的更窄相关波段,然后对这些波段进行过滤和抽取。此方法能产生高得多的可管理数据带宽以进行后续跟踪处理,并可极大简化系统设计的模拟部分。
功能抽取和分类算法可处理 DDC 的输出,并将其与一组基线参考进行比较,所有这些都必须进行实时操作才能确保它们察觉到任何入侵。控制算法的并行运行能够确定ADC 采样率及相关波段的处理参数。此进程可在原始 ADC 样本的大型相邻模块上执行大量操作,其中包括快速傅里叶变换 (FFT)。 此方法可基于目标平台提供连续的 24/7 全天候完整性监控。 如果检测到入侵,FPP 监视器就会通过提醒操作人员、将事件数据记录到中央监控站和/或采取积极措施来根据特定于应用的策略进行响应。
基于 PC 的概念验证系统能够产生的出色的结果,但由于多种原因,无法作为能够在商业上广泛部署可行系统。PC 系统基本包含一个监视器节点,而每一个现实世界的安装都可能需要几百个监视器节点。对算法性能的要求标明 PC 需要拥有功能强大的高端处理器。因而,其通常将需要风扇散热、相对大型的机柜以及大功率电源。
为了最大限度降低系统的抗扰性,传感器信号的模数转换应在靠近目标的一端进行。目标处理器附近适当的物理空间和电源可用性因各个安装的不同而有所差异,并且对于大部分安装而言,PC 的大小与电源要求过于大型,而无法行得通。尽管 PC 的成本可能较低,但将其余组件与 PC 进行集成所带来的成本和复杂性反而会让导致难以承受的高昂成本。更不必说, PC 会使得监视节点自身更容易受到网络的攻击。
从架构方面而言,一种选择可能是将所有原始数字信息通过标准网络传输到中央处理器或服务器。但由于 ADC 极高的采样率,支持如此大量数据所需要的网络基础设施在安装时可能会不可用,并且购买和安装不仅复杂而且成本过高。[!--empirenews.page--]
因此,分布式计算架构是最理想的选择,因为每个传感器都具备一个计算节点。此外,分布式架构还能在同一单元中将传感器模拟前端和算法处理高度整合在一起,从而降低成本和复杂性。此外,对于大部分安装来说,现有的网络基础设施足以支持目前被认为是超低的数据速率。但是,在采用分布式处理处理的情况下,监控器节点的设计就变得更具挑战性,因为其自身必须满足传感器节点和监控器算法处理的综合要求。
因此监控器节点必须体积小、功耗低、成本低。其必须能够处理和缓冲来自于高速 ADC 的数据,并且还能够满足算法的计算需求。此单元必须足够小才能紧靠目标器件放置,进而不仅能限制线缆长度,而且还可提高传感器的抗扰度。大小和潜在的安装空间限制确定该单元可在无风扇的情况下运行;因而必须设计为低功耗。
由于在需要监控的既定安装中可能有数百个目标器件,因此该单元的成本必须非常低才能保持较低的总体安装成本低廉。很多嵌入式处理器都能够满足上述大部分条件,例如部分基于流行的 ARM® 架构的嵌入式处理器。除了大部分由 ARM 器件实现的低功耗和低成本之外,ARM 产品还拥有更多优势,例如对大型社区的支持、嵌入式操作系统和开发工具的可用性以及针对大部分器件的原生千兆以太网支持。
其中几乎所有器件都欠缺处理原始 ADC 数据的能力(速率高达 8 Gbps)。它们也不具备对该数据进行任何有意义操作的数字信号处理 (DSP) 功能。
充分利用 Zynq SoC 以实现 FFP Cybersecurity
这些更严格的要求使得 Zynq SoC 理想适用于该应用。Zynq SoC 可在单个全功能器件中将双核 ARM 处理系统与高性能可编程逻辑高度整合在一起。这种组合不但可提供能满足应用的处理需求的异构计算架构,同时还能简化基于 PC 系统的代码移植工作。
Zynq SoC 的处理系统能提供上述嵌入式 ARM 处理器的所有优势,而增加的可编程逻辑也拥有若干优势。它们包含与 ADC 的无缝连接,并且还能够处理 ADC 的全数据速率。此外,Zynq SoC 在可编程逻辑结构中包含几百个 DSP 模块和几万个逻辑模块,能够利用它们对检测和训练算法实现显著加速。Zynq SoC 还可全方位满足针对低功耗、低成本和小尺寸的要求。
通过采用 28 纳米可编程逻辑结构和 ARM 处理系统,器件可实现相对较低的功耗。由于 Zynq SoC 拥有极高的集成度,因而无需采用之前本来所必需的众多支持电路和外设,这不仅能缩小总体系统设计,同时还可降低成本。此外,为了降低风险并加速上市进程,理想的情况是在设计中添加基于 Zynq SoC 的小型模块级系统 (SoM)。
iVeia 公司推出的 Atlas-I-Z7e 理想适用于嵌入式监控器设计,因为其拥有如下优势:极高的性能功耗比(归功于低功耗 Zynq 7020 器件和 LPDDR2 内存);专用的可编程逻辑内存在无需处理器干预的情况下对 ADC 数据进行缓冲;以及能在工业环境中可靠运行。Atlas 高度灵活的无缝接口可简化基础板设计。此外,SoM 开发套件还包含具备参考设计的免版权信号处理 IP 资源库,其不仅能提供监控器应用代码的主要部分,而且还能快速提升设计功能。图 2 描述了的基于 Zynq SoC 的最终监控器设计。
如何执行计算密集型系统功能
一旦选定硬件,现在的重点将转变成为爸代码从基于 PC 的设计移植到基于 Zynq SoC 的嵌入式平台。由于对 PC 的计算负载具有重要意义,因此必须将 Zynq SoC 的可编程逻辑部分必须用于加速代码并且不能仅充当无缝逻辑。一种可能的方法是将 PC 代码移植到 ARM 处理器,对代码进行概要分析以确定计算瓶颈制定计划以将软件分组为要在可编程逻辑中加速的代码(对比于 ARM 处理器上运行的代码)。但是,在侧重加速上市进程的情况下,我们的最初方法是通过将这些具有等效、随时可用的 IP 核(并且已知为计算密集型)功能转移到可编程逻辑中,从而对设计进行分组。接下来,我们重构并移植了 PC 代码,然后对其余代码进行概要分析以确定是否还需要任何其他加速。图 3 对此方案进行了说明。
毋庸置疑,DDC 是可编程逻辑实现方式的理想之选,因为 DDC 内核被纳为 SoM 开发套件的一部分 ,并且 DDC 组的合并计算要求可超过 20 gigaflop。DDC 组是入侵检测算法的一部分,其必须实时运行才能避免错失入侵事件。DDC 组的抽取输出可传递到 ARM 处理器,以便在软件中进一步处理入侵算法。虽然输出速率可达 2 Gbps,但却能被高性能 AXI 端口轻松处理,这些端口可将 Zynq SoC 的可编程逻辑连接到 ARM 内存。
通过使用应用编程接口的通用型 AXI 总线从 ARM 处理器对 DDC 内核进行配置。API 允许在 ARM 上运行的软件动态更改 DDC 参数,以便中心频率、带宽和抽取速率方面的更新可以根据控制算法命令实时进行。
由于通过转移 DDC 负载而显著降低数据速率,因而以 766 MHz 频率运行的两个 ARM 中央处理单元 (CPU) 具有足够的性能来支持后续处理进程。由于该设计在对称多处理 (SMP) 模式中采用 Linux 操作系统,因而能分离两个 ARM CPU 内核之间的处理,一个处理入侵检测,而另一个处理控制算法以及可与中央监控站的通信接口。此外,Linux 还具备稳健可靠的网络支持和安全性,可允许进行远程网络管理(这正是大部分安装所必需的),同时禁用任何在不久的将来可能会出现漏洞的不必要特性。
控制处理需要原始 ADC 样本的大型相邻模块。一个需注意事项是将原始 ADC 样本通过高性能 AXI 端口从 ADC 接口逻辑直接串流到 ARM 内存。但是,为了保留处理器系统的内存带宽以用于处理算法,我们反而选择了将 ADC 数据缓冲在可编程逻辑专用的物理内存中。这种内存具有确定性的带宽并确保相邻 ADC 样本的大量集合,而不会干扰 ARM CPU 的操作。
可将从专用可编程逻辑内存中收集的数据通过其中一个高性能 AXI 端口传输到 ARM,以保持低延迟并最大限度降低 ARM CPU 的开销。我们使用多端口内存仲裁器提供了一个收集端口和一个检索端口。这种方法可提供在收集样本的同时并发检索样本所需的仲裁,从而进一步减少延迟。
在对新分区的设计进行分析时,控制算法不会足够频繁地运行来充分地保持检测精度。性能瓶颈在很大程度上归因于 16,000 点 FFT 运算。借助赛灵思的 Vivado® Design Suite 提供的 FFT IP 核,FFT 的性能将远远足够,因为其设计为实时运行。但是,对可编程逻辑的其他资源需求将强制设计利用更大的 Zynq 7030 器件。[!--empirenews.page--]
幸运的是,来自 Project Ne10 的开源 Ne10 库提供了专为 ARM 的 NEON 架构扩展优化的 FFT 功能,这加速了通用浮点和固定点数学运算。尽管来自 Ne10 库的 FFT 功能不会像赛灵思 IP 核那样实时运行,但其可充分地加速控制算法以保持检测精度。
最终的基于 Zynq SoC 的监控设计平台可与基于 PC 的原型相媲美,有时甚至略胜一筹。而且,最终的设计比基于 PC 的设计制造成本明显降低,并且消除了 PC 设计存在的尺寸大、功耗高这两大市场壁垒。相对来说,Zynq SoC 设计在尺寸和功耗方面几乎降低了一个数量级。
PFP Cybersecurity 开发了 Power Fingerprinting 技术来解决在关键设备中检测由于工业物联网趋势而暴增的网络攻击的复杂问题。借助业经验证的技术,出现了如何设计系统以实现技术并同时满足市场需求的问题。借助 Zynq SoC,PFP 技术可在复杂且计算强度大的处理能力需求与低成本、小尺寸、低功耗的市场需求之间取得最佳平衡,从而在商业上具有可行性。
参考
1.ABC 新闻“2011 年以来特洛伊木马病毒潜入美国重要的计算机中”,2014 年 11 月
2.Kushner, D,“震网病毒的真实故事”电气与电子工程师学会会刊,2013 年 3 月第 50 卷,编号 3,第 48 到 53 页。
3.S. Das, K. Kant 和 N. Zhang,保护网络物理关键基础设施手册:基础与挑战,Morgan Kaufmann (Waltham, Mass.),2012
4.J. Reeves、A. Ramaswamy、M. Locasto、S. Bratus、S. Smith“资源受限型嵌入式控制系统的轻量级入侵检测”,选自关键基础设施保护 V,作者 J. Butts 和 S. Shenoi (Eds.),Springer(德国海德堡),2011 年,第 31 到 46 页
图 1 – 基于 PC 的监控系统中的模块包含前端模拟、数据采集和处理系统功能。
图 2 – 基于 Zynq SoC 的监控系统是通过 iVeia 的 Atlas-I-Z7e 系统级模块构建的。
图 3 – 该图表显示了 Zynq SoC 的 PS 和 PL 模块(包含数据流)的功能分区。