前言
本文为笔者对工控安全进行入门的学习笔记,内容全部来自网络,主要参考自以下几篇优质文章
工控安全从入门到实战——概述(一)
工控安全入门之攻与防
工控网络安全学习路线
个人经验泛谈之工控安全入门
工控系统概述
随着时代的发展,工业控制系统由原始的封闭独立走向开放、由单机走向互联、由自动化走向智能化,产生了大量安全隐患,关键基础设施正逐渐暴露于互联网中,工控系统下的安全问题所包含的软件隐患、网络边界隐患、环境和硬件隐患等问题,以及工控系统的网络安全协议问题,操作系统的落后、补丁的更新不及时、缓冲区溢出问题、拒绝服务漏洞、关键设备没有冗余备份,不安全的远程访问ICS组件等问题带来了安全隐患。
工控既工业控制系统(Industrial Control System, ICS)的简称,是由各种自动化控制组件以及对实时数据进行采集、检测的过程控制组件共同构成的确保工业基础设施自动化运行、过程控制与监控的业务流程管控系统。工控系统可以简单划分为过程控制网络和现场控制网络两部分
过程控制网络中部署多种关键工业控制组件,通过SCADA服务器(MTU)与远程终端单元(RTU)组成远程传输链路
过程控制网络向下现场控制网络相连接,现场总线的控制和采集设备(PLC或RTU)一方面将现场设备状态传送到过程控制网络,另一方面还可以自行处理一些简单的逻辑程序,完成现场控制网络的大部分控制逻辑功能,如控制流量和温度、读取传感器数据等
过程控制网络向上与企业信息网络相连接,企业信息网络中企业资源计划(ERP)服务器和制造执行系统(MES)服务器与工业控制系统紧密相连,邮件、Web、ERP等业务都需要与互联网相连,而MES需要与工业控制系统相连接,以获得生产过程的各种数据,并下达生产任务,各种病毒和木马就是利用这个通道进入企业信息系统,进而进入到工业控制系统中
核心组件包括数据采集与监控系统(Supervisory Control and Data Acquisition, SCADA)、分布式控制系统(Distributed Control Systems, DCS)、可编程控制器(Programmable Logic Controller, PLC)、远程终端(Remote Terminal Unit, RTU)、人机交互界面设备(Human Machine Interface, HMI),以及确保各组件通信的接口技术
可编程控制器是但用PLC互相连接构成的控制系统,PLC与PLC之间采用松散的连接方式,难以做出协调的高精度控制,主要应用于小型生产过程,如灌装流水线、邮件分发流水线等
分布式控制系统也被称为集散控制系统,用于大规模的连续过程控制,适用于测控点数多、精度高且反应速度块的工业现场,如发电、炼油厂、污水处理、化工等
数据采集与监视控制系统,国内也称之为组态监控软件,主要实现广域环境的生产过程和事务管理,其大部分具体控制工作还需要依赖现场环境的控制设备,主要应用于电力系统、输油管道和轨道交通等
工控网络安全是关键基础设施的关键部分,关键基础设施包含公共通信和信息服务、能源、交通、水利、金融、公共服务、电子政务等重要行业和领域,其中能源、交通、水利等行业都有工控系统。工控网络包含多种多样的工艺场景,目前智能制造、智慧工厂、智慧城市、智慧水利、智慧电厂等新型技术都属于工控网络安全的范畴
工控网络与传统IT网络主要有三大方面的不同
- 网络边缘不同:工控系统的边缘部分是智能程度不高的含传感和控制功能的远动装置,而传统IT网络的边缘部分是通用计算机;两者在物理安全需求上差异很大
- 体系结构不同:工控网络的结构纵向高度集成,主站节点和终端节点之间是主从关系,而传统IT网络则是扁平对等关系;两者在脆弱节点分布上差异很大
- 传输内容不同:工控网络传输的是工业设备的“四遥信息”,即遥测、遥信、遥控、遥调
还有一些其他方面的区别,详见下图
工控安全特点
- 工控安全焦点问题是生成过程稳定可靠,强调的是可用性,不能停产,工控安全的优先级为可用性>完整性>机密性
- 工控网络的通讯协议不同,大量的工控系统采用私有协议
- 工控系统运行环境相对落后,对系统稳定性要求高,且通常不允许连接网络,不具备及时更新病毒库的条件,不允许在生产运行期间进行系统升级
- 病毒误杀在工业控制系统中可能产生致命的后果,所以导致现在大量工作站处于无防护状态
- 我过工控安全所面临的重要问题是自主可控的问题,工业中用到的逻辑控制器95%来自施耐德(法国)、西门子(德国)、发那科(日本)等国外品牌,对国外设备和技术的依赖程度强
工控安全学习路线
- 了解工控协议,包括但不限于:Modbus、S7Comm、DNP3、OPC、Ethenetlp、OMRON FINS、IEC104、OPC UA等,了解如何用脚本去探测,互联网上的工控设备的识别
- 熟悉PLC编程,PLC工作原理、技术参数、物理规程、常见品牌等
- 了解工控蜜罐的原理和作用,如何搭建工控蜜罐
- 了解常见的工控漏洞及利用,学习如何挖掘工控漏洞
- 熟悉工业控制系统(如PLC、DCS、SCADA)的架构、组成和特征
- 熟悉各厂商组态软件使用
- 熟悉上位机、操作系统等配置和安全管理
- 熟悉PE或者(ELF)结构、熟悉X86汇编(对arm、mips、powerpc有所了解),能熟练编写IDA脚本,熟悉OD、ImmunityDebuugger、WinDbg等调试技巧
- 熟悉各种接口和固件提取的方法
后续将按以上学习路线展开学习,并通过阅读工控安全方面的综述论文对工控安全有一个全面的了解…