0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

工业控制系统的安全性可保护国家基础设施

星星科技指导员 来源:嵌入式计算设计 作者:Jim McElroy 2022-10-20 11:06 次阅读

从发电厂到工厂再到供水,工业控制系统正在从专有和封闭的网络转变为物联网的一部分。安全的开发过程可以减少这些关键基础设施中的软件漏洞。

在一个可能让大多数软件开发人员感到震惊的情况下,计算机蠕虫已经成为电影明星。在新动作惊悚片《零日》中,反派炸毁了化工厂,关闭了核电冷却系统,破坏了火车,关闭了国家电网等等。这部快速移动的动作片的明星是臭名昭着的Stuxnet蠕虫,据报道,这是由美国和以色列情报部门开发的,旨在削弱伊朗的核计划。Stuxnet攻击了控制核电站内离心机的可编程逻辑控制器PLC),但蠕虫及其变体可以针对一系列制造,运输和公用事业操作中的系统进行定制。

正在看电影的公众基本上没有意识到潜伏在我们互联基础设施中的危险——这些危险一直困扰着工程师和开发人员。通常,工厂自动化系统使用监控和数据采集(SCADA)系统运行,以实现人机界面和访问。IEC61508标准及其衍生物的实施是为了确保在广泛的行业中运行这些系统的软件的功能安全。但是,这些SCADA系统(通常基于Windows或Linux)又连接到企业管理,企业管理需要访问库存控制,营销,会计和许多其他目的。当然,这些都与外部互联网相关联,因此为来自外部的攻击提供了完美的途径。因此,虽然早期的封闭系统依靠不幸或恶意的个人来手动安装蠕虫,但今天的互联网连接工业系统提供了新的攻击面。由于这种高水平的连接性和攻击风险,如果系统不安全,则不能认为它是安全的。

IEC61508及其衍生产品没有专门针对安全性。开发人员需要解决从产品开发阶段到上市后管理的网络安全问题。为了遵守各种准则和要求,开发人员必须使用足够的工具来处理高复杂性。随着这些系统越来越受到认证要求的约束,编码的正确性必须与所需的功能一起得到证明和记录。

开发安全代码的核心是设计一个策略,该策略可以基于网络安全指南,例如美国国家标准与技术研究院(NIST)发布的指南,以及组织自己的方法,并将其构建到正在开发的系统的需求文档中。此外,该项目应采用MISRA C等编码标准,以防止可疑的方法和粗心大意的错误,这些错误可能会危及安全性,而不会立即显现出来,甚至导致功能错误。当然,下一个重要步骤是确保这种策略和编码标准实际上已经有效地执行。由于当今软件的规模和复杂性,这不再可以手动完成,必须使用一套全面的工具,可以在编译之前和之后彻底分析代码。

使用可追溯性和分析来验证安全性

虽然定义需求是必不可少的第一步,但必须有一个明确定义的方法来跟踪和验证是否满足需求。需求可追溯性和管理可提高代码质量以及应用程序的整体安全性、安全性和有效性。基于需求文档的双向可追溯性可确保每个高级需求都由一个或多个低级需求覆盖,并且每个低级需求都链接到代码、验证活动和流程中生成的工件。同样,这些链接必须追溯到从工件和代码到需求的上游,确保流程中任何阶段的任何更改都可以轻松检测、理解和适当地管理(图 1)。

需求可追溯性工具提供流程透明度,对于确定开发流程所有阶段的影响分析至关重要。

[图1|需求可追溯性工具提供了流程透明度,对于确定开发流程所有阶段的影响分析至关重要。

需求可追溯性工具允许团队处理单个活动,并将代码和验证工件链接回更高级别的目标。在双向需求可追溯性的监督下,在开发过程的早期和连续阶段应用了三个主要功能。这些是静态分析,功能测试和结构覆盖分析的动态分析以及单元/集成测试。后者在开发过程的早期应用静态和动态分析,也适用于后期集成的代码。

静态和动态安全分析合作伙伴

在确保安全性时,两个主要问题是数据和控制。必须考虑的问题包括,谁有权访问哪些数据?谁能从中读取,谁可以写信给它?与哪些实体之间的数据流是什么?以及访问控制如何影响控制?在这里,“谁”可以指开发人员和操作员以及黑客等人,也可以指应用程序中的软件组件或居住在网络架构中的某个地方。为了解决这些问题,静态和动态分析必须齐头并进。

在静态分析方面,这些工具使用未编译的源代码来检查代码的各种质量指标,例如复杂性,清晰度和可维护性。静态分析还可用于根据选定的编码规则检查代码,这些规则可以是支持的编码标准(如MISRA C或CERT C)的任意组合,以及开发人员或公司可能指定的任何自定义规则和要求。这些工具寻找可能危及安全性的软件构造,并检查内存保护以确定谁有权访问哪些内存并跟踪可能遍历内存位置的指针。理想情况下,结果应以图形屏幕显示,以便于评估结果,以确保代码干净、一致且可维护,并符合编码标准(图 2)。

此过程可以通过运行分析工具并针对应用程序的源代码进行编码标准定义来自动完成。几乎可以肯定的是,此类代码需要修改,以符合已添加到 MISRA C 中的最新安全要求(图 2)。

编码标准合规性与文件/功能名称内联显示,以显示系统的哪些方面不符合标准。编程标准调用图显示了系统编码标准合规性的高级彩色编码视图。

[图2 |编码标准合规性与文件/功能名称内联显示,以显示系统的哪些方面不符合标准。编程标准调用图显示了系统编码标准合规性的高级彩色编码视图。

另一方面,动态分析测试已编译的代码,该代码使用编译器生成的符号数据链接回源代码。动态分析,特别是代码覆盖率分析,可以提供对测试过程有效性的深刻见解。但是,开发人员通常尝试手动生成和管理自己的测试用例。从需求文档开始工作是生成测试用例的典型方法,它们可能会以不同程度的有效性刺激和监视应用程序的各个部分,但考虑到当今代码的大小和复杂性,这不足以使代码正确无误或获得可能需要的任何认证或批准。

自动生成测试用例可以大大增强测试过程,节省时间和金钱。但是,有效的测试用例生成基于代码的质量静态分析。静态分析提供的信息有助于自动测试用例生成器在动态分析期间为应用程序中的软件组件创建适当的激励。可以手动创建功能测试以扩充自动生成的测试用例,从而提供更好的代码覆盖率和更有效和更高效的测试过程。手动创建的测试通常是从需求生成的,即需求驱动的测试。这些应该包括任何功能安全测试,例如模拟尝试访问控制设备或向其提供会改变其任务的错误数据。基于创建的测试的功能测试应包括鲁棒性,例如测试不允许的输入和异常条件的结果。此外,动态分析不仅提供代码覆盖率,还提供数据流/控制分析,反过来可以使用双向需求可追溯性来检查其完整性。

除了测试是否符合标准和要求外,还有必要检查可能是“血统不明的软件”或SOUP代码的任何部分。例如,存在与“死”代码区域相关的危险,这些区域可能被黑客激活或系统中的晦涩事件用于恶意目的。尽管从头开始实现安全性是理想的,但大多数项目都包含预先存在的代码,这些代码可能具有看起来只是所需的功能。开发人员需要抵制自动引入此类代码(甚至是来自同一组织的代码),而无需对其进行与他们自己的代码完全相同的严格分析。静态和动态分析一起使用可以揭示死代码的区域,这些区域可能是危险源,也可能只是占用空间。有必要正确识别此类代码并进行处理,通常是通过消除它。当开发团队(可能在完全不同的位置)开发、测试、修改和重新测试单元时,可以存储、共享和使用从综合工具套件生成的测试记录,同时将单元集成到更大的项目中。

为了使系统可靠和安全,它们还必须是安全的。为此,它们必须被编码为不仅遵守语言规则,而且还要遵守确保安全和保障的明确定义的策略。将一套全面的测试和分析工具应用于组织的开发过程,可以大大提高安全措施的彻底性和准确性,以保护重要系统。它还使团队为共同目标而共同努力并对最终产品充满信心的努力变得顺利。由此产生的产品将有更好的机会获得客户批准,如果需要,还可以获得当局的认证 - 并且它不太可能成为下一部大片的明星。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制系统
    +关注

    关注

    41

    文章

    5964

    浏览量

    108717
  • plc
    plc
    +关注

    关注

    4975

    文章

    12257

    浏览量

    454929
  • 计算机
    +关注

    关注

    19

    文章

    6651

    浏览量

    84556
收藏 人收藏

    评论

    相关推荐

    垂直起降机场:飞行基础设施的未来是绿色的

    需求。认识到我们对未来基础设施和全球机场体验的关注,eVTOL制造商正在向我们的设计专业人员展示他们的商业模式和技术能力,以帮助确定他们的想法和设计的可行。我们对eVTOL的熟悉促使机场当局、私人
    发表于 03-25 06:59

    工业控制系统包括哪些种类?

    繁多,各具特色。 在数字化浪潮中,工业控制系统(Industrial Control Systems, ICS)作为现代工业生产的核心,其稳定性和安全性直接关系到国计民生和社会安定。
    的头像 发表于 03-05 08:43 679次阅读
    <b class='flag-5'>工业</b><b class='flag-5'>控制系统</b>包括哪些种类?

    KVM矩阵系统助力企业构建高效、安全的IT基础设施

    企业构建高效、安全IT基础设施的重要工具。 一、KVM矩阵系统的核心优势 KVM矩阵系统通过集中管理和控制多台服务器,实现了IT资源的统一调
    的头像 发表于 02-18 14:53 277次阅读

    工业控制系统及其安全性研究报告

    电子发烧友网站提供《工业控制系统及其安全性研究报告.pdf》资料免费下载
    发表于 11-16 14:29 0次下载
    <b class='flag-5'>工业</b><b class='flag-5'>控制系统</b>及其<b class='flag-5'>安全性</b>研究报告

    求助,为什么说电气隔离安全性比较高?

    为什么说电气隔离安全性比较高?
    发表于 11-02 08:22

    基础设施速度下的安全控制

    电子发烧友网站提供《云基础设施速度下的安全控制.pdf》资料免费下载
    发表于 09-08 09:47 0次下载
    云<b class='flag-5'>基础设施</b>速度下的<b class='flag-5'>安全</b><b class='flag-5'>控制</b>

    STM32微控制器的安全基础知识

    本应用笔记介绍了 STM32 微控制器的安全基础知识。微控制器中的安全性涵盖了几个方面,其中包括固件知识产权保护、设备私有数据
    发表于 09-07 07:36

    STM32MP1微处理器确保终端设备的安全性

    无论保护对象是哪些资产,安全防护之路总是充满崎岖。从终端用户到工程界和投资者,整个价值链整个价值链都没有很强的意愿去实施安全解决方案。 举个简单的例子,在机场实施安全措施需要在
    发表于 09-07 07:25

    STM32H5 MCU系列提升性能与信息安全性

    强大的Arm® Cortex®-M33 MCU运行频率高达250 MHz的Arm®Cortex®-M33内核32位MCU满足绝大多数工业应用的需求安全性扩展,满足各类需求从基本的安全
    发表于 09-06 06:29

    新唐工业计算机/服务器安全智联升级方案

    升级方案,解决三大难题,对于安全性系统整合与投资回报,提供安全智联升级解决方案。 安全性: 扩充Secure Shell (SSH) 通
    发表于 08-25 08:07

    ARMv8系统中的安全性

    TrustZone体系结构为系统设计人员提供了一种帮助保护系统的方法TrustZone安全扩展和安全外设。低级程序员应该 理解TrustZo
    发表于 08-02 18:10

    加速工业4.0:扩展工业控制系统中的安全终端

    工业控制系统(ICS)中的网络安全问题势必延缓工业4.0的采用。许多企业领导者发现ICS网络安全挑战非常难以理解,因为众多因素导致其非常复杂
    的头像 发表于 06-15 15:12 482次阅读
    加速<b class='flag-5'>工业</b>4.0:扩展<b class='flag-5'>工业</b><b class='flag-5'>控制系统</b>中的<b class='flag-5'>安全</b>终端

    IEC 62443 系列标准:如何防御基础设施网络攻击

    本文探讨了IEC 62443系列标准的基本推理和优势,这是一组旨在确保网络安全弹性的协议 保护关键基础设施和数字化工厂。这一领先的标准提供了广泛的安全层;然而,它给那些寻求认证的人带来
    的头像 发表于 06-08 11:34 1370次阅读
    IEC 62443 系列标准:如何防御<b class='flag-5'>基础设施</b>网络攻击

    自动驾驶对公路基础设施有何深刻影响

    自动驾驶对公路基础设施的影响主要包括物理基础设施、交通控制设备(TCD)和其它路边基础设施、运输管理和运营系统(TSMO)及其
    发表于 06-01 14:25 0次下载
    自动驾驶对公路<b class='flag-5'>基础设施</b>有何深刻影响

    普华基础软件入选“云网基础设施安全国家工程研究中心云计算合作伙伴”

    建设中更好发挥信息基础设施的底座作用,以科技云、智能云、安全云的智算能力构建数字中国的强大引擎。普华基础软件受邀参会,并入选中国电信“云网基础设施安全国家工程研究中心云计算合作伙伴(软
    的头像 发表于 05-11 16:48 932次阅读
    普华基础软件入选“云网<b class='flag-5'>基础设施</b><b class='flag-5'>安全国家</b>工程研究中心云计算合作伙伴”