发明名称 一种基于模糊神经网络的攻击知识的自动更新方法
摘要 本发明涉及一种基于模糊神经网络的攻击知识的自动更新方法,属于网络 信息安全技术领域。适用于基于模糊推理的误用入侵检测系统的攻击知识的自 动更新。本发明将神经网络的学机制引入到模糊推理中,使基于模糊推理的 入侵检测系统具有学能力,从而使攻击知识隶属函数在建立之后能够随环境 变化自动进行更新,解决了目前手工调整存在的工作量大,不够准确等问题。
申请公布号 CN103748987B 申请公布日期 2011.01.12
申请号 CN200910121927.X 申请日期 2009.07.14
申请人 北京理工大学 发明人 胡昌振;危胜军
分类号 H04L12/00(2006.01)I;H04L29/06(2006.01)I;H04L9/10(2006.01)I;G06F9/00(2006.01)I;G06F21/00(2006.01)I 主分类号 H04L12/00(2006.01)I
代理机构 北京理工大学专利中心 11120 代理人 张利萍
主权项 1.一种基于模糊神经网络的攻击知识的自动更新方法,其特征在于:具体实现步骤如下:步骤一、建立模糊攻击知识的神经网络模型针对基于模糊产生式规则的攻击知识,采用六层前向网络建立对应的模糊神经网络模型,建立步骤如下:第(1)步:建立神经网络模型的第一层,称之为输入层;该第一层中每个神经元代表产生式规则前提条件中的一个模糊变量,定义为X<sub>i</sub>,神经元个数等于前提条件中出现的模糊变量个数,该第一层神经元直接把输入变量X<sub>i</sub>的值传递给下层的神经元,即:F(X<sub>i</sub>)=X<sub>i</sub>   (3)其中,F为作用函数;第(2)步:建立神经网络模型的第二层,称之为前提隶属函数层;首先,该第二层神经元用于模拟产生式规则前提中出现的所有模糊集合的隶属函数,分为2种情况:①对于单调增加或者减少的隶属函数,用一个神经元模拟;②对于三角形或梯形的隶属函数,用两个神经元模拟,通过两个神经元输出值的代数运算来实现;其次,第一层与第二层神经元按照如下规则建立连接:在产生式规则中,某变量与某模糊集合存在取值的关系,则在第一层中代表该变量的神经元与第二层中代表该模糊集合隶属函数的神经元之间建立连接;第(3)步:建立神经网络模型的第三层,称之为前提层;首先,该第三层神经元对应产生式规则命题中出现的所有模糊集合,并且神经元是线性的,即:F(S<sub>i</sub>)=S<sub>i</sub>   (4)S<sub>i</sub>可通过公式5计算得到:S<sub>i</sub>=∑W<sub>ij</sub>a<sub>j</sub>   (5)其中,W<sub>ij</sub>的取值为1或者-1,即对于单调增加或者减少的隶属函数,用一个神经元模拟,其对应W<sub>ij</sub>的值为1;对于三角形或梯形的隶属函数,用两个神经元模拟,其对应的W<sub>ij</sub>的取值为一个为1,另一个为-1;其次,第二层与第三层神经元按照如下规则建立连接:第二层中代表隶属函数的神经元与第三层中代表与此隶属函数对应的模糊集合的神经元建立连接;第(4)步:建立神经网络模型的第四层,称之为规则层;首先,该第四层中每个神经元对应一条产生式规则,神经元是线性的,用于完成模糊“与”运算,即:F(S<sub>i</sub>)=S<sub>i</sub>   (6)S<sub>i</sub>可通过公式7计算得到:S<sub>i</sub>=min(a<sub>1</sub>,a<sub>2</sub>,…,a<sub>n</sub>)   (7)其中,a<sub>1</sub>,a<sub>2</sub>,……,a<sub>n</sub>为该神经元的所有输入;其次,第三层与第四层神经元按照如下规则建立连接:在产生式规则中,如果某模糊集合出现在某规则的前提条件中,则第三层中代表该模糊集合的神经元与第四层中代表产生式规则的神经元建立相连;第(5)步:建立神经网络模型的第五层,称之为结论层;首先,该第五层每个神经元对应产生式规则结论中的一个模糊集合,该第五层神经元有两个功能:①自右向左传输,完成输出变量取值模糊集合隶属函数的模拟,模拟方法与第二层相同;②自左向右传输,完成模糊规则前提与结论的合成,再对合成后的模糊变量进行模糊“或”运算,即:<img file="DEST_PATH_FBM2014010900110000021.GIF" wi="1263" he="82" />S<sub>i</sub>可通过公式9计算得到:S<sub>i</sub>=min(a<sub>j</sub>,f(a<sub>k</sub>))   (9)其中,a<sub>j</sub>为自左向右输入,a<sub>k</sub>为自右向左输入,f(·)为结论中输出变量取值模糊集合的隶属函数;其次,第四层与第五层神经元按照如下规则建立连接:在产生式规则中,如果某模糊集合出现在某规则的结论中,则第五层中代表该模糊集合的神经元与第四层中代表产生式规则的神经元建立连接;第(6)步:建立神经网络模型的第六层,称之为解模糊层,即输出层;首先,输出层的神经元对应产生式规则结论中出现的模糊变量,输出层有两个功能:①将训练结果反馈到网络中,即:F(S)=S,S=y   (10)其中,y为系统的输出;②将输出变量进行解模糊化处理,采用重心法解模糊:令h<sub>i</sub>和d<sub>i</sub>分别表示隶属函数的中心点和宽度,中心点即平均值、宽度即方差,a<sub>i</sub>为该神经元的所有输入,则:<img file="DEST_PATH_FBM2014010900110000031.GIF" wi="1302" he="141" />S可通过公式12计算得到:S=∑W<sub>i</sub>a<sub>j</sub>=∑(h<sub>i</sub>d<sub>i</sub>)a<sub>i</sub>   (12)其中,S=∑W<sub>i</sub>a<sub>j</sub>=∑(h<sub>i</sub>d<sub>i</sub>)a<sub>i</sub>,该层的连接权值为h<sub>i</sub>d<sub>i</sub>;通过上述步骤,可完成模糊攻击知识的神经网络模型的建立;步骤二、采集训练数据定义产生式攻击规则前提中的变量为X<sub>1</sub>,X<sub>2</sub>,…,X<sub>n</sub>,结论中的攻击类型为y,采集训练数据的具体操作步骤为:第1步:在实际网络中模拟攻击y;第2步:对攻击y产生的数据进行捕获并处理,提取变量X<sub>1</sub>,X<sub>2</sub>,…,X<sub>n</sub>对应的具体数值,用x<sub>1</sub>,x<sub>2</sub>,…,x<sub>n</sub>表示;第3步:将数据x<sub>1</sub>,x<sub>2</sub>,…,x<sub>n</sub>与攻击y组成一个向量(x<sub>1</sub>,x<sub>2</sub>,…,x<sub>n</sub>,y),该向量即为训练数据;重复上述步骤,直到采集到满足人为设定的数量的训练数据为止;步骤三、用训练数据训练神经网络模型,完成对隶属函数的参数的调整利用步骤二得到的训练数据对步骤一中建立的神经网络模型进行训练,完成对隶属函数的参数的调整;训练分两步:正向传播和反向传播,具体训练算法如下:第1步:将训练数据从输入层经隐含层传向输出层,此过程称为正向传播;第2步:若输出层得到期望的输出,则结束;否则,执行第3步;第3步:将误差信号按原连接路径反向计算,采用梯度下降法调整各层神经元的连接权值和阈值,此过程称为反向传播;第4步:当第3步的权值和阈值等参数调整后,返回到第1步;通过上述步骤,完成对隶属函数的权值和阈值等参数的自动修正。
地址 100081 北京市海淀区中关村南大街5号