本文主要针对工业控制系统讲解渗透测试常见用例,旨在帮助初学者了解工业控制网络系统,快速入门工控系统的安全测试,提高工控系统网络的安全性。
Tide安全团队计划把《工控安全从入门到实战》做为工控的一个专题系列,从工控安全基础知识到工控安全入门、从协议分析到蜜罐技术、从漏洞利用到攻击防护,一点一点揭开工控安全的神秘面纱。
本篇文章为《工控安全从入门到实战》的工控系统渗透测试部分内容,主要介绍工控系统的常规测试项、工控设备常见安全漏洞、工控协议漏洞以及检测方法,结合工控系统历史漏洞总结Web安全常规漏洞的检测与防范措施,并在最后对将要自主研发的一系列工控安全系统平台进行了总结与展望。
本篇提纲如下:
渗透测试是通过模拟恶意黑客的攻击手段和方法,来评估网络系统安全性的一种方法。不同于漏洞评估偏重于检查系统和服务是否存在安全问题,渗透测试主要通过执行漏洞利用来验证系统确实存在漏洞。
基于渗透测试的特点,在对工业控制系统进行渗透测试时需特别注意,因为传统的渗透测试方法可能会对工业控制系统基础设施和生产过程产生严重影响。
在工业控制系统环境中,渗透测试常常面临质疑、恐惧,甚至被彻底否定。在不采取必要预防措施的情况下,渗透测试确实可能会对生产系统产生严重后果,但准确评估系统安全性的唯一途径就是验证生产系统面临严重攻击时的防护能力。工业控制网络普遍采取多层结构的纵深安全防御体系,需要通过渗透测试来判断防护措施的有效性。
渗透测试应贯穿风险评估工作的整个生命周期,包括:
(1)验证漏洞评估结果,剔除错误信息;
(2)评判前期制定的安全策略是否合理;
(3)评估漏洞修复是否成功执行。
工业控制系统安全防护标准已逐渐完善,包括NIST SP800-82, ISA-99/IEC 62443,《工业控制系统信息安全防护指南》等,但针对工业控制系统渗透测试的标准却几乎没有,NIST SP800-115提供了漏洞评估和渗透测试的指导,但并未针对工业控制系统给出相关建议。工业控制系统渗透测试应结合传统的渗透测试手段、工业控制系统现场经验以及工业控制系统安全防护标准来共建工控安全保障体系。有关工控安全保障体系的建设如图所示:
工控设备安全检测服务主要包含工控设备资产搜集、工控设备漏洞挖掘、漏洞分析与验证、健壮性测试、以及多层次和多维度的安全检测等。
工业控制系统(ICS)是几种类型控制系统的总称,包括监控和数据采集系统(SCADA)、分布式控制系统(DCS)和其它控制系统以及生产应用服务器等。工控设备检测服务主要对系统的核心控制元件和网络组件进行查验。
SCADA系统是高分布式系统,经常用于控制地理上分散的资产,分散在数千平方公里,其中集中的数据采集和控制至关重要到系统操作。它们用于配水系统,如配水和废水收集系统,油气管道,电网和铁路运输系统。
一个SCADA控制中心长期对现场进行集中监控通信网络,包括监控报警和处理状态数据。基于信息从远程站接收到的,可以将自动化或操作者驱动的监控命令推送到远程站控制设备,通常被称为现场设备。现场设备控制本地诸如打开和关闭阀门和断路器的操作,从传感器系统收集数据,以及监控当地环境的报警条件。
(1) 大量的终端和现场设备如PLC(可编程逻辑控制器)、RTU(远程测控终端)和IED(智能电子设备)可能存在逻辑*或其他漏洞,部分设备采用国外的操作系统、控制组件,未实现自主可控,可能有安全漏洞,设备存在被恶意控制、中断服务、数据被篡改等风险。
(2) 通信网及规约上可能存在漏洞,攻击者可利用漏洞对SCADA系统发送非法控制命令。通信网及规约的安全性是整个系统安全的主要环节,通信网及规约的漏洞是非法入侵者主要攻击的目标。控制中心同站控系统之间主要采用IEC 60870-5-101/104规约进行通信,但104规约存在的主要安全问题为不具备加密、认证功能,且端口为固定的2404端口,存在被窃听、分析、替换的风险;一些不具备光纤通信条件的厂站采用GPRS、CDMA等无线通信方式,有的将101规约直接用在GPRS环境,通过APN虚拟专网采集测量数据、下发控制命令,没有身份认证和加密措施,安全强度不够,存在安全风险。
(3) TCP/IP网络通讯技术、各类智能组件技术广泛应用,SCADA系统面临病毒、蠕虫、木马威胁。SCADA系统中各类智能组件技术、TCP/IP网络通讯技术广泛应用,将面临传统信息网络面临的病毒、黑客、木马等信息安全问题。西门子、ABB等工业控制系统不断暴露安全漏洞,对我国工业控制领域的安全稳定运行造成了很大的影响。
(4) 其他主要风险如下:中心控制系统和站控系统之间业务通信时,缺乏相应的安全机制保证业务信息的完整性、保密性;中心控制系统、通讯系统和站控系统的网络设备、主机操作系统和数据库等的安全配置需要增强;缺乏对系统帐号和口令进行集中管理和审计的有效手段;缺乏记录和发现内部非授权访问的工具和手段,对重要业务系统维护人员缺少监控手段,无法有效记录维护人员的操作记录;对于软件补丁的安装缺乏有效的强制措施;人员的信息安全意识教育、基本技能教育还需要进一步普及和落实。
出厂默认设置是否修改
是否设置了访问PLC的白名单
SCADA网络与其他网络是否隔离
是否可以通过物理方式访问SCADA控制中心
控制机器是否可以访问互联网
SCADA的网络传输是否是明文形式
组织是否遵循严格的密码策略
控制器、工作站以及服务器是否打了最新补丁
是否运行有防病毒软件并且设置应用程序白名单
(1) 安全分区,隔离防护。安全分区是SCADA安全的基础,主要包括对控制中心和站控系统进行安全区域的划分,应根据系统的安全性、实时性、控制与非控制等方面的特点,将安全需求类似的系统、计算机、网络设备等划分在同一安全区域中,实行统一安全防护;应主要进行控制中心和站控系统生产相关系统与对外Web应用服务系统的隔离、生产相关系统中控制系统与非控制系统的隔离等,建议采用不同强度的网络安全设备如硬件防火墙、单向网闸、入侵防护系统等对各安全区中的业务系统进行隔离保护,加强不同安全区域间的访问控制措施。
(2) 专用通道,认证加密。在控制中心和站控系统的纵向专用通道上建立生产控制专用数据网络,实现与对外服务网络的物理隔离,并通过采用VPN技术构造虚拟专用网形成多个相互逻辑隔离的VPN,实现多层次的保护;同时应在纵向通信时对控制中心和站控中心实现双向身份认证,确保通信双方的合法身份,并根据纵向传输通道中数据的保密性要求,选择不同的加密算法,实现不同强度的加密机制。
(3) 业务应用,强化安全。在SCADA系统的不同区域,应慎重使用Web服务:对于实时控制功能模块,可以取消Web服务,对于非实时控制模块可以采用使用数字证书和HTTPS技术的纵向安全Web服务,并对浏览器客户端访问进行身份认证及加密传输,建议SCADA系统中不使用E-mail服务,杜绝病毒、木马程序借助E-mail传播;对SCADA关键应用数据与应用系统进行备份,确保数据损坏、系统崩溃情况下快速恢复数据与系统的可用性,在具备条件的前提下进行异地的数据与系统备份,提供系统级容灾功能,保证在规模灾难情况下,保持系统业务的连续性。
(4) 动态评估,安全加固。动态的(不定期的和定期的)评估分析控制中心和站控系统的业务系统、数据库、操作系统、主机等的安全弱点和潜在的安全风险,提出合理的安全建议以保证SCADA系统的机密性、完整性和可用性等基本安全属性;并根据安全评估的结果,通过采用系统参数的合理配置、多余服务和端口的关闭、后门的清理、帐户口令管理的增强、原有网络结构的调整优化等措施,尽可能地消除或降低系统的安全隐患,提升系统的安全性。
上位机是指可以直接发出操控命令的计算机,一般是PC机,屏幕上显示各种信号变化(液压,水位,温度等)。下位机是直接控制设备获取设备状况的计算机,一般是PLC/单片机之类的。上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般为模拟量),转换成数字信号反馈给上位机。
上位机漏洞包括通用平台的系统漏洞、采用的中间件漏洞、工控系统驱动漏洞、组态开发软件漏洞、ActiveX控件和文件格式等,这些漏洞形成的原因有多种。目前,针对上位机环境开发语言多为C/C++,下面我们对使用C/C++开发的上位机系统环境的常见漏洞从源头进行分析。
(1) 缓冲区溢出漏洞
缓冲区溢出漏洞一般是在程序编写的时候不进行边界检查,超长数据可以导致程序的缓冲区边界被覆盖,通过精心布置恶意代码在某一个瞬间获得EIP的控制权并让恶意代码获得可执行的时机和权限。在C/C++开发的上位机系统里比较常见的就是缓冲区数组。
案例分享:ABB PB610 IDAL FTP server缓冲区溢出漏洞
2019年06月28日,CNVD官网公开ABB PB610 IDAL FTP server缓冲区溢出漏洞,ABB PB610中的IDAL FTP server存在缓冲区溢出漏洞。该漏洞源于网络系统或产品在内存上执行操作时,未正确验证数据边界,导致向关联的其他内存位置上执行了错误的读写操作。攻击者可利用该漏洞导致缓冲区溢出或堆溢出等。
(2) 字符串溢出漏洞
字符串存在于各种命令行参数,在上位机系统和系统使用者的交互使用过程中会存在输入的行为。XML在上位机系统中的广泛应用也使得字符串形式的输入交互变得更为广泛。字符串管理和字符串操作的失误已经在实际应用过程中产生过大量的漏洞,差异错误、空结尾错误、字符串截断和无边界检查字符串复制是字符串常见的4种错误。
案例分享:Siemens SIMATIC WinCC HMI字符串栈溢出漏洞(CNVD-2012-0465)
CNVD官方于2012年02月07日公开了Siemens SIMATIC WinCC HMI字符串栈溢出漏洞,该漏洞为高危通用型漏洞。
Siemens SIMATIC作为工控领域的一款采用单一工程技术环境的自动化软件。Siemens SIMATIC WinCC HMI Web服务器存在安全漏洞。当传送模式启用时运行时装载器监听在2308/TCP或50523/TCP端口,没有正确数据段长度和Unicode字符串,可触发栈溢出,导致任意代码执行。
(3) 指针相关漏洞
来自外部的数据输入都要存储在内存当中,如果存放的时候产生写入越界正好覆盖掉函数指针,此时程序的函数执行流程就会发生改变,如果被覆盖的地址是一段精心构造的恶意代码,此恶意代码就会有被执行的机会。不仅是函数指针,由于上位机系统开发流程的日益复杂,很多时候面临的是对象指针。如果一个对象指针用作后继赋值操作的目的地址,那么攻击者就可以通过控制该地址从而修改内存其他位置中的内容。
案例分享:Advantech WebAccess指针引用漏洞
CNVD官方于2017年11月03日,公开CNVD-2017-32564Advantech WebAccess指针引用漏洞,该漏洞为高危通用型漏洞,危害范围广。
Advantech WebAccess是研华(Advantech)公司的一套基于浏览器架构的HMI/SCADA软件。该软件支持动态图形显示和实时数据控制,并提供远程控制和管理自动化设备的功能。Advantech WebAccess V8.2_20170817之前版本中存在指针引用漏洞,远程攻击者能够执行代码来引用程序中的指针,导致应用程序不可用。
(4) 内存管理错误引发漏洞
C/C++开发的上位机系统有时候需要对可变长度和数量的数据元素进行操作,这种操作对应的是动态内存管理。动态内存管理非常复杂。初始化缺陷、不返回检查值、空指针或者无效指针解引用、引用已释放内存、多次释放内存、内存泄漏和零长度内存分配都是常见的内存管理错误。
案例分享:ABB PB610 IDAL HTTP server内存损坏漏洞
2019年06月27日,CNVD官网公开ABB PB610 IDAL HTTP server存在内存损坏漏洞,该漏洞源于在身份验证过程中,程序未能安全地处理用户名和cookie字符串,攻击者可利用该漏洞绕过身份验证或在服务器上执行代码。漏洞危害等级为高危,影响范围广泛,危害性极大。
(5) 整数类溢出漏洞
这几年整数安全问题有增长趋势,在上位机系统的开发者眼里,整数的边界溢出问题通常大部分时候并没有得到重视,很多上位机系统开发人员明白整数是有定长限制的,但是很多时候他们会以为自己用到的整数表示的范围己经够用。整数类漏洞的情景通常是这样的,当程序对一个整数求出了一个非期望中的值,并进而将其用于数组索引或者大于后者循环计数器的时候,就可能导致意外的程序行为,进而导致可能有的漏洞利用。
除此之外,上位机系统软件更新频率较低,dll劫持漏洞较为普遍,以下举例说明较为常见的上位机dll劫持漏洞。
历年上位机本地权限提升类漏洞:
下位机是直接控制设备和获取设备状况的计算机,一般是PLC、单片机、智能仪表、智能模块等。上位机发出的命令首先下达下位机,下位机再根据此命令转换成相应的时序信号直接控制相应设备。下位机间歇性地读取设备状态信息,转换成数字信号反馈给上位机,上下位机也都需要进行功能编程,基本都有专门的开发系统。概念上,被控制者和被服务者是下位机。本身上位机和下位机可以理解为主从关系,在一些特定的应用或者场景下两者也可以互换。
下位机暴露在互联网中会带来许多安全隐患。
1.未授权访问
未授权访问指未经授权使用网络资源或以未授权的方式使用网络资源,主要包括非法用户进入网络或系统进行违法操作以及合法用户以未授权的方式进行操作。
防止未经授权使用资源或以未授权的方式使用资源的主要手段就是访问控制。访问控制技术主要包括入网访问控制、网络的权限控制、目录级安全控制、属性安全控制、网络服务器安全控制、网络监测和锁定控制、网络端口和节点的安全控制。根据网络安全的等级、网络空间的环境不同,可灵活地设置访问控制的种类和数量。
2.通信协议的脆弱性
不仅仅是Modbus协议,像IEC 60870-5-104、Profinet这类主流工控协议都存在一些常见的安全问题,这些协议的设计为了追求实用性和时效性,牺牲了很多安全性。这类脆弱性导致了很多下位机漏洞的产生。这类通信协议类的主要漏洞包括明文密码传输漏洞、通信会话无复杂验证机制导致的伪造数据攻击漏洞、通信协议处理进程设计错误导致的溢出漏洞等。
3.Web用户接口漏洞
为了便于用户管理,目前越来越多下位机配置了Web人机用户接口,但方便的同时也带来了众多的Web安全漏洞,这些漏洞包括命令注入、代码注入、任意文件上传、越权访问、跨站脚本等。
案例分享:多款Siemens产品代码上传漏洞漏洞
2019年07月12日,CNVD公开多款Siemens产品代码上传漏洞漏洞,影响产品范围广泛,涉及SIEMENS SIMATIC PCS 7 V8.0、SIEMENS SIMATIC PCS 7 V8.1、SIEMENS SIMATIC PCS 7 <=V8.0、Siemens SIMATIC WinCC <=V7.2、SIEMENS SIMATIC PCS 7 V9.0、SIEMENS SIMATIC WinCC V7.3、SIEMENS SIMATIC WinCC V7.4、Siemens SIMATIC WinCC Professional (TIA Portal V15) 、Siemens SIMATIC WinCC Professional (TIA Portal V14) 、Siemens SIMATIC WinCC Professional (TIA Portal V13) 、SIEMENS SIMATIC WinCC Runtime Professional V13、SIEMENS SIMATIC WinCC Runtime Professional V14、SIEMENS SIMATIC WinCC Runtime Professional V15、Siemens SIMATIC WinCC V7.5等。
其中SIMATIC WinCC是一套自动化的数据采集与监控(SCADA)系统,该系统的Web是其中的一个数据分析和显示组件。该产品存在任意文件上传漏洞,攻击者可利用该漏洞上传任意的ASPX代码,直接获取系统webshell,以此为突破口可进入工业控制系统网络内网进行渗透攻击、生产程序的破坏和数据的窃取。
4.后门账号
有些下位机设备硬编码系统中存在隐蔽账号的特殊访问命令,工控后门就是特指开发者在系统开发时有意在工控系统代码中设计的隐蔽账户或特殊指令。通过隐蔽的后门,设计者可以以高权限的角色进行设备访问或操作。工控后门对工控网络造成巨大的威胁,攻击者可以利用它来进行病毒攻击、恶意操控设备等。
应用服务器可以对其进行端口扫描、操作系统漏洞扫描、检查服务系统配置、全盘查杀可疑webshell文件以及排查可疑进程等。
systeminfo 查看系统版本信息、检查漏洞补丁修复情况
Linux平台提权漏洞集合
https://github.com/SecWiki/linux-kernel-exploits
Windows平台提权漏洞集合
https://github.com/SecWiki/windows-kernel-exploits
举例说明:
常见端口及对应服务
20:FTP服务的数据传输端口 21:FTP服务的连接端口 22:SSH服务端口 23:Telnet端口 25:SMTP简单邮件传输协议端口,和POP3的110端口对应 43:whois服务端口 53:DNS服务端口(TCP/UDP 53) 67/68:DHCP 80:HTTP端口 110:POP3邮件服务端口,和SMTP的25端口对应 135:RPC服务 137/138:NMB服务 139/445:SMB/CIFS服务 161/162: Snmp服务 443:HTTPS端口 873:rsync 1433:SQL Server对外提供服务 1434:用于向请求者返回SQL Server使用了哪个TCP/IP端口 1521:oracle数据库 3306:MySQL数据库端口 3389:远程桌面 5432:PostGreSQL 6379:redis数据库端口 7001/7002:Weblogic 8080:Tomcat、JBoss 9043:WebSphere 27017:MongoDB
推荐工具:御剑高速TCP全端口扫描工具、ScanPort、Nmap等。
查杀可疑进程及服务,根据等级保护制度检查防火墙、ACL访问控制策略等安全配置。
推荐工具:360全家桶、D盾webshell查杀
查杀rootkit
chkrootkit (下载地址-http://www.chkrootkit.org) rkhunter (下载地址-http://rkhunter.sourceforge.net)
查杀病毒
clamav(下载地址-http://www.clamav.net/download.html)
查杀webshell
cloudwalker(下载地址-http://github.com/chaitin/cloudwalker)
更多工控设备漏洞,可关注CNVD工控系统行业漏洞库。
https://ics.cnvd.org.cn/
https://www.ics-cert.org.cn/portal/leak/announce/announce.do
smod:Modbus渗透测试框架
plcscan( https://github.com/yanlinlin82/plcscan ):扫描PLC的Python脚本
NMAP s( https://nmap.org/book/man-nse.html ):扫描PLC的nmap脚本
Wireshark:网络嗅探器
mbtget( https://github.com/sourceperl/mbtget ):读取PLC的Perl脚本
plcinject( https://github.com/SCADACS/PLCinject ):向PLC注入代码的工具
参考工具列表(https://github.com/hslatman/awesome-industrial-control-system-security)
(1) 主节点发送请求,请求数据帧中包括子节点地址,请求被所有子节点接收到,但只有与子节点地址相符合的子节点处理接收到的请求数据帧;
(2) 主节点发送请求后等待响应;
(3) 相应子节点处理请求数据帧后,发送响应数据帧;
(4) 主节点接收到响应数据帧后,会话完成,如果主节点等待响应时间超时仍未接收到响应,认为会话失败,放弃本次会话。
(1) RS-485总线上,任意一个节点发送的数据帧,可以被除这个节点外的所有节点接收到,任何一个节点都可以监控RS-485总线所有通讯数据帧。
(2) 主节点并不知道真正是哪个子节点在处理请求数据帧。
(3) 主节点仅通过是否超时来判断会话是否成功,如果子节点处理请求数据帧的速度较慢,另一节点完全可以伪造响应数据帧结束会话,使得主节点接收到错误响应。或者通过干扰RS-485总线阻止主节点收到响应,使得主节点认为超时而放弃会话。
(1) 将两台PC连接到同一条RS-485总线上,并同时连接上现场仪表,一台pc作为Modbus主节点,另一台PC和现场仪表作为Modbus子节点;
(2) 使用Modbus通信测试软件,在作为Modbus主节点的Pc上不断发出符合现场仪表通信协议要求的请求;
(3) 在作为Modbus子节点的PC上,使用串口监控软件(或者Modbus通信监管软件)监控所有数据帧;
(4) 如果发现请求数据帧和响应数据帧之间有较长的时间间隔,说明这种现场仪表可能引发Modbus协议漏洞;
(5) 在作为Modbus子节点的PC上,开发并运行攻击程序,接收请求数据帧并快速发送伪造的响应数据帧,检查作为Modbus主节点的PC是否接收到了伪造的响应数据帧,如果收到表示攻击成功,现场仪表存在引发Modbus协议漏洞的可能。
工控服务器和工作站大部分是Windows系统,且很大一部分为XP等老旧系统。用户由于担心系统兼容性问题,通常不升级补丁,系统长期运行后会积累大量的安全漏洞,也为渗透测试提供了丰富的研究素材。
在互联网飞速发展的今天,Web应用已越来越多地深入到人们的生活、娱乐和办公等各个方面。移动互联网的兴起使得Web应用变得更加广泛,技术更加成熟,甚至已渗透到工业控制领域。一些优秀的组态软件厂商已将Web技术应用到厂级信息管理和实时生产监控软件中。其中,基于Web的人机界面监控系统是Internet技术和控制技术相结合的产物,用户只需利用浏览器即可随时随地地远程监控组态运行画面,及时了解现场各种设备的运行状况。Web发布已经成为工控组态软件的重要组成部分之一,但是在给人们带来便利的同时也给黑客攻击者带来可乘之机,本章节针对工控系统中Web安全常规漏洞进行分析与汇总。
http://www.anquan.us/static/bugs/wooyun-2016-0179184.html
http://www.anquan.us/static/bugs/wooyun-2016-0169849.html
http://www.anquan.us/static/bugs/wooyun-2015-0145966.html
http://www.anquan.us/static/bugs/wooyun-2016-0193770.html
http://www.anquan.us/static/bugs/wooyun-2016-0188572.html
http://www.anquan.us/static/bugs/wooyun-2015-0145153.html
http://www.anquan.us/static/bugs/wooyun-2016-0190154.html
http://www.anquan.us/static/bugs/wooyun-2016-0173395.html
http://www.anquan.us/static/bugs/wooyun-2015-0165261.html
http://www.anquan.us/static/bugs/wooyun-2016-0169444.html
http://www.anquan.us/static/bugs/wooyun-2015-0133550.html
http://www.anquan.us/static/bugs/wooyun-2015-0132494.html
漏洞参考:http://www.anquan.us/static/bugs/wooyun-2016-0169524.html
漏洞参考:http://www.anquan.us/static/bugs/wooyun-2016-0166656.html
http://www.anquan.us/static/bugs/wooyun-2015-0147797.html
http://www.anquan.us/static/bugs/wooyun-2015-0135742.html
http://www.anquan.us/static/bugs/wooyun-2015-0133501.html
http://www.anquan.us/static/bugs/wooyun-2015-0145063.html
http://www.anquan.us/static/bugs/wooyun-2015-0145141.html
http://www.anquan.us/static/bugs/wooyun-2015-0135197.html
推荐工具:web-log-parser、360星图、analog或自主研发日志分析工具。
工控安全漏洞可划分为工控设备漏洞、工控网络协议漏洞、工控软件系统漏洞、工控安全防护设备漏洞等。可以根据公开的工控漏洞平台( https://ics.cnvd.org.cn/、http://cve.scap.org.cn/view/ics 等)构建工控系统漏洞库。
众所周知,一款工控漏洞扫描平台的灵魂是基于其内置的工控漏洞库,工控漏洞扫描平台功能是否强大取决于工控漏洞库的完整性。因此,可以收集公开漏洞饿poc、exp来构建工控漏洞库,为后续开发工控漏洞扫描平台奠定基础。
蜜罐技术本质上是一种对攻击方进行欺骗的技术,通过布置一些作为诱饵的主机、网络服务或者信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行捕获和分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力。
目前工控安全审计检测类产品大多基于旁路网络流量和产品自身特征库等手段进行网络审计和安全检测,但由于旁路流量存在丢包以及流量类型不全面、监测位置过于趋向网络核心层等问题,使旁路检测类产品难以防范复杂攻击,且具有较高的误报率。同时由于工业环境网络隔离的特性,使产品无法自动更新特征库,造成攻击检测的严重滞后。
蜜罐系统凭借其独立性以及对工控系统的无干扰性,可有效解决现阶段工控安全产品对工控网络、流量以及实时性的影响,弥补无法在工控设备、工控主机、工控服务器内安装安全代理或安全探针的问题,有效提高安全检测的精度,降低误报。
工业企业网络架构一般可分为管理信息层、生产管理层、过程监控层、现场控制层以及现场设备层。管理信息层为传统信息网络,生产管理层、过程监控层、现场控制层以及现场设备层为工业生产网络。现阶段工业企业在管理信息网与工业生产网之间一般采用物理隔离或逻辑隔离的方式进行网络分层,针对每种隔离方式存在不同的攻击类型。
(1)双网物理隔离环境针对管理信息网与生产网物理隔离的环境,攻击者一般采用恶意软件攻击与跳板攻击相结合的方式。恶意软件攻击一般借助社会工程学、水坑攻击、钓鱼邮件攻击等方式将恶意软件植入受害者办公主机内。此类工业企业由于在管理信息网与工业生产网络之间部署了物理隔离设备,导致恶意软件不能直接进入生产控制网络,此时恶意软件会借助移动终端、移动存储介质、第三方终端等方式进入工业生产网主机,并以此主机为“据点”进行后续攻击操作。此类恶意软件一般具有较高的自动化特性,可根据目标环境进行设备的自动识别,自动传播、自动攻击。
(2)双网逻辑隔离环境此环境下,工业企业一般在管理信息网与工业生产网之间部署了防火墙等逻辑隔离设备,或采用单主机双方卡的形式实现逻辑隔离。由于逻辑隔离没有阻断网络层的连接,极容易导致攻击者绕过逻辑隔离设备进入生产网络。在此环境下,攻击者可以采用恶意软件以及内网反弹的方式直接获取内网主机的操控权限,此类攻击具有较强的灵活性。
由于目前的网络攻击方式大多基于IT架构,因此工业生产网络内的各工程师站、操作员站、监控站必然成为恶意软件以及攻击者进行“下一步”攻击的“落脚点”。以蠕虫病毒为例,其攻击步骤可分为感染主机、自动扫描、发现漏洞、自动传播。由于蜜罐系统的开放性以及自身存在较多安全漏洞,再配合良好的部署位置,会成为攻击者绝佳的“落脚点”,蜜罐系统通过精心构造的安全攻击与行为跟踪检测功能,可以对攻击行为进行精确记录、告警,同时与其他安全平台联动,从而实现网络攻击的快速检测、响应,为工业企业调查取证提供依据。
面对各种层出不穷的攻击方法和攻击模式,以及逐渐演变的高级持续性威胁(APT攻击),传统的被动安全防御手段已不能起到有效的防护作用。为了探索有效的主动安全防御方法,就要求必须自主研发一系列工控安全威胁感知预警平台。旨在捕获和分析网络空间中针对工控系统的攻击流量,研究攻击者的行为动机,溯源攻击者的真实身份,从而在未知网络攻击到来时能够做出更好的应对。
参考文献:于新铭,郭燕慧.一种针对工控设备的资产探测方法[J/OL].计算机工程与应用:1-10[2019-07-23].
参考文献:李京京. 基于蜜罐技术的ICS威胁感知平台设计与实现[D].郑州大学,2017.
在实验室或者测试环境搭建模拟真实生产控制系统的平台,采用相同的设备类型、型号和版本,并尽可能采用真实系统的备份镜像进行测试,采取各项渗透测试手段,尽最大可能发现模拟环境的问题,而无需太关心安全问题。
可根据项目需求搭建纯软件模拟的测试平台或使用硬件搭建的测试平台。
乌云工控相关的精华漏洞如下7个,在思路亮点中分析了漏洞的核心,同样也可能是获得打雷精华的理由。几乎共同点均是操控了对应的工控系统。
工业控制系统的信息安全防护体系包含:在总体安全策略指导下,建立工业控制系统的安全技术体系,进行工业控制系统控制中心、通信网络和现场设备的安全防护,确保控制中心数据安全、网络传输数据的完整性、保密性和可用性以及战场设备的安全防护能力;安全管理体系为工业控制系统提供组织保证、培训机制和技术规范等,信息安全防护体系具有高可靠性,并具有可审计、可监控性;安全服务体系为工业控制系统提供安全测评、风险评估、安全加固和监控应急服务。安全防护总体框架如下图所示:
http://article.cechina.cn/17/0321/06/20170321062202.htm
http://lab.cert.org.cn/service_control.html
http://www.eeworld.com.cn/qrs/article_2017072536310.html
https://wenku.baidu.com/view/d94108d0af45b307e971971e.html
乌云漏洞库 http://www.anquan.us
https://www.cnblogs.com/meandme/p/8041399.html
工业控制系统信息安全防护能力评估-20170523172437_81516
工业控制SCADA系统的信息安全防护体系研究_余勇
工业控制系统(ICS)安全专家必备的测试工具和安全资源 https://www.lotlabs.com/archives/789
http://liehu.tass.com.cn/archives/159