工控网首页
>

应用设计

>

【多芬诺白皮书系列】7 步提高 ICS 和 SCADA 安全

【多芬诺白皮书系列】7 步提高 ICS 和 SCADA 安全

Tofino Security|exida Consulting LLC|青岛多芬诺

白皮书

【7 步提 ICS SCADA 安全】

作者

Eric Byres, P. Eng., ISA Fellow CTO and VP Engineering Tofino Security,

eric.byres@tofinosecurity.com

www.tofinosecurity.com

John Cusimano, CISSP, CFSE Director of Security

Exida Consulting LLC

jcusimano@exida.com 

www.exida.com

  整理

  青岛多芬诺信息安全技术有限公司

TEL:0532-88916760 

service@tofinosecurity.com.cn 

www.tofinosecurity.com.cn
概述

       过去的两年时间为工业自动化行业敲响了警钟。工业自动化已经成了 StuxnetNignt Dragon Duqu 等复杂网络攻击的目标工业控制产品出现了数量前所未有的安全漏洞对于制造和关键基础设施行业的专业人员来说,网络安全迅速成了最严重的问题。

       如果你是过程控制工程师,公司自动化部门的 IT 专业人员,或是负责安全或保密的业务经理你可能很想知道如何实施更稳健的网络安全措施本白皮书将提供一些入门所需的基本信息掌握这些信息并不能使你成为一名安全专家但可以引导你在正确的道路上前进,比起自己学习来,能花费更少的时间。

       Tofino(多诺)公司联合 exida 公司从多个工业标准和最佳实践文档中收集总结了一 些资料,并结合评估多个工业控制系统后得到的经验,给出了以下 7 个易于遵循的步骤。

       第一步——评估现有系统 

       第二步——记录政策和规程 

       第三步——对员工和承包商进行培训 

       第四步——对控制系统网络进行分区 

       第五步——控制对系统的访问 

       第六步——加固组件 

       第七步——监控并维护系统安全

       本文接下来将会列出每一步,并解释每一步的重要性以及执行时的最佳实践。

第一步——评估现有系统

       直到清楚了自己要从哪出发,到哪去以及怎样去,你才会开始自己的旅行。规划保护控制系统的过程和上述例子没有什么不同首先从了解控制系统的安全(或不安全性给企业带来的风险开始也就是所谓的风险评估风险评估用于量化危害到企业的各种风险接下来就可以将这些风险划分等级这样的话你就能知道如何重点合理地安排你的安全资金和工作方向。

       只有完成这两项任务之后,才能开始计划怎样实施相应的对策把风险降到允许范围之内我们经常看到一些跳过风险评估这一步的做法结果导致公司将资金投入到解决次要风险的方案中一些更严重的主要风险却未被解决作为企业中负责人的专业人员你应该提倡企业退后一步首先进行风险评估。

       我们建议首先对企业和工厂的每个主要控制系统都进行高水平的风险评估风险评估似乎是一项令人头疼的工作然而如果你采取一个简单的轻量级方法风险评估其实是很容易进行的这样一个练习的目的是识别网络事件的风险按照相对危险度排序形成控制系统列表。

 

图 1:高级别 ICS 风险评估示例

       如果你负责的设施不止一个,我们也建议你选择一个“典型”的生产设施,对控制系统进行第三方安全评估。该评估的目的在于识别当前控制系统在设计、架构、策略以及规程方面的缺陷。同时,该评估也应给出处理这些缺陷的建议。

       评估结果有助于管理层很好地掌握当前的情况和前进的方向。最重要的是,评估结果也为合理安排在控制系统安全方面的投资提供了一个框架。

        虽然可以使用内部资源执行这样的评估,但是我们强烈建议至少第一次评估是由专业的在控制系统安全方面经验丰富的第三方执行。第三方评估能够给出公正的审核和基于他们经验的建议。

图 2:控制系统安全缺陷评估的三个阶段

        详细的脆弱性评估和渗透测试是安全生命周期中很重要的部分,但只有在企业首先执行风险评估和缺陷分析后,脆弱性评估和渗透测试才有意义。这些早期工作的结果有助于识别那些需要详细分析和测试的具有高风险的系统以及子系统。

第二步——政策和规程

       在清楚了企业控制系统面临的安全风险后,就可以开始记录政策和规程,这样的话,员工、供应商和承包商就能了解你公司的工业控制系统(ICS)安全状况。很多公司有现成的 IT 安全策略和标准。这些文档能为工业控制系统文档提供很好的基础。然而,IT 安全策略对工厂来说通常不合适或是说不是最好的。

        考虑到这一点,我们强烈建议组织机构要推出针对 ICS 的文档来描述公司关于控制系统安全的策略,标准和规程。根据我们的经验,分开的 ICS 安全文档对那些负责 ICS 安全的人员很有作用。这能够帮助他们清楚的理解他们的责任以及他们和那些负责一般办公环境的人员的不同。

        同时你应该熟悉所处行业的安全法规和标准。这些能为制定公司的策略,标准和规程提供坚实的基础。ANSI/ISA-99 系列标准就是一个好的开端,这些标准是处理工业自动化和控制系统环境网络安全问题的。这些标准描述了和网络安全相关的基本概念和模型,以及工业自动化和控制系统环境中使用的网络安全管理系统包含的元素。同时也提供了关于如何符合每个元素中所描述要求的指导。

        ANSI/ISA-99 标准为工业控制安全中的ISO/IEC 标准(IEC-62443)提供了基础文档。在未来几年中,这些标准将会变成全世界访问内工业控制安全的核心标准。

 

图 3:IEC 62443 系列标准的结构

        取决于企业所属的行业,你应该熟悉一些行业指南,这些指南可以从美国石油协会 API)、美国化学理事会(ACC)和北美电力可靠性委员会(NERC)这样的组织机构获得。你还应该熟悉相关的适用于企业所属行业的一些规章要求,例如来自于美国国土安全部的化学品设施反恐标准(CFATS)。

       虽然每个组织机构起草的策略文件都不相同,但都应包含一些基本原则和核心内容,包含清晰的范围定义和制定的策略涉及到的系统类型。文件的阅读人员应清楚以下几点:

     1. 该策略如何适用于他们在组织机构中的特殊角色

     2. 为更好地遵守策略,每个人各自的职责以及不遵守策略所引起的后果

        在 ICS 安全策略中需要处理的具体事项包括:

        远程访问

     便携式媒介

     补丁管理

     防病毒管理

     变更管理

     备份和恢复

     事件响应

第三步——对员工和承包商进行培训

        企业制定并记录 ICS 安全策略,标准和规程后,确保员工知道这些资料的存在以及意识到资料的重要性是非常关键的,可以分为以下两部分来进行。

        首先是进行宣传计划。宣传计划是为了确保企业的全体员工都知道公司制定的策略、标准和最佳实践。为了确保宣传效果,宣传计划应由高层管理人员传达给所有相应的员工。接下来就是定期通知来不断地提醒员工。

        其次就是培训计划,主要是为员工提供和工作相关的信息,包括如何应用安全措施以及他们怀疑系统存在安全漏洞时,应该如何处理。该培训计划不能“一刀切”。不同的员工有不同的职责,培训计划中也应体现这一点。我们强烈建议针对控制系统安全制定基于角色的培训计划。

       制定基于角色的培训计划应该首先要确定企业中的重要工作角色。接下来,为每个角色确定相应的培训计划。例如,你能确定企业中的以下主要角色;访客,承包商,操作员,维护人员,工程师,管理人员,主管等。
       访客培训主要包括访客在现场允许进行和禁止进行的活动,而工程师培训主要是针对安 全配置以及关键网络设施的使用。管理人员培训集中在如何快速响应员工提出的潜在安全漏 洞报告。为了帮助整理上述内容,我们建议制定培训表格,其中纵轴为培训主题,横轴为人员角色。

 

图 4:培训表格示例

       制定好表格后,就可以制定培训内容了。采用模块化方法来制定课程内容是一个不错的选择;可以很轻松地为各个特定的角色定制相应的材料内容。很多组织机构使用基于计算机的培训,效率很高,特别是那些高端培训。不管采用何种培训方法,都应记录参加培训的人员名单以及相应的知识评估,这一点对于确保培训效果是很重要的,

第四步——对控制系统网络进行分区 
       经证实,能用来提高工业自动化系统安全的最重要的具有战术性的一步是进行网络分区。网络分区的概念是将系统划分成不同的安全区域,实施纵深防御来隔离系统中的重要部分。
       类似与物理安全控制,网络可以被分割成很多网络安全区。最关键的设施应该放在最高级别的安全区域中。好比在机场中,一个人想要访问关键设施可能需要通过好几道门或屏障。
       ANSI/ISA-99 引入“区域”和“管道”的概念,作为分割并隔离控制系统中各种子系统的一种途径。区域被定义为在危险程度和后果等方面共享相同安全需求的逻辑或物理资产的集合,区域中的设备具有一定的安全等级水平。如果等级水平不等于或高于所要求的水平,那么必须采用额外的措施,例如应用额外的技术或策略。  

图 5:安全区域定义,来自于 ANSI/ISA-99

       区域间的通信必须由定义完善的管道来管理。管道只要负责控制对区域的访问,抵制拒绝服务攻击和恶意软件的转移,屏蔽其他网络系统以及保护网络通讯的完整性和保密性。
       通常,对管道的控制是为了缓解区域间安全级别和安全要求的不同。和采取措施使分区中所有设备或计算机都符合安全要求相比,致力于针对通道的减缓措施的性价比更高。

 

图 6:管道定义,来自于 ANSI/ISA-99

       区域和管道的设计首先要分析设备,识别出具有相同功能和相同安全要求的设备组;这些设备组就是需要被保护的设备“区域”。例如,某个设备第一次可能会被划分到操作区,像材料存储等。然后,在这些区域中它可能被进一步划分成功能层,像制造执行系统(MES),监视系统(也就是操作人员 HMI),基本控制系统(PLC)和安全系统。来自于其他标准(如 ANSI/ISA-95.00.01-2000)的模型通常被用作此类划分的基础。此外,供应商设计文档对于区域划分也有很大的帮助。

        接下来就是发现网络中数据通过这些区域的路径;这些路径就是网络“管道”。每个管道的定义都应该根据管道连接的区域、使用的技术、管道中传输的协议以及管道需要提供的安全功能来制定。

        一般来说,决定区域间的信息传输要求是一件开门见山的事。像通信流量分析器甚至最简单的协议分析器这样的工具就能分析出哪些系统在交换数据以及他们所使用的服务。
        不局限于网络,确定是否存在隐藏的通讯也是明智的。例如,是否曾用 U 盘在实验室和基础控制系统之间拷贝过文件?是否有人通过拨号调制解调器远程连接到RTU?这些信息很容易被忽视,如果管理不当的话就能导致严重的安全问题。

      一旦定义了管道和管道的安全需求后,最后一步就是实施适当的安全技术。防火墙和虚拟专用网(VPN)是该阶段常用的技术。可以将工业防火墙安装在这些管道中,并配置防火墙只允许工厂运行所需的最少通讯通过,同时阻止其他非必须通讯。防火墙应该应用预警机制,在网络中发现异常行为(即被阻止通讯)时,可以向操作人员或安全专业人员报告。
        整个分区和管道方法结合使用“纵深防御”策略——分散于整个控制网络的多层防护。该策略已经在军事财政和 IT 通信中被证明是以最低的总投入来获取最有效的安全性的策略。

 图 7:炼油厂分区(虚线)和管道(橙色)的高等级网络视图 

        很多集成控制系统平台如 DCS 系统或 PLC 系统的制造商已经为他们系统最佳网络分割定义了他们推荐的参考框架。这些对于分析工厂中那些基于这些制造商系统的系统是有帮助的。然而,要记住每个应用和系统都是独特的,那些参考框架仅仅是一些通用指南。
第五步——对系统访问

       一旦将系统分成不同的安全区,下一步就是控制对这些区域中的设备的访问。既提供物理访问控制又提供逻辑访问控制是非常重要的。
      物理访问控制很简单也很容易理解。典型的物理访问控制是栅栏,上锁的门和上锁的机柜。限制对关键 ICS 设备物理访问的概念就是只有那些出于工作需求的人员才有访问关键 ICS 设备的权限。例如,典型的炼油厂的控制系统就会有多层物理访问限制——先是在炼油厂周边的栅栏,然后是控制系统所处建筑上锁的门,接着还有控制室和设备室额外上锁的门,最后就是对实际控制系统设备加上上锁的围墙。

       理想状态下,应对关键控制系统资源的逻辑访问采用同样的概念。不幸的是,用户通常仅仅通过一层简单的身份认证就能远程访问关键控制资源。

       像物理访问控制一样,逻辑访问控制也是从识别谁以什么权限访问何种资源以及如何执行开始的。需要识别并证实用户和其声称的身份一致。一旦被证实,就能授权用户执行特定的功能。通常来说这是由用户角色所决定的。

       最小权限的概念同样很重要,意思是只授权用户执行那些因工作需求而必要的功能。另一个重要概念就是问责性,包括记录用户的行为,这样他们就能对他们的行为负责。

       幸运的是,有很多工具可用来辅助控制系统管理员管理逻辑访问控制,例如活动目录。 然而,我们通常看到该技术被误用。要正确应用该技术就应该好好的做计划;识别用户、角 色,并分配用户角色是关键的第一步,而这一步常常被跳过或是被匆忙的进行。

第六步——加固系统组件

       加固系统组件意味着锁定系统中各种组件的功能来防止未授权的访问或更改,移除不必要的功能或特性,并对任何已知漏洞打上补丁。这对于广泛使用商业现成技术的现代控制系统尤为重要。在这样的系统中,禁用未使用的功能并确保配置选项被设置成最安全的设置是很重要的。

       例如,有很多做法可以用来加固 Windows 服务器或工作站。默认安装中通常包含很多不必要的应用程序,如游戏或音乐播放器。在控制系统中,这些都应从计算机中移除。禁用或限制不必要的通信接口和在这些接口上可用的服务也很重要的。例如,很多 PLC 都允许 web 服务在其上运行——如果对于 PLC 来说 web 访问不是系统操作的核心部分,那么就应该关闭这一功能。

       计算机和控制器部署后,维护其安全性需要额外的举措,包括维护反病毒签名以及打安全补丁。还要记住打补丁对于应用程序和操作系统来说都是必须的——现在一种常见的攻击向量就是利用运行在 ICS 工作站上的未打补丁 Acrobat Reader 软件。

       正确使用漏洞扫描工具(例如 Nessus),以及专门的审计文件(例如 Bandolier)对于识别是否存在已知漏洞是很有帮助的。它们同样能够识别服务器和工作站是否被安全配置。然而,正如我们早期提到的,生产控制系统的在线测试是非常危险的。我们推荐在 FAT,SAT 或是停车时,如维护检修期间使用这些工具。

图8:Bandolier和Nessus策略遵循过程

       服务器和工作站并非控制系统中需要加固的所有组件。网络设备和嵌入式控制产品同样需要安全配置,限制未使用的通信接口,以及软件维护。 

       我们推荐和 ICS 组件生产商合作来获取他们的加固建议。很多供应商已经从安全的观点出发提出了有用的指南,而且还不会对系统造成影响。该信息应该记录在安全手册中,作为制造商安全保证的一部分。

第七步——监控并维护系统安全

       作为一名工业控制系统的所有者或操作者,你必须始终保持警惕性,监控和维护系统整个生命周期里的安全。这包括很多行为,例如更新病毒库签名,以及在 Windows 服务器上安装安全补丁。同时还包括监控系统的异常活动。

       可以采取形式有很多种,例如审计系统日志中的未授权活动或异常活动。同样也包括可以检测恶意软件或异常网络活动的入侵检测系统(IDS)技术。

       IDS 技术以阻止通讯(即充当入侵防御系统的角色)的方式部署在控制系统中通常被认为是不够成熟的。然而,如今该技术可以被用作纵深防御策略的一部分,例如,用来验证安全措施,包括防火墙规则。

       最后,定期测试和评估系统也是很重要的。评估包括定期审计确认系统配置仍然能保证最佳的安全性,以及将安全控制更新至最新标准和最佳措施。更多积极主动的措施或实践如入侵检测可以在系统停车或检修时进行。
总结 

        本文第一步中,我们建议在清楚从哪儿出发,到哪儿去以及如何去之后再开始你的旅行。 我们希望文中描述的七步能为你提供促进工厂网络安全防护的路线图。

        然而,在你完成它们之后,实际上你只是完成了你旅程的第一步。

        有效的 ICS 和 SCADA 安全并不是一次性工程。而是一个持续的重复的过程。当系统,人员,商业目标和威胁改变时,你需要重复这七步并更新物料和措施。

        你的努力将最大程度地保护工厂远离现代网络安全威胁带来的工艺流程破坏,安全事件以及业务损失。

 

投诉建议

提交

查看更多评论
其他资讯

查看更多

能源领域网络安全框架实施指南(英文版)

【指导手册】有效网络防御的关键控制

【操作指南】SCADA与过程控制网络防火墙配置指南

【指导手册】控制系统安全实践汇编

【操作指南】工业控制系统(ICS)安全指南