一种基于区块链的网络安全入侵检测系统
技术领域
本发明涉及入侵检测技术领域,具体是一种基于区块链的网络安全入侵检测系统。
背景技术
如今,随着5G技术的快速发展,以及物联网技术的广泛使用,大量的物理设备接入网络,使得整个网络容易受到各种各样的安全威胁。现有大多数网络系统都使用防火墙进行预防,而将入侵检测系统作为第二道防线。但是,由于入侵病毒的多样性,入侵检测系统也无法完全担当起系统安全维护的责任,入侵的病毒只需调换序列,即可作为一个新型病毒再次入侵,而入侵检测系统往往并不能及时发现,因此,现在急需一种基于区块链的网络安全入侵检测系统来解决上述问题。
发明内容
本发明的目的在于提供一种基于区块链的网络安全入侵检测系统,以解决现有技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种基于区块链的网络安全入侵检测系统,其特征在于:包括区块链系统,所述区块链系统包括:收集模块、密码模块、解密模块、存储模块、通信模块、控制模块、身份模块和入侵检测模块;所述收集模块包括采集模块和处理模块,所述密码模块包括加密模块、汇总模块和密钥创建模块,所述身份模块包括身份信息采集模块、身份信息匹配模块。
优选的,所述入侵检测模块用于对系统进行病毒检测,并将病毒检测和入侵检测的结果汇报给用户,若存在病毒和入侵,则防护主机,所述入侵检测模块包括采集单元、计算单元、第一选择单元、变形单元、发展单元、第二选择单元和培养单元。
优选的,该系统中入侵检测模块对病毒的检测包括:
S1、所述采集单元先将已知的病毒序列进行收集,设定病毒的最大发展次数,随机产生病毒序列为原始病毒;
设置终止变形次数Z,变形概率Pb,交叉概率Pj,代数t=0,得到初始病毒簇;终止运算的步骤为:t为病毒变形的次数,Y为合格隐蔽度,y为病毒变形后的隐蔽度,如果t<Z,y<Y,t=t+1,则转回步骤S1;如果t<Z,y≥Y,则将隐蔽度最高的个体输出;如果t=Z,结束运算,将隐蔽度最高个体输出;
Z为终止变形次数,即变形上限次数,若变形次数为Z次,则无论y是否大于等于Y,都将隐蔽度最高的个体输出;
求隐蔽度的步骤包括:
将隐蔽度小于Y的列为隐蔽度低的病毒,将隐蔽度大于Y的列为隐蔽度高的病毒,其中,a1,a2……an1为选择出的理论上隐蔽度高的病毒所对应的隐蔽度;b1,b2……bn2为选择出的理论上隐蔽度低的病毒所对应的隐蔽度;n1为选择出的理论上隐蔽度高的病毒个数;n2为选择出的理论上隐蔽度低的病毒个数;
其中,c1,c2……cn1为选择出的实际上隐蔽度高的病毒所对应的隐蔽度;d1,d2……dn2为选择出的实际上隐蔽度低的病毒所对应的隐蔽度;n3为选择出的实际上隐蔽度高的病毒个数;n4为选择出的实际上隐蔽度低的病毒个数;
将数个隐蔽度高和数个隐蔽度低的病毒所对应的隐蔽度进行平均值处理,更具有代表性,防止出现单一取值而造成的不具有代表性的情况发生。
先求出理论隐蔽度的差值:ΔL=Lmax-Lmin;
再求出实际隐蔽度的差值:Δl=lmax-lmin;
再算出相对值B:
Δl为实际病毒簇中隐蔽度的差值,ΔL为理论上隐蔽度的差值,lmin为实际病毒隐蔽度最小值,lmax为实际病毒隐蔽度最大值,lmin为理论病毒隐蔽度最小值,Lmax为理论病毒隐蔽度最大值;
求出理论高隐蔽度与理论低隐蔽度的差值ΔL和实际高隐蔽度与实际低隐蔽度的差值Δl,并将Δl进行平方运算除以ΔL和理论高隐蔽度与理论低隐蔽度的乘积,这样运算可以保证所得到的数值受理论隐蔽度和实际隐蔽度的影响,并且可以在此基础上,确保0<B<1;
若B>0.5,则说明实际隐蔽度的值和理论隐蔽度的值相比较大,交叉概率较大,即需要进一步的运算求得目标病毒的隐蔽度,对隐蔽度进行变换:
fa(x)=f(x)+k(B-0.5)
其中,fa(x)为变换后的隐蔽度,f(x)为原隐蔽度,k为常数,在使用时可以根据实际情况赋值;
所述交叉概率为:
Pj=B;
所述变形概率为:
Pb=(1+B)×S;
S为常数,可以根据实际情况进行赋值,但应保证0<Pb<1;
当B<0.5时,则根据B的值求出交叉概率Pj、变形概率Pb的值,且交叉概率Pj、变形概率Pb的值和B呈正比关系,即B的值越大,交叉概率Pj、变形概率Pb的值越大,所述网络安全入侵检测系统持续正常查杀病毒状态即可;
当B>0.5,则说明实际隐蔽度的值和理论隐蔽度的值相比较大,交叉概率较大,即需要进一步的运算求得目标病毒的隐蔽度,由于此种情况下病毒隐蔽度较高,所以对目标病毒的序列进行替换、重组,将进行替换、重组的目标病毒纳入网络安全入侵检测系统的查杀范围内,即所述网络安全入侵检测系统进入高强度查杀病毒状态;
S2、所述计算单元计算隐蔽度:对产生的原始病毒进行隐蔽度计算;
S3、所述第一选择单元选取隐蔽度高的病毒:将原始病毒的隐蔽度进行比较,将隐蔽度高的病毒选取出来;
S4、所述变形单元将隐蔽度高的病毒选取出来,对其中的序列进行替换、重组,从而产生新的病毒;
S5、产生子代病毒:将序列进行替换,所述发展单元将重组的新病毒作用到病毒簇中;
S6、输出目标病毒:所述第二选择单元将隐蔽度最高的目标病毒输出;
S7、所述培养单元针对所述隐蔽度最高的目标病毒对网络安全入侵检测系统进行定向的培养,使网络安全入侵检测系统可以查杀目标病毒。
优选的,所述采集模块输出端连接处理模块输入端,所述处理模块输出端连接加密模块输入端和通信模块输入端,所述加密模块输出端连接所述汇总模块输入端,所述汇总模块输出端连接密钥创建模块输入端、所述密钥创建模块输出端身份模块输入端。
优选的,所述身份模块的输出端连接入侵检测模块的输入端,所述入侵检测模块的输出端连接解密模块的输入端,所述控制模块和所述处理模块双向连接。
优选的,所述控制模块与身份模块双向连接,所述解密模块输出端连接通信模块输入端,所述存储模块输出端连接通信模块输入端,所述通信模块输出端连接数据库输入端。
优选的,所述入侵检测模块中,采集单元的输出端连接计算单元的输入端,计算单元的输出端连接第一选择单元的输入端,第一选择单元的输出端连接变形单元输入端,变形单元输出端连接发展单元输入端,连接发展单元输出端连接第二选择单元输入端,第二选择单元输出端连接培养单元输入端;
采集模块,从数据库中采集需要的信息;
处理模块,将采集到的信息根据公式进行数据运算,从而判定所采集的信息是否需要加密;
加密模块,所述加密模块将采集到的信息进行对称加密处理和非对称加密处理;
汇总模块,所述汇总模块将采集模块所采集到的加密处理和非加密处理的信息进行汇总输出处理;
密钥创建模块,所述密钥创建模块用于让提取信息方将所提取到的汇总信息形成的区块链标识进行Oracle加密;
解密模块,所述解密模块用于将利用提取信息方将所提取到的Oracle加密的汇总信息形成的区块链标识进行解密处理;
存储模块,所述存储模块用于将解密处理的区块链标识进行存储,或者将汇总模块将采集模块所采集到的加密处理和非加密处理的信息进行存储;
通信模块,所述通信模块用于将所述存储模块存储的信息进行打包发送;
控制模块,所述控制模块的功能为控制处理模块中的信息流向加密模块还是通信模块,控制身份模块中的信息流向解密模块还是存储模块;
身份信息采集模块,用于采集有意愿提取信息的行为人的身份信息;
身份信息匹配模块,用于将采集到的身份信息与现有的身份信息进行比对,从而确定行为人是否有权限查看解密后的信息。
优选的,所述采集模块、处理模块、加密模块、汇总模块、密钥创建模块、解密模块、存储模块、通信模块、控制模块、身份信息采集模块、身份信息匹配模块、解密模块和入侵检测模块之间通过过局域网连接。
与现有技术相比,本发明的有益效果是:
由于入侵病毒的多样性,入侵检测系统也无法完全担当起系统安全维护的责任,入侵的病毒只需调换序列,即可作为一个新型病毒再次入侵,而入侵检测系统往往并不能及时发现,本发明根据病毒相对值,进而求出交叉概率和变形概率的值,再确定网络安全入侵检测系统持续正常查杀病毒状态还是进行高强度查杀病毒状态,若进行高强度查杀病毒状态,则通过筛选输出隐蔽度高的目标病毒,并将隐蔽度高的目标病毒的组成序列进行替换、重组,将进行替换、重组的目标病毒纳入网络安全入侵检测系统的查杀范围内,可以有效的解决上述情况。
附图说明
图1为本发明一种基于区块链的网络安全入侵检测系统模块组成的结构示意图;
图2为本发明一种基于区块链的网络安全入侵检测系统模块连接的结构示意图;
图3为本发明一种基于区块链的网络安全入侵检测系统的入侵检测模块中各单元连接的结构示意图;
图4为本发明一种基于区块链的网络安全入侵检测系统的入侵检测步骤结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例:如图1-4所示,一种基于区块链的网络安全入侵检测系统,其特征在于:包括区块链系统,区块链系统包括:收集模块、密码模块、解密模块、存储模块、通信模块、控制模块、身份模块和入侵检测模块;收集模块包括采集模块和处理模块,密码模块包括加密模块、汇总模块和密钥创建模块,身份模块包括身份信息采集模块、身份信息匹配模块;
采集模块,从数据库中采集需要的信息;
处理模块,将采集到的信息根据公式进行数据运算,从而判定所采集的信息是否需要加密;
加密模块,加密模块将采集到的信息进行对称加密处理和非对称加密处理;
汇总模块,汇总模块将采集模块所采集到的加密处理和非加密处理的信息进行汇总输出处理;
密钥创建模块,密钥创建模块用于让提取信息方将所提取到的汇总信息形成的区块链标识进行Oracle加密;
解密模块,解密模块用于将利用提取信息方将所提取到的Oracle加密的汇总信息形成的区块链标识进行解密处理;
存储模块,存储模块用于将解密处理的区块链标识进行存储,或者将汇总模块将采集模块所采集到的加密处理和非加密处理的信息进行存储;
通信模块,通信模块用于将存储模块存储的信息进行打包发送;
控制模块,控制模块的功能为控制处理模块中的信息流向加密模块还是通信模块,控制身份模块中的信息流向解密模块还是存储模块;
身份信息采集模块,用于采集有意愿提取信息的行为人的身份信息;
身份信息匹配模块,用于将采集到的身份信息与现有的身份信息进行比对,从而确定行为人是否有权限查看解密后的信息。
入侵检测模块用于对系统进行病毒检测,并将病毒检测和入侵检测的结果汇报给用户,若存在病毒和入侵,则防护主机,入侵检测模块包括采集单元、计算单元、第一选择单元、变形单元、发展单元、第二选择单元和培养单元。
采集模块输出端连接处理模块输入端,处理模块输出端连接加密模块输入端和通信模块输入端,加密模块输出端连接汇总模块输入端,汇总模块输出端连接密钥创建模块输入端、密钥创建模块输出端身份模块输入端。
身份模块的输出端连接入侵检测模块的输入端,入侵检测模块的输出端连接解密模块的输入端,控制模块和处理模块双向连接。
控制模块与身份模块双向连接,解密模块输出端连接通信模块输入端,存储模块输出端连接通信模块输入端,通信模块输出端连接数据库输入端。
入侵检测模块中,采集单元的输出端连接计算单元的输入端,计算单元的输出端连接第一选择单元的输入端,第一选择单元的输出端连接变形单元输入端,变形单元输出端连接发展单元输入端,连接发展单元输出端连接第二选择单元输入端,第二选择单元输出端连接培养单元输入端。
采集模块、处理模块、加密模块、汇总模块、密钥创建模块、解密模块、存储模块、通信模块、控制模块、身份信息采集模块、身份信息匹配模块、解密模块和入侵检测模块之间通过过局域网连接。
该系统中入侵检测模块对病毒的检测包括:
S1、采集单元先将已知的病毒序列进行收集,设定病毒的最大发展次数,随机产生病毒序列为原始病毒;
设置终止变形次数Z,变形概率Pb,交叉概率Pj,代数t=0,得到初始病毒簇;终止运算的步骤为:t为病毒变形的次数,Y为合格隐蔽度,y为病毒变形后的隐蔽度,如果t<Z,y<Y,t=t+1,则转回步骤S1;如果t<Z,y≥Y,则将隐蔽度最高的个体输出;如果t=Z,结束运算,将隐蔽度最高个体输出;
Z为终止变形次数,即变形上限次数,若变形次数为Z次,则无论y是否大于等于Y,都将隐蔽度最高的个体输出;
求隐蔽度的步骤包括:
将隐蔽度小于Y的列为隐蔽度低的病毒,将隐蔽度大于Y的列为隐蔽度高的病毒,其中,a1,a2……an1为选择出的理论上隐蔽度高的病毒所对应的隐蔽度;b1,b2……bn2为选择出的理论上隐蔽度低的病毒所对应的隐蔽度;n1为选择出的理论上隐蔽度高的病毒个数;n2为选择出的理论上隐蔽度低的病毒个数;
其中,c1,c2……cn1为选择出的实际上隐蔽度高的病毒所对应的隐蔽度;d1,d2……dn2为选择出的实际上隐蔽度低的病毒所对应的隐蔽度;n3为选择出的实际上隐蔽度高的病毒个数;n4为选择出的实际上隐蔽度低的病毒个数;
将数个隐蔽度高和数个隐蔽度低的病毒所对应的隐蔽度进行平均值处理,更具有代表性,防止出现单一取值而造成的不具有代表性的情况发生。
先求出理论隐蔽度的差值:ΔL=Lmax-Lmin;
再求出实际隐蔽度的差值:Δl=lmax-lmin;
再算出相对值B:
Δl为实际病毒簇中隐蔽度的差值,ΔL为理论上隐蔽度的差值,lmin为实际病毒隐蔽度最小值,lmax为实际病毒隐蔽度最大值,lmin为理论病毒隐蔽度最小值,Lmax为理论病毒隐蔽度最大值;
求出理论高隐蔽度与理论低隐蔽度的差值ΔL和实际高隐蔽度与实际低隐蔽度的差值Δl,并将Δl进行平方运算除以ΔL和理论高隐蔽度与理论低隐蔽度的乘积,这样运算可以保证所得到的数值受理论隐蔽度和实际隐蔽度的影响,并且可以在此基础上,确保0<B<1;
若B>0.5,则说明实际隐蔽度的值和理论隐蔽度的值相比较大,交叉概率较大,即需要进一步的运算求得目标病毒的隐蔽度,对隐蔽度进行变换:
fa(x)=f(x)+k(B-0.5)
其中,fa(x)为变换后的隐蔽度,f(x)为原隐蔽度,k为常数,在使用时可以根据实际情况赋值;
交叉概率为:
Pj=B;
变形概率为:
Pb=(1+B)×S;
S为常数,可以根据实际情况进行赋值,但应保证0<Pb<1;
当B<0.5时,则根据B的值求出交叉概率Pj、变形概率Pb的值,且交叉概率Pj、变形概率Pb的值和B呈正比关系,即B的值越大,交叉概率Pj、变形概率Pb的值越大,网络安全入侵检测系统持续正常查杀病毒状态即可;
当B>0.5,则说明实际隐蔽度的值和理论隐蔽度的值相比较大,交叉概率较大,即需要进一步的运算求得目标病毒的隐蔽度,由于此种情况下病毒隐蔽度较高,所以对目标病毒的序列进行替换、重组,将进行替换、重组的目标病毒纳入网络安全入侵检测系统的查杀范围内;
S2、计算单元计算隐蔽度:对产生的原始病毒进行隐蔽度计算;
S3、第一选择单元选取隐蔽度高的病毒:将原始病毒的隐蔽度进行比较,将隐蔽度高的病毒选取出来;
S4、变形单元将隐蔽度高的病毒选取出来,对其中的序列进行替换、重组,从而产生新的病毒;
S5、产生子代病毒:将序列进行替换,发展单元将重组的新病毒作用到病毒簇中;
S6、输出目标病毒:第二选择单元将隐蔽度最高的目标病毒输出;
S7、培养单元针对隐蔽度最高的目标病毒对网络安全入侵检测系统进行定向的培养,使网络安全入侵检测系统可以查杀目标病毒。
工作原理:采集单元先将已知的病毒序列进行收集,设定病毒的最大发展次数,随机产生病毒序列为原始病毒,对产生的原始病毒进行隐蔽度计算;第一选择单元选取隐蔽度高的病毒,将原始病毒的隐蔽度进行比较,将隐蔽度高的病毒选取出来;变形单元将隐蔽度高的病毒选取出来,对其中的序列进行替换、重组,从而产生新的病毒;将序列进行替换,所述发展单元将重组的新病毒作用到病毒簇中,产生子代病毒;第二选择单元将隐蔽度最高的目标病毒输出,培养单元针对所述隐蔽度最高的目标病毒对网络安全入侵检测系统进行定向的培养,使网络安全入侵检测系统可以查杀目标病毒。
实施例:分别赋予Lmax值为3,赋予Lmix值为1.5,赋予lmax值为3,赋予lmin值为1.5,赋予S值为0.1;
求出理论隐蔽度的差值:ΔL=Lmax-Lmin=1.5;
再求出实际隐蔽度的差值:Δl=Lmax-lmin=1;
再算出相对值B:
由此可得,B<0.5;
交叉概率为:
变形概率为:
Pb=(1+B)×S≈0.13;
所以,B<0.5,且交叉概率和变形概率与B的值成正比,所以网络安全入侵检测系统持续正常查杀病毒状态即可。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。