DCS的异常工况应急恢复管理系统及方法.docx
《DCS的异常工况应急恢复管理系统及方法.docx》由会员分享,可在线阅读,更多相关《DCS的异常工况应急恢复管理系统及方法.docx(9页珍藏版)》请在冰豆网上搜索。
DCS的异常工况应急恢复管理系统及方法
针对传统的工业控制系统所面临的信息安全的问题,提出了一种面向集散控制系统(DCS)的异常工况应急恢复管理系统。
实现了对工业控制系统(DCS)工程师站组态变更、DCS操作站数据与操控指令变更,以及各种主流现场总线访问、负载变更、通信行为、异常流量等变化的安全监测,并可以针对异常工况进行紧急恢复,本发明提高了工控系统的安全性、可靠性、稳定性。
附图1系统部署图例
附图2系统架构图例
一种面向集散控制系统(DCS)的异常工况应急恢复管理系统及方法,包括以下关键技术:
1)DCS系统安全节点监测系统技术:
对工业控制系统的DCS工程师站组态变更、DCS操作站数据与操控指令变更,以及各种主流现场总线访问、负载变更、通信行为、异常流量等系统安全节点进行安全监测,实现对过程状态参数、控制信号的阈值检查、分析与报警。
2)DCS工作站、操作站主机自动恢复技术:
提出了虚拟机KVM的语义重构方法、故障检测算法、以及故障剥离后的实时恢复机制;该系统保障了工控系统的安全性、可靠性、稳定性,实现工业控制系统不间断运行,全面服务于工业生产。
一种面向集散控制系统的异常工况应急恢复方法及系统
技术领域
本发明属于工业控制信息安全相关领域,特别涉及一种面向集散控制系统的异常工况应急恢复方法及系统。
背景技术
工业控制系统(ICS)是信息技术与行业专业技术紧密结合的大规模控制类系统,以提高工控系统的运行、管理、资源使用效率为目标。
随着计算机技术、通信技术和控制技术的发展,传统的控制领域正经历着一场前所未有的变革,开始向网络化方向发展。
目前,随着云计算、物联网技术的深入发展与推广,我国先进制造业自动化生产工艺流程广泛采用的集散控制系统(DCS),正朝着规模化、网络化、智能化方向的技术升级改造快速迈进。
工业控制网络逐步从封闭专有系统转变为开放系统,并大规模采用IT技术、物联网技术;从通信是以孤立的解决方案提供给用户的简单系统转变为集成化的网络系统、并与IT基础设施充分互联的系统;从只有生产部门负责工业通信的运营转变为IT部门与生产部门共同负责自动化网络的运营;在享受IT技术带来的益处的同时,针对工业控制网络系统的安全威胁也在与日俱增。
硬件设备及软件应用的互联使得恶意攻击能够很容易地借助于TCP/IP网扩展到其他系统,因此,应用层安全成为了工业控制系统(ICS)的关键。
传统的IT安全解决方案不足以应对工业基础设施领域的全新安全需求,一些工业控制产品的安全漏洞通过代码在互联网上广为传播,导致针对工控系统的信息安全攻击呈现出愈演愈烈的发展态势。
其中,以工业控制系统应用DCS的安全问题更为突出。
据统计,仅2013年前两个月,境外6747个木马或僵尸病毒入侵了中国境内190万余台主机,其中位于美国的2194台控制服务器控制了中国境内128.7万台主机。
伊朗“震网”事件震动了中国,工业控制系统安全引起我国高度重视。
事件发生后,工业和信息化部出台了《关于加强工业控制系统信息安全管理的通知》。
工业控制系统安全监测与防护技术方面的研究逐渐展开。
对工业控制系统后门、恶意代码、漏洞、和利用攻击等方面的研究日益深入。
而国内对集散控制系统的应急恢复技术的研究,受各行业技术水平的制约,发展极不平衡,市场中相关产品通用性不高,定制开发、源代码等二次开发,造成重复性人力投资成本的增加。
影响和制约着技术解决方案的制定,因此,对集散控制系统(DCS)的异常工况应急恢复的研究是工业控制系统安全技术领域面临普遍而又复杂的难点问题。
发明内容
针对传统的工业控制系统所面临的信息安全的问题,提出了一种面向集散控制系统的异常工况应急恢复系统。
实现了对工业控制系统工程师站组态变更、DCS操作站数据与操控指令变更,以及各种主流现场总线访问、负载变更、通信行为、异常流量等变化的安全监测,并可以针对异常工况进行紧急恢复,本发明提高了工控系统的安全性、可靠性、稳定性。
为了实现上述目的,本发明提出了提出了虚拟机KVM的语义重构方法、故障检测算法、以及故障剥离后的实时恢复机制;保证了系统的可信度,优势在于:
在不影响工业控制系统DCS正常工况的前提下,针对异常状况进行快速判定,并惊醒应急恢复,该系统保障了工控系统的安全性、可靠性、稳定性,实现工业控制系统不间断运行,全面服务于工业生产。
附图说明
附图1系统部署图例
具体实施方式
如图1所示,一种面向集散控制系统的异常工况应急恢复系统,所述系统包括:
故障检测模块、策略制定模块和应急恢复模块;
所述故障检测模块:
用于对DCS系统节点进行监测;提出了自适应检测策略,包括:
隐藏进程检测,隐藏驱动检测,Rootkit检测。
拦截虚拟机中客户虚拟机中发生的系统调用,比如文件的读写,进程的创建,通过拦截到这些事件触发安全工具对操作进行检测,判断操作是否合法当检测模块运行时,利用客户机的进程信息,判断是否有隐藏进程,同时检测关键进程是否在运行。
如关键进程缺失,同时发现隐藏进程,那么说明当前这个系统已经被恶意代码感染。
如果检测模块发现系统调用被修改,也说明当前系统中有恶意软件。
本技术使用了基于视图的对比检测技术来确定隐藏进程和缺失的关键进程。
通过对比检测技术来确定物联网子站系统的进程工作是否正常对工业控制系统的DCS工程师站组态变更、DCS操作站数据与操控指令变更,以及各种主流现场总线访问、负载变更、通信行为、异常流量等系统安全节点进行安全监测,实现对过程状态参数、控制信号的阈值检查、分析与报警。
并通过配置阈值,对控制指令数据,基于环境知识推理工控系统是否需要实现此类控制,对存在疑问的指令,通过策略协商的方法实现其最后判决。
对于其他类型的数据,我们为其建立上下文判决模式,实现快速判断和通过。
客户虚拟机中绝大多数操作不需要虚拟机监控器干涉,只有当客户虚拟机执行特权指令,才会陷入到虚拟机监控器。
系统调用是用户态的应用程序调用操作系统内核函数之间的接口。
由于用户态特权级为3,作系统内核特权级0,在虚拟机监控器对普通虚拟机中所产生的系统调用进行拦截。
对系统调用的拦截通过对三个寄存器的操作实现(分别为SYSENTER_CS_MSR,SYSENTER_ESP_MSR,SYSENTER_EIP_MSR)。
首先将SYSENTER_EIP_MSR保存,然后将该寄存器中的值设置为不存在的内存地址。
当普通虚拟机中客户虚拟机发生系统调用时,由于寄存器SYSENTER_EIP_MSR中的值不存在,便会发生缺页异常,引发了虚拟机陷入指令,并通知虚拟机监控器异常处理模块。
虚拟机监控器异常处理模块中加载的系统调用截获模块。
陷入虚拟机监控器之后,虚拟机监控器判断发生虚拟机退出的原因,当原因是缺页异常时,虚拟机监控器进行比较缺页地址是否是之前设定的不存在的地址:
若是其他缺页地址,虚拟机监控器会进行缺页异常处理;若是不存在的地址,虚拟机监控器便判定发生了系统调用,系统调用截获模块此时会进行拦截系统调用,并进行相应的处理操作。
最后将保存的原始系统调用入口地址写回寄存器SYSENTER_EIP_MSR,进入虚拟机发生时,执行内核中真实的系统调用。
所述策略制定模块,用于根据故障检测模块发现的系统异常情况和用户的恢复策略配置来制定恢复的策略:
如果用户进程缺失,可以简单地启动用户进程;如果操作系统调用被破坏,可以重启操作系统;如果重启之后还是有原来的问题,那么就采用从原始镜像恢复虚拟机的方式来解决问题。
每个子站采集系统都会在初次部署完毕后,制作好虚拟机的恢复镜像。
所述应急恢复模块,用于执行策略制定模块制定的恢复策略;它需要策略制定模块产生的恢复指令,例如启动,停止某个进程,可以关闭,启动虚拟机,也可以从镜像来恢复虚拟机。
具体包括两大类:
进行性恢复和虚拟机镜像恢复。
提出了基于系统调用分析的虚拟机KVM的高层语义重构方法、健康检测算法与实时恢复机制,实现了DCS工作站、操作站主机的智能应急恢复,增强了数字签名验证算法,保证了健康保障系统的隔离化的可信度,实现保障系统本身的可信。
本发明针所采用的健康检测算法,首先,采用特征空间样本选择算法对监测数据进行样本优化,找出最具代表性的样本;然后,采用核主成分分析—分布估计算法(KPCAEDA)对样本优化后的监测数据进行特征优化,在保证特征信息充足的情况下,保留更多的识别信息;该算法同KPCA等优化算法相比,在训练时间和识别率上能达到更好的平衡。
然后,采用特征空间样本选择算法对样本进行优化,这不仅可以有效地消除相似样本,提高监测模型的泛化能力,还可以降低KPCA中核矩阵运算的计算复杂度;然后,对优化后的样本集进行KPCA分析,并采用分布估计算法(EstimationofDistributionAlgorithm,EDA)对主成分特征信息进行选择,保留更多的识别信息,实现监测数据的特征优化,最终确定系统、服务、进程的健康指数。
当虚拟机故障恢复系统在收集客户虚拟机的信息时,KVM系统中配备的语义重构模块根据宿主虚拟机内存信息重构出的客户主机内存信息。
本发明提出了一种了基于系统调用的语义重构方法,该方法通过在虚拟机监控器层对客户虚拟机内部产生的系统调用进行拦截,获取低级语义,进而重构出操作系统级的高级语义,消除了语义鸿沟。
该方法能够有效地解决语义鸿沟问题,且性能开销小。
语义重构模块在虚拟机监控器层截获客户虚拟机产生的系统调用,并能根据截获得到的低级语义信息,可以重构出虚拟机内部进程信息,和执行的具体操作以及执行路径,得到更为详细的虚拟机内部高级语义,更贴近虚拟内部的真实语义。
该具体针对DCS系统的应急恢复方法如下:
本发明可根据语义判断的结果进行不同模块的恢复策略,可分别进行系统模块、服务模块、进程模块、线程模块的恢复,应急恢复模块启动顺序为:
线程模块,进程模块、服务模块、系统模块。
所述系统模块恢复,通过KVM镜像重启整个系统恢复达到应急恢复目的,这里我们定义系统应急重启恢复时间差为
,平均失效前时间
,平均恢复前时间
,平均失效间隔时间
。
系统最大健康性能指数
,随着系统异常时间的发生,系统健康指数逐步恶化,若
降到了
,则立刻进行KVM镜像恢复,最终使DCS系统的健康指数恢复到
所述服务模块恢复为恢复系统正在执行的异常服务,针对DCS某一服务模块发生异常时进行应急恢复。
定义服务进程监看指数为
,其性能最低阈值为
,立刻实施关机服务的应急恢复,恢复到当前系统能承载该鼓舞的最佳性能
,其中
,如果,
持续进行该服务所述的进行恢复,直到该服务达到最初的性能指标
,因此,会产生一系恢复后的性能指标
,及恢复重启时间差
。
所述进程模块用于恢复以为异常而造成见看指数低于预设阈值的服务进程,线程模块的恢复目的在于将需要恢复的进程的相关进行进行应急恢复。
进程恢复步骤取决于进行恢复顺序,我们定义进行恢复优先指数为:
其中,c为需要恢复的线程或者进程,
表示c的关键度,
表示c的健康指数等级,
表示重启c后释放的资源量,
表示重启c需要的成本量。
则
越大,重启进行或者线程的
越大,那么
就越大,因此优先恢复。
方法的主要处理过程如下:
步骤1)通过对SYSENTER_EIP_MSR寄存器值进行修改,使系统调用过程中出现页错误,进入缺页异常处理程序;修改缺页异常处理程序,根据错误信息判断系统是否在创建或者删除进程。
如果在创建进程,则通过获取ESP指针,并得到Thread_info结构体;
步骤2)Thread_info结构体重包含了指向task_struct结构体的指针。
从中得到进程的信息,进程号,进程名等;
步骤3)进一步讲,包含在task_struct结构体中的files_struct结构体指针包含当前进程打开的文件,通过此结构体得到指向文件描述符表结构体的指针structfdtable;
步骤4)Structfdtable包含了指向structfile的指针,通过structfile获取structdentry结构体。
在结构体中利用所包含的利用d_name与d_parent两个指针,重复执行,一直解析到根目录,得到文件的绝对路径。
附图1系统部署图例