工业控制系统

工控指的是工业自动化控制,主要利用电子电气、机械、软件组合实现。打比方说,工业控制系统(ICS)是控制周围世界的计算机。它们负责管理办公室的空调、发电厂的涡轮机、剧院的照明设备或者工厂的机器人。

可以去灯塔实验室http://plcscan.org/blog/)和https://cs3sthlm.se/ 了解工控的相关姿势

SHINE项目(SHodan INTElligence Extraction)研究表明,从2012至2014年,互联网上至少有200万个可公开访问的工控设备。在2012年,第一个包含500,000个ICS设备的数据库被发送到ICS- cert。ICS-CERT认定,在美国50万的设备中,大约有7200个是关键的基础设施。随着对工控安全做出很多努力,越来越多的工控设备进行漏洞修补或者关机下线。但这是一个具有挑战性的问题,而且针对工控安全问题的解决方案没有一个是简单的。

下图是2014年Shodan爬取的工控全球分布图:

Alt text

常用缩写

以下是一些常用的缩写,有助于后面了解协议,快速找到ICS设备:

缩写 说明
SCADA 数据采集与监视控制系统
ICS 工业控制系统
DCS 分布式控制系统/集散控制系统
PCS 过程控制系统
ESD 应急停车系统
PLC 可编程序控制器(Programmable Logic Controller)
RTU 远程终端控制系统
IED 智能监测单元
HMI 人机界面(Human Machine Interface)
MIS 管理信息系统(Management Information System)
SIS 生产过程自动化监控和管理系统(Supervisory Information System)
MES 制造执行管理系统
BMS 建筑管理系统(uilding Management System)
VNC 虚拟网络计算(Virtual Network Computing)

协议

识别联网的控制系统有两种不同的方式:

1. 在ICS环境中使用的非ICS协议。

Shodan的ICS搜索结果大部分是通过搜索WEB服务器或其他常用的协议发现的,这些协议并不是直接与ICS相连接,而是可以在ICS网络上看到。例如,运行在HMI上的Web服务器或未经身份验证的Windows远程桌面直接连接在ICS网络上,这些协议将回提供一个ICS的可视化界面。(但大多常用某种形式进行身份验证)

下图就是一个在Shodan Images上找到的一个通过未经认证的VNC连接并暴露的HMI引擎。

Alt text

2. ICS协议

ICS协议是控制系统使用的原始协议。每个ICS协议都有其独特的标志,它们都有一个共同点:它们不需要任何认证。这意味着,如果可以远程访问工业设备,则可以自动对其进行读取和写入。但是,原始的ICS协议往往很难开发,是独有的,实际也很难与控制系统交互。也就是使用Shodan很容易检查设备是否支持ICS协议。

下图的banner是一个Siemens S7 PLC设备的Shodan搜索图,banner暴露了其序列号和位置:

Alt text

Modbus

MODBUS协议定义了一个与基础通信层无关的简单协议数据单元(PDU)。特定总线或网络上的MODBUS协议映射能够在应用数据单元(ADU)上引入一些附加域。

Alt text

工控安全问题:

  • 缺乏认证:仅需要使用一个合法的Modbus地址和合法的功能码即可以建立一个Modbus会话
  • 缺乏授权:没有基于角色的访问控制机制, 任意用户可以执行任意的功能。
  • 缺乏加密:地址和命令明文传输, 可以很容易地捕获和解析

PROFIBUS

PROFIBUS 一种用于工厂自动化车间级监控和现场设备层数据通信与控制的现场总线技术,可实现现场设备层到车间级监控的分散式数字控制和现场通信网络

DNP3

DNP3 DNP(Distributed Network Protocol,分布式网络协议)是一种应用于自动化组件之间的通讯协议,常见于电力、水处理等行业。简化OSI模型,只包含了物理层,数据层与应用层的体系结构(EPA)。SCADA可以使用DNP协议与主站、RTU、及IED进行通讯。

ICCP

ICCP 电力控制中心通讯协议。

OPC

OPC 过程控制的OLE (OLE for Process Control)。OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。

BACnet

BACnet 楼宇自动控制网络数据通讯协议(A Data Communication Protocol for Building Automation and Control Networks)。BACnet 协议是为计算机控制采暖、制冷、空调HVAC系统和其他建筑物设备系统定义服务和协议

CIP

CIP 通用工业协议,被deviceNet、ControINet、EtherNet/IP三种网络所采用。

Siemens S7

Siemens S7 属于第7层的协议,用于西门子设备之间进行交换数据,通过TSAP,可加载MPI,DP,以太网等不同物理结构总线或网络上,PLC一般可以通过封装好的通讯功能块实现。

其他工控协议

其他工控协议IEC 60870-5-104、EtherNet/IP、Tridium Niagara Fox、Crimson V3、OMRON FINS、PCWorx、ProConOs、MELSEC-Q

架构缺陷

  • 未经真正安全考验的组件与协议
    • 若有Web服务,那就利用Web服务该有的缺陷
    • 经典渗透技巧大多适用于工控网络
  • 稳定性优先+懒 → 升级难
  • 互联网的便利性,让工控组件暴露在网络空间里
  • 以协议研究为出发点

工控系统的指纹识别技术

http://plcscan.org/blog/2017/03/fingerprint-identification-technology-of-industrial-control-system/

信息探测

Ethernet/IP

Port:44818

Alt text

Alt text

Modbus

  • port:502
  • 抓取设备相关信息
    • Nmap: modicon-info.nse
    • Wireshark dissector
      • src/epan/dissector/packet-mbtcp.c
  • 认证与加密缺失

Alt text

IEC 61870-5-101/104

  • Port: 2404
  • 判断是否使用该协议
    • Nmap: iec-identify.nse
    • Wireshark dissector
      • src/epan/dissectors/packet-iec104.c
  • 认证与加密缺失

Alt text

Siemens S7

Alt text

Tridium Niagara Fox

  • port:1911
  • 抓取设备信息
    • Nmap: fox-info.nse

Alt text

results matching ""

    No results matching ""