工控安全分析闲谈

阅读量    160037 | 评论 2

分享到: QQ空间 新浪微博 微信 QQ facebook twitter

 

0x00写在前面

  • 在互联网时代并未向现在如此普及的情况下,工控设备之间的通信,是采用无线电和电缆进行的。
  • 但随着时代的发展,人们对工控的传统通信方式逐渐产生不满。无论是从性能的可靠性,部署的难易度以及覆盖范围的大小,都不能满足更高生产力需求的工业自动化生产。
  • 在竞争激烈的时代,转向基于IP的系统(接入互联网)可提供巨大的经济优势。因此,预计会有越来越多的系统转向基于IP的系统。例如,从专有的基于无线电的网络迁移到基于IP的网络的优势包括跨多个应用程序的共享网络资源,网络改进,例如增加的冗余和所有应用程序,共享网络管理系统的容量,以及仅为现场支持人员维护一项技能。
  • 随着接入互联网的工控设备越来越多,逐渐的构成了工业互联网体系。
  • 但由于此类互联网体系,存在其中的设备大多更新迭代困难,设备技术严重脱节,所以导致其安全问题十分之多,并因为大多数设备是运用在城市基础设施,甚至是工业制造以及军工产业。
  • 当发生网络安全事件时,影响以及破坏力巨大。针对于工控设备的安全研究分析势在必行。工控系统的安全研究分析势在必行。

image

 

0x01专业术语

  • 系统类
    • MCS:机组指令控制系统
      • 一般是指 纸机控制系统
        (Machine Control System),以传动为主,特别注重张力控制
        image
    • EMS:能源管理系统
      • EMS能量管理系统是现代电网调度自动化系统(含硬、
        软件)总称。其主要功能由基础功能和应用功能两个
        部分组成。基础功能包括:计算机、操作系统和EMS支
        撑系统。应用功能包括:数据采集与监视(SCADA)、
        自动发电控制(AGC)与计划、网络应用分析
        image
    • PMC:生产监控系统
      • Production material control是指对生产计划与生
        产进度的控制,以及对物料的计划、跟踪、收发、存
        储、使用等各方面的监督与管理和呆滞料的预防处理
        工作。PMC部主要有两方面的工作内容:即PC(生产
        计划、生产进度的管理)与MC(物料的计划、采购、
        跟踪、收发、存储、使用等各方面的监督与管理,以
        及废料的预防与处理工作)。
        n
      • PMC是PLC的一个子集,某些厂商将专用于数控机
        床的PLC称为PMC,所以PMC和PLC是非常相似的。
        比如FANUC PMC
        image
    • VMS:船舶远程监控管理系统
      • 能够向岸端实时传输远洋船舶的航行信息、机舱信息、
        视频信息及货物信息,方便岸端管理人员管理其航行于世界各大洋的船舶。
      • 该产品曾圆满完成“神舟七号”、“神舟九号”、
        “神舟十号”载人航天飞行海上应急搜救保障任务,
        并获得总装备部的表彰,近年为我国多艘科考船和调
        查船提供了基础信息平台,并广泛应用于中远集团、
        台塑集团、中海油、安吉物流等大型航运企业及其他
        政府部门。
        image
        image
        image
    • MES:制造企业生产过程执行系统
      • MES(制造执行系统Manufacturing Execution System)是企业CIMS信息集成的纽带,是实施企业敏捷制造战略和实现车间生产敏捷化的先进技术手段。MES制造执行系统是处于计划层和现场自动化系统之间的执行层,主要负责车间生产管理和调度执行。 image
    • SCADA:数据采集与监视控制系统
      • SCADA系统在电力系统中的应用最为广泛,技术发展也最为成熟。它作为能量管理系统(EMS系统)的一个最主要的子系统,有着信息完整、提高效率、正确掌握系统运行状态、加快决策、能帮助快速诊断出系统故障状态等优势,现已经成为电力调度不可缺少的工具。
        image
    • ICS:工业控制系统
    • DCS:分布式控制系统/集散控制系统
      • DCS系统在石油、化工、电力、冶金等部门有广泛的应用。
        image
    • PCS:过程控制系统
      • 过程控制在石油、化工、电力、冶金等部门有广泛的应用。
        image
    • ESD:应急停车系统
      image
    • PLC:可编程序控制器(Programmable Logic Controller)
      image
    • IED:智能监测单元
    • HMI:人机界面(Human Machine Interface)
    • MIS:管理信息系统(Management Information System)
      • Management Information System是指对火力发电
        企业大量的原始管理数据进行收集、整理,支持查询、
        分析汇总等方面的工作。火力发电厂Mis系统是以生产
        管理为基础,设备管理和经营管理为中心的综合管理
        系统,全面实现成本控制,提高经济效益,实现现代
        化管理的信息系统。它为企业提供辅助决策信息,实
        现企业的生产、物资、人员、资金的优化管理,达到
        安全经济生产的预期目标。
        image
    • SIS: 生产过程自动化监控和管理系统
      • Supervisory Information System 厂级监控信息系统是集过程实时监测、优化控制及生产过
        程管理为一体的厂级自动化信息系统,是处于火电厂
        集散控制系统以及相关辅助程控系统与全厂管理信息
        系统之间的一套实时厂级监控信息系统。
        image
    • MES:制造执行管理系统
      image
    • FCS:现场总线控制系统
      • FCS系统可以说是第五代控制系统,本质是信息处理现场化。前现场总线技术的应用主要集中在冶金、电力、水处
        理、乳品饮料、烟草、水泥、石化、矿山以及OEM用户等各个行业,同时还有道路无人监控、楼宇自动化、智能家
        居等新技术领域。
    • FGS:火气系统(火灾/有毒气体检测系统
      • FGS系统在石油、燃气、管输等部门有广泛
        的应用。
        GDS(气体监测系统)系统在化工部门有广
        泛的应用。
  • 设备类
    序号 | 简称 | 注释
    —-|—-|—-
    1 | RTU | Remote Terminal Unit,中文全称为远程终端控制系
    2 | DTU | 数据传输单元DTU (Data Transfer unit),是专门用于将串口数据转换为IP数据或将IP数据转换为串口数据通过无线通信网络进行传送的无线终端设备
    3 | FTU | Feeder Terminal Unit配电开关监控终端
    4 | TTU | distribution Transformer supervisory Terminal Unit,配电变压器监测终端
    5 | ESD | emergency shutdown device 紧急停车系统
    6 | CNC | 计算机数字控制机床(Computer numerical control)
    7 | MCC | 马达控制中心、电机控制系统
    8 | TSI | 汽轮机仪表监视系统
    9 | NCS | 升压站网络监控系统( Network Control System)
    10 | SCS | 顺序控制系统
    11 | CCS | 一种连续的调节系统(Continuious Control System)
    12 | FSSS | 锅炉炉膛安全监视系统
    13 | ETS | 汽轮机保护系统
    14 | ECS | 电气控制系统
    15 | MEH | 小汽轮机数字电液调节系统
    16 | BPCS | 旁路控制系统
    17 | DEH | 汽轮机数字电液调节系统
    18 | LCU | 现地控制单元(Local Control Unit )
    19 | AGC | 自动发电控制(Automatic Gain Control)
    20 | AGV | Automated Guided Vehicle自动导引运输车
    21 | SIS | Safety Instrumented System 安全仪表系统

 

0x02协议端口及测试脚本

  • Modbus
    • MODBUS协议定义了一个与基础通信层无关的简单协议数据单元(PDU)。特定总线或网络上的MODBUS协议映射能够在应用数据单元(ADU)上引入一些附加域。
      image
    • 安全问题:
      • 缺乏认证:仅需要使用一个合法的Modbus地址和合法的功能码即可以建立一个Modbus会话
      • 缺乏授权:没有基于角色的访问控制机制, 任意用户可以执行任意的功能。
      • 缺乏加密:地址和命令明文传输, 可以很容易地捕获和解析
  • PROFIBUS
    • 一种用于工厂自动化车间级监控和现场设备层数据通信与控制的现场总线技术,可实现现场设备层到车间级监控的分散式数字控制和现场通信网络
  • DNP3
    • DNP(Distributed Network Protocol,分布式网络协议)是一种应用于自动化组件之间的通讯协议,常见于电力、水处理等行业。
      简化OSI模型,只包含了物理层,数据层与应用层的体系结构(EPA)。
      SCADA可以使用DNP协议与主站、RTU、及IED进行通讯。
  • ICCP
    • 电力控制中心通讯协议。
  • OPC
    • 过程控制的OLE (OLE for Process Control)。
    • OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。
  • BACnet
    • 楼宇自动控制网络数据通讯协议(A Data Communication Protocol for Building Automation and Control Networks)。
    • BACnet 协议是为计算机控制采暖、制冷、空调HVAC系统和其他建筑物设备系统定义服务和协议
  • CIP通用工业协议,被deviceNet、ControINet、EtherNet/IP三种网络所采用。
  • Siemens S7
    • 属于第7层的协议,用于西门子设备之间进行交换数据,通过TSAP,可加载MPI,DP,以太网等不同物理结构总线或网络上,PLC一般可以通过封装好的通讯功能块实现。
  • 其他工控协议
    • EC 60870-5-104、EtherNet/IP、Tridium Niagara Fox、Crimson V3、OMRON FINS、PCWorx、ProConOs、MELSEC-Q。按需求自行查阅资料。
  • 相关搜索引擎
    • Shodan搜索
      image
    • Zoomeye搜索
      image
  • Ethernet/IP 44818
    • nmap -p 44818 —script enip-enumerate.nse 85.132.179.*
      image
  • Modbus 502
    • nmap —script modicon-info.nse -Pn -p 502 -sV 91.83.43.*
      image
  • IEC 61870-5-101/104 2404
    • nmap -Pn -n -d —script iec-identify.nse —script-args=iec-identify -p 2404 80.34.253.*
      image
  • Siemens S7 102
    • nmap -p 102 —script s7-enumerate -sV 140.207.152.*
      image
    • nmap -d —script mms-identify.nse —script-args=’mms-identify.timeout=500’ -p 102 IP
      image
  • Tridium Niagara Fox 1911
    • nmap -p 1911 —script fox-info 99.55.238.*
      image
  • 意义何在
    • 上述NSE脚本意义:
      • 定位工控系统及协议模块。
      • 收集目标工控的信息,如版本、内网IP、模块、硬件信息等。
      • 结合对应的NSE脚本进一步拓展,例如自定义空间搜素引擎。

 

0x03乌云工控漏洞的分析

  • 工控相关漏洞分析
    • 针对乌云主站的漏洞进行关键字搜索:工控(31)、SCADA(15)、Modbus(9)、PLC并进一步整合得到如下列表。

    image
    image

  • 在以上的漏洞列表中,可以得出如下结论
    • 乌云工控漏洞的案例中,绝大多起因是弱口令(弱口令最多的是123456,其次是admin)、注入类漏洞。
    • 挖掘此类漏洞主要解决两个问题
      • 如何找到工控相关的系统和地址
      • Getshell后,基于工控知识如何操控系统
    • 根据漏洞中的细节可以进一步的复测和拓展,进而为工控系统的漏洞挖掘提供非线性思路。
      • 结合GHDB关键字的搜素:例如inurl:SCADA……
      • 链接地址含SCADA、Modbus等协议的关键字……
      • 其他KEY:MIS、SIS、DCS、PLC、ICS、监控系统……
    • 相关公司:南京科远、金风科技、天能集团、国电南瑞、华润燃气、积成电子、重庆三峰、东方电子……
    • 乌云工控相关的精华漏洞如下7个,在思路亮点中分析了漏洞的核心,同样也可能是获得打雷精华的理由。几乎共同点均是操控了对应的工控系统。
      image

 

0x04参考资源

 

0x05 协议分析- ModBus

  • 标准的Modicon控制器使用RS232C实现串行的Modbus。
  • Modbus的ASCII、RTU协议规定了通信数据的结构、命令和应答方式。数据通讯采用Master/Slave方式,Master端发出数据请求消息,Slave端接受正确消息后悔发送数据到Master端以响应请求。Master端也可以直接发送消息修改Slave端的数据,实现双向读写。
  • modbus TCP和modbus RTU基本相同,但是也存
    一些区别
    • 从机地址变得不再重要,多数情况下忽略。从某种意
      义上说从机地址被IP地址取代
    • CRC校验变得不再重要,甚至可以忽略。由于TCP数
      据包中已经存在校验,为了不重复造轮子,modbuCP干脆取消了CRC校验。
    • TCP 模式是为了让Modbus 数据顺利在以太网上传产生的,使用TCP 502 端口。
    • 该协议物理层,数据链路层,网络层,传输层都是基
      于TCP 协议,只在应用层,将Modbus 协议修改后装进去; 接收端将该TCP 数据包拆封后,重新获得原
      始Modbus 帧,然后按照Modbus 协议规范进行
      析,并将返回的数据包重新封装进TCP 协议中,返回
      到发送端。
    • 与串行链路传输的数据格式不同,TCP 模式去除了
      加地址和校验,增加了报文头。
  • Modbus协议功能码
      • 功能码01为度内部比特量输出状态;如告警、变位、故障、异常等。
      • 功能码02为度外部开放量输入状态;如光耦输出、继电器输入等。
      • 功能码03为读内部输出量的寄存器;如一些配置参数、定值的读取等。
      • 功能码04位读外部输入量的寄存器;如外部电压电流模拟量,温湿度等。
      • 功能码05位写内部单个开关量状态;如光耦输出、继电器输出等。
      • 功能码06为写内部单个寄存器的值;如更改配置参数、定值等。
      • 功能码15位写内部多个开关量状态;如同05
      • 功能码16为写内部多个寄存器的值;如同06;对时是写多寄存器,用此功能码。

协议分析- S7-common

S7通信支持两种方式

  • 1)基于客户端(Client)/服务器(Server)的单边通信;
  • 2)基于伙伴(Partner)/伙伴(Partner)的双边通信;
    • 客户端(Client)/服务器(Server)模式是最常用的通信方式,也称作S7单边通信。
    • 在该模式中,只需要在客户端一侧进行配置和编程;服务器一侧只需要准备好需要
      被访问的数据,不需要任何编程(服务器的“服务”功能是硬件提供的,不需要用户软件的任何设置)。
  • 由TPKT,COTP,S7 PDU三部分组成并且由TPKT和COTP为S7PDU通讯搭建链路
  • S7协议分析
    • 刚看到TPKT和COTP也许会很迷惑,其实在具体的报文中,
    • TPKT的作用是包含用户协议(5~7层)的数据长度(字节数);
    • COTP的作用是定义了数据传输的基本单位(在S7Comm中
      PDU TYPE:DT data);
    • S7Comm与标准TCP/IP比较:S7Comm是一个7层协议;
      TCP/IP是四层协议,用户数据在第四层TCP层完成;
    • 计算机与PLC进行通讯,可以连接102端口,这是西门子开放的
      一个通讯端口
分享到: QQ空间 新浪微博 微信 QQ facebook twitter
|推荐阅读
|发表评论
|评论列表
加载更多