过程分析对进行有针对性ICS攻击的意义
On the Significance of Process Comprehension for Conducting Targeted ICS Attacks
一、摘要
本文通过使用一个测试平台环境,提供了两个基于中间人场景的实际示例,展示了攻击者需要获取、整理和理解的信息类型,以便开始有针对性的程序操作和避免检测。这使我们能够更清楚地了解相关的挑战,并说明为什么针对ICS的攻击不是每个恶意行为者都能做到。
二、介绍
(一)实验台
图1展示了我们的测试平台的架构。我们使用了西门子TP1500人机界面(HMI)负责通过西门子ET200S可编程逻辑控制器(PLC)进行本地过程监控,而施耐德ClearSCADA主终端/遥测单元(MTU)负责通过施耐德SCADAPack32远程终端/遥测单元(RTU)进行远程过程监控。此外,MTU还与KepWare Historian通信,以收集历史运行数据(非基于报警)。所有这些都将在攻击设计和执行中发挥关键作用。
(二)准备阶段
对ICS的攻击通常被称为网络物理攻击,它改变了现实世界中的过程物理,而这不能通过简单地删除日志文件来隐藏。如果设备损坏,或工厂行为不当,将予以注意和处理。除非攻击者的意图是产生即时影响,否则任何有针对性的攻击都必须诱发一种“隐藏”元素,以防止立即响应(见图2)。在我们的试验台环境中,为了隐藏目标攻击的效果,敌方需要使本地HMI和远程MTU无法察觉。
ICS的特点是采用点和标签,点是传统IT系统中不适用的概念,是这两个不同领域之间的关键区别。点负责ICS的所有方面,每个点都分配了一个唯一的ID(例如I1.1、DB1.DBX1.1等),这些ID可以是输入通道、内存位置等。在这些ID之上可以分配一些更为友好的名称,便于识别,称之为标签。
(三)信息获取
虽然攻击者的最终目标是了解必须操纵哪些点/标签才能达到预期的结果,但PLC配置可以提供丰富的附加信息,所有这些信息都可以在过程理解的各个阶段应用。控制逻辑文件(或项目文件)的获取可以通过使用传统的、非ICS专用的攻击工具和技术来实现。一旦获得,攻击者可以快速开始理解梯级的用途,此外,如果攻击者查看数据块(DB)此处显示的点所在的内存区域)的内容,还可以提供每个点的附带属性。包括地址,格式,描述性文本,如下图3所示(但是这里没有应用标签)。如果使用了友好的标签名,可以直接从西门子PLC中提取相应的tag。
此外,在攻击者看来,HMI既是一个有价值的目标,也是一个额外的复杂因素。它们的价值在于,攻击者可以利用它们的功能,像授权用户那样操纵操作流程。通常包含流程架构的图形表示,作为额外的信息源。但是它同样能检测到攻击者的行为,这是攻击者在攻击过程中需要解决的问题。此外,HMI的配置信息可以为我们提供攻击信息细节。
通过捕获HMI和PLC之间的流量,我们可以提取有效信息,如图4所示。此外还有一些其他的内容(如管道仪表流程图(P&ID)),可以丰富攻击者获取的信息。
三、实验评估
(一)基于网络的MITM攻击
首先,网络和设备枚举是攻击者最初面临的挑战之一,对于这项任务,Nmap,PLCScan等工具提供了现成的枚举功能。然后访问可操作的网络将允许攻击者采用多种方式执行攻击,如重放攻击、以及通过中间人攻击,防止所有合法通信量从PLC到达HMI,并在其位置发送静态值,如下图5所示的一个简单的MITM攻击,也需要花费大量精力来理解哪些值需要被篡改,它们在协议中是如何出现的,并确保它们不超过正常限制。
一旦实现了对本地和远程操作员的有效屏蔽,攻击者就可以继续执行我们预定义的损坏场景。下面图6我们给出了用Snap7编写的精心编制的请求,通过查看PLC配置,攻击者将能够识别一种安全机制。突出显示的代码表示特定于试验台环境的信息,即PLC IP地址、硬件配置文件和目标数据块。
(二)基于主机的MITM攻击
攻击者为了在主机级别实现有针对性的进程操纵和避免检测而要经历的过程。首先,PLC通常负责控制底层的操作过程;此外,我们看到PLC操作系统中的代码重用漏洞最近有所增加。在这里,我们提出了一种引脚控制攻击,作为在PLC I/O上执行目标MITM的方法。
PLC必须配置用于将值读入输入模式的管脚,以及用于控制/将值写入输出模式的管脚。PLC通常通过首先将物理I/O存储器映射到虚拟映射的I/O来配置其引脚,如图7所示。通过对Codesys PLC运行时的动态分析,我们可以观察到它如何将0x2020的物理I/O内存映射到虚拟映射的I/O。
通过使用引脚控制攻击,可以将PLC固件和PLC I/O之间的交互作为目标。这种攻击会导致固件认为它正在与I/O有效交互,而实际上I/O和PLC进程之间的连接正在被操纵。Pin控制攻击的最大优点是,它们消除了在相邻设备(如HMI和Historian)之间隐藏进程操纵效果的必要性。这是因为PLC已经“读取”了修改过的(良好但虚假的)过程值。但这要求攻击者:①PLC运行时特权;②对物理过程有所了解;③了解PLC和I/O引脚与逻辑之间的映射;④攻击者必须知道哪些输入/输出需要修改。图8说明了攻击者如何找到存储在PLC操作系统的映射文件中的所有虚拟映射I/O模拟I/O接口。
四、总结
虽然目前来说,由于大多数ICS协议和设备缺乏基本的内置安全机制,它们往往被认为是一个容易的目标。但是在考虑对操作流程进行有针对性的攻击时,使用传统的以IT为中心的技能来利用网络漏洞是不够的。
在网络物理系统安全中,我们特别关注导致物理影响的攻击。为了实现这一点,攻击者必须获得高水平的流程理解,确定可以实现操作流程操纵的方式。
通过我们的小型试验台,可以发现,攻击者拥有多样的信息来源可以参考,了解哪些信息对攻击者至关重要,以实现其所需的完整过程理解,这对于规划防御活动至关重要。但是,这同样会出现一个新的问题,攻击者可能会遵循最简单的攻击执行路径。
这就是为什么利用开放平台通信(OPC)保护服务变得至关重要的原因。OPC服务提供与ICS设备和系统的标准化、独立于供应商的合法连接,无需重建复杂的点到标签映射,发现此类可能的攻击途径可以识别监控能力,这在制定攻击检测避免策略时非常理想。
[1]Ali Abbasi and Majid Hashemi. 2016. Ghost in the PLC Designing an Undetectable
Programmable Logic Controller Rootkit via Pin Control Attack.Black Hat Europe
(2016).
[2]Ali Abbasi, Jos Wetzels, Wouter Bokslag, Emmanuele Zambon, and Sandro Etalle.
2014. On Emulation-Based Network Intrusion Detection Systems. InResearch in
Attacks, Intrusions and Defenses. Springer, 384–404.
[3]Michael J Assante and Robert Lee. 2015.The Industrial Control System Cyber Kill
Chain. Technical Report.
[4]Dillon Beresford. 2011. Exploiting Siemens Simatic S7 PLCs. InBlack Hat USA.
[5]Dillon Beresford. 2017. Siemens Simatic S7-300 - PLC Remote Memory Viewer
(Metasploit). (2017). https://www.exploit-db.com/exploits/19832/
[6]Jonathan Butts and Sujeet Shenoi. 2013.Critical Infrastructure Protection VII.
Springer, Washington DC.
[7]CPNI. 2017. Critical National Infrastructure. (2017). https://www.cpni.gov.uk/
critical-national-infrastructure-0
[8]DigitalBond. 2012. 3S CoDeSys, Project Basecamp. (2012). http://www.
digitalbond.com/tools/basecamp/3s-codesys/
[9]Ettercap Project. 2017. Ettercap - About. (2017). https://ettercap.github.io/
ettercap/about.html
[10]Prosenjit Ghosh, Pritpal Singh Hira, and Shelly Garg. 2013. A method to make SoC
verification independent of pin multiplexing change. InComputer Communication
and Informatics (ICCCI), International Conference on. 1–6.
[11]Benjamin Green, David Hutchison, Sylvain Andre Francis Frey, and Awais Rashid.
2016. Testbed diversity as a fundamental principle for effective ICS security
research. InSERECIN.
[12]Benjamin Green, Marina Krotofil, and David Hutchison. 2016. Achieving ics
resilience and security through granular data flow management. InProceedings
of the 2nd ACM Workshop on Cyber-Physical Systems Security and Privacy. ACM,
93–101.
[13]Benjamin Green, Anhtuan Lee, Rob Antrobus, Utz Roedig, David Hutchison, and
Awais Rashid. 2017. Pains, Gains and PLCs: Ten Lessons from Building an Indus-
trial Control Systems Testbed for Security Research. In10th USENIX Workshop
on Cyber Security Experimentation and Test (CSET 17). USENIX Association.
[14]Benjamin Green, Daniel Prince, Jerry Busby, and David Hutchison. 2015. The
impact of social engineering on Industrial Control System security. InProceedings
of the First ACM Workshop on Cyber-Physical Systems-Security and/or PrivaCy.
ACM, 23–29.
[15]ICS-CERT. 2012. ABB AC500 PLC Web Server Buffer Overflow Vulnerability.
(2012). https://ics-cert.us-cert.gov/advisories/ICSA-12-320-01
[16]ICS-CERT. 2012. Schneider Electric Modicon Quantum Vulnerabilities (Update
B). (2012). https://ics-cert.us-cert.gov/alerts/ICS-ALERT-12-020-03B
[17]ICS-CERT. 2014. Schneider Electric Modicon Quantum Vulnerabilities (Update
B). (2014). https://ics-cert.us-cert.gov/alerts/ICS-ALERT-12-020-03B
[18]ICS-CERT. 2015. Schneider Electric Modicon M340 Buffer Overflow. (2015).
https://ics-cert.us-cert.gov/advisories/ICSA-15-351-01
[19]ICS-CERT. 2015. Yokogawa Multiple Products Buffer Overflow Vulnerabilities.
(2015). https://ics-cert.us-cert.gov/advisories/ICSA-15-253-01
[20]ICS-CERT. 2016. Rockwell Automation MicroLogix 1100 PLC Overflow Vulnera-
bility. (2016). https://ics-cert.us-cert.gov/advisories/ICSA-16-026-02
[21]BooJoong Kang, Peter Maynard, Kieran McLaughlin, Sakir Sezer, Filip Andrén,
Christian Seitl, Friederich Kupzog, and Thomas Strasser. 2015. Investigating
cyber-physical attacks against iec 61850 photovoltaic inverter installations. In
Emerging Technologies & Factory Automation (ETFA), 2015 IEEE 20th Conference
on. IEEE, 1–8.
[22]Kernel.org. [n. d.]. Pin Control Subsystem in Linux. ([n. d.]). https://www.kernel.
org/doc/Documentation/pinctrl.txt
[23]Robert M Lee, Michael J Assante, and Tim Conway. 2016.Analysis of the cyber
attack on the Ukrainian power grid. Technical Report. http://www.nerc.com/pa/
CI/ESISAC/Documents/E-ISAC
[24]Munir Majdalawieh, Francesco Parisi-Presicce, and Duminda Wijesekera. 2007.
DNPSec: Distributed network protocol version 3 (DNP3) security framework.
InAdvances in Computer, Information, and Systems Sciences, and Engineering.
Springer, 227–234.
[25]Peter Maynard, Kieran McLaughlin, and Berthold Haberler. 2014. Towards
understanding man-in-the-middle attacks on iec 60870-5-104 scada networks. In
Proceedings of the 2nd International Symposium on ICS & SCADA Cyber Security
Research 2014. BCS, 30–42.
[26]Stephen McLaughlin and Patrick McDaniel. 2012. SABOT: Specification-based
Payload Generation for Programmable Logic Controllers. InProceedings of the
2012 ACM Conference on Computer and Communications Security (CCS ’12). ACM,
New York, NY, USA, 439–449. https://doi.org/10.1145/2382196.2382244
[27]Stephen E McLaughlin. 2011. On Dynamic Malware Payloads Aimed at Pro-
grammable Logic Controllers. InHotSec.
[28]Nmap.org. 2013. Nmap - Free Security Scanner For Network Exploration &
Security Audits. (2013). http://nmap.org/
[29]Ben Paske, Ben Green, Dan Prince, and David Hutchison. 2014. Design and
Construction of an Industrial Control System Testbed. InPGNET. 151–156.
[30]PLCScan. 2013. PLCScan - PLC Devices Scanner. (2013). https://code.google.
com/p/plcscan/
[31]Snap7. 2016. Snap7 - Overview. (2016). http://snap7.sourceforge.net/
[32]Ralf Spenneberg, Maik Brüggemann, and Hendrik Schwartke. 2016. PLC-Blaster:
A Worm Living Solely in the PLC. (2016).
[33]Anurag Srivastava, Thomas Morris, Timothy Ernster, Ceeman Vellaithurai,
Shengyi Pan, and Uttam Adhikari. 2013. Modeling cyber-physical vulnerability
of the smart grid with incomplete information.IEEE Transactions on Smart Grid
4, 1 (2013), 235–244.
[34]Aaron Turner. 2017. Tcpreplay. (2017). https://github.com/appneta/tcpreplay
[35]David Urbina, Jairo Giraldo, Nils Ole Tippenhauer, and Alvaro Cardenas. 2016.
Attacking fieldbus communications in ICS: Applications to the SWaT testbed. Cryp-
tology and Information Security Series, Vol. 14. 75–89.
[36]Wireshark.org. 2016. About Wireshark. (2016). https://www.wireshark.org/
[37]Yi Yang, Kieran McLaughlin, Timothy Littler, Sakir Sezer, Eul Gyu Im, Z Q Yao, B
Pranggono, and H F Wang. 2012. Man-in-the-middle attack test-bed investigating
cyber-security vulnerabilities in smart grid SCADA systems. (2012).