用于入侵检测系统研究的工业控制系统仿真和数据记录
Title:Industrial Control System Simulation and Data Logging for Intrusion Detection System Research
一、摘要
IDS 研究人员需要工具和数据来促进研究。首先,IDS 研究人员通常使用包含来自系统的攻击和正常工件的数据日志来训练和测试用于检测网络攻击的分类器。麻省理工学院林肯实验室创建的 1999 年 DARPA 数据集旨在让研究人员测试可行的入侵检测系统 (IDS) 的有效性。该数据集一直是进一步研究评估计算机网络 IDS 并为其他研究人员比较和验证结果提供基准的重要组成部分,但发现该数据集包含意外模式,导致算法轻松学习场景之间的差异。
目前,工业控制系统IDS研究不存在通用的共享数据日志。因此,研究人员通常会针对本地拥有的系统开发一组网络攻击,捕获数据日志,然后训练和测试他们的 IDS。这些数据日志通常不共享,这使得比较适用的 IDS 变得困难。本文介绍了实验室规模的天然气管道系统捕获的一组数据日志。数据日志包括正常操作期间和 35 次网络攻击期间标记的网络事务。其次,除了数据日志之外,本文描述了一个使用 Python 构建的虚拟天然气管道,虚拟管道包括人机界面(HMI)、虚拟物理过程、虚拟可编程逻辑控制器(PLC)和虚拟网络。将虚拟管道的行为与实验室规模的气体管道进行比较。除了对天然气管道进行建模外,虚拟管道的底层组件构成了对其他工业控制系统进行建模的平台。因为建模系统是虚拟的,所以建模系统的大小没有物理限制。因此,该平台允许对工业控制系统进行大规模建模。
二、攻击类型分类
攻击类别:响应注入、侦察、拒绝服务、命令注入
响应注入:简单恶意响应注入(NMRI)、复杂恶意响应注入(CMRI)
命令注入:恶意状态命令注入(MSCI)、恶意参数命令注入(MPCI)、恶意功能代码命令注入(MFCI)
侦察:收集控制系统网络信息,绘制网络架构图,识别设备特征(制造商、型号、支持的协议、系统地址和系统内存映射)
响应注入攻击改变从服务器到客户端的响应,从而提供虚假的系统状态信息。NMRI攻击利用了在网络中注入或更改响应数据包的能力,但是缺乏被监视和控制的过程的信息。CMRI攻击试图掩盖被控制的物理过程的真实状态,从而对管理网络物理系统的反馈控制回路产生负面影响。
命令注入攻击将错误的控制和配置命令注入控制系统以改变系统行为。恶意命令注入的潜在影响包括流程控制丢失、设备通信终端、未经授权修改设备配置以及未经授权修改流程设置点。
恶意状态命令注入攻击通过向远程现场设备发送恶意命令来改变过程控制的状态,从而将系统从安全状态驱动到临界状态。恶意参数命令注入攻击会改变PLC的设置点。
恶意功能代码注入攻击传输滥用协议网络参数来改变网络行为的命令。
拒绝服务 (DOS) 攻击以通信为目标,链接或尝试禁用在控制系统、记录数据和管理通信的系统端点上运行的程序。
35次网络攻击,大致分为四类
侦察 | ||
---|---|---|
设备扫描攻击 | 扫描所有可能由主控设备控制的设备。 | |
读取 ID 攻击 | 读取从设备的 ID。不记录有关设备的数据,但会像正在记录一样执行。 | |
Dos | ||
坏 CRC 攻击 | 发送 CRC 值不正确的 MODBUS 数据包。这可能导致拒绝服务 | |
NMRI | ||
随机值攻击 | 随机压力测量值被发送到主机。 | |
负压攻击 | 从从站发回负压读数。 | |
CMRI | ||
上升/下降攻击 | 发送在压力读数图表上创建趋势的背压读数。 | |
斜坡攻击 | 通过随机斜率随机增加/减少压力读数 | |
快速攻击 | 发回一个高设定点,然后是一个“快速”变化的低设定点 | |
慢速攻击 | 发回一个高设定值,然后是一个低设定值,它会“缓慢”变化 | |
MSCI | ||
泵攻击 | 随机改变泵的状态。 | |
电磁攻击 | 随机改变螺线管的状态 | |
系统模式攻击 | 随机改变系统模式。 | |
危急情况攻击 | 将系统置于临界状态。这种情况不包括在正常活动中。 | |
MPCI | ||
设定点攻击 | 在正常操作范围之外和之内改变压力设定点 | |
PID 增益攻击 | 改变正常操作范围内外的增益。 | |
PID 复位率攻击 | 在正常操作范围之外和之内改变复位率。 | |
PID 速率攻击 | 改变正常操作范围外和内的速率。 | |
PID死区攻击 | 改变正常操作范围内外的死区。 | |
PID 循环时间攻击 | 将循环时间更改为正常操作范围之外和之内。 | |
MFCI | ||
清除寄存器攻击 | 清除从设备中的寄存器。 | |
强制监听攻击 | 强制从站仅监听 | |
重启攻击 | 在设备上重新启动通信 | |