本发明属于工业控制系统攻击检测技术领域,特别涉及一种基于串行通信总线信号分析的工控系统物理入侵攻击检测方法。
背景技术:
工业控制系统是应用于电力、工业生产、交通、加工制造等领域的自动化控制系统,该系统主要依靠控制中心对各层级网络中设备的运行状态进行监测,并对现场采集到的物理量测数据进行处理分析,从而维持系统的稳定和安全。随着通信技术的发展和信息网络的融合,各领域间工控系统的级联关系使得其整体变得日益庞大和复杂,在工控系统从集中式控制到分布式控制的转变过程中,虽然提升了系统整体的控制效率和响应速度,但却降低了控制中心对处于底层或边缘的总线级网络的安全监管能力。尤其是对于处于无人监守场所中的工业基础设施,更无法保证设备本身的安全性。
2017年,美国塔尔萨大学的staggs博士及其团队公布了一种针对风电场的攻击“windshark”,他们通过撬开风力发电设备的服务器机柜,在其中物理接入了通信设备,从而实现对风电场内部系统的控制和恶意操作,对风电场内的涡轮机和自动化控制器都造成了损坏。从这一案例中可以看出,当前大多数的工业控制系统都无法很好地防护物理式入侵攻击,攻击者甚至可以很轻易的在工控系统终端的串行通信总线网络内物理接入通信设备,利用接入设备篡改通信总线上的通信信号,亦或是伪造恶意指令、数据发送到串行通信总线上,造成串行通信总线网络中设备工作的异常,甚至扰乱系统的稳定运行,这对于工控系统来说是极大地威胁。
在传统的工控系统中,对于常见的网络入侵式攻击,已经有很多安全防御方法的研究,例如通过网络通信加密算法来保证信息安全,通过流量监测来防止恶意数据注入,通过入侵检测系统来识别恶意攻击行为等,然而上述方法在工控系统的物理入侵攻击面前却很难适用。一方面,工控系统的串行总线通信网络缺乏安全保障,在遭受物理入侵之后没有很有效的方法去检测系统中是否存在外部设备,在通信时又缺乏相应的身份认证机制;另一方面,在串行通信总线网络中,由于工业设备通信的实时性要求,以及设备本身的弱计算能力,串行通信总线协议中很难依靠设计完善的加密算法来保证信息可靠,且这些协议在设计之初都是对外界公开的,攻击者很容易利用这些协议截获信息或是伪造指令。以上两点都说明,工控系统串行通信总线网络存在物理入侵的安全隐患,同时又很难对入侵系统的外接设备进行检测,这将会给工控系统的稳定运行造成极大的不良影响。
技术实现要素:
本发明的目的在于提供一种基于串行通信总线信号分析的工控系统物理入侵攻击检测方法,用于防止工控系统可能面临的物理入侵攻击威胁,并能有效解决在工控系统串行通信总线网络中利用传统的网络入侵防御方法不能有效检测系统中存在的恶意外接设备的安全问题。
为了实现上述目的,本发明采用如下技术方案:
基于串行通信总线信号分析的工控系统物理入侵攻击检测方法,包括:通过串行通信总线网络中的总线控制器主动向通信总线中发送检测信号,监测设备对通信总线进行信号的采样分析后,与设备数据库中存储的标准信号进行差分对比,并利用降噪技术、弱信号检测技术在差异信号中进行入侵信号的检测,根据由物理入侵设备所引起的入侵信号的检测结果,有效地判断出系统中是否存在外部恶意设备,确定系统是否遭受物理入侵攻击。
进一步的,具体包括以下步骤:
s1:串行通信总线网络中的总线控制器按照设定的时间周期监听工控系统中串行通信总线的使用情况:
若通信总线处于空闲状态,则由总线控制器发送一次检测信号;
若通信总线处于数据传输状态,则控制器继续监听等待,直到通信总线处于空闲状态时,由总线控制器发送一次检测信号;
s2:工控系统中部署的监测设备对串行通信总线上所有的通信信号进行采样接收和协议解析;
s3:监测设备对解析后的接收信号进行分析,判断是否开始执行工控系统串行通信总线网络的物理入侵攻击检测;
s4:将接收到的信号数据与监测设备信号数据库中的标准信号数据进行差分对比,得到两个信号之间的差异信号;
s5:对差异信号进行入侵信号检测,若在差异信号中检测出入侵信号,则判断此时工控系统串行通信总线网络中已遭受物理入侵攻击,继续执行s6;若在差异信号中没有检测出入侵信号,则判断此时工控系统串行通信总线网络没有受到物理入侵攻击,监测设备继续监听总线接收下一次通信信号;
s6:根据入侵信号的检测结果,若工控系统串行通信总线网络中遭受物理入侵攻击,则将检测结果上报给串行通信总线网络中的总线控制器,总线控制器对物理入侵攻击作出快速判断和应急响应。
进一步的,步骤s1中,检测信号根据串行通信总线的协议规范设定,并且检测信号在数字序列上有别于所有正常的通信信号,检测信号只能被串行通信总线网络中相应的监测设备进行识别和解析,其他设备不会对检测信号作出响应。
进一步的,步骤s2具体为:
根据工控系统中串行通信总线类型,采用对应的modbus协议、canbus协议、p-net协议、profibus协议、worldfip协议、controlnet协议、ff协议或hart协议对通信信号进行协议解析,得到数字信号序列。
进一步的,步骤s3具体包括:
s301:将步骤s2所解析得到的数字信号序列与检测信号的数字序列进行一致性检测,若接收到的信号是检测信号,则开始进行工控系统串行通信总线网络物理入侵攻击的检测,执行步骤s302;若接收到的信号不是检测信号,则不作任何响应,继续监听总线接收下一次通信信号;
s302:根据接收信号与检测信号一致的检测结果,继续判断监测设备是否第一次接收到检测信号,若监测设备的信号数据库为空,则将接收到的信号数据存储在本地数据库中,并认为此信号是系统正常情况下的标准信号;若监测设备的信号数据库中已存储有信号数据,则继续执行步骤s4。
进一步的,步骤s5中,入侵信号是由于物理入侵攻击所引起的在总线控制器发送的原有检测信号上增加的确知信号,入侵信号具有与检测信号相同的周期。
进一步的,步骤s5具体包括:
s501:对步骤s4获得的差异信号数据进行降噪处理;
s502:利用弱信号检测技术,对差异信号中可能存在的入侵信号进行检测,根据弱信号检测的结果判断入侵信号是否存在。
进一步的,还包括以下步骤:总线控制器收到物理入侵攻击的检测信号后,向主站报警。
相对于现有技术,本发明具有以下有益效果:
本发明提供的一种基于串行通信总线信号分析的工控系统物理入侵攻击检测方法,通过监测设备对串行通信总线信号采样分析后,与设备信号数据库中存储的标准信号进行差分对比,并利用降噪技术、弱信号检测技术在差异信号中进行入侵信号的检测,根据由物理入侵设备所引起的入侵信号的检测结果,能快速、有效地判断出系统中是否存在外部恶意设备,确定系统是否遭受物理入侵攻击的安全状态,解决了现有利用网络防御方法无法有效检测物理入侵攻击的工控系统串行通信总线网络的安全性技术问题。
此外,本发明利用工控系统串行通信总线网络中的总线控制器发送检测信号,再利用部署在网络中的监测设备对信号进行采样接收、差分对比分析以及信号检测,既不会增加原有通信设备的改造成本,也不会破坏原有通信网络的连接结构。
本发明的检测信号是根据工控系统串行通信总线类型以及协议来设定的,而且检测信号在数字序列上与所有正常的通信信号均不相同,且只有在串行通信总线空闲时发送检测信号,既不会影响通信设备间的正常通信,也不会因为其他设备接收检测信号而作出异常响应导致系统紊乱。
本发明中监测设备在接收到信号后,首先进行接收信号序列与检测信号序列一致性检测,在检测结果不一致情况下继续监听,以及在入侵检测结果中未发现入侵信号后监测设备转为继续监听状态,都可进一步减小工控系统串行通信总线物理入侵攻击的检测时间和资源,提升整体检测方法应用的快速性和高效性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为工控系统rs485通信总线网络结构图;
图2为工控系统rs485通信总线网络的等效模型图;
图3为工控系统rs485通信总线网络的稳态模型图;
图4为监测设备对差异信号数字平均法降噪处理图;其中,图4(a)为带有噪声的差异信号,图4(b)为数字平均处理后的差异信号;
图5为监测设备对差异信号中入侵信号互相关检测结果图;其中,图5(a)为有入侵的检测结果,图5(b)为无入侵的检测结果;
图6为本发明的流程图。
具体实施方式
本发明实施例提供了一种基于串行通信总线信号分析的工控系统物理入侵攻击检测方法,解决了现有利用网络防御方法无法有效检测物理入侵攻击的工控系统串行通信总线网络的安全性技术问题。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。本发明实施例提供的一种基于串行通信总线信号分析的工控系统物理入侵攻击检测方法的一个应用例的攻击情景,为在工控系统rs485总线网络中,攻击者通过物理入侵方式在系统中植入外接设备,利用该设备获取通信信息并伪造控制指令,危及系统安全和稳定,通过以下案例具体分析。
图1为工控系统rs485通信总线1的网络结构图,该系统主要由总线控制器2和各类通信设备如量测设备3、控制设备4组成,所有设备都以菊花链式的结构挂接在rs485总线之上;所有设备连接电力传输线的火线l、零线n和接地线e。在所有设备中,只有控制器有权限向总线上发送信号,根据rs485平衡发送、差分接收的通信模式,两条信号线中的信号为相反信号,其他设备以两个信号的差值作为接收信号,并根据协议以及地址对信号过滤或响应。
图2为工控系统rs485通信总线网络的等效模型图,在该模型中控制器等效为两个同步的相反信号源,其他通信设备均看作定值输入阻抗,传输线末端还跨接用以消除反射的匹配电阻。当系统遭受攻击者的物理入侵攻击后,攻击者在原系统中接入的一个外接设备也被看作模型中的输入阻抗。为了更好地反应出系统通信稳态情况下的信号波形,工控系统rs485通信总线网络的稳态模型图如图3所示。
在稳态模型中,传输线也进一步等效为具有定值的稳态阻抗,该稳态阻抗有别于传输线路在瞬态情况下的特性阻抗,因为传输线中的电容电感在稳态情况下不再对信号产生影响,稳态阻抗只与传输线本身的电阻和其长度、粗细、材质等固有参数有关。如图3所示,zi(i=1,2,...,n)表示第i个设备的输入阻抗,zm是消除信号反射的终端匹配电阻,zr是信号源内阻,而
因此,暂不考虑攻击者在系统中插入的外接设备的情况下,在计算图3稳态模型的系统阻抗时,需要经过以下两个迭代过程:
1)赋初值r0=zr,计算zm后项阻抗:
2)用上述迭代结果rn计算zm前项阻抗:
而当攻击者通过物理入侵将一个外接设备接入系统中时,假设外接设备的接入位置位于第k个设备和第k+1个设备之间,那么在上述阻抗迭代计算的过程中,将会发生如下两个变化:
1)计算rk→rk+1时:
2)计算r2n-k→r2n-k+1时:
针对此类攻击情况,结合图3和上述系统阻抗的推导,具体说明本发明中的一种基于串行通信总线信号分析的工控系统物理入侵攻击检测方法,其包括以下步骤:
当系统初次使用本发明的物理入侵攻击检测方法时,具体执行过程以及步骤如下:
步骤s1:rs485通信总线网络中的总线控制器监听总线使用状态,当检测到总线处于空闲状态时,向rs485两条信号线发送检测信号u(t)以及根据rs485平衡发送模式对检测信号作相反处理后的信号-u(t),检测信号是周期为200μs、幅值为-5v~5v的方波信号;
步骤s2:部署在rs485通信总线网络中的监测设备对总线上出现的信号进行采集,根据图3的稳态模型,假设系统中第m个位置的设备是监测设备,那么在总线控制器发出检测信号u(t)的情况下,监测设备所采集到的两条信号线的差分信号为:
vdiff(m,t)=2(ρm-μm)u(t)+υ(t)
其中υ(t)是环境噪声和量测噪声的总和,ρm和μm是第m个监测设备处的电压信号分配系数:
然后监测设备会根据rs485常用协议—modbus协议对信号进行解析,得到相应的数字信号序列;
步骤s3:监测设备对解析后的信号进行分析处理,具体包括以下步骤:
步骤s301:将收到信号对应的数字序列与检测信号的数字序列进行一致性检测,如果二者不一致,这说明此信号并非用以执行物理入侵攻击检测的检测信号,监测设备继续保持监听状态;如果二者一致,这说明收到检测信号,转为执行步骤s302;
步骤s302:监测设备判断检测信号是否为首次收到,经过对设备本地信号数据库的检测发现,数据库中并无数据,则判断此时的检测信号为系统初始状态下的标准信号,将标准信号的数据存储到信号数据库中,并结束本次物理入侵攻击检测过程。
当系统非初次使用本发明的物理入侵攻击检测方法时,具体执行过程以及步骤如下:
步骤s1:当rs485总线处于空闲状态时,总线控制器向rs485两条信号线发送检测信号u(t)以及根据rs485平衡发送模式对检测信号作相反处理后的信号-u(t);
步骤s2:监测设备对总线上出现的信号进行采集,根据图3的稳态模型,当攻击者通过物理入侵在系统接入了外部设备后,在相同检测信号的情况下,监测设备所采集到的信号变为:
v′diff(m,t)=2(ρ′m-μ′m)u(t)+ω(t)
其中ω(t)是环境噪声和量测噪声的总和,ρ′m和μ′m变为以下两种情况:
1)若第k+1个设备在第m个设备之前,则:
2)若第k个设备在第m个设备之后,则:
ρ′m=ρm
然后监测设备根据rs485常用协议—modbus协议对信号进行解析,得到相应的数字信号序列;
步骤s3:监测设备对解析后的信号进行分析处理,具体包括以下步骤:
步骤s301:将收到信号对应的数字序列与检测信号的数字序列进行一致性检测,如果二者不一致,这说明此信号并非用以执行物理入侵攻击检测的检测信号,监测设备继续保持监听状态;如果二者一致,这说明收到检测信号,转为执行步骤s302;
步骤s302:监测设备判断检测信号是否为首次收到,经过对设备本地信号数据库的检测发现,数据库中已经存储有标准信号,则继续执行物理入侵攻击检测过程,转为执行步骤s4;
步骤s4:将接收到的检测信号数据与监测设备信号数据库中的标准信号数据进行差分对比,得到两个信号之间的差异信号;
若系统并未受到攻击者的物理入侵攻击,即无外接设备,那么差分信号的结果应为:
δvdiff(m,t)=υ(t)-ω(t)
若系统遭受攻击者的物理入侵攻击,系统中存在外接设备,那么差分信号的结果应为:
δvdiff(m,t)=δ(t)+υ(t)-ω(t)
δ(t)=2[(ρm-ρ′m)-(μm-μ′m)]u(t)
其中δ(t)就是由于外接设备所引起的入侵信号;
步骤s5:对差异信号进行入侵信号检测,其检测方法与步骤具体包括:
步骤s501:对差异信号数据进行降噪处理;在本实施例中采用数字平均法提高差异信号的信噪比,并利用matlab软件对监测设备上的差异信号降噪处理进行了仿真,图4为差异信号数字平均法降噪处理图,从图中可以看出,数字平均法可以有效降低环境噪声、量测噪声对差异信号的影响;
步骤s502:对入侵信号的存在进行检测;在本实施例中的检测方法使用了互相关检测技术,并利用matalb软件对监测设备上的差异信号进行了入侵检测的仿真,图5为入侵信号互相关检测结果图,从图中可以看出,利用互相关检测技术可以明显区分入侵信号的有无,从而为系统的物理入侵攻击作出判断;
若在差异信号中检测出入侵信号,则判断rs485通信总线网络中已遭受物理入侵攻击,继续执行s6;若在差异信号中没有检测出入侵信号,则判断rs485通信总线网络没有受到物理入侵攻击,监测设备转为继续监听状态,并结束本次物理入侵攻击检测的过程;
步骤s6:根据入侵信号的检测结果,若rs485通信总线网络中遭受物理入侵攻击,则将检测结果上报给rs485控制器,以便于控制器对物理入侵攻击作出快速判断和应急响应。
由以上叙述可得,利用本发明提出的物理入侵攻击检测方法,可以在rs485通信总线网络中快速而准确的判别系统中是否存在外接设备,确定系统遭受物理入侵攻击。