MQTT 和 NIST 网络安全框架版本 1.0
1.简介
这篇补充出版物的目的是向实施者和高级执行官介绍国家标准技术研究院(NIST)提高关键基础设施网络安全的框架(以下简称NIST网络安全框架)及其与MQTT安全建议的关系。NIST网络安全框架为组织提供了一种共同的语言和机制,以便:
1)描述当前的网络安全状况;
2)描述网络安全的目标状态;
3)在风险管理的背景下识别和优先考虑改进机会;
4)评估向目标状态的进展;
5)促进内部和外部利益相关者之间的沟通。
NIST网络安全框架补充,而不是替代组织现有的业务或网络安全风险管理流程和网络安全项目。相反,组织可以使用其当前的流程,并利用NIST网络安全框架来识别提高组织网络安全风险管理的机会。它还提供了一个共识描述,用于全面网络安全程序所需的内容。
这份补充文件仅专注于MQTT协议在NIST网络安全框架内的整合。请记住,完整的网络安全管理框架可以包括必须根据组织的任务、运营环境和使用的技术进行量身定制的各种主题。有关更多信息,请参阅NIST网络安全框架:http://www.nist.gov/cyberframework/
1.1 参考文献
有用的背景阅读资源包括:
MQTT版本3.1.1。
http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/csprd01/mqtt-v3.1.1-csprd01.pdf
NIST网络安全框架。
http://www.nist.gov/cyberframework/
信息技术与相关技术控制目标(COBIT)。
http://www.isaca.org/COBIT/Pages/default.aspx
前20个关键安全控制(CSC)。
http://www.counciloncybersecurity.org/attachments/article/12/CSC-MASTER-VER50-2-27-2014.pdf
ANSI/ISA-62443-2-1 (99.02.01)-2009,工业自动化和控制系统安全:建立工业自动化和控制系统安全项目。
http://webstore.ansi.org/RecordDetail.aspx?sku=ANSI%2FISA+99.02.01-2009
ANSI/ISA-62443-3-3 (99.03.03)-2013,工业自动化和控制系统安全:系统安全要求和安全级别。
http://isa99.isa.org/ISA99%20Wiki/WP-3-3.aspx
ISO/IEC 27001:2013,信息技术--安全技术--信息安全管理系统--要求。
http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=54534
NIST SP 800-53 第4版:NIST特别出版物800-53 第4版,联邦信息系统与组织的安全和隐私控制。2013年4月。
http://dx.doi.org/10.6028/NIST.SP.800-53r4
OASIS安全断言标记语言(SAML)。
http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf
联邦信息处理标准(FIPS)。
http://www.nist.gov/itl/fips.cfm
支付卡行业数据安全标准(PCI DSS)。
https://www.pcisecuritystandards.org/security_standards/
NIST特别出版物800-26(信息技术系统安全自我评估指南)。
http://www.fda.gov/ohrms/dockets/dockets/00d1541/rpt0007.pdf
ISO 15408:2009(IT安全评估标准)。
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=50341
1.2 NIST网络安全框架
NIST网络安全框架是一种基于风险的方法,用于管理网络安全风险,由三部分组成:
1 框架核心
2 框架实施层次
3 框架概况
每个框架组件加强了业务驱动因素与网络安全活动之间的联系。
1.2.1 框架核心
框架核心是一套网络安全活动、期望结果和适用参考,这些都是跨关键基础设施部门的共同点。核心以一种可以让组织从执行层面到实施和运营层面跨组织交流网络安全活动和结果的方式,呈现行业标准、指南和实践。框架核心由五个并发且持续的功能组成:识别、保护、检测、响应、恢复。当这些功能一起考虑时,它们提供了组织管理网络安全风险生命周期的高层次、战略视图。然后框架核心为每个功能确定基础关键类别和子类别,并将它们与每个子类别的示例信息性参考(如现有标准、指南和实践)匹配。
1.2.2 框架实施层次
框架实施层次(“层次”)提供了有关组织如何看待网络安全风险以及管理该风险的过程的背景。层次描述了他们的网络安全风险管理实践在多大程度上展现了框架定义的特征(例如,风险和威胁意识、可重复性和适应性)。层次反映了组织实践的范围,从部分(第1层)到适应性(第4层)。这些层次反映了从非正式、反应式响应到敏捷和风险意识方法的进展。在选择层次时,组织应考虑其当前的风险管理实践、威胁环境、法律和监管要求、业务/任务目标和组织约束。
1.2.3 框架概况
框架概况(“概况”)表示根据业务需求选择的组织从框架类别和子类别中选择的结果。概况可以被描述为标准、指南和实践与特定实施场景中的框架核心的对齐。概况可以用来识别通过比较当前概况(“现状”)与目标概况(“预期状态”)来提高网络安全姿态的机会。为了开发概况,组织可以回顾所有类别和子类别,并根据业务驱动因素和风险评估确定哪些最重要;他们可以根据需要添加类别和子类别以解决组织的风险。然后,当前概况可用于支持优先级排序和测量向目标概况的进展,同时考虑其他业务需求,包括成本效益和创新。概况可以用来进行自我评估以及在组织内部或组织之间进行沟通。
1.3 针对MQTT的NIST网络安全框架
在MQTT协议的背景下,每个NIST网络安全组件都被简化以仅反映该协议的安全考虑,并相应地重新命名:MQTT网络安全框架核心、MQTT网络安全框架实施层次和MQTT网络安全框架概况。
1.3.1 MQTT网络安全框架核心
MQTT网络安全框架核心由相同的五个功能(识别、保护、检测、响应、恢复)组成,它们可以提供组织管理MQTT相关网络安全风险的高层次、战略视图。MQTT网络安全框架核心随后为这些功能的每一个确定基础关键类别和子类别,这些在第2节中有描述。由于MQTT网络安全框架的范围较小,因此没有必要为每个类别和子类别提供参考。相反,第1.1节提供了一个非详尽的信息性参考清单。
1.3.2 MQTT网络安全框架实施层次
MQTT网络安全框架实施层次展示了MQTT网络安全框架核心功能和类别的实施,并指示了如何管理网络安全风险。组织应在类别级别确定期望的层次,确保选定的级别符合组织目标、缓解网络安全风险,并且可行以实施。外部指导将是有帮助的,例如可以从OASIS安全断言标记语言(SAML)、联邦信息处理标准(FIPS)和支付卡行业数据安全标准(PCI DSS)获得的信息。
1.3.2.1 第1层:部分
组织尚未实施正式的、对威胁有意识的MQTT风险管理过程来确定优先级网络安全活动列表。组织可能会根据不同的经验或从外部来源获得的信息,偶尔基于特定情况实施框架的某些部分。
1.3.2.2 第2层:风险通知
组织使用正式的、对威胁有意识的MQTT风险管理过程来开发框架的MQTT概况。此外,定义并实施了经风险通知、管理批准的流程和程序。员工有足够的资源执行他们的网络安全职责。
1.3.2.3 第3层:可重复
组织根据其MQTT风险管理过程的定期应用更新其概况,以应对不断变化的网络安全景观。定义了风险通知的政策、流程和程序,并按预期实施和验证。组织还将有一致的方法在风险发生变化时提供更新。
1.3.2.4 第4层:适应性
组织根据从以前和预期的网络安全活动中获得的预测指标更新其概况。这些概况的更新使组织能够适应不断发展的网络安全环境并应对新兴威胁。风险通知的政策、流程和程序是组织文化的一部分,并定期进行审查 - 包括从经验教训和从其他来源共享的信息的反馈 - 以预测和应对潜在的网络安全事件。
1.3.3 MQTT网络安全框架概况
MQTT网络安全框架概况使组织能够建立减少MQTT相关网络安全风险的路线图,这与组织和部门目标、法律和监管要求以及风险管理优先级相一致。MQTT网络安全框架概况可用于描述特定MQTT网络安全活动的当前状态和期望的目标状态,从而揭示可通过实施措施以满足MQTT网络安全风险管理目标的差距。
概况是与业务要求、风险容忍度和组织资源相一致的功能、类别和子类别的选择。目标概况应支持业务要求,并帮助在组织内部和组织之间沟通风险。通过比较当前概况和目标概况来识别差距,从而创建实施路线图,组织可以实施这些路线图以减少MQTT相关的网络安全风险。
1.3.4 建立或改进网络安全程序
三个MQTT网络安全框架组件共同使组织能够理解和塑造其网络安全程序。以下小节说明了如何做到这一点。
1.3.4.1 优先级和范围
组织识别其业务/任务目标和高级组织优先级。有了这些信息,组织就可以就网络安全实施做出战略决策,并确定支持所选业务线或流程的系统和资产的范围。
1.3.4.2 定位
一旦确定了业务线或流程的网络安全计划范围,组织就会识别相关系统和资产、监管要求及其整体风险方法。然后,组织识别这些系统和资产的威胁和漏洞。
1.3.4.3 创建当前概况
组织通过指示从框架核心中当前实现的类别和子类别结果来发展当前概况。
1.3.4.4 进行风险评估
此评估可以由组织的整体风险管理流程或之前的风险评估活动指导。组织分析运营环境,以便辨别网络安全事件的可能性以及该事件可能对组织造成的影响。重要的是,组织寻求纳入新兴风险和威胁与漏洞数据,以促进对网络安全事件可能性和影响的全面理解。
1.3.4.5 创建目标概况
组织创建一个目标概况,该概况侧重于对框架类别和子类别的评估,描述组织期望的网络安全结果。组织可能会开发自己的额外类别和子类别以考虑独特的组织风险。在创建目标概况时,组织还应考虑外部利益相关者(如行业实体、客户和业务伙伴)的影响和要求。
1.3.4.6 确定、分析和优先考虑差距
组织比较当前概况和目标概况,以确定差距。接下来,它创建一个优先级行动计划来解决这些差距,该计划借鉴使命驱动因素、成本效益分析和对实现目标概况结果的风险理解。然后,组织确定解决差距所需的资源。以这种方式使用概况,使组织能够就网络安全活动做出明智的决策,支持风险管理,并使组织能够进行成本效益高、有针对性的改进。
1.3.5 文档概览
本补充文件的其余部分包含以下几个部分:
- 第2节描述了MQTT网络安全框架核心功能。
- 附录A是MQTT网络安全框架的示例实施。
- 附录B是致谢。
- 附录C是修订历史记录。
以上就是对这个补充出版物的全面介绍,其主要聚焦于如何将MQTT协议整合入NIST网络安全框架,并详细阐述了框架的不同组成部分及其在MQTT安全管理中的应用。通过这个框架,组织能够更好地理解和管理与MQTT协议相关的网络安全风险,确保其信息技术系统的安全和可靠性。
2 MQTT网络安全框架核心功能
本节描述了五个MQTT网络安全框架核心功能,以及如何使用它们来评估使用MQTT协议的组织的网络安全水平。此处提供的与每个功能相关的组件列表是不完全的,仅作为网络安全管理框架的起点。实施者应根据需要修改类别和子类别,以便为其组织量身定制MQTT网络安全框架功能。第1.1节中描述的信息性参考也应修改,以反映组织的监管要求。
2.1 识别
此功能的目的是:
- 开发机构对需要保护的与MQTT相关的组织系统、资产、数据和能力的理解;
- 根据组织使命确定优先级;
- 建立实现风险管理目标的流程。
功能 | 类别 | 子类别 |
---|---|---|
识别 | 资产管理 | · 硬件设备清单 · 软件清单 · 网络映射 · 生命周期跟踪 |
风险管理 | · 定义风险容忍度 · 风险识别 · 风险评估 · 客户端对服务器的认证 · 替代方案分析 | |
合规性 | · 业务要求 · 立法和监管 · 合同要求 · 技术认证 | |
信息共享和通信 | · 理解数据流 · 内部通信 · 外部通信 · 加密套件版本和实施方法 | |
环境意识 | · (客户端)终端设备位置 · 端到端通信基础设施位置 · (服务器端)代理商和邻近区域位置 |
2.2 保护
此功能的目的是开发和实施通过组织的风险管理流程优先确定的适当MQTT保护措施,以确保关键基础设施服务的交付。
功能 | 类别 | 子类别 |
---|---|---|
保护 | 安全意识 | · 用户意识培训 · 正式培训 · 练习和评估 |
身份、凭证和访问管理 | · 使用PKI(如TLS、VPN) · 选择知名证书颁发机构 · 服务器对客户端的认证 · 客户端对服务器的认证 · 服务器对客户端的授权 | |
信息保护 | · 使用加密套件(如TLS、VPN) · 应用消息和控制包的完整性 · 应用消息和控制包的隐私 · 消息传输的不可否认性 · 所有涉及设备的安全随机数生成 | |
服务器端保护 | · 符合MQTT规范 · 自动断开客户端机制 · 可疑行为检测 · 动态访问控制列表(如IP地址或客户端ID) · 限速和/或阻断(如IP地址) · 静态数据加密 · 频繁会话重新协商以建立新的加密参数(如更换会话密钥或更改密码套件) | |
客户端保护 | · 防篡改终端设备 · 正确存储客户端证书(密钥管理考虑) · 双因素认证 |
2.3 检测
此功能的目的是开发和实施适当的活动,以识别MQTT相关的网络安全事件的发生。
功能 | 类别 | 子类别 |
---|---|---|
检测 | 网络监控 | · 重复连接尝试 · 连接异常终止 |
物理监控 | · |
客户端可用性验证 · 终端设备及其邻近区域的物理检查
| 入侵检测 | · 重复认证尝试 · 主题扫描(尝试发送或订阅多个主题) · 发送无法投递的消息(没有订阅主题的订阅者) · 连接但不发送数据的客户端
2.4 响应
此功能的目的是开发和实施通过组织的风险管理流程优先确定的适当活动,以应对检测到的网络安全事件。
功能 | 类别 | 子类别 |
---|---|---|
响应 | 响应计划 | · 撤销丢失和/或泄露的证书 · 撤销丢失和/或泄露的客户端或服务器认证凭据 · 断开可疑或受损的终端设备 · 阻断受损的遥测通道 · 增加防火墙策略 · 关闭受损的代理和服务器 |
2.5 恢复
此功能的目的是开发和实施通过组织的风险管理流程优先确定的适当活动,以恢复由于网络安全事件而受损的适当能力。
功能 | 类别 | 子类别 |
---|---|---|
恢复 | 恢复计划 | · 执行信息系统恢复(如重启代理、创建新的遥测通道等) · 进行重建活动 · 提供替代工作场所以恢复工作活动 · 审查防火墙策略 · 重新颁发证书和认证凭据 · 检查终端设备 · 审查密钥管理和加密部署 · 备份系统 · 更新应急计划 |
附录A. 示例实施
大型能源提供商MQTT总线架构
本节提供了一个实际例子,展示如何应用框架来帮助管理MQTT网络安全风险。一个大型能源提供商打算实施一个基于MQTT协议的开源、不依赖代理商且分布式的现场消息总线架构。保护总线架构至关重要,因为该能源提供商是关键基础设施。
背景
该组织正在围绕一个开源的、不依赖代理商的“通信节点”概念构建新架构,并正在运行一个试点项目以评估可行性以及与更广泛的消息总线的整合。其主要作用是促进部署的各种运营技术之间的互操作性(即SCADA、EMS、DMS、OMS、MDM等),并通过使用MQTT协议更高效地共享和处理数据,使这些技术更接近所需资产,从而快速、可靠、安全地执行电网上所有优先级的运营功能。
因此,使用MQTT协议不仅会提高场地内不同资产之间信息交换的简单性和完整性,而且本质上还会过滤大量未使用的数据开销,更重要的是,将消除将所有原始数据回传至中央数据中心的需求。从根本上讲,这些好处将转化为大量节省IT系统和电信网络运营成本,还可以通过启用目前没有分布式决策无法实现的控制方案来实现更大价值。
测试实验室场景
能源提供商正在运行以下基于MQTT的现场消息总线场景。系统的初始和最终状态以图片形式展示。中间的发布和订阅步骤在下面的段落中有描述。
基于MQTT的现场消息总线场景包括各种操作和配置,以确保数据的安全和高效传输。在这个场景中,能源提供商将部署多个MQTT客户端和一个或多个MQTT服务器(代理)。这些客户端可能包括各种传感器、控制器和其他设备,它们在电网上执行关键功能,如数据采集、设备监控和控制指令的传输。
系统的初始状态可能包括建立MQTT连接、配置客户端和服务器以及确保所有设备都能安全地通信。这可能涉及到配置加密连接、认证机制和访问控制列表,以确保只有授权的设备能够访问网络和交换数据。
随后的步骤可能包括客户端发布消息到特定的主题,以及其他客户端订阅这些主题以接收数据。例如,一个传感器可能会发布有关电网负载的数据,而一个控制器则订阅这个主题以接收数据并根据需要调整电网的操作。
在最终状态下,系统将能够高效地处理这些信息交换,同时保持高度的安全性。这可能包括实时监控网络活动,检测和响应任何异常或可疑行为,以及确保所有通信都是加密和受保护的。
通过这种方式,MQTT协议为能源提供商提供了一个灵活且安全的方法来管理其电网运营,同时也为实施更复杂的控制方案提供了基础。该方案不仅提高了操作的效率和可靠性,而且还有助于降低运营成本,提高整体网络安全水平。
初始状态:场景从平板电脑用户界面发布低电压 - 114V开始。
一台平板电脑用于控制供电给智能电表的电源电压。场景从平板电脑用户界面发布低电压 - 114V开始。智能电表检测到低电压,并将其电压状态变化发布到配电管理系统(DMS)。DMS订阅并更新其状态。DMS发布控制命令给电容器组控制器,以关闭电容器组,从而提高电压。电容器组控制器将其状态变化 - 已关闭 - 发布回DMS。DMS订阅电容器组控制器的状态变化;它更新其单线图,并向电源发布提高电压至120伏的命令,电源订阅并进行更改。电表发布其电压状态变化 - 120V。DMS向平板电脑用户界面发布显示已关闭电容器组的更新单线图。当平板电脑用户界面订阅并显示来自DMS的更新单线图时,该场景完成。
这个简单的测试场景揭示了发布和订阅现场消息总线、MQTT技术的丰富性、灵活性和易用性。现场消息总线的未来计划是包括必要的安全层:认证、授权、加密、入侵检测和分布式企业的质量信任行为分析。
最终状态:场景结束于平板电脑用户界面订阅提高的电压 - 120V和DMS的新单线图。
MQTT网络安全框架
NIST网络安全框架文档第3.2节提供了组织建立或改进网络安全程序的步骤指导。
遵循初始步骤后,能源提供商已经根据多个建议出版物(如NIST特别出版物800-26《信息技术系统安全自我评估指南》以获取管理IT安全的建议,以及ISO 15408《IT安全评估标准》以测试总线架构的安全性)发展了一个框架核心。能源提供商还有一份必须遵守的美国政府强加的标准清单。目前MQTT总线架构的框架核心如下所定义。
功能 | 类别 | 子类别 |
---|---|---|
识别 | 资产管理 | · 硬件设备清单 · 软件清单 · 网络映射 |
风险管理 | · 定义风险容忍度 · 风险识别 · 风险评估 · 替代方案分析 | |
信息共享和通信 | · 理解数据流 · 内部通信 · 外部通信 · 加密套件版本和实施方法 | |
环境意识 | · (客户端)终端设备位置 · 端到端通信基础设施位置 · (服务器端)代理商和邻近区域位置 | |
保护 | 信息保护 | · 用户意识培训 · 身份、凭证和访问管理 |
检测 | 监控 | · 网络 · 物理 · 入侵 |
响应 | 响应计划 | · 撤销丢失和/或泄露的证书 · 撤销丢失和/或泄露的客户端或服务器认证凭据 · 断开可疑或受损的终端设备 · 阻断受损的遥测通道 · 增加防火墙策略 · 关 |
闭受损的代理和服务器
恢复 | 恢复计划 | · 执行信息系统恢复(例如,重启代理,创建新的遥测通道等) · 进行重建活动 · 提供替代工作场所以恢复工作活动 · 审查防火墙策略 · 备份系统
利用这个框架核心,能源提供商评估了当前实施层级的状态(在本案例中是在功能层面上),对当前运营环境进行了风险评估,并创建了一个目标概况,指示了每个功能的期望实施层级状态。
当前和目标概况之间的差异被分析,以确定弥补差距所需的行动,其结果被纳入能源提供商现有的网络安全程序。
能源提供商网络安全程序
虽然大部分网络安全程序关注安全治理和风险管理,但有三个独特的部分,其中MQTT与其他合规过程紧密相连。
识别 -> 信息共享和通信
- 消息流(内部和外部通信)
- 为了提供弹性的全球网络控制,有效的方法是将组织的数据系统控制面与数据传递系统分离。这使系统管理流程能够从消息内容中分析控制数据。
- 建议组织的全球网络QoS级别对于系统控制面应比普通数据传递通道优先级更高。这种方法确保了可以在不受数据传递系统阻碍的情况下应用对内部和外部通信通道的重新配置、分区或隔离。
- 加密和版本控制
- 在MQTT中,安全性主要是TLS。然而,对于能源提供商来说,有许多小型/受限设备,如SCADA控制系统,利用现有轻量级加密和广泛使用的AES标准。因此,能源提供商将使用TLS,但更高级别的安全过程将使用PKI管理与现有加密套件互操作。
检测 -> 监控 -> 网络
- 虽然MQTT是一个骨干消息系统,但系统控制面(带QoS设置)和消息传递系统的分离,使第三方监控系统能够轻松访问信息流。
恢复 -> 恢复后
- 对持久和非持久MQTT队列的使用、放置和位置对恢复有巨大影响。对于能源电力提供商,MQTT在边缘设备上使用非持久队列,在所有服务器端代理上使用持久队列。这种方法使得中心服务能够更快恢复,因为边缘设备总是与服务器端MQTT持久队列同步。
附录B. 致谢
以下个人参与了此规范的创建,并表示感谢:
参与者:
Geoff Brown, 机器对机器智能(M2Mi)公司
Louis-P. Lamoureux, 机器对机器智能(M2Mi)公司
William Bathurst, 机器对机器智能(M2Mi)公司
Julien Niset, 机器对机器智能(M2Mi)公司
Sarah Cooper, 机器对机器智能(M2Mi)公司
Allan Stockdill-Mander, IBM
Richard Coppen, IBM
Andrew Schofield, IBM
Peter Niblett, IBM
Andrew Banks, IBM
附录C. 修订历史
修订 | 日期 | 编辑 | 所做更改 |
---|---|---|---|
2.0 | 2014年3月31日 | Geoff Brown | 合并了最新的 JIRA(200、206 和 207)。 |
回复