CN109831443B - 工业控制网络攻防实验平台及半实物仿真方法 - Google Patents
工业控制网络攻防实验平台及半实物仿真方法 Download PDFInfo
- Publication number
- CN109831443B CN109831443B CN201910142621.6A CN201910142621A CN109831443B CN 109831443 B CN109831443 B CN 109831443B CN 201910142621 A CN201910142621 A CN 201910142621A CN 109831443 B CN109831443 B CN 109831443B
- Authority
- CN
- China
- Prior art keywords
- network
- industrial
- simulation
- attack
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
本发明涉及一种工业控制网络攻防实验平台及半实物仿真方法,包括本地实验平台和远程实验平台;本地实验平台的仿真主机、PLC、工业触摸屏分别与工业以太网交换机连接而形成本地局域网;远程实验平台仿真主机通过互联网接入所述本地局域网;通过在各仿真主机和PLC上搭建具有网络攻击模拟模块和网络损伤模拟模块的实验系统,运行实验系统以调节各实验系统控制器参数,直至达到预期控制效果。既可以在本地网络中利用网络损伤技术模拟远程网络环境开展实验,又可以将远程网络设备部署于异地开展远程实验。能够发起远程网络攻击和本地网络攻击,提高了网络攻击的真实性。在真实性、可复用性和成本方面,能够满足绝大多数的网络攻防与控制的实验需求。
Description
技术领域
本发明涉及工业控制系统网络安全领域,特别涉及一种工业控制网络攻防实验平台及半实物仿真方法。
背景技术
工业控制网络,是指以具有通信能力的控制器、传感器、执行器等作为网络节点,以现场总线或工业以太网等作为通信介质,以开放式、数字化、多节点的形式,完成测量与控制任务的工业网络。在信息化与工业化深度融合的进程中,工业控制网络在极大地提高了控制系统柔性以及工业生产效率的同时,也使得网络信息安全问题延伸到了工业生产领域,并引发了日益严峻的设备安全与生产安全问题,这些问题受到了工业控制领域以及信息安全领域相关技术人员的广泛关注。
目前,在工业系统安全防护与控制的研究中,技术人员通常搭建工业控制网络实验平台来进行系统安全评估、攻防演练、控制性能测试等。根据结构的不同,这些实验平台可分为“全仿真”、“全实物”、“半实物仿真”三种类型。其中,全仿真实验平台,多见于本领域学术论文中,通常利用网络仿真软件模拟复杂网络特性和网络攻击,用控制系统仿真软件模拟工业控制系统中的各个单元,两个仿真环境之间用专用软件接口连接并实现实时数据交互;而全实物实验平台是基于所研究的部分或整体实际系统搭建的真实实验环境;半实物仿真实验平台,则是用控制系统仿真软件模拟系统的控制器、网络通信、网络攻击,用有代表性的实际系统或硬件装置作为被控对象,用专用或通用软硬件接口将仿真环境与被控对象进行连接,进而达到实验目的。
在现有技术中,全仿真实验平台虽然能够模拟复杂的网络特性,且成本低廉、使用方便,但在一定程度上缺乏网络攻击及被控对象的真实性。而全实物实验平台虽然实验环境真实,但成本昂贵、搭建周期长、可复用性低。此外,现有半实物仿真实验平台由于使用了控制系统仿真软件而非网络仿真软件,且没有引入实际工业网络,因此仅能模拟简单的网络环境和部分类型的网络攻击,存在一定局限性。因此需要克服目前半实物实验平台及相应实验方法在真实性、可复用性和成本方面缺陷,寻求真实性和可靠性均能更优化的半实物仿真实验平台及方法。
发明内容
有鉴于此,本发明要解决的技术问题在于提供一种工业控制网络攻防实验平台及半实物仿真方法,旨在解决上述现有技术中的不足。
为解决上述技术问题,本发明提供如下技术方案:
一种工业控制网络攻防实验平台,包括本地实验平台和远程实验平台;其特征在于:所述本地实验平台包括第一仿真主机、第二仿真主机、PLC、实际工业对象、工业触摸屏、工业以太网交换机、第一工业VPN安全模块、第一工业路由器、第一ISP接口,所述实际工业对象包括传感器、执行机构和被控对象;所述远程实验平台包括第三仿真主机、第二工业VPN安全模块、第二工业路由器、第二ISP接口;所述第一工业路由器与所述第一ISP接口连接,所述第二工业路由器与所述第二ISP接口连接,使得所述本地实验平台和所述远程实验平台均接入互联网;
所述第一仿真主机、所述第二仿真主机、所述PLC、所述工业触摸屏分别与所述工业以太网交换机连接而形成本地局域网;或者所述第一仿真主机、所述第二仿真主机、所述PLC分别与所述工业以太网交换机连接,所述工业触摸屏通过串行通信方式与所述PLC连接形成所述本地局域网;
所述第一工业VPN安全模块连接于所述第一工业路由器和所述工业以太网交换机之间,所述第二工业VPN安全模块连接于所述第二工业路由器和所述第三仿真主机之间,使得在第一工业VPN安全模块和第二工业VPN安全模块之间建立一个VPN通道,将所述第三仿真主机通过互联网接入所述本地局域网,并构建第三仿真主机与所述PLC间的VPN连接。
进一步的,所述实际工业对象与所述PLC通过标准输入输出接口或现场总线连接。
进一步的,所述第一仿真主机、所述第二仿真主机、所述第三仿真主机均安装控制系统仿真软件、PLC编程软件和OPC服务器配置软件;所述控制系统仿真软件用于设置控制器、建立OPC客户端、模拟网络攻击、模拟被控对象、实现实时控制;所述PLC编程软件用于对所述PLC和所述工业触摸屏进行程序设置和画面组态;所述OPC服务器配置软件用于建立所述控制系统仿真软件与所述PLC之间通信所需的OPC服务器。
进一步的,所述PLC用于实现对所述实际工业对象的输入输出数据处理、对所述本地局域网模拟网络攻击和网络损伤。
进一步的,所述工业触摸屏用于直观显示所述PLC的内部数据,用于操作发起网络攻击,并能够对网络损伤的类型和参数进行设置。
另一方面,本发明基于上述工业控制网络攻防实验平台,还提供了一种工业控制网络攻防半实物仿真方法,包括三个步骤:
步骤一,对所述工业控制网络攻防实验平台中的各个网络节点进行配置,并在所述第一仿真主机、所述第二仿真主机和所述第三仿真主机上分别建立各自的OPC服务器和OPC客户端,以实现与所述PLC的OPC通信;
步骤二,在所述第一仿真主机上搭建模拟工业对象,在所述第二仿真主机上搭建第一实时控制器和第二实时控制器,在所述第三仿真主机上搭建第三实时控制器和第一网络攻击模拟模块,在所述PLC上设置第二网络攻击模拟模块和网络损伤模拟模块,在所述工业触摸屏上设置一个人机交互界面;
步骤三,依次运行所述实际工业对象、所述PLC和所述工业触摸屏,然后同时运行三台仿真主机上的实验系统;所述三台仿真主机上的实验系统包括所述模拟工业对象、所述第一实时控制器、所述第二实时控制器、所述第三实时控制器和所述第一网络攻击模拟模块;在所述工业触摸屏上设置所述第二网络攻击模拟模块和所述网络损伤模拟模块的参数,在所述第三仿真主机上设置所述第一网络攻击模拟模块的参数;调节所述第一实时控制器、所述第二实时控制器和所述第三实时控制器参数,直至达到预期控制效果。
所述步骤一中,所述OPC服务器由所述OPC服务器配置软件创建,所述OPC客户端由所述控制系统仿真软件创建,所述OPC通信的数据源为所述PLC中的寄存器。
所述步骤二中,所述模拟工业对象由所述控制系统仿真软件创建,用来模拟工业系统中的传感器、执行器、被控对象;所述第一实时控制器、第二实时控制器、第三实时控制器均由所述控制系统仿真软件创建;所述第一实时控制器完成对所述模拟工业对象的控制任务,所述第二实时控制器和所述第三实时控制器共同完成对所述实际工业对象的分布式控制;所述第一网络攻击模拟模块用来模拟远程网络攻击,攻击目标是所述第一实时控制器和所述模拟工业对象之间的通信网络;所述第二网络攻击模拟模块用来模拟本地网络攻击,攻击目标是所述第二实时控制器、所述第三实时控制器与所述实际工业对象之间的通信网络;所述第一网络攻击模拟模块和所述第二网络攻击模拟模块,至少能够模拟虚假数据注入攻击、拒绝服务攻击、重放攻击三种网络攻击类型;所述网络损伤模拟模块,至少能够模拟网络时延、丢包、抖动、误码四种网络损伤功能,网络损伤目标为所述第一实时控制器和所述模拟工业对象之间的通信网络。
进一步的,在所述PLC中实现网络损伤功能的步骤如下:
首先生成随机数:读取相应网络损伤功能开启时刻的PLC时钟“小时”和“分钟”数据,作为随机种子使用线性同余法计算当前采样时刻的随机数;
然后,在PLC的主程序中,建立能够容纳100个16位无符号整数的先入先出数据表并初始化;开启定时中断功能,设定定时时间,在中断处理程序中按以下方法编写并执行以下程序:
步骤1,刷新数据;将来自网络通道的原始数据送入先入先出数据表,然后跳转至步骤2;
步骤2,生成固定时延;判断固定时延功能是否开启,若未开启,跳转至步骤3;若开启,读取当前时刻的固定时延值,如读得设定时延,则将数据表从入口起第6个数据传送至中间寄存器,并跳转到步骤4;
步骤3,生成网络抖动:判断网络抖动功能是否开启,若未开启,跳转到步骤4;若开启,读取预设的网络抖动范围并生成随机数,将所得随机数与抖动设定值下限相加,并按步骤2相同方法传送相应数据至中间寄存器,然后跳转到步骤4;
步骤4,实现数据丢包:判断数据丢包功能是否开启,若未开启,跳转到步骤5;若开启,读取预设的丢包概率值,则将生成的1-100范围内的随机数与预设的丢包概率值比较,若比较结果大于18,则将数据表入口数据传送至中间寄存器,并跳转到步骤6,表示当前时刻不作丢包处理;反之,若比较结果小于等于18,将先将中间寄存器的数据清零后,再跳转到步骤6;
步骤5,实现误码功能:判断误码功能是否开启,若未开启,将数据表入口数据传送至中间寄存器,并跳转到步骤6;若开启,读取预设误码率,将生成的1-100范围内的随机数与预设误码率比较,若比较结果大于5,则将数据表入口数据传送至中间寄存器,并跳转到步骤6,表示当前时刻不作误码处理;反之,若比较结果小于等于5,生成0-3范围内的随机数,根据随机数的值和预设的四种误码方式,对中间寄存器的数据进行处理,处理后的数据仍存储于其中,然后转到步骤6;四种误码方式分别为高八位清零、低八位清零、高四位取反、低四位取反;
步骤6,将中间寄存器数据输出至相应寄存器,跳出此次中断处理程序。
进一步的,在所述PLC和所述第三仿真主机中实现网络攻击的步骤如下:
设原始数据为x,拟发送数据为y,即攻击目标是由x所在寄存器到y所在寄存器之间的网络通道;对于带有模拟网络损伤功能的两个通道,应先进行网络损伤、后进行网络攻击;网络攻击根据下式通过修改攻击参数的方式进行:
y=(x+a)×b+c
其中a、b、c为待修改的攻击参数,a和c的初值为0,b的初值为1;对所述PLC而言,所述攻击参数在人机交互界面上修改,对所述第三仿真主机而言,所述攻击参数在所述第一网络攻击模拟模块仿真界面修改;
其中,网络攻击分为以下三种方式:
1)、虚假数据注入攻击:根据需要直接设置相应的a、b、c以实现任意的虚假数据注入,例如设置b为0,c为某固定值,模拟对该通道强制数据;或者设置a和c为0,b为0.8,模拟对该通道强制限幅;
2)拒绝服务攻击:设a和c为0,b为0或1,根据网络损伤功能中的数据丢包实现方法,通过设定较大丢包概率,生成1-100范围的随机数,使其动态调整b的值即可;
3)重放攻击:设b为1,a为0,手动输入c值;或根据网络损伤功能中时延和抖动的设置思想,通过设定较大时延和抖动参数实现。
由此,本发明提供了一种灵活多变并易于实现的半实物工业控制网络攻防实验平台及仿真方法。相对于现有技术,本发明的有益效果是:
本发明以实际工业控制网络为基础,既可以在本地网络中利用网络损伤技术模拟远程网络环境开展实验,又可以将远程网络设备部署于异地,开展远程实验。同时,在灵活多样的网络环境中,能够发起远程网络攻击和本地网络攻击,提高了网络攻击的真实性。此外,本发明兼顾了模拟工业对象和实际工业对象,在真实性、可复用性和成本方面,能够满足绝大多数的网络攻防与控制的实验需求。再者,实时控制器由控制系统仿真软件搭建,能够充分发挥仿真软件在控制算法研究与设置方面的优势。整体上,本发明为该领域的技术人员提供了一种有效的实验平台和仿真方法,解决了现有技术的不足。
附图说明
图1为本发明工业控制网络攻防实验平台结构示意图;
图2为本发明工业控制网络攻防半实物仿真方法原理图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍。显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
根据本发明实施的一种工业控制网络攻防实验平台如图1所示,包括本地实验平台和远程实验平台两个部分;所述本地实验平台包括第一仿真主机、第二仿真主机、PLC、实际工业对象、工业触摸屏、工业以太网交换机、第一工业VPN安全模块、第一工业路由器、第一ISP接口,所述实际工业对象包括传感器、执行机构和被控对象;所述远程实验平台包括第三仿真主机、第二工业VPN安全模块、第二工业路由器、第二ISP接口。
本实施例中,为使所述本地实验平台和所述远程实验平台均能够接入互联网,分别将所述第一工业路由器的WAN接口与所述第一ISP接口连接、所述第二工业路由器的WAN接口与所述第二ISP接口连接,连接电缆选用工业以太网电缆。第一ISP接口和第二ISP接口通过互联网实现有线或无线通讯。
本实施例中,所述第一仿真主机、所述第二仿真主机、所述PLC、所述工业触摸屏分别通过工业以太网电缆与所述工业以太网交换机的下联接口连接;优选的,所述工业以太网交换机接口数量为五个,即包括四个下联接口和一个上联接口;所述PLC在与工业以太网交换机连接的上行端配备了一个标准工业以太网接口,而不使用“串口转以太网模块”扩展;所述PLC在与实际工业对象连接的下行端设置标准I/O接口或具有串行通信接口;所述工业触摸屏通过串行通信接口与PLC的串行通信接口连接;或者所述工业触摸屏通过一个标准工业以太网接口或使用“串口转以太网模块”与所述工业以太网交换机连接。
本实施例中,将所述第一工业VPN安全模块的外网接口连接至所述第一工业路由器的LAN接口,第一工业VPN安全模块的内网接口连接至所述工业以太网交换机的上联接口;将所述第二工业VPN安全模块的外网接口连接至所述第二工业路由器的LAN接口,第二工业VPN安全模块的内网接口连接至所述第三仿真主机的网络接口。至此,在第一工业VPN安全模块和第二工业VPN安全模块之间建立了一个VPN通道,实现了将所述第三仿真主机通过互联网接入所述本地局域网的目的。
所述实际工业对象与所述PLC通过标准输入输出接口或现场总线连接,以构成典型工业控制对象。
本实施例中,所述第一仿真主机、所述第二仿真主机、所述第三仿真主机均安装控制系统仿真软件、PLC编程软件和OPC服务器配置软件。其中,所述控制系统仿真软件,用于设置控制器、建立OPC客户端、模拟网络攻击、模拟被控对象、实现实时控制;本实施例选用MATLAB作为控制系统仿真软件,除此之外也可选用LabVIEW,或同时使用MATLAB与LabVIEW;所述PLC编程软件用于对所述PLC和所述工业触摸屏进行程序设置和画面组态,PLC编程软件需要根据所述PLC型号选定,若PLC编程软件没有集成对所述工业触摸屏的画面组态功能,还需单独安装相应的触摸屏画面组态软件;所述OPC服务器配置软件用于建立所述控制系统仿真软件与所述PLC之间通信所需的OPC服务器,本实施例选用所述PLC的厂商提供的OPC配置软件,除此之外也可选用MatrikonOPC、KepServer等第三方OPC服务器配置软件。
本实施例中,所述PLC用于实现对所述实际工业对象的输入输出数据处理、对所述本地局域网模拟网络攻击和网络损伤。所述网络损伤是指一种在局域网中通过软件形式模拟广域网中的时延、丢包、抖动、误码等网络特性的技术。所述实际工业对象可以直接使用商品化的过程控制实验装置,也可根据实验需要,使用有标准I/O接口或具有串行通信接口的传感器、执行机构自行搭建。因此,若所述实际工业对象与所述PLC通过串行通信接口进行数据交互,则所述PLC还应配备一个串行通信接口。
_此外,所述工业触摸屏用于直观显示所述PLC的内部数据、发起网络攻击、对网络损伤的类型和参数进行设置,并不参与OPC通信过程中的数据交互,对通信的实时性要求并不严格,所以工业触摸屏与所述PLC的通信方式采用串行通信亦可。
图2是本发明工业控制网络攻防半实物仿真方法原理图,用来更清楚说明本发明的仿真方法实施步骤及原理。
本实施例中,所述工业控制网络攻防半实物仿真方法基于本发明的工业控制网络攻防实验平台进行,分为三个步骤:
步骤一,对所述工业控制网络攻防实验平台中的各个网络节点进行配置,并在所述第一仿真主机201、所述第二仿真主机202和所述第三仿真主机203上分别建立各自的OPC服务器(第一仿真主机201的OPC服务器204、第二仿真主机202的OPC服务器205、和第三仿真主机203的OPC服务器206)和OPC客户端(第一仿真主机201的OPC客户端207、第二仿真主机202的OPC客户端208、第三仿真主机203的OPC客户端209),以实现与所述PLC210的OPC通信;
步骤二,在所述第一仿真主机201上搭建模拟工业对象211,在所述第二仿真主机202上搭建第一实时控制器212和第二实时控制器213,在所述第三仿真主机203上搭建第三实时控制器214和第一网络攻击模拟模块215,在所述PLC210上设置第二网络攻击模拟模块216和网络损伤模拟模块217,在所述工业触摸屏218上设置一个人机交互界面219;
步骤三,依次运行所述实际工业对象220、所述PLC210和所述工业触摸屏218,然后同时运行三台仿真主机(第一仿真主机201、第二仿真主机202、第三仿真主机203)上的实验系统(包括OPC客户端和OPC服务器204-209、以及211-215);在所述工业触摸屏218上,通过人机交互界面219,设置所述第二网络攻击模拟模块216和所述网络损伤模拟模块217的参数,在所述第三仿真主机203上设置所述第一网络攻击模拟模块215的参数;调节所述第一实时控制器212、所述第二实时控制器213和所述第三实时控制器214参数,直至达到预期控制效果。
相关技术人员使用本发明研究的半实物仿真平台及方法进行实验的目的,通常是为了研究和验证技术人员设计的控制器,在网络攻击和/或网络损伤情景下的控制性能;而被控对象是由技术人员根据研究需要所选择的,且不同的被控对象预期控制效果也是不同的,例如对于某些定值控制系统,预期控制效果可以表述为:在指定时间n内,被控变量y趋于某个预先设定的常数s,即lti→mny=s;对于技术人员而言,预期达到何种控制效果,通常是自明的,在此不再赘述。
本实施例构建了两个有代表性的网络化控制系统,第一个控制系统以所述第一实时控制器212为控制器,以所述模拟工业对象211为被控对象,以带有网络损伤功能(PLC210包括13个寄存器,分别为图2所述的第一寄存器220-第十三寄存器232,网络损伤功能发生在寄存器第三寄存器222到第二寄存器221之间、第一寄存器220到第四寄存器223之间)的本地局域网为通信网络,构成闭环系统。网络损伤功能,由所述网络损伤模拟模块217,根据人机交互界面219发送给PLC210的第十三寄存器232的网络损伤参数确定,图例参见图2左上角中的示意标记。所述第一网络攻击模拟模块215能够对所述本地局域网发起远程攻击:第十寄存器229读取第一寄存器220和第三寄存器222的原始数据,发送给所述第一网络攻击模拟模块215,根据设定的网络攻击参数,生成攻击数据序列,经过第九寄存器228分别作用于第一寄存器220至第四寄存器223、第三寄存器222至第二寄存器221两个通道,实现了远程攻击功能。
本实施例构建的第二个控制系统,以第二实时控制器213和第三实时控制器214作为分布式控制器,以所述实际工业对象220为被控对象,以实际远程网络为通信网络,构成闭环系统。所述第二网络攻击模拟模块216能够对所述本地局域网发起本地攻击:第十三寄存器232读取第十一寄存器230和第十二寄存器231的数据,根据人机交互界面219发送给第十三寄存器232的网络攻击参数,通过所述第二网络攻击模拟模块216,生成攻击数据序列,分别作用于第十一寄存器230至所述实际工业对象220、第十二寄存器231至第六寄存器225、第十二寄存器231至第八寄存器227三个通道,实现了本地攻击功能。
本实施例在所述PLC210中实现网络损伤功能的方法如下:
为实现网络损伤功能,需生成随机数,其方法为:
读取相应网络损伤功能开启时刻的PLC时钟“小时”和“分钟”数据,作为随机种子,记为seed(0),使用线性同余法计算当前采样时刻的随机数,计算公式如下:
seed(n)=[seed(n-1)×a+b]mod c
其中seed(n)表示当前采样时刻的随机数,mod为取余数运算,a和b为预设的正整数,c为设定的随机数范围。如设c为100,则生成随机数的取值范围为0到99。
实现网络损伤的方法为:
在PLC的主程序中,建立能够容纳100个16位无符号整数的先入先出数据表并初始化,所述初始化主要包括初始化中间寄存器和表格数据;开启定时中断功能,定时时间50毫秒,在中断处理程序中按以下方法编写程序:
步骤1,刷新数据。将来自网络通道的原始数据送入先入先出数据表,然后跳转至步骤2;
步骤2,生成固定时延。判断固定时延功能是否开启,若未开启,跳转至步骤3;若开启,读取当前时刻的固定时延值(从所述工业触摸屏218读取,正整数),如读得5(表示250毫秒的时延),则将数据表从入口起第6个数据传送至中间寄存器,并跳转到步骤4;
步骤3,生成网络抖动。判断网络抖动功能是否开启,若未开启,跳转到步骤4;若开启,读取预设的网络抖动范围,如设定5-20(表示网络时延在0.25秒到1秒之间随机抖动),则先生成0-15范围的随机数,将所得值与抖动设定值下限相加,并按步骤2相同方法传送相应数据至中间寄存器,然后跳转到步骤4;
步骤4,实现数据丢包。判断数据丢包功能是否开启,若未开启,跳转到步骤5;若开启,读取预设的丢包概率值,如设定值为18(表示丢包概率为18%),则将生成的1-100范围内的随机数与设定值18比较,若生成的随机数大于18,则将数据表入口数据传送至中间寄存器,并跳转到步骤6,表示当前时刻不作丢包处理;反之,将先将中间寄存器的数据清零后,再跳转到步骤6;
步骤5,实现误码功能。判断误码功能是否开启,若未开启,将数据表入口数据传送至中间寄存器,并跳转到步骤6;若开启,读取预设误码率,如设定5(表示5%的误码率),则将生成的1-100范围内的随机数与设定值5比较,若生成的随机数大于5,则将数据表入口数据传送至中间寄存器,并跳转到步骤6,表示当前时刻不作误码处理;反之,生成0-3范围内的随机数,根据随机数的值和预设的四种误码方式(高八位清零、低八位清零、高四位取反、低四位取反),对中间寄存器的数据进行处理,处理后的数据仍存储于其中,然后转到步骤6;
步骤6,将中间寄存器数据输出至相应寄存器,跳出此次中断处理程序。
本实施例在所述PLC210和所述第三仿真主机203中实现网络攻击的方法如下(网络攻击图例分别参见图2中左上角图例示样):
设原始数据为x,拟发送数据为y,即攻击目标是由x所在寄存器到y所在寄存器之间的网络通道。对于带有模拟网络损伤功能的通道,如第三寄存器222至第二寄存器221通道(参见图2中两个寄存器之间的攻击序列图例),第一寄存器220至第四寄存器223(参见图2中两个寄存器之间的攻击序列图例)通道,应先进行网络损伤、后进行网络攻击。
设网络攻击为以下形式:
y=(x+a)×b+c
其中a、b、c为待修改参数,a和c的初值为0,b的初值为1。对所述PLC210而言,攻击参数在人机交互界面219上修改,对所述第三仿真主机203而言,攻击参数在所述第一网络攻击模拟模块215仿真界面修改。
虚假数据注入攻击:可根据需要直接设置相应的a、b、c以实现任意的虚假数据注入,例如设置b为0,c为某固定值,模拟对该通道强制数据;或者设置a和c为0,b为0.8,模拟对该通道强制限幅;
拒绝服务攻击:设a和c为0,b为0或1,根据网络损伤功能中的数据丢包实现方法,通过设定较大丢包概率(如80%),生成1-100范围的随机数,使其动态调整b的值即可;
重放攻击:设b为1,a为0,手动输入c值;或根据网络损伤功能中时延和抖动的设置思想,通过设定较大时延和抖动参数实现。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种工业控制网络攻防实验平台,包括本地实验平台和远程实验平台;其特征在于:所述本地实验平台包括第一仿真主机、第二仿真主机、PLC、实际工业对象、工业触摸屏、工业以太网交换机、第一工业VPN安全模块、第一工业路由器、第一ISP接口,所述实际工业对象包括传感器、执行机构和被控对象;所述远程实验平台包括第三仿真主机、第二工业VPN安全模块、第二工业路由器、第二ISP接口;所述第一工业路由器与所述第一ISP接口连接,所述第二工业路由器与所述第二ISP接口连接,使得所述本地实验平台和所述远程实验平台均接入互联网;
所述第一仿真主机、所述第二仿真主机、所述PLC、所述工业触摸屏分别与所述工业以太网交换机连接而形成本地局域网;或者所述第一仿真主机、所述第二仿真主机、所述PLC分别与所述工业以太网交换机连接,所述工业触摸屏通过串行通信方式与所述PLC连接形成本地局域网;
所述第一工业VPN安全模块连接于所述第一工业路由器和所述工业以太网交换机之间,所述第二工业VPN安全模块连接于所述第二工业路由器和所述第三仿真主机之间,使得在第一工业VPN安全模块和第二工业VPN安全模块之间建立一个VPN通道,将所述第三仿真主机通过互联网接入所述本地局域网,并构建第三仿真主机与所述PLC间的VPN连接;
所述第三仿真主机上搭建第一网络攻击模拟模块对本地局域网发起模拟远程攻击,在所述PLC上设置第二网络攻击模拟模块模拟本地网络攻击和设置网络损伤模拟模块模拟网络损伤。
2.根据权利要求1所述的一种工业控制网络攻防实验平台,其特征在于:所述实际工业对象与所述PLC通过标准输入输出接口或现场总线连接。
3.根据权利要求1所述的一种工业控制网络攻防实验平台,其特征在于:所述第一仿真主机、所述第二仿真主机、所述第三仿真主机均安装控制系统仿真软件、PLC编程软件和OPC服务器配置软件;所述控制系统仿真软件用于设置控制器、建立OPC客户端、模拟网络攻击、模拟被控对象、实现实时控制;所述PLC编程软件用于对所述PLC和所述工业触摸屏进行程序设置和画面组态;所述OPC服务器配置软件用于建立所述控制系统仿真软件与所述PLC之间通信所需的OPC服务器。
4.根据权利要求1所述的一种工业控制网络攻防实验平台,其特征在于:所述PLC用于实现对所述实际工业对象的输入输出数据处理、对所述本地局域网模拟网络攻击和网络损伤。
5.根据权利要求1所述的一种工业控制网络攻防实验平台,其特征在于:所述工业触摸屏用于直观显示所述PLC的内部数据,用于操作发起网络攻击,并能够对网络损伤的类型和参数进行设置。
6.一种工业控制网络攻防半实物仿真方法,其特征在于:基于权利要求1-5任一项所述的工业控制网络攻防实验平台进行,包括三个步骤:
步骤一,对所述工业控制网络攻防实验平台中的各个网络节点进行配置,并在所述第一仿真主机、所述第二仿真主机和所述第三仿真主机上分别建立各自的OPC服务器和OPC客户端,以实现与所述PLC的OPC通信;
步骤二,在所述第一仿真主机上搭建模拟工业对象,在所述第二仿真主机上搭建第一实时控制器和第二实时控制器,在所述第三仿真主机上搭建第三实时控制器和第一网络攻击模拟模块,在所述PLC上设置第二网络攻击模拟模块和网络损伤模拟模块,在所述工业触摸屏上设置一个人机交互界面;
步骤三,依次运行所述实际工业对象、所述PLC和所述工业触摸屏,然后同时运行三台仿真主机上的实验系统;所述三台仿真主机上的实验系统包括所述模拟工业对象、所述第一实时控制器、所述第二实时控制器、所述第三实时控制器和所述第一网络攻击模拟模块;在所述工业触摸屏上设置所述第二网络攻击模拟模块和所述网络损伤模拟模块的参数,在所述第三仿真主机上设置所述第一网络攻击模拟模块的参数;调节所述第一实时控制器、所述第二实时控制器和所述第三实时控制器参数,直至达到预期控制效果。
7.根据权利要求6所述的工业控制网络攻防半实物仿真方法,其特征在于:所述OPC服务器由所述OPC服务器配置软件创建,所述OPC客户端由所述控制系统仿真软件创建,所述OPC通信的数据源为所述PLC中的寄存器。
8.根据权利要求6所述的工业控制网络攻防半实物仿真方法,其特征在于:所述步骤二中,所述模拟工业对象由所述控制系统仿真软件创建,用来模拟工业系统中的传感器、执行器、被控对象;所述第一实时控制器、第二实时控制器、第三实时控制器均由所述控制系统仿真软件创建;所述第一实时控制器完成对所述模拟工业对象的控制任务,所述第二实时控制器和所述第三实时控制器共同完成对所述实际工业对象的分布式控制;所述第一网络攻击模拟模块用来模拟远程网络攻击,攻击目标是所述第一实时控制器和所述模拟工业对象之间的通信网络;所述第二网络攻击模拟模块用来模拟本地网络攻击,攻击目标是所述第二实时控制器、所述第三实时控制器与所述实际工业对象之间的通信网络;所述第一网络攻击模拟模块和所述第二网络攻击模拟模块,至少能够模拟虚假数据注入攻击、拒绝服务攻击、重放攻击三种网络攻击类型;所述网络损伤模拟模块,至少能够模拟网络时延、丢包、抖动、误码四种网络损伤功能,网络损伤目标为所述第一实时控制器和所述模拟工业对象之间的通信网络。
9.根据权利要求6所述的工业控制网络攻防半实物仿真方法,其特征在于:在所述PLC中实现网络损伤功能的步骤如下:
首先生成随机数:读取相应网络损伤功能开启时刻的PLC时钟“小时”和“分钟”数据,作为随机种子使用线性同余法计算当前采样时刻的随机数;
然后,在PLC的主程序中,建立能够容纳100个16位无符号整数的先入先出数据表并初始化;开启定时中断功能,设定定时时间,在中断处理程序中按以下方法编写并执行以下程序:
步骤1,刷新数据;将来自网络通道的原始数据送入先入先出数据表,然后跳转至步骤2;
步骤2,生成固定时延;判断固定时延功能是否开启,若未开启,跳转至步骤3;若开启,读取当前时刻的固定时延值,如读得设定时延,则将数据表从入口起第6个数据传送至中间寄存器,并跳转到步骤4;
步骤3,生成网络抖动:判断网络抖动功能是否开启,若未开启,跳转到步骤4;若开启,读取预设的网络抖动范围并生成随机数,将所得随机数与抖动设定值下限相加,并按步骤2相同方法传送相应数据至中间寄存器,然后跳转到步骤4;
步骤4,实现数据丢包:判断数据丢包功能是否开启,若未开启,跳转到步骤5;若开启,读取预设的丢包概率值,则将生成的1-100范围内的随机数与预设的丢包概率值比较,若比较结果大于18,则将数据表入口数据传送至中间寄存器,并跳转到步骤6,表示当前时刻不作丢包处理;反之,若比较结果小于等于18,将先将中间寄存器的数据清零后,再跳转到步骤6;
步骤5,实现误码功能:判断误码功能是否开启,若未开启,将数据表入口数据传送至中间寄存器,并跳转到步骤6;若开启,读取预设误码率,将生成的1-100范围内的随机数与预设误码率比较,若比较结果大于5,则将数据表入口数据传送至中间寄存器,并跳转到步骤6,表示当前时刻不作误码处理;反之,若比较结果小于等于5,生成0-3范围内的随机数,根据随机数的值和预设的四种误码方式,对中间寄存器的数据进行处理,处理后的数据仍存储于其中,然后转到步骤6;四种误码方式分别为高八位清零、低八位清零、高四位取反、低四位取反;
步骤6,将中间寄存器数据输出至相应寄存器,跳出此次中断处理程序。
10.根据权利要求6所述的工业控制网络攻防半实物仿真方法,其特征在于:在所述PLC和所述第三仿真主机中实现网络攻击的步骤如下:
设原始数据为x,拟发送数据为y,即攻击目标是由x所在寄存器到y所在寄存器之间的网络通道;对于带有模拟网络损伤功能的两个通道,应先进行网络损伤、后进行网络攻击;网络攻击根据下式通过修改攻击参数的方式进行:
y=(x+a)×b+c
其中a、b、c为待修改的攻击参数,a和c的初值为0,b的初值为1;对所述PLC而言,所述攻击参数在人机交互界面上修改,对所述第三仿真主机而言,所述攻击参数在所述第一网络攻击模拟模块仿真界面修改;
其中,网络攻击分为以下三种方式:
1)虚假数据注入攻击:根据需要直接设置相应的a、b、c以实现任意的虚假数据注入,设置b为0,c为固定值,模拟对该通道强制数据;或者设置a和c为0,b为0.8,模拟对该通道强制限幅;
2)拒绝服务攻击:设a和c为0,b为0或1,根据网络损伤功能中的数据丢包实现方法,通过设定较大丢包概率,生成1-100范围的随机数,根据随机数动态调整b的值即可;
3)重放攻击:设b为1,a为0,手动输入c值;或根据网络损伤功能中时延和抖动的设置思想,通过设定较大时延和抖动参数实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910142621.6A CN109831443B (zh) | 2019-02-26 | 2019-02-26 | 工业控制网络攻防实验平台及半实物仿真方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910142621.6A CN109831443B (zh) | 2019-02-26 | 2019-02-26 | 工业控制网络攻防实验平台及半实物仿真方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109831443A CN109831443A (zh) | 2019-05-31 |
CN109831443B true CN109831443B (zh) | 2021-06-04 |
Family
ID=66864517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910142621.6A Expired - Fee Related CN109831443B (zh) | 2019-02-26 | 2019-02-26 | 工业控制网络攻防实验平台及半实物仿真方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109831443B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110475227B (zh) * | 2019-07-26 | 2022-03-22 | 上海帆一尚行科技有限公司 | 车联网信息安全防护的方法、装置、系统、电子设备 |
CN110705118B (zh) * | 2019-10-11 | 2023-07-25 | 合肥工业大学 | 工业控制系统的网络实验平台及其构建方法 |
CN111103811A (zh) * | 2020-01-20 | 2020-05-05 | 清华大学 | 一种控制系统半实物仿真平台 |
CN112073411B (zh) * | 2020-09-07 | 2022-10-04 | 软通智慧信息技术有限公司 | 一种网络安全推演方法、装置、设备及存储介质 |
CN112118272B (zh) * | 2020-11-18 | 2021-01-15 | 中国人民解放军国防科技大学 | 基于仿真实验设计的网络攻防推演平台 |
CN113341903A (zh) * | 2021-06-28 | 2021-09-03 | 国家工业信息安全发展研究中心 | 一种智能制造安全测试床 |
CN114374535B (zh) * | 2021-12-09 | 2024-01-23 | 北京和利时系统工程有限公司 | 一种基于虚拟化技术的控制器网络攻击防御方法与系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013176711A2 (en) * | 2012-02-15 | 2013-11-28 | The Trustees Of Columbia University In The City Of New York | Methods, systems, and media for inhibiting attacks on embedded devices |
CN105607509A (zh) * | 2016-01-21 | 2016-05-25 | 浙江大学 | 一种工业无线控制系统半物理安全实验平台 |
CN105988408A (zh) * | 2015-01-28 | 2016-10-05 | 上海远动科技有限公司 | 一种基于vpn的plc远程诊断设备及其应用 |
CN107942724A (zh) * | 2017-11-15 | 2018-04-20 | 华中科技大学 | 一种工业关键基础设施信息安全防护仿真验证平台 |
CN108111482A (zh) * | 2017-11-24 | 2018-06-01 | 国网天津市电力公司电力科学研究院 | 一种智能电网工业控制网络安全测试系统和测试方法 |
CN108650111A (zh) * | 2018-03-29 | 2018-10-12 | 中国电力科学研究院有限公司 | 信息安全电力半实物仿真平台搭建方法及系统 |
-
2019
- 2019-02-26 CN CN201910142621.6A patent/CN109831443B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013176711A2 (en) * | 2012-02-15 | 2013-11-28 | The Trustees Of Columbia University In The City Of New York | Methods, systems, and media for inhibiting attacks on embedded devices |
CN105988408A (zh) * | 2015-01-28 | 2016-10-05 | 上海远动科技有限公司 | 一种基于vpn的plc远程诊断设备及其应用 |
CN105607509A (zh) * | 2016-01-21 | 2016-05-25 | 浙江大学 | 一种工业无线控制系统半物理安全实验平台 |
CN107942724A (zh) * | 2017-11-15 | 2018-04-20 | 华中科技大学 | 一种工业关键基础设施信息安全防护仿真验证平台 |
CN108111482A (zh) * | 2017-11-24 | 2018-06-01 | 国网天津市电力公司电力科学研究院 | 一种智能电网工业控制网络安全测试系统和测试方法 |
CN108650111A (zh) * | 2018-03-29 | 2018-10-12 | 中国电力科学研究院有限公司 | 信息安全电力半实物仿真平台搭建方法及系统 |
Non-Patent Citations (1)
Title |
---|
新型工业控制系统勒索蠕虫威胁与防御;刘煜堃等;《计算机应用》;20180320;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109831443A (zh) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109831443B (zh) | 工业控制网络攻防实验平台及半实物仿真方法 | |
Reaves et al. | An open virtual testbed for industrial control system security research | |
Radoglou-Grammatikis et al. | Attacking iec-60870-5-104 scada systems | |
CN105242540A (zh) | 基于平均驻留时间的网络控制系统动态切换控制方法 | |
CN112738022B (zh) | 一种针对机器人操作系统ros消息的攻击方法 | |
CN110225064A (zh) | 监测僵尸网络攻击行为的方法、装置、设备和存储介质 | |
CN104158823B (zh) | 一种面向LDoS与LDDoS的模拟方法 | |
CN111865928A (zh) | 一种拟态交换机的安全性测试装置及测试方法 | |
Waagsnes et al. | Intrusion Detection System Test Framework for SCADA Systems. | |
El Bouchti et al. | Modeling cyber-attack for SCADA systems using CoPNet approach | |
Ghanaim et al. | Markov modeling of delays in networked automation and control systems using colored Petri net models simulation | |
Tylman | SCADA intrusion detection based on modelling of allowed communication patterns | |
Li et al. | Modeling and analysis of network control system based on hierarchical coloured Petri net and Markov chain | |
Jaromin et al. | Design and implementation of industrial control system emulators | |
Puys et al. | SCADA cybersecurity awareness and teaching with Hardware-In-The-Loop platforms | |
Meyer-Berg et al. | Iot dataset generation framework for evaluating anomaly detection mechanisms | |
Vondrous et al. | Simulation of the application layer in narrowband networks with conditional data injection XML scheme based on universal data generator | |
KR20170094699A (ko) | 디지털 데이터 통신장치 및 데이터 모의장치 | |
Babu et al. | Emulation/simulation of PLC networks with the S3F network simulator | |
Nguyen et al. | Development of industrial network forensics lessons | |
CN110941232A (zh) | 针对工控网络的便携式安全靶场装置及其方法 | |
Ionete et al. | Ethernet for networked control an experimental test bench | |
Guedes et al. | Work-in-progress on a thin IEEE1451. 0-architecture to implement reconfigurable weblab infrastructures | |
Antoniou et al. | THE OPERATION AND CYBER SECURITY OF INDUSTRIAL CONTROL SYSTEMS AND INDUSTRIAL COMMUNICATION PROTOCOLS: AN EXPLORATORY APPROACH | |
Li-li et al. | Modeling and verification of Colored Petri Net in stop and wait protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210604 |
|
CF01 | Termination of patent right due to non-payment of annual fee |