一种工业控制系统恶意数据攻击的数据图检测方法
【技术领域】
[0001] 本发明公开了一种工业控制系统恶意数据注入攻击检查方法,它属于工业控制系 统安全和入侵检测技术领域。
【背景技术】
[0002] 工业控制系统中采集的数据被篡改会导致严重的安全事故,当前的入侵检测方法 主要有特征检测与行为检测,但是无法检测到此类数据攻击。本发明不同于特征和行为检 测,但能够检测到恶意数据攻击工业控制系统的时刻。
[0003] 工业控制系统所面临的信息安全问题,通常源于企图破坏控制系统操作的恶意威 胁等。因而,工业控制系统特别是电力SCADA系统需要实时检测及防范虚假数据注入攻击, 从而提供系统所需的安全网络和控制系统。
[0004] 2010年信息技术领域发生了很多令人震惊或影响深刻的安全大事,比如维基解 密事件、"震网"病毒(Stuxnet)影响伊朗核电厂的正常并网发电。而其中,"震网"病毒给 信息安全界带来的震撼是最巨大的,它的出现让国家关键基础设施安全的概念更加实实在 在。作为一个"蠕虫",Stuxnet的确具有划时代的意义,这个评价一点都不过分。在2011 年的RSA大会上,Symantec的CEOSalem特别提到了Stuxnet,指出Stuxnet将游戏从原 来以间谍情报为主,提高到针对性地实施"破坏"的新阶段。卡巴斯基实验室创始人及CEO EugeneKaspersky先生则认为Stuxnet是一个具有划时代意义的转折点,它将我们带入 一个新纪元。以往的网络攻击仅仅是个别的网络罪犯,而现在已经进入网络恐怖主义、网络 武器和网络战争时代。"震网"是网络世界出现的第一个攻击现实世界中工业基础设施的病 毒,它的出现直接导致伊朗第朗第一座核电站布什尔核电站推迟并网发电,它是第一个以 攻击国家关键基础设施安全为目的的网络病毒,是真正意义上的网络武器。一座核电站布 什尔核电站推迟并网发电,它是第一个以攻击国家关键基础设施安全为目的的网络病毒, 是真正意义上的网络武器。在信息技术领域方面,检测虚假数据入侵,保障系统信息安全迫 在眉睫。
[0005] 现有典型的入侵检测系统,如基于状态估计器的检测方案能检测易被网络攻击的 输入量所反映出的异常现象,核心思想是利用主成份分析法把潮流变化量分出常规和非常 规子空间,通过对非常规子空间分析判断电力SCADA系统数据是否受到攻击,但模型较为 复杂;基于布鲁姆过滤器的模型,这种模型适用于智能电网资源限制型的SCADA系统现场 设备,采用的数据结构能有效节省内存,错误判断率取决于所选哈希函数及其它布鲁姆过 滤器的参数,但针对恶意软件攻击某类特殊控制组件时显得无能为力,无法满足检测诸如 "震网"病毒的注入攻击。
【发明内容】
[0006] 本发明的目的是提出一种工业控制系统恶意数据注入攻击检查方法,该发明在注 入数据可能落入有效或正常范围内的情况下,也能有效地检测出工业控制系统,特别是电 力SCADA系统中的虚假数据注入攻击。本发明为克服现有技术的不足采取以下技术方案实 现: 本发明把关联模型定义为不同时刻下各种变量之间的相互关系:
本发明考虑之前定义的两种变量类型的关联模型: (1) 正向关联模型 正向相关模型是一种静态结构,其中所有的系统变量不受时间影响。因此,一个变量当 前的状态值仅取决于相同时刻其他相关变量的值。给定电力系统变量
,公 式(2)反映了这种正向关系。在任意时刻I,变量I的值取决于其它变量的值,如时刻I的变 量j和变量是。
因为在正向相关的结构中,系统变量值不依赖于时间I因而公式(3)可进一步简化 为:
(2) 反馈关联模型 反馈关联模型是对应于时间的动态结构。在这样的关系中,一个变量当前的状态值不 仅取决于相同时刻其他相关变量的值,而且取决于先前状态的一些相关变量的值。公式(4) 反映了这种反馈关系。在时刻f,变量i的值取决于在I时刻变量的值和i-1时刻变量是的 值。
给定的系统变量
,不同模型的各种变量之间的关系。例如, 正向数据结构中巧等于A的平方,变量5等于巧/A;在反馈数据关系结构中,变量巧等于
[0009] 基于该图表的描述,本文还产生了一个关联图。在该图中,虚线表示反馈关联,其 中%的值取决于巧和6当前值的状态和5的先前值的状态。
[0010] (3 )使用交替向量表示系统状态 假设某组件具有"个变量
3在每一时刻f,某一状态可通过不同变量的一 组向量
'来表示。为此,本文需要存储每个变量的具体值,当这些向量是高维 向量时,此方案可能占据大量的存储器空间。本文方案采用交替向量,只记录连续两个状态 之间的交替关系,如公式(5)所示。
对于初始化状态&,本文定义
。如果变量i的值与终值相比增加时,用1来 表示这种增加。此外,如果该变量i的值与终值相比下降时,用-1来表示下降。如果数值保 持相同则记为0。
[0012] 本文使用一组时间窗口中从^到'的交替向量来对不断变化的组件进行建模。交 替向量的优点是节省每个状态的存储空间,因而本发明对于资源约束型设备是很有效的。
[0013] (4)简化的状态关系图 直接使用状态关系图检测可能会带来两个问题:首先,因为本发明必须保存每条边缘 线上的时间信息,故需要占据相当大的存储空间来存储训练模型。这可能使得匹配过程复 杂化并使得资源受限型设备不堪重负。其次,如果某些状态是不稳定的,严格遵循过渡边缘 线的规则可能会导致误判。
[0014]因此,本发明需要优化状态关系图并删除每一个边缘线上的时间戳信息。去除时 间戳后,状态关系图中存在许多重复边缘线。因此,在第二个步骤中删除整个关系图中的所 有重复的边缘线。
[0015]本发明与现有技术相比的优点和积极效果是: (1) 提出"一种工业控制系统恶意数据攻击的数据图检测方法"的入侵检测方案,在入 侵数据能逃避以往的检测方法的情况下,本发明也能成功检测出入侵数据; (2) 提出"一种工业控制系统恶意数据攻击的数据图检测方法"的新型入侵检测方案, 应用数据关系图这一新颖思想构建检测模型,并使用交替向量表示系统状态,能够节省存 储空间。
【附图说明】
[0016] 图1为电力SCADA系统示意图; 图2为本发明的检测
模型生成流程图; 图3为本发明虚假数据注入攻击检测模型; 图4为本发明的正向关联模型和反馈关联模型; 图5为本发明的工业控制系统状态关联图; 图6为本发明的工业控制系统状态关联图简化图。
【具体实施方式】
[0017]下面结合附图对本发明作进一说明。
[0018] 如图1所示,这是SCADA系统的示意图,给出了SCADA系统的主要部件和常规配 置。控制中心包括SCADA服务器(MTU)和通信路由器,还包括HMI,工程师站和数据记录服 务器,这些设备通过LAN连接进行通信。本发明允许用户自定义系统变量子集,也提供了另 一种自动从SCADA系统中提取独立的组件信息的方式。使用上述方式收集一组这样的系统 变量,以
共6个不同变量表示。本发明检测流程如图2所示。
[0019]接下来对数据进行处理,即找出数据的内在关系。根据不同时刻各变量之间的相 互关系可分别得到正向关联图和反馈关联图,如图4所示。收集训练阶段正常状态的所有 信息,构建状态关系图,如图5所示,然后检测虚假数据注入攻击是否发生。
[0020] 本发明从&时刻到&时亥I」训练检测模型,所分析的组件中包括
共 6个不同变量。在每个时间段^,本发明基于交替向量时刻的先前状态和当前状态来计 算交替向量,对于每一个交替向量都要创建一个图形节点。如果发现该节点之前已经创建 则直接使用现有的节点。然后再从状态节点向M犬态节点创建一条边线,每条边线都标 有时间戳。这个过程持续进行,直到在时间窗口中列举出所有状态为止。本发明进一步优 化状态关系图并删除每一个边缘线上的时间戳信息。去除时间戳后,状态关系图中存在许 多重复边缘线,然后删除整个关系图中的所有重复的边缘线,得到简化的状态关系图,参照 附图6。
[0021] 基于简化的状态关系图,本发明的检测流程如图3所示,具体过程如下: 步骤一:在检测阶段,若发现新交替向量的节点不是状态关系图中的节点,则直接生成 一个无效状态的警报。如图7所示,节点16在整个简化状态关系图中处于离散状态,与图 中任何一个节点都不匹配。故检测模型发出检测到无效状态的警报,即认为检测到注入攻 击的虚假数据。
[0022] 步骤二:如果新交替向量是关系图中的有效节点,本发明所提出的检测模型需要 检查该交替向量能否到达先前状态。若不能到达先前状态则生成一个无效过渡的警报。如 图8所示,已知节点13至节点9为可到达状态。而新交替向量状态为节点9至节点13,处 于不可到达的状态。红色边线与原本的黑色边线不匹配,则检测模型发出无效过渡的警报, 认为检测出注入攻击的虚假数据。
【主权项】
1. 一种工业控制系统恶意数据攻击的数据图检测方法,其特征在于步骤如下: 1) 步骤1 :在工业控制系统环境中采集一组系统变量; 2) 步骤2 :使用控制变量法确定系统变量之间的内在关系,进行组件分析,从而事先获 取变量之间的数学关系,得到表征变量关系的前向关联图模型和反馈关联模型,从而得到 状态关系图,系统组件可以用一组系统变量%来表示,组件分析的目标是得到 正向关系和反馈关系,这些相互关系能够用关联图来表达,在以上过程中,应用经典控制变 量法,即一次仅改变一个系统变量,当改变其中一个变量的时候,记录其他变量是否发生改 变,如果有一些变量发生了变化,则在关系图中由控制变量向交替变量画一条线,然后重置 系统,在第二轮试验中改变另一个变量,这一过程持续迭代下去,直到找出所有变量之间的 关系,本步骤输出的是系统变量关系图; 3) 步骤3 :由上述步骤2所得状态关系图并结合时序数据得到本步骤的检测模型: 本步骤主要研宄系统组件变量的变化模式,在时刻纟给定组件变量的当前状态,确定 该系统是否遭受攻击,本次设计提出了一种新型的方法,即利用交替向量来表示正常运行 条件下部件的实时状态,使用一组时间窗口中区间为^到'的交替向量来对不断变化的组 件进行建模,交替向量的优点是节省每个状态的存储空间,得到简化状态关系图,用来检测 工业控制系统虚假数据注入攻击; 4) 步骤4 :利用检测模型对系统进行检测,确认系统状态是否正常,输入状态数据流, 检测模型对状态流进行检测,具体过程如下: (1) 利用交替变量对系统组件进行建模,得到简化状态关系图; (2) 检验数据是否匹配已知状态关系图的节点;如果不匹配则发出无效状态警报,检测 模型成功检测出虚假数据入侵,将虚假数据存储起来,如果匹配则进入下一环节; (3) 检验数据是否匹配已知状态关系图的边线,如果不匹配则发出无效状态警报,本 发明的检测模型成功检测出虚假数据入侵,将虚假数据存储起来,如果匹配则返回步骤1 ; (4) 输出存储数据,结束。2. 根据权利要求1所述的工业控制系统恶意数据注入攻击检查方法,其特征在于所述 步骤2中,通过经典控制变量法得到表征系统变量内在关系的正向关系图;通过收集一组 区间为&时刻到时间窗口限制时刻^的设备固件执行轨迹,然后对不同的轨迹应用数据流 分析并确认其中某些状态是否受到先前时刻变量的影响,从而最终得到反馈关系图。3. 根据权利要求1所述的工业控制系统恶意数据注入攻击检查方法,其特征在于所述 步骤3中,使用一组时间区间从时刻到'时刻的交替向量对不断变化的组件进行建模, 每个变量状态只占据2 Bit的空间,因而本发明设计对于资源约束型设备是很有效的。
【专利摘要】本发明是一种工业控制系统恶意数据攻击的数据图检测方法,该方法首先要在某个正常的工业控制系统中训练,生成工业系统中数据的关系图和运行时刻的状态图G,采用同样的方法,对检测的同类型工业控制系统生成运行时刻状态图G’,若状态图G’的节点或有向边在状态图G中不存在,就可以判断有恶意数据攻击的时刻。与现有的入侵检测技术比较,该发明不属于特征和行为检测,不需要建立特征码,也不需要过滤数据包,仅仅依靠监控室中的数据关系,就可以判断恶意数据攻击发生的时刻,具有不影响工业控制系统的实时性的优点。
【IPC分类】G06F21/56
【公开号】CN104899513
【申请号】CN201510289048
【发明人】王勇, 刘蔚, 胡宗帅
【申请人】上海云物信息技术有限公司
【公开日】2015年9月9日
【申请日】2015年6月1日