第11卷第5期 智能系统学报 Vol.11 No.5 2016年10月 CAAI Transactions on Intelligent Systems 0ct.2016 D0I:10.11992/is.201509020 网络出版地址:htp:/nw.cnki.net/kcms/detail/23.1538.TP.20160824.0928.006.html SCADA安全因素神经元的云推理机 研究与仿真 熊柳,曹谢东,李杰1,杨力2,刘增良3 (1.西南石油大学电气信息学院,四川成都610500:2.西南石油大学计算机科学学院,四川成都610500:3.中国 人民解放军国防大学信息作战研究所,北京100091) 摘要:为了解决SCADA系统信息安全的问题,本文提出了一种基于因素神经网络的主动防御方法。将SCADA系 统信息安全的影响因素映射到因素空间坐标中,然后利用知识因素的因素神经元表示方法,通过云模型推理机实现 了语言值表示的模糊概念到定量数据的转换,并通过云模型多规则多条件发生器进行规则推理,最后根据得到的期 望值又可以转换为定性语言值,这样就实现了对未知恶意程序行为操作可能性的预测。本文着重于利用基于云模 型的多条件多规则发生器实现推理,通过MATLAB进行算法设计和仿真,为油气SCADA系统信息安全防御的解决 方法提供了一种思路。 关键词:SCADA信息安全:因素空间:因素神经元:云模型:MATLAB仿真 中图分类号:TP18文献标志码:A文章编号:1673-4785(2016)05-0688-08 中文引用格式:熊柳,曹谢东,李杰,等.SC4DA安全因素神经元的云推理机研究与仿真[J].智能系统学报,2016,11(5):688-695. 英文引用格式:XIONG Liu,CAO Xiedong,LI Jie,etal.Study and simulation of the SCADA security factors neuron's cloud infer- ence engine[J].CAAI transactions on intelligent systems,2016,11(5):688-695. Study and simulation of the SCADA security factors neuron's cloud inference engine XIONG Liu',CAO Xiedong',LI Jie',YANG Li2,LIU Zengliang' (1.School of Electrical Information Engineering,Southwest Petroleum University,Chengdu 610500,China;2.School of Computer Science,Southwest Petroleum University,Chengdu 610500,China;3.Institute of Information Operation,University of National De- fense,Beijing 100091,China) Abstract:Over recent years,with the amount of incidents involving industrial control information systems,the safe- ty of these system has been given increased importance across the Globe,and several technical measures have been implented to improve this.This paper proposed an active defense method based on a factor neural network in refer- ence to SCADA information security.The different aspects of SCADA information security were mapped to factor co- ordinates,and the factor neuron method for knowledge factors was then used to transform this from a fuzzy concept represented by language)to quantitative data through a cloud inference engine.Inference was then conducted through generated multi conditions and multi rules based on a cloud model,so that it could then be transformed into a qualitative language (e.g.'more likely'based on Ex)to be able to forecast the consequences of unknown mali- cious programs.This paper focus on using a generator with multiple conditions and rules based on a cloud model to achieve inference,thus providing an idea of the oil and gas SCADA information security's defense response using algorithmic design and MATLAB-based simulations. Keywords:SCADA information security;factor space;factor neuron;cloud model;MATLAB simulation SCADA(supervisory control and data acquistion, 数据采集与监视控制系统)工业控制系统广泛运用 于工业、能源、交通、水利以及市政等领域,主要用于 收稿日期:2015-09-17.网络出版日期:2016-08-24. 生产数据采集和控制生产设备的运行。一旦工业控 基金项目:国家自然科学基金项目(61175122):四川省科技支撑计划 制系统信息安全出现漏洞,将对工业生产运行和国 (2015GZ0345):四川省教育厅重点项目(15ZA0049). 通信作者:熊柳.E-mail:beartreel991@163.com. 家经济安全造成重大隐患。一方面传统的病毒、木
第 11 卷第 5 期 智 能 系 统 学 报 Vol.11 №.5 2016 年 10 月 CAAI Transactions on Intelligent Systems Oct. 2016 DOI:10.11992 / tis.201509020 网络出版地址:http: / / www.cnki.net / kcms/ detail / 23.1538.TP.20160824.0928.006.html SCADA 安全因素神经元的云推理机 研究与仿真 熊柳1 ,曹谢东1 ,李杰1 ,杨力2 ,刘增良3 (1. 西南石油大学 电气信息学院,四川 成都 610500; 2. 西南石油大学 计算机科学学院,四川 成都 610500; 3. 中国 人民解放军国防大学 信息作战研究所,北京 100091) 摘 要:为了解决 SCADA 系统信息安全的问题,本文提出了一种基于因素神经网络的主动防御方法。 将 SCADA 系 统信息安全的影响因素映射到因素空间坐标中,然后利用知识因素的因素神经元表示方法,通过云模型推理机实现 了语言值表示的模糊概念到定量数据的转换,并通过云模型多规则多条件发生器进行规则推理,最后根据得到的期 望值又可以转换为定性语言值,这样就实现了对未知恶意程序行为操作可能性的预测。 本文着重于利用基于云模 型的多条件多规则发生器实现推理,通过 MATLAB 进行算法设计和仿真,为油气 SCADA 系统信息安全防御的解决 方法提供了一种思路。 关键词:SCADA 信息安全;因素空间;因素神经元;云模型:MATLAB 仿真 中图分类号:TP18 文献标志码:A 文章编号:1673⁃4785(2016)05⁃0688⁃08 中文引用格式:熊柳,曹谢东,李杰,等. SCADA 安全因素神经元的云推理机研究与仿真[J]. 智能系统学报, 2016, 11(5): 688⁃695. 英文引用格式:XIONG Liu, CAO Xiedong, LI Jie, et al. Study and simulation of the SCADA security factors neuron’s cloud infer⁃ ence engine[J]. CAAI transactions on intelligent systems, 2016,11(5):688⁃695. Study and simulation of the SCADA security factors neuron’ s cloud inference engine XIONG Liu 1 , CAO Xiedong 1 , LI Jie 1 , YANG Li 2 , LIU Zengliang 3 (1. School of Electrical Information Engineering, Southwest Petroleum University, Chengdu 610500, China; 2. School of Computer Science, Southwest Petroleum University, Chengdu 610500,China; 3.Institute of Information Operation, University of National De⁃ fense, Beijing 100091,China) Abstract:Over recent years, with the amount of incidents involving industrial control information systems, the safe⁃ ty of these system has been given increased importance across the Globe, and several technical measures have been implented to improve this. This paper proposed an active defense method based on a factor neural network in refer⁃ ence to SCADA information security. The different aspects of SCADA information security were mapped to factor co⁃ ordinates, and the factor neuron method for knowledge factors was then used to transform this from a fuzzy concept (represented by language) to quantitative data through a cloud inference engine. Inference was then conducted through generated multi conditions and multi rules based on a cloud model, so that it could then be transformed into a qualitative language (e.g. ‘more likely’ based on Ex) to be able to forecast the consequences of unknown mali⁃ cious programs. This paper focus on using a generator with multiple conditions and rules based on a cloud model to achieve inference, thus providing an idea of the oil and gas SCADA information security’s defense response using algorithmic design and MATLAB⁃based simulations. Keywords:SCADA information security; factor space; factor neuron; cloud model; MATLAB simulation 收稿日期:2015⁃09⁃17. 网络出版日期:2016⁃08⁃24. 基金项目:国家自然科学基金项目(61175122);四川省科技支撑计划 (2015GZ0345);四川省教育厅重点项目(15ZA0049). 通信作者:熊柳. E⁃mail:beartree1991@ 163.com. SCADA( supervisory control and data acquistion, 数据采集与监视控制系统)工业控制系统广泛运用 于工业、能源、交通、水利以及市政等领域,主要用于 生产数据采集和控制生产设备的运行。 一旦工业控 制系统信息安全出现漏洞,将对工业生产运行和国 家经济安全造成重大隐患。 一方面传统的病毒、木
第5期 熊柳,等:SCADA安全因素神经元的云推理机研究与仿真 ·689. 马等会随之直接(如联网接入)或间接(如物理设备 基于因素神经元的SCADA系统恶 植入)地侵入工业控制系统,另一方面还有一些黑 客组织或是敌对组织对国家的工控系统展开有组织 意程序行为分析 的攻击如“震网”病毒事件,这种攻击具有未知性、 2.1 SCADA系统信息安全的因素空间构建 隐秘性、持续时间长等特点,同时破坏效果更为强 2.1.1因素空间核心内容 烈,而由于SCADA系统实时性、连续性和封闭性等 “任何事物都是诸因素的交叉”,一个人可以由 特点,很多用在传统计算机安全方面的手段(如病 他在年龄、性别、身高、体重、职业、学历、性格、兴趣 等因素方面的表现而加以确定)],人就是上述因素 毒库更新)又无法照搬过来用在SCADA系统上面, 的一种交叉。然而一个事物并非从任何因素都可以 工控系统的信息安全问题日益突出。2002年美国 对之进行考察,如一块石头无从论性别,所谓事物0 宣布将保护重要领域工业控制系统安全列人重要的 与因素f相关,是指从f讨论o,有一个状态f(o)与 工作内容,例如美国阿贡国家实验室(argonne na- 之对应。例如从f(颜色因素)讨论o(苹果),有一 tional laboratory,ANL)的研究主要集中于美国天然 个状态f()(红色)与之对应。 气管道运输的SCADA系统安全领域,提出采用 称(0,V)是一个配对,如果0与V分别是由一 SCADA系统的蜜罐诱捕SCADA系统恶意攻击、进 些对象和由一些因素所组成的集合,且对任意。∈ 行脆弱性分析以及攻击行为分析。 O,一切与o有关的因素都在V中,而对任意因素 本文首次提出基于因素神经网络[)的油气集 f∈V,一切与f有关的事物也都在O中。 输SCADA安全防御模型,采用主动防御(active de-. 对于一个实际问题,假定有一个配对近似地存 fense)的方法,对控制系统主机(工程师站、操作员 在着,对于给定的配对(O,V),可以在0与V之间 定义一个关系R: 站和PLC上位机等)的恶意程序行为进行分析来实 R(o,)=1,当且仅当o与f有关。 现人侵检测的技术。主要研究SCADA安全因素神 称R为相关关系。为简便计把R定义为普通 经元)的云推理机[),实现对未知程序恶意行为的 的(非fuzzy,非模糊)关系。 推测,并对其算法进行MATLAB仿真。 D(f)=oI R(of)=1 课题思路 V(o)={f1R(o,月=1} 因素f可以看作一个映射,作用在一定的对象。 对恶意程序行为的描述可以采用因素神经元的 上可获得一定的状态,记为f(o): 方法。因素神经元由刘增良教授提出,是建立在汪 f:D()→X(fD 培庄教授的因素空间基础上提出的一种新的知识表 o-f(o) 示方法,因素空间理论4)的主要目的是用于解释随 这里X(f)={f(o)1o∈O}叫做因素f的状态 机性的根源以及概率规律的数学实质,其作用就是 空间。 2.1.2因素空间模型构建 “搭架子”,即建立一种广义坐标系,然后用以描述 给定论域U后,事物的因素分析一般步 坐标系中的实际对象。因素神经元山是一个面向 骤6为: 对象的综合知识表示与信息处理的单元模型,它能 1)确定描述事物集合0: 够获取各种类型的信息输入,神经元可以有选择性 2)确定事物的因素集合V; 地进行感知,最后构成一个总体激发完成输出,能有 3)对配对的(0,V)进行层次系统分析,确定其 效地作为模型的载体,这种表示方法具有语法和语 是否具有层次性、类别关系,是否需要构成因素分类 义统一,定性与定量统一的知识表示特点。 树,从而实现优化分析: 完成了对恶意程序行为因素的表示和定性向定 4)确定各因素在论域U上的单因素状态空间: 量转换后,需要通过一定的算法对这些行为因素进 5)构造离散因素空间: 行分析,通过推理得到一个大致的结论,例如,这是 6)构造原始事物描述离散模型。 大规模油气集输SCADA系统的信息安全防御 一个什么样的恶意程序、其危害程度有多大。那么 是由多方面因素构成的,不是光从某一个因素入手 可以尝试采用云模型的方法来完成这个推理机。 就能解决的。对于SCADA系统信息安全防御,主 云模型由李德毅院士在1995年提出[),云是用 要从恶意程序对系统的文件、注册表、进/线程操作 自然语言值标识的某个定性概念与其定量表示之间 这3方面的因素来考虑,每一种操作由多方面的因 的不确定性转换模型。云由许多云滴组成,每一个 素构成,这样就可以把SCADA系统信息安全防御 云滴就是这个定性概念在数域空间中的一次具体实 问题放在一个由有限个恶意程序行为因素构成的因 现,这种实现带有不确定性。 素空间中,如图1所示。SCADA系统信息安全就从
马等会随之直接(如联网接入)或间接(如物理设备 植入)地侵入工业控制系统,另一方面还有一些黑 客组织或是敌对组织对国家的工控系统展开有组织 的攻击如“震网”病毒事件,这种攻击具有未知性、 隐秘性、持续时间长等特点,同时破坏效果更为强 烈,而由于 SCADA 系统实时性、连续性和封闭性等 特点,很多用在传统计算机安全方面的手段(如病 毒库更新)又无法照搬过来用在 SCADA 系统上面, 工控系统的信息安全问题日益突出。 2002 年美国 宣布将保护重要领域工业控制系统安全列入重要的 工作内容,例如美国阿贡国家实验室( argonne na⁃ tional laboratory,ANL)的研究主要集中于美国天然 气管道运输的 SCADA 系统安全领域,提出采用 SCADA 系统的蜜罐诱捕 SCADA 系统恶意攻击、进 行脆弱性分析以及攻击行为分析。 本文首次提出基于因素神经网络[1] 的油气集 输 SCADA 安全防御模型,采用主动防御( active de⁃ fense)的方法,对控制系统主机(工程师站、操作员 站和 PLC 上位机等)的恶意程序行为进行分析来实 现入侵检测的技术。 主要研究 SCADA 安全因素神 经元[2]的云推理机[3] ,实现对未知程序恶意行为的 推测,并对其算法进行 MATLAB 仿真。 1 课题思路 对恶意程序行为的描述可以采用因素神经元的 方法。 因素神经元由刘增良教授提出,是建立在汪 培庄教授的因素空间基础上提出的一种新的知识表 示方法,因素空间理论[4] 的主要目的是用于解释随 机性的根源以及概率规律的数学实质,其作用就是 “搭架子”,即建立一种广义坐标系,然后用以描述 坐标系中的实际对象。 因素神经元[1] 是一个面向 对象的综合知识表示与信息处理的单元模型,它能 够获取各种类型的信息输入,神经元可以有选择性 地进行感知,最后构成一个总体激发完成输出,能有 效地作为模型的载体,这种表示方法具有语法和语 义统一,定性与定量统一的知识表示特点。 完成了对恶意程序行为因素的表示和定性向定 量转换后,需要通过一定的算法对这些行为因素进 行分析,通过推理得到一个大致的结论,例如,这是 一个什么样的恶意程序、其危害程度有多大。 那么 可以尝试采用云模型的方法来完成这个推理机。 云模型由李德毅院士在 1995 年提出[5] ,云是用 自然语言值标识的某个定性概念与其定量表示之间 的不确定性转换模型。 云由许多云滴组成,每一个 云滴就是这个定性概念在数域空间中的一次具体实 现,这种实现带有不确定性。 2 基于因素神经元的 SCADA 系统恶 意程序行为分析 2.1 SCADA 系统信息安全的因素空间构建 2.1.1 因素空间核心内容 “任何事物都是诸因素的交叉”,一个人可以由 他在年龄、性别、身高、体重、职业、学历、性格、兴趣 等因素方面的表现而加以确定[6] ,人就是上述因素 的一种交叉。 然而一个事物并非从任何因素都可以 对之进行考察,如一块石头无从论性别,所谓事物 o 与因素 f 相关,是指从 f 讨论 o,有一个状态 f( o)与 之对应。 例如从 f(颜色因素) 讨论 o(苹果),有一 个状态 f(o)(红色)与之对应。 称(O,V)是一个配对,如果 O 与 V 分别是由一 些对象和由一些因素所组成的集合,且对任意 o∈ O,一切与 o 有关的因素都在 V 中,而对任意因素 f∈V,一切与 f 有关的事物也都在 O 中。 对于一个实际问题,假定有一个配对近似地存 在着,对于给定的配对(O,V),可以在 O 与 V 之间 定义一个关系 R: R(o,f)= 1,当且仅当 o 与 f 有关。 称 R 为相关关系。 为简便计把 R 定义为普通 的(非 fuzzy,非模糊)关系。 D(f) = {o | R(o,f) = 1} V(o) = {f | R(o,f) = 1} 因素 f 可以看作一个映射,作用在一定的对象 o 上可获得一定的状态,记为 f(o): f:D(f) → X(f) o → f(o) 这里 X( f) = { f( o) | o∈O} 叫做因素 f 的状态 空间。 2.1.2 因素空间模型构建 给定 论 域 U 后, 事 物 的 因 素 分 析 一 般 步 骤[6]为: 1)确定描述事物集合 O; 2)确定事物的因素集合 V; 3)对配对的(O,V)进行层次系统分析,确定其 是否具有层次性、类别关系,是否需要构成因素分类 树,从而实现优化分析; 4)确定各因素在论域 U 上的单因素状态空间; 5)构造离散因素空间; 6)构造原始事物描述离散模型。 大规模油气集输 SCADA 系统的信息安全防御 是由多方面因素构成的,不是光从某一个因素入手 就能解决的。 对于 SCADA 系统信息安全防御,主 要从恶意程序对系统的文件、注册表、进/ 线程操作 这 3 方面的因素来考虑,每一种操作由多方面的因 素构成,这样就可以把 SCADA 系统信息安全防御 问题放在一个由有限个恶意程序行为因素构成的因 素空间中,如图 1 所示。 SCADA 系统信息安全就从 第 5 期 熊柳,等:SCADA 安全因素神经元的云推理机研究与仿真 ·689·
·690 智能系统学报 第11卷 一个很笼统很抽象的问题对应到了一个多维的因素 统4个基础系统构成,如图2所示。 空间中,这是由模糊的定性概念转换为定量信息的 第一步。 输 推理系统 输 输 终止进程 SCADA信息安全,写文件 统 出 统 统 控制系统 修改注册表一 删除文件 图2解析型因素神经元基本结构 Fig.2 Structure of analytic factor neuron 图1 SCADA信息安全因素空间 2)模拟型因素神经元 Fig.1 Factor space of SCADA information security 一个模拟型因素神经元可表述为: 2.2基于因素神经元的SCADA恶意程序行为因素 Y=F(X,W,T),其中(X,Y)被称为模拟型因素神经 表示方法 元的输入输出模式对集合,X被称为其激发或输入 2.2.1因素神经元核心内容 模式集合,Y被称为其对应的响应或输出模式集合, 使用因素神经元的方法来表示SCADA恶意程 W,T为模拟型因素神经元内部网络模块的可控 序行为的因素。刘增良教授提出的“知识的因素表 参数。 示模型”分为2种):原子模型和关系模型。 2.2.2油气SCADA系统恶意程序行为因素表示方法 1)原子模型 原子模型M(O)=(0,V,X),O表示SCADA系 知识因素表示的原子模型是一个三元组即 统中恶意程序所有操作的集合,例如恶意程序对主 M(0)=〈0,V,X),也可记为M(0,V,X),其中0是 机系统的文件、注册表、进/线程操作,可以表示 事物集,V是与O配对的因素集,X是基于V的因素 [21:0=FileOperations,RegOperations,Process/ 空间{X()f∈F,FCV?。原子模型是描述事实、概 ThreadOperations},对于其中的文件操作,又有查找 念的模式。 创建、打开、写入、复制、删除和属性设置等重要因 2)关系模型 素,即有因素集合F={FindNextFile,CreateNewFile,. 知识的关系模型是在原子模型基础上定义的, OpenFile,WriteFile,CopyFile,DeleteFile,SetFileAt- 它可表示为:R=〈RM,M,(O),XM),(i=1,2,…)也 tribute{,FcV,V为因素集,X就是基于对应于因素 可记为R(RM,M,(O),XM)。其中RM表示原子模 集合的因素状态空间。 型M,(O)间的变换关系集,M,(O)表示第i个原子 由此可以得到文件操作(FileOperations)知识因 模型,XM表示原子模式M在知识模式集合RM上 素表达的关系模型:R=〈R,M(O)|i=1,2,…,n〉, 的状态及状态转换关系。关系模型是描述规则、推 即R(FileOperations)=〈RM,M(FileOperations), 理、判断及知识动态过程的模式。 XM),其中RM表示文件操作的一个知识模式集合, 因素神经元分为解析型因素神经元和模拟型神 RM=〈{Rid,:if XFile(Find Next File)then遍历磁 经元),它们都是构成因素神经网络的基本单位。 盘文件},{Rid,:if XFile(Create File)then在指定 解析型因素神经元是对人类心理模式的模拟,模拟 路径下创建文件},{Rid,:if Xfile(Copy File)then 型因素神经元则是对人类生理模式的模拟。 复制指定文件到指定路径},{Rid,:if XFile(Delete 1)解析因素神经元 File)hen删除指定路径的指定文件},…〉;M(File 一个具有推理功能的解析因素神经元可表述 Operations)为文件操作的知识因素表达原子模型: 为:M={(G,F,X),〈p,q,r〉,〈a,b)},其中 XM表示原子模型M(FileOperations)在知识模式集 〈G,F,X〉共同表达了解析型因素神经元结构、因素 合RM上的状态及状态转换关系,XM=〈Xd,:if在 及状态;P,9,分别执行神经元的推理、判别与内部 系统目录下创建文件and设置文件时间为系统文 控制功能:a是输入信息,b是单元推理目标或响应。 件时间then非法创建文件},{Xid,:if查找所有文 一个解析型因素神经元就像一台微型自动机, 件and文件写操作then可疑遍历磁盘文件操作}, 通过一组用因素表达的状态,并有一套状态转换规 {Xid3:if创建打开文件and修改文件属性为系统文 则,当外部输入触发时,神经元按感知的信息执行相 件then非法文件属性修改},{Xid4:if删除SCADA 应的操作,进行状态的转换,并依据自身的输出响应 主机系统目录文件then恶意文件操作},{Xid:if 函数,输出单元响应。解析型因素神经元基本结构 复制文件至SCADA系统目录and修改该目录下文 包括输人/输出系统、判别系统、推理系统和控制系 件属性hen可疑文件操作},…〉
一个很笼统很抽象的问题对应到了一个多维的因素 空间中,这是由模糊的定性概念转换为定量信息的 第一步。 图 1 SCADA 信息安全因素空间 Fig.1 Factor space of SCADA information security 2.2 基于因素神经元的 SCADA 恶意程序行为因素 表示方法 2.2.1 因素神经元核心内容 使用因素神经元的方法来表示 SCADA 恶意程 序行为的因素。 刘增良教授提出的“知识的因素表 示模型”分为 2 种[4] : 原子模型和关系模型。 1)原子模型 知识因素表示的原子模型是一个三元组即 M(O)= 〈O,V,X〉,也可记为 M(O,V,X),其中 O 是 事物集,V 是与 O 配对的因素集,X 是基于 V 的因素 空间{X(f) | f∈F,F⊆V}。 原子模型是描述事实、概 念的模式。 2)关系模型 知识的关系模型是在原子模型基础上定义的, 它可表示为:R = 〈RM,Mi(O),XM〉,(i = 1,2,…)也 可记为 R(RM,Mi(O),XM)。 其中 RM 表示原子模 型 Mi(O)间的变换关系集,Mi(O)表示第 i 个原子 模型,XM 表示原子模式 M 在知识模式集合 RM 上 的状态及状态转换关系。 关系模型是描述规则、推 理、判断及知识动态过程的模式。 因素神经元分为解析型因素神经元和模拟型神 经元[1] ,它们都是构成因素神经网络的基本单位。 解析型因素神经元是对人类心理模式的模拟,模拟 型因素神经元则是对人类生理模式的模拟。 1)解析因素神经元 一个具有推理功能的解析因素神经元可表述 为: M = {〈 G, F, X 〉, 〈 p, q, r 〉, 〈 a, b 〉}, 其 中 〈G,F,X〉共同表达了解析型因素神经元结构、因素 及状态;p,q,r 分别执行神经元的推理、判别与内部 控制功能;a 是输入信息,b 是单元推理目标或响应。 一个解析型因素神经元就像一台微型自动机, 通过一组用因素表达的状态,并有一套状态转换规 则,当外部输入触发时,神经元按感知的信息执行相 应的操作,进行状态的转换,并依据自身的输出响应 函数,输出单元响应。 解析型因素神经元基本结构 包括输入/ 输出系统、判别系统、推理系统和控制系 统 4 个基础系统构成,如图 2 所示。 图 2 解析型因素神经元基本结构 Fig.2 Structure of analytic factor neuron 2)模拟型因素神经元 一 个 模 拟 型 因 素 神 经 元 可 表 述 为: Y =F(X,W,T),其中(X,Y)被称为模拟型因素神经 元的输入输出模式对集合,X 被称为其激发或输入 模式集合,Y 被称为其对应的响应或输出模式集合, W,T 为模拟型因素神经元内部网络模块的可控 参数。 2.2.2 油气 SCADA 系统恶意程序行为因素表示方法 原子模型 M(O)= 〈O,V,X〉,O 表示 SCADA 系 统中恶意程序所有操作的集合,例如恶意程序对主 机系统的文件、 注册表、 进/ 线程操作, 可以表示 为[2] : O = { FileOperations, RegOperations, Process/ ThreadOperations},对于其中的文件操作,又有查找、 创建、打开、写入、复制、删除和属性设置等重要因 素,即有因素集合 F = { FindNextFile,CreateNewFile, OpenFile, WriteFile, CopyFile, DeleteFile, SetFileAt⁃ tribute},F⊆V,V 为因素集,X 就是基于对应于因素 集合的因素状态空间。 由此可以得到文件操作(FileOperations)知识因 素表达的关系模型:R = 〈R,Mi(O) | i = 1,2,…,n〉, 即 R ( FileOperations) = 〈 RM, M ( FileOperations ), XM〉,其中 RM 表示文件操作的一个知识模式集合, RM= 〈{Rid1 : if XFile( Find Next File) then 遍历磁 盘文件},{Rid2 : if XFile(Create File) then 在指定 路径下创建文件},{Rid3 : if Xfile(Copy File) then 复制指定文件到指定路径},{Rid4 : if XFile(Delete File) then 删除指定路径的指定文件},…〉;M(File⁃ Operations)为文件操作的知识因素表达原子模型; XM 表示原子模型 M(FileOperations)在知识模式集 合 RM 上的状态及状态转换关系,XM = 〈Xid1 :if 在 系统目录下创建文件 and 设置文件时间为系统文 件时间 then 非法创建文件},{Xid2 :if 查找所有文 件 and 文件写操作 then 可疑遍历磁盘文件操作}, {Xid3 :if 创建打开文件 and 修改文件属性为系统文 件 then 非法文件属性修改},{Xid4 :if 删除 SCADA 主机系统目录文件 then 恶意文件操作},{Xid5 :if 复制文件至 SCADA 系统目录 and 修改该目录下文 件属性 then 可疑文件操作},…〉。 ·690· 智 能 系 统 学 报 第 11 卷
第5期 熊柳,等:SCADA安全因素神经元的云推理机研究与仿真 ·691. 3 基于云发生器的SCADA恶意程序 发生器[)。即当给定云的3个数字特征和特定的 x=x。时,产生满足条件的云滴dop(xo,山,),X条件 行为因素推理机设计 云也称为前件云发生器:同理,当给定云的3个数字 在人工智能领域,对知识和推理的不确定性主 特征和特定的y=u:时,产生满足条件的云滴 要分为模糊性和随机性展开研究。作为处理模糊性 dop(x:,4,),Y条件云也称为后件云发生器。 问题的主要工具,模糊集理论用隶属度来刻画模糊 3.2云发生器的恶意程序行为因素推理机设计 食物的亦此亦彼性。然而,一旦用一个精确的隶属 3.2.1多条件多规则发生器 函数来描述模糊集,模糊概念被强行纳入到精确数 一条定性规则]可以形式化地表示为:if A then 学的王国,从此以后,在概念的定义、定理的叙述及 B,其中A、B为语言值表示的云对象[)。云发生器 证明等数学思维环节中,就不再有丝毫的模糊性了。 是运用云模型进行不确定性推理的基础。X条件云 由于传统模糊集理论的不彻底性),该推理机没有采 和Y条件云可以组合构造成单条件单规则发生器, 用传统的隶属度算法,而是采用云模型理论。 在前件云发生器中输入值x。激活CGx(x条件云发 3.1 云模型简介 生器)时,CGx随机产生一个隶属度u,这个值反映 云模型是一个以自然语言值为切入点,实现定 了x。对此定性规则的激活强度,而山:又作为CG 性概念与定量值之间的不确定性转换的模型):它 (y条件云发生器)的输入,随机地产生一个云滴 同时反映了客观世界中概念的两种不确定性,即随 dop(x,4:)。通过云模型构造的定性规则,使得这 机性(发生的概率)和模糊性(亦此亦彼性),尤其随 种推理系统对不确定性具有良好的继承性和传 机性是其不同于传统隶属函数的特性。下面给出云 递性。 模型的定义。 根据单条件单规则发生器的构造原理可以构造 设U是一个用精确数值表示的定量论域,C是 出多条件多规则发生器。以二维多规则生成器为 U上的定性概念,若定量值x∈U,且x是定性概念C 例,如图4所示。 的一次随机实现,x对C的确定度u(x)∈「0,1是 Ex,En,He 具有稳定倾向的随机数。若 Ex En He Drop.(x)Drop.(xy) u:U→[0,1]Hx∈Ux→u(x) Ex,En,He, PCG BCG 1i=12.…0 i=12, 则x在论域U上的分布称为云,每一个x称为一个 Ex En,He, 输 Ex EnHe Drop() 云滴。 Ex.En,,He PCG =12, BCG Drop (xy) CG 值 云模型主要有以下3个数字特征[): ij=12. Ex En He 1)期望Ex,云滴在论域空间分布的期望是概念 Ex,En,He Drop (x) PCG BCG. Drop,(xy) Ex,En.He, 在论域空间的中心值,是最能够代表定性概念的点: i=12.… /=12,… 2)嫡E,它是定性概念不确定性的度量,是由 (X) 定性概念的随机性和模糊性共同决定的: 图4二维多规则生成器 3)超熵H,它是对嫡的不确定性的度量,是熵 Fig.4 Two dimensional multi rules generator 的熵,反映了在论域空间代表该语言值的所有点的 3.2.2云推理机规则的因素神经元表示 不确定度的凝聚性,它的大小间接地反映了它们之 前面在“SCADA系统恶意程序行为因素表示方 间的关联性。 法[]”中写出了关系模型的表达结构,其中XM表示 由参数Ex、En、He得到云滴drop(x,u)的过程 原子模式M在知识模式集合RM上的状态及状态 称为正向云发生器,如图3所示,这是从定性概念到 转换关系。以XM集合中的{Xdl:if在系统目录下 定量表示的转换过程:反之,则为逆向云发生器。 创建文件【o]and设置文件时间为系统文件时间 年 then非法创建文件}为例,“在系统目录下穿件文件 (CreatFile)”和“设置文件时间为系统文件时间 En 向 Drop(x,i) (SetFileTime)”为SCADA系统恶意程序行为)因 He 云 素集合[]中的两个因素,对应于云模型二维单规则 “if A and B then C”中的条件A和B,而“非法创建 图3正向云发生器 文件”则对应于规则结论C。这样就实现了将模糊 Fig.3 F-cloud generator 的定性概念转换为定量信息,便于推理机处理。 3.2.3云推理机算法结构与设计 由此可以衍生出X条件云发生器和Y条件云 根据多条件多规则发生器的原理,以二维规则
3 基于云发生器的 SCADA 恶意程序 行为因素推理机设计 在人工智能领域,对知识和推理的不确定性主 要分为模糊性和随机性展开研究。 作为处理模糊性 问题的主要工具,模糊集理论用隶属度来刻画模糊 食物的亦此亦彼性。 然而,一旦用一个精确的隶属 函数来描述模糊集,模糊概念被强行纳入到精确数 学的王国,从此以后,在概念的定义、定理的叙述及 证明等数学思维环节中,就不再有丝毫的模糊性了。 由于传统模糊集理论的不彻底性[7] ,该推理机没有采 用传统的隶属度算法,而是采用云模型理论。 3.1 云模型简介 云模型是一个以自然语言值为切入点,实现定 性概念与定量值之间的不确定性转换的模型[7] ;它 同时反映了客观世界中概念的两种不确定性,即随 机性(发生的概率)和模糊性(亦此亦彼性),尤其随 机性是其不同于传统隶属函数的特性。 下面给出云 模型的定义。 设 U 是一个用精确数值表示的定量论域,C 是 U 上的定性概念,若定量值 x∈U,且 x 是定性概念 C 的一次随机实现,x 对 C 的确定度 u( x)∈[0,1]是 具有稳定倾向的随机数。 若 u:U → [0,1] ∀x ∈ U x → u(x) 则 x 在论域 U 上的分布称为云,每一个 x 称为一个 云滴。 云模型主要有以下 3 个数字特征[5] : 1)期望 Ex,云滴在论域空间分布的期望是概念 在论域空间的中心值,是最能够代表定性概念的点; 2)熵 En,它是定性概念不确定性的度量,是由 定性概念的随机性和模糊性共同决定的; 3)超熵 He,它是对熵的不确定性的度量,是熵 的熵,反映了在论域空间代表该语言值的所有点的 不确定度的凝聚性,它的大小间接地反映了它们之 间的关联性。 由参数 Ex、En、He 得到云滴drop(x,u) 的过程 称为正向云发生器,如图 3 所示,这是从定性概念到 定量表示的转换过程;反之,则为逆向云发生器。 图 3 正向云发生器 Fig.3 F⁃cloud generator 由此可以衍生出 X 条件云发生器和 Y 条件云 发生器[3] 。 即当给定云的 3 个数字特征和特定的 x = x0 时,产生满足条件的云滴 drop( x0 ,ui),X 条件 云也称为前件云发生器;同理,当给定云的 3 个数字 特征和特定的 y = ui 时, 产 生 满 足 条 件 的 云 滴 drop(xi,ui),Y 条件云也称为后件云发生器。 3.2 云发生器的恶意程序行为因素推理机设计 3.2.1 多条件多规则发生器 一条定性规则[8]可以形式化地表示为:if A then B,其中 A、B 为语言值表示的云对象[7] 。 云发生器 是运用云模型进行不确定性推理的基础。 X 条件云 和 Y 条件云可以组合构造成单条件单规则发生器, 在前件云发生器中输入值 x0 激活 CGx( x 条件云发 生器)时,CGx 随机产生一个隶属度 ui,这个值反映 了 x0 对此定性规则的激活强度,而 ui 又作为 CGy (y 条件云发生器) 的输入,随机地产生一个云滴 drop(xi,ui)。 通过云模型构造的定性规则,使得这 种推理系统对不确定性具有良好的继承性和传 递性。 根据单条件单规则发生器的构造原理可以构造 出多条件多规则发生器。 以二维多规则生成器为 例,如图 4 所示。 图 4 二维多规则生成器 Fig.4 Two dimensional multi rules generator 3.2.2 云推理机规则的因素神经元表示 前面在“SCADA 系统恶意程序行为因素表示方 法[9] ”中写出了关系模型的表达结构,其中 XM 表示 原子模式 M 在知识模式集合 RM 上的状态及状态 转换关系。 以 XM 集合中的{Xid1:if 在系统目录下 创建文件[10] and 设置文件时间为系统文件时间 then 非法创建文件}为例,“在系统目录下穿件文件 (CreatFile)” 和 “ 设置文件时间为系统文件时间 (SetFileTime)”为 SCADA 系统恶意程序行为[11] 因 素集合[12]中的两个因素,对应于云模型二维单规则 “if A and B then C”中的条件 A 和 B,而“非法创建 文件”则对应于规则结论 C。 这样就实现了将模糊 的定性概念转换为定量信息,便于推理机处理。 3.2.3 云推理机算法结构与设计 根据多条件多规则发生器的原理,以二维规则 第 5 期 熊柳,等:SCADA 安全因素神经元的云推理机研究与仿真 ·691·
·692· 智能系统学报 第11卷 发生器]为例,构建步骤如下: temp=0: 1)给定各规则2个条件对象的参数,即Ex、 for i=1:N En1、He1、Ex2、En2、He2; Ensl(1,i),Ens2(1,i)binormrand Enl, 2)由以上2组参数计算出单个规则对应的二 En2,Hel,He2): 维云发生器,MATLAB程序如下: end %二维云的合成并画出其三维图像 for i=1:N clear: q:(X1-Exl)"2/Ensl(1,i)2: cle: d=(X2-Ex2)2/Ens2(1,i)2: %输入单规则推理两个条件的参数 Y(1,i)=exp(-(1/2)*(q+d): Exl=input('pleaseinputExl='): temp=temp+Y(1,i): Ex2=input('pleaseinputEx2='): end Enl=input('pleaseinputEnl='): Y=temp/Y: En2=input('pleaseinputEn2='): 4)在计算出的u中选择最大山1和次大的山2, Hel=input('pleaseinputHel='): 它们对应的规则即为激活强度最大的两条规则, He2=input('pleaseinputHe2='): MATLAB程序图如下: N=input('pleaseinputN='): [u,X]=sot(U):%将所有规则计算出来的隶属度 temp=0: 由小到大排列 %生成二维条件云并计算(X1X2)时的隶属度 %选择隶属度最大的U和次大的U2,说明这两条 for i=1:N 规则的激活强度最大 Ensl(1,i),Ens2(1,i)binormrand Enl, ul=u(M): En2,Hel,He2): u2=u(M-1): [xI(1,i)X2(1,i)binormrand Exl,Ex2, numl=IX(M) Ensl(1,i),Ens2(1,i)): num2=IX(M-1): end fprintf('触发强度最大规则为第%i条ln',numl); for i=1:N fprintf('触发强度最大规则为第%i条\n',num2): q=(X1(1,i)-Exl)2/Ensl(1,i)2: 5)利用Y条件云由U,和U2分别计算出2组 d=(X2(1,i)-Ex2)2/Ens2(1,i)2: 云滴,选择距离最小的2个云滴,通过逆向云发生器 Y(1,i)=exp(一(1/2)*(q+d)): 计算推理恶意度的期望和方差,MATLAB程序如下: end %构造这两条规则对应的后件云发生器(Y条件云) plot3(x1,X2,Y,'.'). Y1(1),Y1(2)=ycloud(d(numl,7),d(numl,8). 生成二维隶属云如图5所示。 d(numl,9),ul,N); [Y2(1),Y2(2)ycloud (d(num2,7),d(num2, 1.0 ,08 8),d(num2,9),u2,N); 0.6 %从Y1和Y2中分别选取一点使两点距离最小, 0.41 0.2 %由ycloud可知第一个大于第二个 0 0 a=abs(Y1(1)-Y2(2)): 60 b=abs(Y2(1)一Y1(2)): 条件2参数 0 200 50100150200 条件1参数 if a>b Z1=Y2(1): 图5二维隶属云 zul=u2; Fig.5 Two dimensional cloud z2=Y1(2); 3)输入待测条件参数X,和X2,激活每一条规 zu2=ul; 则,根据每一条规则条件参数生成的二维云发生器计 else 算得到激活强度,即隶属度山;。MATLAB程序如下: z1=Y1(1): %……单规则云发生器程序…% zul=ul; function[Y onerule Exl,Enl,Hel,Ex2,En2,He2, z2=Y2(2); X1,X2,N) zu2=u2;
发生器[13]为例,构建步骤如下: 1)给定各规则 2 个条件对象的参数,即 Ex1 、 En1 、He1 、Ex2 、En2 、He2 ; 2)由以上 2 组参数计算出单个规则对应的二 维云发生器,MATLAB 程序如下: %二维云的合成并画出其三维图像 clear: cIc: %输入单规则推理两个条件的参数 Exl = input(’pleaseinputExl = ’): Ex2 = input(’pleaseinputEx2 = ’): Enl = input(’pleaseinputEnl = ’): En2 = input(’pleaseinputEn2 = ’): Hel = input(’pleaseinputHel = ’): He2 = input(’pleaseinputHe2 = ’): N= input(’pleaseinputN= ’): temp =O: %生成二维条件云并计算(X1 X2)时的隶属度 for i = 1:N [Ensl( 1, i), Ens2 ( 1, i)] = binormrand ( En1, En2,Hel,He2): [X1( 1,i),X2 ( 1,i)] = binormrand ( Exl,Ex2, Ensl(1,i),Ens2(1,i)): end for i = 1:N q = (X1(1,i)一 Exl)^2 / Ensl(1,i)^2: d = (X2(1,i)-Ex2)^2 / Ens2(1,i)^2: Y(1,i)= exp(一(1 / 2)∗(q+d)): end plot3(x1,X2,Y,’.’). 生成二维隶属云如图 5 所示。 图 5 二维隶属云 Fig.5 Two dimensional cloud 3)输入待测条件参数 X1 和 X2 ,激活每一条规 则,根据每一条规则条件参数生成的二维云发生器计 算得到激活强度,即隶属度 ui。 MATLAB 程序如下: %……………单规则云发生器程序……………% function[Y] = onerule(Exl,Enl,Hel,Ex2,En2,He2, X1,X2,N) temp =O: for i = 1:N [Ensl( 1, i), Ens2 ( 1, i)] = binormrand ( En1, En2,Hel,He2): end for i = 1:N q:(X1-Exl)^2 / Ensl(1,i)^2: d = (X2-Ex2)^2 / Ens2(1,i)^2: Y(1,i)= exp(-(1 / 2)∗(q+d)): temp = temp+Y(1,i): end Y= temp / Y: 4)在计算出的 ui 中选择最大 u1 和次大的 u2 , 它们对应的规则即为激活强度[14] 最大的两条规则, MATLAB 程序图如下: [u,IX] = sort(U):%将所有规则计算出来的隶属度 由小到大排列 %选择隶属度最大的 Ul 和次大的 U2,说明这两条 规则的激活强度最大 u1 = u(M): u2 = u(M-1): num1 = IX(M): num2 = IX(M-1): fprintf(’触发强度最大规则为第%i 条\n’,num1); fprintf(’触发强度最大规则为第%i 条\n’,num2); 5)利用 Y 条件云由 U1 和 U2 分别计算出 2 组 云滴,选择距离最小的 2 个云滴,通过逆向云发生器 计算推理恶意度的期望和方差,MATLAB 程序如下: %构造这两条规则对应的后件云发生器(Y 条件云) [Y1(1),Y1(2)] = ycloud(d(numl,7),d(numl,8), d(numl,9),ul,N); [Y2( 1),Y2 ( 2)] = ycloud ( d ( num2,7),d ( num2, 8),d(num2,9),u2,N); %从 Y1 和 Y2 中分别选取一点使两点距离最小, %由 ycloud 可知第一个大于第二个 a = abs(Y1(1)-Y2(2)): b = abs(Y2(1)一 Y1(2)): if a>b Z1 =Y2(1); zul = u2; z2 =Y1(2); zu2 = ul; else z1 =Y1(1); zul = ul; z2 =Y2(2); zu2 = u2; ·692· 智 能 系 统 学 报 第 11 卷