跳转至

信息物理系统安全

3313 个字 预计阅读时间 13 分钟

课程信息

平时 20% + 小组 ppt 展示 40% + 期末个人论文 40%
ppt 展示智云录像 2023
2022
2021

课程安排

绪论

CPS 具有四大核心技术要素,即“一硬”(感知和自动控制“一软”(工业软件“一网”(工业网络“一平台”(工业云和智能服务平台

工控系统

工控系统,即工业控制系统,是对工业生产过程进行监测和控制的系统。它广泛应用于制造业、石油和天然气等各个领域,用于控制和监测各种设备、生产线和机器人等。

工控系统的核心组件包括数据采集与监控系统(SCADA、分布式控制系统(DCS、可编程控制器(PLC、远程终端(RTU、人机交互界面设备(HMI)以及确保各组件通信的接口技术。

典型入侵事件

震网病毒(Stuxnet)是世界上第一个专门定向攻击真实世界中基础设施的计算机蠕虫病毒。它于 2010 6 月首次被检测出来,具有极强的隐身和破坏力。该病毒利用了多个零日漏洞,可以自动感染和传播,主要通过改变离心机的转速来破坏工业设备,如伊朗的核设施中的离心机。震网病毒的发现标志着网络武器由构造简单的低端武器向结构复杂的高端进攻性武器的过渡,也打破了与外界封闭的工业系统可以免受网络袭击破坏的神话。

零日漏洞

零日漏洞(Zero-Day Vulnerability)是指被发现后立即被恶意利用的安全漏洞。这种漏洞在被发现的当天,相关的恶意程序或攻击手段就会出现,因此得名为“零日”。零日漏洞之所以危险,是因为它们通常没有已知的解决方案或补丁,使得攻击者可以利用这些漏洞进行未经授权的访问、数据窃取、系统破坏等恶意行为。

信息物理系统(Cyber Physical System,简称 CPS

信息物理系统是一个综合了计算、网络和物理环境的多维复杂系统。它通过人机交互接口实现和物理进程的交互,使用网络化空间以远程的、可靠的、实时的、安全的、协作的方式操控一个物理实体。CPS 的核心特征是将计算、通信和控制三个维度融合在一起,形成一个统一的系统。

CPS 的发展历史可以分为三个阶段:第一阶段是传统的嵌入式系统,主要是将计算机嵌入到物理设备中,实现对设备的控制和管理;第二阶段是物联网(IoT,利用无线通信技术将物理设备连接起来,实现对设备的远程监测和控制;第三阶段是 CPS,利用云计算、大数据、人工智能等技术将物理设备与网络服务集成起来,实现对设备的智能化和优化。

CPS 的应用领域非常广泛,包括智能交通、智能电网、智能制造、智能医疗、智能家居等。例如,在智能交通领域,CPS 可以实现车辆与道路基础设施、交通信号灯等的实时通信和协同控制,提高交通效率和安全性;在智能制造领域,CPS 可以实现生产设备与信息系统的深度融合,实现生产过程的智能化和柔性化。

img

大多数协议没有开放的协议规范或缺乏完整的协议描述尤其是专有协议,如工业控制协议和物联网协议

工业控制系统中处于对安全、隐私等考虑,制造商一般不会透露此类协议的细节,这给入侵检测、模糊测试漏洞分析和指纹识别等安全研究带来了挑战

协议的要素

报文格式语法、语义、次序、采取的动作

典型工控协议

Modbus TCP 协议

Modbus MODICON 公司于 1979 年开发,是一种工业现场总线协议标准。1996 年施耐德公司推出基于以太网 TCP/IP Modbus 协议。属于应用层的协议

Modbus 通信的设备分为主站 (mater) 和从站 (slave),主站为主动方,从站为被动方。

报文结构

在这里插入图片描述

MBAP 报文头为 7 个字节长

image-20240508144701385

PDU:1 字节功能码 +N 字节数据

通信的过程为

  1. 主站设备主动向从站设备发送请求:功能码 + 数据
  2. 从站设备处理主站的请求后,向主站返回结果。
  3. 如果从站设备处理请求出现异常,则向主站设备返回异常功能码。

DNP3 协议

基于主从的协议,允许从站上传信息,采用多轮问询——应答的方式。

DNP3 协议在应用层实现了对传输数据的分片、校验、控制等功能,并提供了数据的分片重组、数据校验、链路控制、优先级等一系列服务。协议中大量使用了 CRC 校验来保证数据的准确性。DNP3 协议基于 TCP/IP,使用 20000 端口进行通信。

DNP3 协议的特点包括:

  • 可靠性高,适用于工业环境。
  • 具有错误检测能力,保证数据的准确性。
  • 支持多种数据对象,包括二进制输入、二进制输出、计数器输入、模拟输入、模拟输出等。
  • 支持串行点对点、点对多点连接,以及层次到汇聚的点到多点的拓扑结构。

逆向方法和原理

协议逆向工程是指在不依赖协议描述的情况下,通过对协议实体的网络输入输出、系统行为和指令执行流程进行监控和分析,提取协议语法、语义和同步信息的过程是工程化的协议逆向分析方法。

基于程序执行的方法

基于程序执行的方法,也被称为动态分析方法,通过实际运行目标程序,并监控其行为和状态来分析程序的内部结构和功能。这种方法通常使用调试器、模拟器或虚拟机等工具来执行程序,并记录程序执行过程中的指令、数据流、函数调用等信息。

例子: 假设我们想要分析一个加密程序,以了解其加密算法。我们可以使用调试器附加到该程序上,并逐步执行程序的指令。通过观察程序执行过程中的数据流和函数调用,我们可以推断出程序使用的加密算法,并可能找到解密的方法。

基于报文的方法

语法、语义、顺序、动作

基于报文的方法,也被称为静态分析方法,通过分析程序的二进制代码、汇编代码或源代码等静态表示来理解程序的结构和功能。这种方法通常使用反汇编器、反编译器或源代码分析工具等来解析程序的代码,并提取出程序的函数、变量、数据结构等信息。

例子: 假设我们想要分析一个网络通信程序,以了解其通信协议。我们可以使用反汇编器将程序的二进制代码转换为汇编代码,并分析程序的网络通信函数。通过观察函数的参数和返回值,我们可以推断出程序使用的通信协议,并可能找到破解或伪造通信数据的方法。

基于差分的方法

差分是一种比较基本且有效的协议逆向分析方法

方法依赖于大量的网络数据包,并比较这些数据包中不同的部分。

通过识别数据包之间的差异,可以推断出协议的结构和工作方式。

例如,如果工程师站发送两个请求数据包,一个启动设备,一个停止设备并且在网络流量中,这两个请求的数据只有一位 ( 比如第 N 个字节 ) 是不同的,那么就可以推断这个位可能是控制设备开关的命令字段

威胁建模

image-20240529154044354

威胁模式分析

image-20240529142555579

攻击可达性

image-20240529142633068

结合漏洞传播的 USB 摆渡攻击模式

第三方供应商攻击是指由于第三方供应商安全意识淡漠、产品安全性参差不齐,致使攻击者可通过对第三方产品进行漏洞挖掘找到突破点,进而对主目标系统实施恶意攻击的方式。这种方式和传统的产业链中,产品通过销售网络送到消费者手中的模式相

基于推送更新的水坑攻击模式是指攻击者首先通过猜测(或观察)来确定目标网络中使用的服务,并入侵其中一个或多个服务,在服务的推送更新中植入恶意代码,达到感染目标中部分成员的目的。与第三方供应链污染相比,此类攻击的目标更加明确且流程更短,由于此种攻击借助正规服务的更新推送,对目标的攻击成功率很高,且隐蔽性很强。

横向移动性

横向移动由攻击者用来进入和控制网络中远程系统的技术组成,通常包括利用默认凭证、利用漏洞、利用远程文件共享服务、利用 POU(程序组织单元、利用合法凭证等,还可能利用 IT OT 网络上的双宿主设备和系统。

image-20240529142833008

利用 POU 在控制器之间扩散

程序组织单元(Programming Organization Unit, POU)是 PLC 编程中用于创建程序和项目的块结构。PLC 可以执行用户编写的 POU,这些 POU 包含控制可编程逻辑控制器的指令,从而控制工业过程。除此之外,不同型号的 PLC 还具有扩展的 POU 功能,例如可以使用扩展指令和其他设备之间建立连接。但是,这种扩展功能也存在一定的弊端,如果该 PLC 被攻击者攻陷、植入病毒的话,利用此连接就可以把病毒传播给其他设备,从而在控制器之间扩散。

利用工控协议从上位机向控制器扩散

协议认证是指根据协议规范来检查协议实体间的交互是否满足一定特性或条件的过程,例如,检查是否有死锁存在。通过协议认证,可以获知协议设计是否满足正确性、完整性和一致性等要求。在工控系统中,Modbus 协议无疑是主流的工控协议之一,但是该协议具有致命的缺陷——缺乏认证和完整性机制。攻击者可以利用此缺陷,构造蠕虫病毒在不同设备之间传播。

暴力突破 PLC 密码认证机制

防御方法

①确保对控制逻辑的保护,防止未经授权的访问和对控制逻辑的修改,同时增强工业控制系统与其他网络的隔离,加强纵深防御安全

②对控制逻辑进行验证,在将每次编写好的程序下载进 PLC 执行之前先验证控制逻辑,防止程序的控制流劫持

③对未经授权的工业控制系统网络中控制逻辑包传输进行检测和阻止

持续隐蔽性

持续隐蔽性相关技术包括劫持重要的 DLL 文件、伪装成正常的应用程序或关键设备、篡改控制器控制逻辑程序、篡改控制器固件、开发针对控制器的 Rootkit、控制主设备与从设备进行通信、抑制响应功能避免安全报警和清除攻击痕迹以防止技术人员攻击溯源等技术。

image-20240529143058534

DLL 劫持工程师站中的组态软件

伪装成虚拟 PLC 隐藏恶意攻击

利用 PLC 逻辑炸弹持续窃取敏感信息

梯形逻辑炸弹是指用梯形图编写的恶意软件。攻击者可以将恶意软件注入 PLC 的现有控制逻辑中,改变控制动作或者等待特定的触发信号来激活恶意行为。

利用引脚控制攻击开发高隐蔽的 Rootkit

破坏杀伤性

通过干扰工厂过程控制造成生产损失

利用 PLC 安全机制漏洞进行勒索

通过欺骗 SCADA 控制现场设备

利用虚假数据注入影响控制决策

攻击安全仪表系统突破安全约束

设备安全分析

控制安全分析

安全防御技术