聊聊CWE 4.14 与 ISA/IEC 62443中,怎样保障工业软件的安全性 ...

打印 上一主题 下一主题

主题 748|帖子 748|积分 2244

本文分享自华为云社区《CWE 4.14 与 ISA/IEC 62443》,作者:Uncle_Tom。
1. 序言

随着 5G 的应用,物联的网发展,越来越多的自动化控制系统、云服务在工业控制系统被广泛使用。为了实现生产自动化,很多企业都引入了由 PLC(可编程逻辑控制器)控制的自动化生产装备和相关的自动化生产系统。用来连接各个自动化生产装备和生产系统的生产网络一般被称为 OT(Operation Technology)网络。而这些网络互联的遍及与融合造成了 OT 环境系统安全受到威胁。再加上迩来不断升温的政治冲突、可怕主义与经济犯罪,这些都是引发面向财产关键基础设施进行攻击的动机。
2. CWE 4.14

在 28 年才能一遇的龙年 2 月 29 日,CWE 发布了新的一个版本 4.14。在这个版本发布的公告里,用了“其中包含了许多激动人心的更新(includes a number of exciting updates)”。这些更新主要包括:

  • 有 4 个与硬件微架构相关的弱点;
  • 1 个新视图:工业自动化和控制系统的 CWE-1424:ISA/IEC 62443 要求办理的弱点视图;
  • 对观察和示范示例的更新, 其中包括来自HACK@DAC安全挑战比赛的 10 个新示范示例。
2.1. 瞬态实行漏洞

新增的 4 个与硬件微架构相关的弱点:

瞬态实行攻击,也称为推测实行攻击,在过去几年中引起了人们的极大兴趣,因为它们会导致关键数据泄露。自2018年1月初次披露Spectre和Meltdown攻击以来,已经针对不同的处理器展示了许多新的瞬态实行攻击范例。
瞬态实行攻击由两个主要组成部分组成:瞬态实行本身和用于现实过滤信息的隐蔽通道。
瞬态实行是当代处理器的根本特征的结果,这些特征旨在提高性能和效率,而隐蔽通道是由于微架构组件的时间和空间共享而产生的不测信息泄漏通道。
在过去的几十年里,盘算机架构师不停在努力提高盘算系统的性能。在各种处理器微架构中引入了不同的优化来提高性能,包括流水线、无序实行和分支预测。有些优化需要对实行的指令,这导致某些指令的瞬时实行。在指令集体系结构(ISA)级别,当今的处理器运行正常并返回正确的结果。然而,在当今的大多数处理器中,复杂的底层微体系结构状态在瞬态实行过程中会被修改,纵然ISA级别没有泄漏,数据也可能从这些微体系结构中泄漏。
比方,在等待条件分支被解析的同时,分支预测用于预测该分支是否将被采用,而且处理器在分支的结果已知之前开始沿着预测的控制流路径推测实行。指令的这种推测性实行导致处理器的微体系结构状态被修改,纵然指令是沿着错误推测的控制流路径实行的。沿着错误推测的路径实行指令被称为瞬态实行(因为指令是瞬态实行的)。理想环境下,如果存在错误推测,应该会消失而没有副作用。当检测到错误推测时,应该清除体系结构和微体系结构的副作用, 但在当今的大多数处理器中都没有如许做,这导致了瞬态实行攻击。

瞬态实行与隐蔽通道相结合会导致瞬态实行攻击,从而危及系统的机密性。如图所示,在这种攻击过程中,机密(也称为敏感数据)在瞬态实行期间是可用的——这将瞬态实行攻击与传统的隐蔽通道攻击区分开来,在传统的隐蔽信道攻击中,数据被认为总是对发送方可用,而不仅仅是在瞬态实行过程中。在瞬态实行期间访问秘密数据后并将其编码到隐蔽通道中,然后攻击者可以从隐蔽通道中提取(即解码)机密数据。
CVE 信息数据库中,与英特尔产品信息的漏洞:

  • 在 2018 年 14 个 CVE ID 中,瞬态实行攻击被分配了 9 个;
  • 在 2019 年 9 个 CVE ID 中,瞬态实行攻击被分配了 4 个。
  • 这些攻击还会影响其他供应商,如 AMD 或 Arm。
2.2. CWE-1424:ISA/IEC 62443 要求办理的弱点视图

新增的 CWE-1424:ISA/IEC 62443 要求办理的弱点视图,给出了 ISA/IEC 62443 标准中涉及的弱点,也是我们需要在开发和检测中需要关注的题目。关于 ISA/IEC 62443 背面我们再做进一步的介绍。这里先对视图所涵盖的弱点做个介绍。
为了更好的分析这个视图,我们按照 CWE-1400:软件安全保障综合分类 中的分类,将所属的 CWE 进行了分类,如下图。有关缺陷的分类可以参考 《应用软件的缺陷分类》 中关于 CWE-1400:软件安全保障综合分类的介绍。

CWE-1424:ISA/IEC 62443 要求办理的弱点视图,并不是通过在 CWE 中 Relationships 节点下增加关联关系来界说这个视图的。而是使用 xml 的 xpath 来给出了这个视图下的关联 CWE 节点。这个 xpath 的表达式是界说在 CWE 节点的 Filter 节点,CWE-1424:ISA/IEC 62443 要求办理的弱点视图的节点界说如下。
  1.     <View ID="1424" Name="Weaknesses Addressed by ISA/IEC 62443 Requirements" Type="Implicit" Status="Draft">
  2.          <Objective>This view (slice) covers weaknesses that are addressed by following requirements in the ISA/IEC 62443 series of standards for industrial automation and control systems (IACS). Members of the CWE ICS/OT SIG analyzed a set of CWEs and mapped them to specific requirements covered by ISA/IEC 62443. These mappings are recorded in Taxonomy_Mapping elements.</Objective>
  3.          <Filter><Filter>/Weakness_Catalog/Weaknesses/Weakness[./Taxonomy_Mappings/Taxonomy_Mapping/@Taxonomy_Name='ISA/IEC 62443']</Filter></Filter>
  4.          <Mapping_Notes>
  5.             <Usage>Prohibited</Usage>
  6.             <Rationale>This entry is a View. Views are not weaknesses and therefore inappropriate to describe the root causes of vulnerabilities.</Rationale>
  7.             <Comments>Use this View or other Views to search and navigate for the appropriate weakness.</Comments>
  8.             <Reasons>
  9.                <Reason Type="View"/>
  10.             </Reasons>
  11.          </Mapping_Notes>
  12.      <Notes>
  13.        <Note Type="Maintenance">The Taxonomy_Mappings to ISA/IEC 62443 were added between CWE 4.9 and CWE 4.14, but some mappings are still under review and might change in future CWE versions. These draft mappings were performed by members of the "Mapping CWE to 62443" subgroup of the CWE ICS/OT Special Interest Group (SIG).</Note>
  14.      </Notes>
  15.     </View>
复制代码
从 Filter 的值
  1. <Filter>/Weakness_Catalog/Weaknesses/Weakness[./Taxonomy_Mappings/Taxonomy_Mapping/@Taxonomy_Name='ISA/IEC 62443']</Filter>
复制代码
可以看到这些关联关系是维护在 CWE 节点的 Taxonomy_Mapping 且属性Taxonomy_Name 值为 ISA/IEC 62443。以CWE-1242:包含未记录的特征或鸡位(Inclusion of Undocumented Features or Chicken Bits) 为例。

2.3. 有趣的芯片 “chicken bit”

在访问控制的分类里, CWE-1242:包含未记录的特征或鸡位(Inclusion of Undocumented Features or Chicken Bits) 的名字引起了我的好奇心。什么"chicken bit"?
查了下,原来它是芯片的一种配置位,可用于在芯片内部某些功能块流片后控制禁用或启用。有时,设计人员对某些新功能并不完全有信心,或者它们可能尚未在所有角落得到充分验证。因此,为了降低流片后的错误风险,设计中保留了一个配置位,可以切换以禁用新功能,并恢复到遗留功能,可以说是一种调停措施。
通常这些位是一次性可编程(one-time-programmable(OTP)),最终用户无法访问它们。这些位在芯片测试的生产过程中被编程,然后被锁定以防止进一步修改。

鸡,以其受惊和不确定的天性而闻名。因此这个位得到了一个有趣的名字“鸡位”(chicken bit), 工程师可以在流片后,处理不测的观察结果,也是一种自救的逃生通道。
这让我想起了 chicken 在英文的俚语中指“胆小鬼,懦夫”。以及最常用的 cheicken out,这可不是什么 “鸡走了”,“小鸡快跑”,而是指 “因胆怯而退缩”。一般都表达那种 “本来计划好的,却临阵脱逃”。除了chicken out,另有许多其他动物的 out。
duck out
指奇妙地逃走应该做的事,逃避责任,逃税,逃婚 …。
比如 莎士比亚的《罗密欧与朱丽叶》中的台词:为了逃走逼迫婚姻,朱丽叶饮下毒药(To duck out of the forced marriage, Juliet swallowed poison)。
fish out
意为“捞出,掏出”。如许理解你可能会觉得非常地形象:鱼都是藏在水里的,要出来,就得靠“捞”,从包里“掏出”某物也是类似的动作。比如:他从口袋里摸出一枚硬币(He fished out a coin from his pocket)。
3. ISA/IEC 62443 工业自动化和控制系统(IACS) 系列标准

3.1. 起源

2005年,国际自动化学会(International Society of Automation(ISA))创建了ISA99 -工业自动化和控制系统安全委员会,负责制定工业自动化和控制系统 (Industry Automation & Control System)的网络安全标准;
2007年,ISA99与国际电工构造委员会(International Electrotechnical Commission(IEC))创建联合工作组,共同制定并继续开发ISA/IEC 62443系列标准和技术报告(Technical Report(TR)),并陆续发布了IEC 62443系列标准;
2018年底,联合国欧洲经济委员会(UNECE)在其年会上确认,将把广泛使用的ISA/IEC 62443系列纳入其即将推出的网络安全共同监管框架(CRF)。CRF将作为联合国在欧洲的官方政策立场声明,为欧盟贸易市场内的网络安全实践创建一个共同的立法基础。IEC 62443 逐渐成为国际通行的工控网络安全标准,并在不同工业行业和范畴实现了应用。
3.2. 范围和目的

范围ISA/IEC 62443 系列的范围是工业自动化和控制系统( Security of Industrial Automation and Control Systems (IACS)) 的安全。
IACS 界说为:
收集工业过程运行中涉及的人员、硬件、软件和政策,这些人员、硬件、软件和政策可能影响或影响其安全、可靠和可靠利用。
目的
ISA/IEC 62443 系列标准界说了实行和维护电子安全工业自动化和控制系统(IACS)的要求和流程。这些标准设定了安全最佳实践,并提供了一种评估安全性能水平的方法。对应对网络安全挑战给出了一个整体的方法,弥合了运营和信息技术之间以及流程安全和网络安全之间的差距。
ISA/IEC 62443 系列办理了工业自动化和控制系统 (IACS) 整个生命周期的安全性题目,适用于所有自动化和控制系统,而不仅仅是工业。
ISA/IEC 62443 标准提供的指南包括:

  • 界说所有负责控制系统网络安全的利益相关者可以使用的通用术语、概念和模型;
  • 帮助资产所有者确定满足其独特业务和风险需求所需的安全级别;
  • 为产品开发人员创建一套通用的要求和网络安全生命周期方法,包括认证产品和供应商开发流程的机制;
  • 界说对保护控制系统至关重要的风险评估流程。
3.3. 标准的结构


IEC 62443系列标准的文件包括四个标准系列:通用、政策和程序、系统、组件。
通用
该类别(IEC 62443-1-x)的部分包括四份文件。描述了工业自动化和控制系统(IACS)网络安全的通用方面的内容,如术语、概念、模型、缩略语、系统符合性度量及工控装备的安全生命周期。

  • 1-1 部分 - 术语、概念和模型:介绍了整个系列使用的概念和模型。
  • 1-2 部分 - 术语表和界说:是整个系列中使用的术语和缩写的列表。
  • 1-3 部分 - 系统安全一致性指标:描述了一种开发从标准中的流程和技术要求派生的定量指标的方法。
  • 1-4 部分 - IACS 安全生命周期和用例:提供了对 IACS 安全性底层生命周期的更具体描述,以及说明各种应用程序的几个用例。
政策和程序
该类别(IEC 62443-2-x)的部分包括五份文件。规定了IACS安全管理系统的要求、安全管理系统实行指南、IACS环境中补丁更新管理以及对资产所有者和服务提供商的安全程序(SP)要求。

  • 2-1 部分 - 创建 IACS 安全性程序:描述了界说和实行有用的IACS网络安全管理系统所需的内容。
  • 2-2 部分 - IACS 安全计划评级:提供了一种根据 ISA/IEC 62443 系列标准中的要求评估利用 IACS 提供的保护级别的方法。
  • 2-3 部分 - IACS 环境中的补丁管理:提供有关 IACS 补丁管理的引导。
  • 2-4 部分 - IACS 服务提供商的安全计划要求:指定了对 IACS 服务提供商(如系统集成商或维护提供商)的要求。
  • 2-5 部分:IACS 资产所有者实行指南:提供制定有用的 IACS 网络安全计划引导。
系统
该类别(IEC 62443-3-x)的部分包括三份文件。提供了系统安全要求、安全等级和安全风险管理以及系统设计的根本引导和原则。包括将整体工业自动化和控制系统设计分配到各个区域(Zone)和管道 (Conduit) 的方法,以及安全等级(Security Level)的界说和要求。

  • 3-1 部分 - IACS 安全技术: 描述了各种安全技术在 IACS 环境中的应用。
  • 3-2 部分 - 安全风险评估系统设计: 涉及IACS的网络安全风险评估和系统设计。该标准的输出是区域和管道模型以及相关的风险评估和目标安全级别。这些都记录在网络安全要求规范中。该标准主要针对资产所有者和系统集成商。
  • 3-3 部分 - 系统安全要求和安全级别: 介绍了基于安全级别的 IACS 系统的要求。主要受众包括控制系统供应商、系统集成商和资产所有者。
组件
该类别(IEC 62443-4-x)的部分包括两份文件。

  • 4-1 部分 - 产品安全开发生命周期要求: 描述产品开发人员的安全开发生命周期的要求。主要受众包括控制系统和组件产品的供应商。
  • 4-2 部分 - IACS 组件的技术安全要求: 描述基于安全级别的 IACS 组件的要求。组件包括嵌入式装备、主机装备、网络装备和软件应用程序。
3.4. ISA/IEC 62443 对应到国家标准

中国也是 ISA/IEC 62443 标准制定的参与者。同时也将 ISA/IEC 62443 标准的大部分映射到国标(GB)中。

3.5. ISA/IEC 62443 与 CWE 的映射

从前面的介绍,可以看到 ISA/IEC 62443 的系列规范是工业自动化和控制系统中保障安全的非常重要的规范。CWE 的"62443 与 CWE 的映射"工作组,这次只发布了研究中的部分成果。
目前对应的 CWE 弱点有 39 个。
按照 CWE-1400:软件安全保障综合分类 中的分类汇总如下:

按照 ISA/IEC 62443 系列规范的对应关系如下:

4. 结论


  • CWE 4.14 增加了芯片的瞬态实行漏洞;
  • CWE 4.14 增加了CWE-1424:ISA/IEC 62443 要求办理的弱点视图;
  • CWE-1424:ISA/IEC 62443 要求办理的弱点视图的作用:进一步增强了对规范遵从的可度量性;对工业软件的安全性给出了明确的缺陷查抄引导,提拔了安全的防护能力。
5. 参考

点击关注,第一时间了解华为云新鲜技术~
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

千千梦丶琪

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表