教程篇(7.2) 05. 保护 & OT安全 ❀ Fortinet 网络安全架构师 NSE7

 在本课中,你将了解操作技术(OT)环境的保护。

 完成本课程后,你应该能够实现上图显示的目标。

 在本节中,你将了解操作技术环境的工业协议和签名。

 上图展示了典型的监督控制和数据采集(SCADA)组件,其中包括PLC或RTU。

  PLC或RTU是为控制阀门、泵和电机等物理组件而构建的低性能计算机。他们使用容易受到攻击的专用协议进行通信。

 SCADA系统中使用工业通信协议,数据封装在标准的TCP/IP数据包中。

  通常,工业协议是为串行通信设计的,因此它们缺乏基本的安全机制,如身份、身份验证、加密和完整性检查。

  一些工业协议的例子是Modbus、DNP3和IEC104。新版本的工业协议,如EtherlP和POWERLINK,具有一些内置的安全功能。

 工业协议不包括对发送数据的身份验证,因此它们容易受到未经授权的连接或数据修改,从而引发中间人攻击。

  工业协议从串行链接移植到TCP/IP,因此,大多数工业协议缺乏身份验证、加密和TLS加密等功能,这使得它们容易受到攻击。

  FortiGate使用工业签名为脆弱的工业协议提供保护:

  ● 入侵防御

  ● 应用控制

  ● 反病毒

  FortiGuard维护更新的工业签名和应用程序漏洞。

 通过工业安全服务提供的情报来自全球FortiGuard实验室开发团队。FortiGuard实验室是业界领先的漏洞研究组织,提供广泛的工业应用智能和更好的安全有效性。

  ● FortiGuard通过阻止或限制访问危险的工业协议来保护ICS和SCADA系统

  ● 它还为你提供了数百个工业应用程序的可见性和控制,并允许你添加自定义应用程序

  ● FortiGuard实时威胁情报更新保护免受高级网络威胁,并支持主要ICS制造商提供漏洞保护

 上图显示了FortiGuard支持的工业协议和应用程序。

  FortiGuard能够识别基本的ICS/OT协议和协议功能代码,如读写功能代码,以及控制代码,如传输原因码。

  它还能够进行深度数据包检查(DPI),识别命令中的参数,例如值(特定函数代码的离散)、内存地址和对象类型,以提供对ICS协议有效负载的粒度控制。

 FortiGuard工业服务与ICS/OT客户的企业订阅捆绑在一起。

  你还可以将其添加为单独的服务——以添加高级威胁防护 (ATP) 或统一威胁防护 (UTP) 功能。

 Modbus是一种数据通信协议,最初由Modicon(现为施耐德电气)于1979年发布,用于其PLC。Modbus已成为默认的标准通信协议,现在是连接工业电子设备的常用手段。

  Modbus TCP/IP,也称为Modbus TCP,只是具有在以太网上运行的TCP接口的Modbus RTU协议。Modbus消息传递结构是一种应用协议,它定义了独立于数据传输介质的数据组织和解释规则。

  Modbus支持与连接到同一电缆或以太网网络的多个设备的通信,例如测量温度的设备和测量湿度的不同设备,两者都将测量结果传达给计算机。

  在电力行业,Modbus通常用于将系统监控计算机与SCADA中的RTU系统连接起来。许多数据类型以工厂设备的工业控制命名,如阶梯逻辑,因为它们用于驱动继电器。单个物理输出称为线圈,单个物理输入称为离散输入或触点。

  你可以在TCP/IP堆栈上的保留系统端口502访问Modbus。Modbus是一种请求和回复协议,提供由功能代码指定的服务。Modbus函数代码是Modbus请求和回复数据包数据单元(PDU)的元素。

  TCP/IP上使用专用标头来识别Modbus应用程序数据单元(ADU)。它被称为MBAP标题。与串行上使用的Modbus RTU ADU相比,此标头提供了一些差异。MBAP头在传输开始时插入了七个额外的字节。

  Modbus数据包由封装PDU的ADU组成。ADU由PDU组成,而PDU由功能代码和数据组成。

  Modbus是一种请求和回复协议,提供由功能代码指定的服务。

  Modbus功能代码是Modbus请求和回复PDU的元素。

  Modbus命令可以指示Modbus设备更改其其中一个寄存器中的值,这些寄存器被写入线圈和持有寄存器。命令用于读取输入/输出端口,从线圈端口读取数据,并命令设备发送回其线圈和持有寄存器中包含的一个或多个值。

  Modbus命令包含其所针对的设备的Modbus地址,例如1到247。只有被寻址的设备才会响应并执行命令,即使其他设备可能会收到命令。

  功能代码被Modbus主机用来与Modbus备机进行特定任务的通信,例如读取或写入特定内存类型。一笔交易可以包括单个项目或多个项目。

  上图展示了一些常见的功能和例外代码。

  上图展示了Modbus TCP请求和响应的示例,同时从服务器设备ID 11读取十个输入(持有)寄存器的值。

  IEC 60870-5-104(IEC 104)是一套定义电气工程和电力系统自动化应用中用于远程控制SCADA的系统的标准。你可以从远程站或变电站到控制中心,或在站或变电站内找到此协议。IEC 104协议广泛用于现代SCADA系统。这是一个符合IP的网络协议,建立在之前的串行通信标准IEC 101之上,使用端口2404通过TCP传输IEC 101远程控制消息。IEC 104将IEC 101远程控制消息封装到应用程序协议数据单元(APDU)中,该单元作为TCP有效负载的一部分传输。大多数应用服务数据单元(ASDU)与IEC 101相同。

  DNP3协议类似于IEC 104。IEC 104在欧洲使用,DNP3在美国使用。IEC 104主要用于发电厂。IEC 104的最大优势是它能够通过标准网络进行通信,允许在多个设备和服务之间同时传输数据。

  IEC 104将IEC 101远程控制消息封装到APDU中,APDU作为TCP有效负载的一部分传输。每个TCP有效负载可以携带多个APDU,最高可达TCP最大段大小(MSS)。

  APDU由APCI和ASDU两部分组成:

  ● 应用协议控制信息(APCI):

  这部分是包含协议控制信息的标题。每个APCl以值为68H的起始字节开始,然后是APDU的8位长度和四个八位组的控制场。第一个控制场八位组的最小两个位决定了远程控制消息的类型。

  ● 应用服务数据单元(ASDU):

  ASDU包含两个主要部分,固定长度为六个字节的数据单元标识符,以及由一个或多个信息对象组成的数据本身。数据单元标识符定义了特定类型的数据,并提供识别数据特定身份的地址,并包括附加信息,如COT。每个ASDU最多可以传输127个对象。

  在本节中,你将了解操作技术环境的入侵检测与防御。

  组织不断受到攻击。网络犯罪分子受到之前成功的备受瞩目的黑客攻击和高利润的被盗数据被拒绝市场的驱使,继续增加他们对组织的攻击的数量和复杂性。许多组织鼓励BYOD和灵活的工作环境,这导致随时随地的数据消耗激增。这种消耗增加了敏感数据暴露在公司边界外未经授权的访问的风险。

  今天的威胁形势要求IPS阻止更广泛的威胁,同时尽量减少假阳性。

  IPS签名提供漏洞屏蔽,也称为虚拟补丁,并通过防止网络入侵来改善安全态势。

  IPS通过控制或限制对危险的工业协议的访问来更好地保护ICS和SCADA系统。它意识到已知的漏洞、零日漏洞和协议异常,并支持主要IC制造商提供漏洞保护。

  FortiGate上的IPS使用签名数据库来检测已知的攻击。协议解码器还可以检测网络错误和协议异常。FortiGate流引擎具有协议解剖器来了解和公开各种工业协议的结构,如Modbus、IEC 104、DNP3、OPC等。

  IPS支持:

  ● IP豁免:你可以免除特定于IP地址的主机的预定义签名。只有在明确提及签名的情况下,你才能向IPS配置文件添加IP豁免。

  ● 自定义签名:如果你找不到匹配的签名,你可以创建自定义签名并将其添加到IPS传感器中。

  ● 支持数据包日志记录:当你在过滤器上启用数据包日志记录时,FortiGate会保存与过滤器中包含的任何签名匹配的数据包副本。你可以稍后分析数据包。

  ● 来源隔离:隔离基于攻击者的IP地址。来自攻击者IP地址的流量被拒绝,直到触发器的到期时间。

  ● 参数化签名:它支持一些ICS和OT协议,如Modbus、IEC 104和DNP3。

 IPS签名数据库分为常规数据库和扩展数据库。常规签名数据库包含常见攻击的签名,其签名导致罕见或没有假阳性。这是一个较小的数据库,其默认操作是阻止检测到的攻击。

  扩展签名数据库包含对性能造成重大影响的攻击,或因其性质而不支持阻止的额外签名。此外,由于其大小,扩展数据库不适用于具有较小磁盘或RAM的FortiGate型号。

  对于高安全性的OT网络,你可能需要启用扩展签名数据库。

  默认情况下,工业数据库被禁用。要启用工业数据库,请使用上图显示的CLl命令。

  上图展示了基于FortiGuard SCADA IPS过滤器的IPS传感器示例。每个IPS签名都有FortiGuard实验室指定的默认操作。

  FortiGuard为工业系统提供虚拟屏蔽。以施耐德电气Accutech经理为例。在施耐德电气Accutech Manager中发现了一个漏洞,恶意用户可以利用该漏洞进行SQL注入攻击。输入通过一个特别制作的数据包传递到RF管理器的端口2536。在SQL查询中使用之前,服务没有正确清理。这可以通过注入任意SQL代码来操纵SQL查询。Schneider Electric Accutech Manager 2.00.4以下版本报告了该漏洞。

  上图展示了FortiGate IPS功能涵盖的施耐德电气已知漏洞的几个例子。

  你可以在两种不同的模式下部署FortiGate:

  ● 离线IDS

  ● 在线IPS和IDS

  如果部署在离线IDS中

  ● FortiGate监控网络段并检测已知攻击,包括零日。

  ● FortiGate从配置的端口镜像接收流量。没有流量流过它。

  ● FortiGate充当网络传感器。

  ● 安全配置文件提高了网络安全可见性。

  ● 包括具有数据包捕获功能的入侵检测。

  如果部署在在线IPS和IDS中

  ● 网络流量通过FortiGate。

  ● 可以检测到网络攻击(IDS)并阻止(IPS)。

  ● 在IPS模式下,易受攻击的设备受到保护。

  ● 这种模式也被称为虚拟补丁。

  在本节中,你将了解运营技术环境的应用控制。

  通常,IPS签名往往是检测工业控制器软件的漏洞,而应用控制签名往往是各级协议检测。

  IPS检测工业软件和基于软件版本的漏洞。正如你之前了解到的,几个版本的施耐德电气Accutech Manager容易受到SQL注入攻击。

  应用控制检测Modbus IEC 104等应用程序中使用的协议,以及远程控制消息的内容,如功能代码、对象类型等。

  流引擎具有协议解析器,可以理解和公开工业协议的结构,例如Modbus、IEC 104、DNP3、OPC、西门子S7等。

  IPS和应用控制都将日志和应用程序上下文发送到系统日志服务器FortiAnalyzer、FortiSIEM等。

  你可以使用应用程序签名来检测工业协议。应用程序签名检测工业协议,执行粒度消息类型识别,并帮助定义允许列表策略。

  应用控制功能支持:

  ● 应用程序和过滤器覆盖:如果你配置了任何应用程序覆盖或过滤器覆盖,应用控制配置文件会首先考虑这些。它从列表顶部开始寻找匹配的覆盖,如防火墙策略,然后应用控制配置文件应用你为所选类别中的应用程序配置的操作。

  ● 自定义签名:如果你找不到匹配的签名,你可以创建自定义签名并将其添加到应用控制传感器中。

  ● 数据包日志记录:当你在过滤器上启用数据包日志记录时,FortiGate会保存与过滤器中包含的任何签名匹配的数据包副本。这些数据包可以稍后进行分析。

  ● 来源隔离:隔离基于攻击者的IP地址,来自攻击者IP地址的流量将被拒绝,直到触发器的到期时间。

  ● 入口和出口应用传感器,用于更精细的应用控制。

  ● 阻止僵尸网络C&C通信:你可以设置僵尸网络C&C保护,以阻止与僵尸网络站点的传出连接,或者在检测到传出僵尸网络连接尝试时仅记录日志消息(监视器)。最新的僵尸网络数据库可从FortiGuard获得。

  ● 可以应用基于速率的签名:这些是数据库中通常设置为监控的签名的子集。这组签名适用于通常只有在目标连接出现多个时才被视为严重威胁的漏洞,有点像DoS攻击。

  ● 应用程序控制还提供了基线构建的环境,并提醒基线以外的异常活动。

  上图展示了一些基于DNP3协议的C&C函数的粒度应用控制示例。

  考虑应用程序DNP3_Cold.Restart的例子。这表明授权的DNP3客户端向DNP3设备发送了冷重启命令。这将导致设备重新启动并执行开机自我测试。该设备将在一段时间内不可用,恶意攻击者可以持续发送此命令并导致拒绝服务(DoS)条件。

  同样,应用程序DNP3_Read表示检测到DNP3 read命令,DNP3_Write表示检测到DNP3写入命令。

  FortiOS为管理员提供了检查子应用程序流量所需的所有工具。这使你能够更精细地检查流量。你可以阻止DNP3_Write,同时允许设备使用DNP3_Read进行协作。

  FortiGate支持各种工业协议及其子类别。上图展示了Modbus作为其子类别的示例。

  上图的示例显示,你已使用模拟服务器Conpot实现了Modbus TCP。

  Modbus客户端是连接到FortiGate端口3的IP地址为10.10.3.100的主设备。你已将PLC1上的Conpot服务器配置为辅助设备,IP地址为10.10.4.100,连接到FortiGate的端口5。

  你已通过在FortiGate上启用软交换配置内部分割,FortiGate的端口5是软件交换机的成员。交换机接口的IP地址名为ssw-01是10.10.4.1。在FortiGate上启用工业签名。

  你已配置防火墙策略,允许并记录所有服务从端口3到FortiGate的ssw-01接口的所有流量。防火墙上还启用了默认的应用控制配置文件,以实现工业协议可见性。

  Conpot服务器正在PLC1上运行,以模拟在TCP端口502上监听的辅助设备。从Modbus客户端主服务器执行脚本将流量发送到TCP端口502上的PLC1后,流量将被允许,并通过防火墙策略上启用的默认应用程序控制配置文件识别为Modbus流量。

  你可以在TCP端口502上查看从Modbus客户端主服务器发送到Conpot服务器PLC1辅助服务器的流量日志。上图显示,流量的应用程序名称被标识为Modbus_Diagnostics。这表明检测到Modbus_Diagnostics命令。

  在确定应用程序对FortiGate可见后,你可以配置对应用程序状态的控制以监控、阻止、隔离或允许。

 在本节中,你将了解运营技术环境保护的实施。

  在OT环境中,漏洞点无处不在,最常见的漏洞点是:

  ● 来自外部黑客的外部威胁

  ● 内部威胁可能来自工业系统运营商

  ● RTU安全可能会受到损害,SCADA系统容易受到DoS和恶意控制

  ● 可以在多个位置突破气隙,允许威胁传播

  ● 工业协议的DoS攻击

  ● RTU或HMI可以通过已知的漏洞受到损害

  你可以使用以下统一策略应用保护和安全性:

  ● 工业应用传感器

  ● 楼宇自动化传感器

  ● IloT应用传感器

  ● 入侵检测,虚拟修丁

  ● 反病毒

  ● 阻断C&C通信

  你可以创建安全策略来监控通过FortiGate接口的流量。这被称为学习模式安全策略,只有当FortiGate处于基于策略的NGFW模式时才可用。

  要创建新的学习模式安全策略,还有其他一些必须满足的要求:

  ● 传入接口必须启用设备检测。

  ● 安全策略行动必须接受流量。如果操作设置为拒绝流量,则学习模式不可用。

  ● FortiGate必须向FortiAnalyzer发送安全日志。

  如果FortiManager正在管理FortiGate,FortiManager上的策略分析器MEA可以查看托管的FortiGate发送给FortiAnalyzer的日志。根据分析的流量,如果检测到,FortiManager管理员可以选择自动创建安全策略来阻止恶意流量。

  上图的示例显示了具有两个ICS环境的IT网络和OT网络。请记住,第一道防线是确保IT方的安全。

  为了保护不同的ICS环境,并限制来自IT的攻击传播到不同的ICS网络或元素,建议进行分割。在这个例子中,FortiGate创建了阻止威胁在ICS网络1和ICS网络2之间传播的管道。

  通过扩展这一概念,通过将FortiGate设备放置在ICS网络本身的战略点,你可以粒度地分割不同的区域,为端点和控制器创造额外的保护层,并保护它们之间的数据流和通信。FortiGate具有特定的ICS和SCADA感知功能,可以识别和监管大多数常见的ICS和SCADA协议。在这种特定协议支持的同时,通过一组签名为主要ICS制造商的应用程序和设备提供额外的漏洞保护。

  这为区域之间的流量提供了更精细的应用级控制,并使FortiGate能够检测与任何受支持的供应商解决方案相关的已知漏洞的尝试漏洞。

  为了更彻底地分析ICS网络及其流程和协议,你必须采取更主动的方法。

 通过掌握本课程所涵盖的目标,你了解了操作技术环境的保护。


猜你喜欢

转载自blog.csdn.net/meigang2012/article/details/134474048