Supervisory Control and Data Acquisition
Abstract of the thesis
Supervisory Control and Data Acquisition (SCADA) systems are types of Industrial Control Systems that play a critical role in the key infrastructure and critical resources of many nations. SCADA systems are made up of hardware and software that aid in the automation and control of equipment that perform tasks throughout society. Some examples of these tasks may include, but are not limited to, monitoring drinking water, controlling dams, monitoring power grids, controlling oil pipelines, controlling chemical plants and controlling military weapons systems. Recently, there has been a series of cyber-attacks and publications that demonstrate weaknesses in SCADA security. These vulnerabilities pose serious threats to infrastructure and society. The goal of this research is to introduce more effective ways of identifying potentially exploitable SCADA systems and to present new SCADA software vulnerabilities.
1.1 Introduction
SCADA systems are a series of subsystems that monitor and control industrial equipment. Recently, there have been a series of cyberattacks and publications that demonstrate the weaknesses of SCADA security. The Industrial Control Systems Cyber Emergency Response Team (ICS-CERT), an organization that tracks SCADA vulnerabilities and responds to attacks on SCADA systems, has reported several successful attacks on SCADA systems in 2014. From October 2013 to September 2014, ICS-CERT reported they received 159 vulnerability reports from security researchers disclosing new vulnerabilities related to industrial control system components . During this time frame, ICS-CERT also reported that they responded to 245 incidents. A subset of these incidents involved successful exploitation of SCADA systems. The objective of this research is to find more effective ways to identify potentially exploitable SCADA systems and to identify vulnerabilities in existing SCADA software. To understand these threats to SCADA systems, it is important to first understand the underlying technologies.
The typical components that make up SCADA systems are: Human Machine Interfaces (HMIs) (also known as Man-Machine Interfaces (MMIs)), Remote Terminal Units (RTUs), Programmable Logic Controllers (PLCs), Intelligent Electronic Devices (IEDs), data historians, communication networks and controlled equipment. HMIs are software and hardware components that operators use to communicate with IEDs, RTUs and/or PLCs in an effort to monitor and control industrial equipment. RTUs and PLCs differ from each other; RTUs generally gather telemetry data (e.g., water quality, air temperature, humidity, etc.), are designed for more specific tasks and are more distributed throughout a topographical region. PLCs generally handle a greater variety of tasks, are stationary and are more easily modified. However, RTUs and PLCs have changed over time, and now many of their functions overlap.
HMIs have evolved over time. Historically, designers built HMIs to run on a standalone embedded platform. Nowadays, many HMIs are built to run on modern operating systems. One of the most popular operating systems that HMIs now run on is the Windows Operating System. This has allowed the HMIs to communicate over newer protocols (e.g., Transmission Control Protocol/Internet Protocol (TCP/IP)) and interoperate with existing network equipment. In turn, many HMI systems are now connected to a business network and the internet.
IEDs were originally developed to support specific SCADA tasks related to power grids. Some of the areas in which IEDs were developed include substation automation, energy management and power distribution management. As IEDs have become more advanced, their functionality and purpose have broadened. Generally, IEDs are considered to perform more specific tasks than RTUs. However, much of the technology and many of the functions performed by RTUs overlap with IEDs.
Data historians provide functionality to store historical data of SCADA devices and networks. Data historians typically collect alarm events and telemetry data for logging, analysis and presentation purposes. The information collected by data historians is most often stored in a relational database management system (RDBMS). While IEDs, RTUs and PLCs are built to read telemetry information and control equipment in real time, data historians are intended to store the telemetry information and performed actions over time. Data historians often operate in a read-only mode and do not control operational equipment.
Like HMIs, RTUs and PLCs have also evolved over time. Many SCADA protocols such as MODBUS TCP, SERCOS III and PROFINET were originally developed to communicate over serial connections. These protocols have now evolved to support IP based communication. In turn, many RTUs and PLCs are now connected to business networks and the internet. These systems pose a significant risk to our infrastructure, as many SCADA protocols were developed with no encryption, no authentication and no cryptographic integrity.
With increased connectivity comes an increased attack surface and therefore increased risk. This research analyzes various techniques of detecting SCADA systems and analyzes the security weaknesses and deficiencies of SCADA systems. The identification of SCADA systems is focused on the MODBUS and MODBUST TCP protocols. This research 3focuses on MODBUS and MODBUS TCP protocols because they have many insecurities and they are the most widely adopted SCADA specific standards. All SCADA systems and SCADA security vulnerabilities identified throughout this research have been shared with ICS-CERT. The information has been given to ICS-CERT in an effort to help mitigate the exposure of critical systems and to help coordinate vendor fixes of vulnerabilities. Some sensitive information,
剩余内容已隐藏,支付完成后下载完整资料
监控与数据采集
摘要
监控和数据采集(SCADA)系统是在许多国家的关键基础设施和关键资源中发挥关键作用的一类工业控制系统。SCADA系统由硬件和软件组成,该系统有助于整个社会自动化控制设备的执行。该系统执行的例子包括监测饮用水、控制水坝、监测电网、控制输油管、控制化工厂和控制军事武器系统,但不仅仅限于这些。最近,发生了一系列的网络攻击出版物的事例,这些攻击出版物的事例表明SCADA系统的安全性存在缺陷。这些缺陷对基础设施和社会构成严重威胁。这项研究的目的是介绍更有效的方法来识别潜在的可开发的SCADA系统,并呈现新的SCADA软件漏洞。
1.1 简介
SCADA是一系列监控工业设备的子系统。最近,有一系列的网络攻击和出版物显示SCADA安全的弱点。工业控制系统网络应急小组(ICS-CERT)是一个跟踪SCADA系统漏洞并对SCADA系统攻击作出反应的组织,该组织在2014年成功的报告了几次SCADA系统攻击的案列。2013年10月至2014年9月,ICS-CERT报告称,他们收到了159份安全研究人员提交的漏洞报告,其中披露了与工业控制系统组件有关的新漏洞。在此期间,ICS-CERT组织还报告说,他们对245起事件作出了反应。这些事件中的一部分涉及SCADA系统的成功开发。本课题研究的目的是寻找更有效的方法来识别潜在可开发的SCADA系统,并识别现有SCADA软件中的漏洞。要理解这些对SCADA系统的威胁,首先必须了解底层技术。
构成SCADA系统的典型组件有:人机接口(HMI)(也称为人机接口(MMIS)、远程终端单元(RTU)、可编程逻辑控制器(PLC)、智能电子设备(IED)、数据历史学、通信网络和受控设备。HMI是运营商用来与IED、RTU和/或PLC通信以监控工业设备的软件和硬件组件。RTU和PLC彼此不同;RTU通常收集遥测数据(例如水质、空气温度、湿度等),是为更具体的任务而设计的,并且更多地分布在整个地形区。PLC通常处理更多种类的任务,是静止的,并且更容易修改。然而,随着时间的推移,RTU和PLC发生了变化,现在它们的许多功能重叠了。
HMI是随着时间的推移而进化的。从历史上看,设计人员构建HMI是为了在独立的嵌入式平台上运行。现在,许多HMI都是为能在现代操作系统上运行而构建的。目前运行HMI的最流行的操作系统之一是Windows操作系统。这使HMI能够通过较新的协议(例如传输控制协议/Internet协议(TCP/IP)进行通信,并与现有网络设备进行互操作。反过来,许多HMI系统现在已连接到企业网络和英特尔。
IED最初是为了支持与电网相关的特定SCADA任务而开发的。开发简易爆炸装置的一些领域包括变电站自动化、能源管理和配电管理。随着简易爆炸装置越来越先进,其功能和用途也日益扩大。一般来说,IED被认为比RTU执行的任务更具体。但是,RTU执行的许多技术和许多功能与IED重叠。
数据历史学提供了存储SCADA设备和网络的历史数据的功能。数据历史学通常为记录、分析和演示目的收集警报事件和遥测数据。数据历史学收集的信息通常存储在关系数据库管理系统中。IED、RTU和PLC用于实时读取遥测信息和控制设备,而数据历史学则用来存储遥测信息,并随着时间的推移来执行操作。数据历史学通常以只读模式操作,而不控制操作设备。
与HMI一样,RTU和PLC也随着时间的推移而发展。许多SCADA协议,如Modbus TCP、SERCOS III和PROFINET最初都是为了通过串行连接进行通信而开发的。这些协议现在已经发展到支持基于IP的通信。反过来,许多RTU和PLC现在已连接到企业网络和Internet。这些系统给我们的基础设施带来了巨大的风险,因为许多SCADA协议是在没有加密、没有身份验证和没有加密完整性的情况下开发的。
随着连接性的增加,攻击面也随之增加,因此风险也随之增加。本研究分析了SCADA系统的各种检测技术,分析了SCADA系统的安全弱点和不足。SCADA系统的识别主要集中在Modbus和MODBUST TCP协议上。本文重点研究MODBUS和MODBUS TCP协议,因为它们有许多不安全的地方,并且它们是最广泛采用的SCADA专用标准。在整个研究过程中发现的所有SCADA系统和SCADA安全漏洞都已与ICS-CERT共享。这些信息已提供给ICS-CERT,以帮助减少关键系统的暴露,并帮助协调供应商对漏洞的修复。一些敏感信息(如IP地址和相关地理位置数据)已从本文档中删除。
SCADA协议与不安全继承
2.1 MODBUS
Modbus协议是由Modicon(现为Schneider Electric)于1979年开发的,用于过程控制器和计算机之间的通信[13]。Modbus协议是为了在串行连接上运行而开发的。RS232、RS422和RS485串行连接是用于Modbus通信的主要串行连接。串行连接为两个或多个SCADA设备之间的通信提供路径。Modbus协议使用主从通信模型。
图2.1显示了Modbus主设备和单个从设备的典型地形。RS-232电缆只支持一个主站和一个从站,并且最常用于只连接一个主站和一个从站的排版。Modbus协议允许在一个主设备和多达247个不同的从设备之间进行通信。从属ID(SID)是介于1到247之间的唯一编号,表示Modbus网络中的各个从属地址。Modbus主节点没有特定的地址(或从ID),因此该协议将每个Modbus网络限制为只有一个主节点。图2.2是Modbus地形的一个示例,其中包括一个主服务器和多个从设备。RS-422和RS-485串行电缆可用于支持具有多个从设备的地形。
每个主机都可以在单播模式或广播模式下与从设备通信,如图2.3所示。
在单播模式下通信时,主节点指定1到247之间的从属ID(有时称为从属地址)。从设备ID指示主设备与之通信的特定从设备。根据所执行的功能,从设备可使用应答消息响应主设备,也可不响应主设备。在广播模式下通信时,主设备通过指定从设备ID 0向所有从设备发送广播。广播消息是只写的,从设备不响应广播消息。
图2.1 Modbus主从通信
图2.2 Modbus多从网络
Modbus主设备可以将数据读写到Modbus从设备。Modbus从设备以特定格式存储数据。有四个表存储信息。表2.1显示了Modbus设备中可用的Modbus表。每个Modbus表有9999个可能的地址。线圈的离散输入是一位数据的表示术语。线圈的离散输入是表示一种开关功能的布尔值。如果线圈头是打开或关闭的,那么这可能会导致设备执行特定的功能。例如,在控制大坝的Modbus SCADA设备中改变线圈可能会导致出口阀打开,并允许更多的水流过大坝。输入寄存器和保持寄存器用2字节的数据(16位)表示。Modbus SCADA设备可以使用输入寄存器来表示遥测信息。例如,输入寄存器可能表示被水坝阻挡的水的温度。Modbus表中存储的数据特定于每个设备实现。每个供应商设备可以不同地表示Modbus表中的数据。
表2.1 Modbus表和表地址
图2.3单播模式和广播模式
Modbus提供两种传输模式:RTU模式和ASCII模式。RTU模式以二进制格式传输Modbus通信。典型的ModbusRTU消息将包括从ID、功能代码、数据和循环冗余校验(CRC),如图2.4所示。CRC字段用于检测传输错误。如果Modbus消息中的数据在传输过程中丢失或更改,则消息的接收端可以检测到错误。但是,CRC字段不是安全功能。如果攻击者要对流量进行中间人为的(MITM)操作且操纵数据,则攻击者可以轻松地重新计算CRC。如果更改了消息并重新计算了CRC,则目标将永远不会知道消息已被操纵。
图2.4 Modbus RTU消息格式
Modbus设备的用功能代码指定任务或操作。函数代码可以是介于1和255之间的十进制(0x1和0xFF十六进制)。表2.2显示了常用功能代码的列表。功能代码可用于将数据读写到Modbus设备的内部地址。例如,如果电能表从设备接收到功能代码为2(读取输入状态)和相应数据以读取地址10001的请求,则从设备可以获得功能代码2和相应的数据1响应。1%可能表示正在使用电源。
表2.2功能码
ASCII模式以人类可读的格式传输Modbus流量,并提供更容易的可读性。Modbus ASCII流量的格式与RTU格式略有不同(参见图2.5)。ASCII帧以冒号字符开头,以回车换行符(0xD和0xA十六进制)结束。ASCII模式还使用纵向冗余检查(LRC)而不是CRC。对于ASCII帧的所有其他区域,只允许字符0-9和A-F(ASCII编码)。ASCII模式将类似的数据传输到RTU模式,但格式不同。
ASCII模式的缺点是开销更大,消息量通常更大。最大Modbus ASCII帧为513个字符(即513字节)。相比之下,Modbus RTU帧的最大值为256字节。RTU模式比ASCII模式平均效率更高,这就是RTU模式比ASCII模式更受欢迎的原因。
图2.5 Modbus ASCII消息格式
由于Modbus协议是为了在小型串行网络上运行而开发的,所以Modbus协议是在安全性很低的情况下开发的。具体地说,Modbus协议的设计没有身份验证,没有加密,也没有完整性加密。这会使Modbus设备受到一系列攻击。例如,攻击者可以从线圈或寄存器中读取信息,并从设备收集遥测或配置信息。能够在Modbus网络上进行嗅探的攻击者可以在Modbus网络上识别所有执行的操作。攻击者可以将数据写入Modbus设备中的特定表,从而导致设备停止工作或执行恶意任务。同时广播消息可用于对所有设备执行攻击。当攻击者试图用流量淹没网络以达到DOS状态时,广播消息也可能会对攻击者有所帮助。随着Modbus TCP协议的实现,增加了使用Modbus协议对SCADA网络进行攻击的风险。
2.2 MODBUS TCP
Modbus TCP是1999年开发的Modbus的变体。Modbus TCP协议与RTU模式下的Modbus协议非常相似,不同之处在于Modbus TCP在TCP/IP上运行(参见图2.6)。由于数据包的Modbus TCP部分与Modbus RTU模式没有太大区别,因此Modbus固有的安全缺陷仍然存在。Modbus TCP允许Modbus通信在标准IP网络上运行,并允许Modbus TCP在Internet上运行。
图2.6 Modbus TCP/IP数据包格
Modbus TCP规范将主节点和从节点称为客户端和服务器。虽然规范之间的术语有所不同,但客户端和服务器的目的是相同的。正如主服务器控制从服务器一样,客户机也控制服务器(参见图2.7)。Modbus TCP不支持广播模式。Modbus TCP网络可以利用标准的现成网络设备,并在星形网络拓扑上运行。标准星形拓扑是许多IP网络的典型拓扑,比以前的Modbus串行网络更易于扩展。
Modbus TCP网络也可以组合起来与串行网络进行互操作。图2.8是同时使用Modbus TCP和Modbus RTU的拓扑示例。图2.8中的从设备使用串行连接电缆连接到Modbus TCP服务器。Modbus TCP客户端和MODBUST TCP服务器使用标准网络设备连接。
在使用Modbus TCP和Modbus RTU的网络中,Modbus TCP客户端和Modbus TCP服务器充当Modbus RTU主设备和从设备的网关设备。此功能允许串行设备通过IP网络通信。在串行网络中引入Modbus TCP可能会带来新的安全挑战。以前只能通过串行连接访问的串行设备现在可以通过IP网络访问。
图2.7 Modbus TCP星形拓扑
图2.8 Modbus TCP和Modbus RTU网络
图2.6所示的数据包的Modbus部分不同于串行连接上的Modbus消息,因为Modbus TCP数据包包含事务标识符、协议标识符和长度(参见图2.9)。但是,Modbus TCP数据包不包括CRC字段。
图2.9 Modbus TCP数据包格式
事务标识符由客户端设置,用于将请求与响应相关联。协议标识符始终设置为0,表示所使用的协议是Modbus TCP。Modbus TCP中的从属ID也称为单元标识符。
与Modbus协议一样,Modbus TCP设备可以忽略某些请求、成功地处理请求并响应或返回错误消息。Modbus TCP设备可以使用许多不同的错误消息进行响应。
错误代码可以为客户端(主)提供有关Modbus TCP设备存在和状态的重要详细信息。错误消息不仅指示设备通过Modbus TCP进行通信,还可能指示其他与安全相关的信息。例如,攻击者可以猜测功能代码、数据地址和数据值,如果设备没有响应错误消息,则攻击者可以推断功能代码、数据地址或数据值是正确的。当攻击者对Modbus TCP设备执行DOS攻击时,攻击者可以使用错误代码来确定该设备是否仍在响应。攻击者可以向Modbus TCP设备发送常见的SYN-FLOAD DOS攻击,并使用已知会生成错误的请求来衡量设备的可用性。如果设备停止响应并显示错误消息,则攻击可能导致设备上的DOS成功。在特定从属设备上执行DOS攻击时,成功的应答可能会更改为忙或拒绝的错误消息。在执行攻击时,所有Modbus TCP错误消息都可用于向攻击者提供有关Modbus TCP网络的更多信息。
Modbus TCP存在许多与其前身Modbus相同的安全缺陷。由于Modbus TCP不提供身份验证、加密或加密完整
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[435884],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。