工控网络安全学习路线

2019-12-05 14:10:34 FreeBuf 85

  工业背景

  对于我国而言,工业控制系统安全所面临的重要问题是自主可控的问题,我国在工控领域对国外设备和技术的依赖程度强。据中国产业信息研究网调查统计结果显示,全国5000多个重要的工业控制系统中,95%以上的工控系统操作系统均采用国外产品;在我国的工控系统产品上,国外产品已经占领了大部分市场,如PLC国内产品的市场占有率不到1%,工业中用到的逻辑控制器95%是来自施耐德(法国)、西门子(德国)、发那科(日本)等的国外品牌。

  以扬州市为例,自2014年1月起,在全市范围内启动重点行业重要工业控制系统基本情况调查,统计显示,全市24个企业共计1213个重点工业控制系统,主要分属化工、电力行业和城市公用事业服务领域。德国西门子公司生产的可编程控制器(PLC)和我国浙江浙大中控公司生产的分布式控制系统(DCS)在扬州市工业企业应用广泛,其中德国西门子公司生产的可编程控制器占全部调查企业工业控制系统总数的87%,占全部调查企业可编程控制器应用总数的95%以上。

  工业控制系统(以下简称工控系统)是国家基础设施的重要组成部分,也是工业基础设施的核心,被广泛用于炼油、化工、电力、电网、水厂、交通、水利等领域,其可用性和实时性要求高,系统生命周期长,是信息战的重点攻击目标。目前,我国在工业控制系统网络安全技术研究以及产业发展等相关领域处于快速发展阶段,防护能力和应急处置能力相对较低,特别是关键部位工控系统大量使用国外产品,关键系统的安全性受制于人,重要基础设施的工控系统成为外界渗透攻击的目标。

  法律层面

  目前我国已经将关键基础设施的信息网络安全纳入了《中华人民共和国网络安全法》。

  其中第二十一条国家实行网络安全等级保护制度。网络运营者应当按照网络安全等级保护制度的要求,履行下列安全保护义务,保障网络免受干扰、破坏或者未经授权的访问,防止网络数据泄露或者被窃取、篡改:

  (一)制定内部安全管理制度和操作规程,确定网络安全负责人,落实网络安全保护责任;

  (二)采取防范计算机病毒和网络攻击、网络侵入等危害网络安全行为的技术措施;

  (三)采取监测、记录网络运行状态、网络安全事件的技术措施,并按照规定留存相关的网络日志不少于六个月;

  (四)采取数据分类、重要数据备份和加密等措施;

  (五)法律、行政法规规定的其他义务。

  其中第三十一条 国家对公共通信和信息服务、能源、交通、水利、金融、公共服务、电子政务等重要行业和领域,以及其他一旦遭到破坏、丧失功能或者数据泄露,可能严重危害国家安全、国计民生、公共利益的关键信息基础设施,在网络安全等级保护制度的基础上,实行重点保护。关键信息基础设施的具体范围和安全保护办法由国务院制定。

  工控网络安全特点

  首先,工控网络安全是关键基础设施的一部分,而且是关键部分。关键基础设施包含公共通信和信息服务、能源、交通、水利、金融、公共服务、电子政务等重要行业和领域。其中能源、交通、水利等行业都有工业控制系统,随着“互联网+”、“中国制造2025”等国家政策的发布,工业控制系统与传统的IT网络、与互联网的互联互通已经势不可挡,这其中的网络安全问题尤其突出。

  工控网络包含多种多样的工艺场景,目前流行的智能制造、智慧工厂、智慧城市、智慧水利、智慧电厂等新型技术都属于工控网络安全范畴。新技术、新网络、新方向都将带动这些行业发展,但这其中的网络、信息、数据的安全就成为了新的研究方向。

  其次,工控网络安全触及到生活的每个角落,伴随着物联网的到来,各行各业的数据都将被采集、处理、汇总。一旦发生网络安全事件,将是牵一发而动全身的效果。有过黑客或者渗透经验的人就会知道,暴露出来的网络安全事件都只是冰山一角,当网络安全事件被揭露的时候,伴随着的是内部的数据都已经被偷窥一空了。

  最后,工控网络安全是一个多学科,多技术,多领域的交叉门类。本身工控行业的基础专业是自动化专业,自动化专业就是一个多学科的交叉专业,它涉及计算机专业,电气电子专业、仪表专业、通信专业和信息专业等内容。工控网络涉及多个行业,如能源、交通、水利等。多技术包含控制技术、工艺技术、信息技术、网络技术、通信技术、存储技术等等。

  工控网络安全概述

  “工控”即“工业控制”,工业控制系统(ICS,Industrial Control System)是一类用于工业生产的控制系统的统称,它包含PLC控制系统(PLC,Programmable Logic Controller)、分布式控制系统(DCS,Distributed Control System)、监视控制与数据采集(SCADA,Supervised Control And Data Acquisition)系统等。PLC控制系统是单用PLC互相连接构成的控制系统,PLC与PLC之间采用松散的连接方式,难以做出协调的高精度控制,主要应用于小型生产过程,如灌装流水线、邮件分发流水线等。分布式控制系统(DCS)也被称为集散控制系统,用于大规模的连续过程控制,适用于测控点数多、精度高且反应速度快的工业现场,如发电、炼油厂、污水处理、化工等。数据采集与监视控制系统(SCADA),国内也称之为组态监控软件,主要实现广域环境的生产过程和事物管理,其大部分具体控制工作还需要依赖现场环境的控制设备,主要应用于电力系统、输油管道和轨道交通等。

  工业控制系统可简单划分为过程控制网络和现场控制网络两部分。过程控制网络中部署多种关键工业控制组件,通过SCADA服务器(MTU)与远程终端单元(RTU)组成远程传输链路。

  过程控制网络向下与现场控制网络相连接。现场总线的控制和采集设备(PLC或RTU)一方面将现场设备状态传送到过程控制网络,另一方面还可以自行处理一些简单的逻辑程序,完成现场控制网络的大部分控制逻辑功能,如控制流量和温度、读取传感器数据等。

  过程控制网络向上与企业信息网络相连接。在企业信息网络中,企业资源计划(ERP)服务器和制造执行系统(MES)服务器与工业控制系统紧密相连。

  在企业信息网络中,邮件、Web、ERP等业务都需要与互联网相连接,而MES需要与工业控制系统相连接,以获得生产过程的各种数据,并下达生产任务。各种病毒和木马就是利用这个通道进入企业信息系统,进而进入到工业控制系统中,这已经成为工业控制系统的主要安全威胁来源。随着信息技术的快速发展,工业控制系统中的无线连接、移动存储介质(U盘)、远程维护和升级等新兴技术和应用的广泛使用,为工业控制系统引入了更多的安全风险。

  工控网络安全学习内容

  1、行业特性

  传统信息系统旨在利用计算机、互联网技术实现数据处理与信息共享,而工业控制系统旨在利用计算机、互联网、微电子以及电气等技术,使工厂的生产和制造过程更加自动化、效率化、精确化,并具有可控性及可视性,它强调的是工业自动化过程及相关设备的智能控制、监测与管理。

  2、工业控制设备

  传统信息系统是通过互联网协议组成的计算机网络;而工业控制系统是PLC、RTU、DCS、SCADA等工业控制设备及系统组成的多层次网络。

  3、工业控制操作系统

  传统信息系统通用使用的操作系统,如Windows、UNIX、Linux等,防护功能相对强大;而工业控制系统广泛使用嵌入式操作系统,如VxWorks、uCLinux、WinCE等,并有可能根据需要进行功能裁减或定制。

  4、网络协议

  传统信息系统主要使用TCP/IP栈(应用层协议HTTP、FTP、SMTP等);而工业控制系统一般直接使用专用的通信协议或规约(OPC、Modbus、DNP3等),或者将其作为TCP/IP的应用层使用。

  5、工业实时通信

  传统信息系统要求相对较低,信息传输允许延迟,多数系统能容忍短暂的、有计划的系统维护;而工业控制系统要求较高,不能轻易停机和重启恢复。

  6、工控安全事件

  信息系统中不可预料的中断可能会造成任务损失,但已逐渐有较为成熟的故障响应方案;而工业控制系统中不可预料的中断会造成经济损失或环境灾难,故障的应急响应方案还很不成熟。

  7、工控安全维护

  信息系统采用通用系统,兼容性较好,软硬件升级较容易,软件系统升级也较为频繁;而工业控制系统使用专有系统,兼容性差,软硬件升级较困难,一般很少进行系统升级。

  工控网络安全学习路线

  上面提到的工控网络安全是一个多学科、多技术、多领域的交叉内容。当作为初学者想开始学习,逐渐学习及深入学习时,工控网络安全是一个深深的陷阱。里面包含的内容实在是太多了,这里仅仅展示工控网络安全的冰山一角,还希望大家一起学习,一起交流,一起探讨,一起进步。

  首先,作为安全从业者必须要掌握的基本技能:编程语言。建议从汇编、C/C++到Python的学习路线。

  其次,要学习《计算机网络原理》,掌握基本的网络通信技术。

  自动化方面,要学习《可编程逻辑控制器(PLC)》,掌握基础的自动化设备原理。

  最后体系化的学习,是在前三个基础之上,对于工控网络安全的基础内容的学习。推荐的学习路线为-自动化软件-协议解析-固件分析-漏洞挖掘。

  自动化软件:自动化软件分为编程软件、组态软件(SCADA软件)、实时数据库等自动化方面的软件。可按照行业、厂家进行分类,深入了解后,在进行跨厂家,跨行业的进行深度学习。

  协议解析:协议解析分为基础协议和私有协议两大类。协议又可分为控制协议和通信协议两个层面。通常所要将的协议包含控制内容及通信两部分。协议分析还可以按照链路层协议和应用层协议进行学习。应用层的协议较为通用性强一些。

  固件分析:与传统的固件分析较为相似,但工业控制系统广泛使用嵌入式操作系统,所以协议内容更多的倾向嵌入式操作系统的固件进行分析。

  漏洞挖掘:最为高阶的学习内容,通过前面学习的基础基本就可进入此阶段了,综合利用上述内容对工业控制系统中的设备,软件,网络等内容进行渗透测试。

  本文作者:xxcy235,转载自FreeBuf