文档介绍:基于条件熵和改善遗传算法的入侵检测算法研究遗传算法matlab程序
摘要摘要:针对传统的入侵检测方法对于实时性网络检测效率低的问题,引入条件熵对高维数据集进行属性约简,不过由此引发了漏报率过高的问题,因此必需引入遗传算法以进化出最优种群。将条件熵和改善遗传算法相结合,以提升入侵检测的效率和降低漏报率,并将改善遗传算法和标准遗传算法进行了比较,结果表明,将改善后的遗传算法用于入侵检测中含有较高的检测率。
关键词关键词:入侵检测;条件熵;遗传算法
中图分类号:TP312文件标识码:A文章编号文章编号:167278002021010006802
作者介绍作者介绍:宋海波1982-,男,硕士,黔南民族医学高等专科学校计算机信息管理系讲师,研究方向为信息处理、信息安全和网络计算。
0引言
伴随计算机网络技术的飞速发展和广泛应用,计算机网络安全成了越来越主要的问题。入侵检测是一个能检测任何企图破坏资源完整性、保密性和可用性等入侵行为,并能采取对抗方法的技术。它作为一个主动防御技术,填补了传统安全技术的不足,但也存在误报率和漏报率较高、实时性较差等缺点,需要大量或完备的数据才能达成比较理想的检测性能。面对大规模的高维数据集怎样快速进行处理,是影响实时性的关键原因。降低维数是一个行之有效的方法,对大规模高维数据集采取属性约减颇有价值。
本文的基础思想是利用条件熵,对KDDcup99数据集中41维属性进行属性约减,把约减后的属性用改善的遗传算法进行了优化并和标准标准遗传算法进行了比较。
1条件熵和遗传算法
本文中遗传算法的参数设置以下:
M:初始化随机选择种群数量100。
T:遗传算法的终止进化代数,本文取为1 000。Pc:交叉概率,本文取为。Pm:变异概率,本文取为。目标函数:Fxi=wW-cC
2属性约减
本文利用条件熵的详细过程是:分别计算前41维数据和第42维决议属性的条件熵,然后按从小到大排序,依次删除直到维,既降低了空间复杂度,也降低了时间复杂度。理论上利用现有条件比较轻易实现。
数据预处理是为了把整型、浮点型和字符型数据转化成概率型数据,本部分试验采取的试验数据是抽取KDDcup99数据集10%的统计,试验平台为_13,微软企业的Access数据库。
试验伪码以下:
输入:KDDKUP99数据集
输出:概率型数据
Step1把KDDKUP99数据集中的数据导入到Access数据库,并分成异常集合和正常集合两个表。
Step2利用Java编程,对数据库进行操作。对于离散的字符型数据,预处理的方法是统计不一样字符型的数据条数,把统计数字写入数据库中另外一张表。
Step3对于整型数据,假如包括数字比较少,和字符型一样进行处理,假如不一样的数值比较多,就划定一个范围,要求在这个范围内为同一个情况。
Step4对于浮点数据就是划定一个范围,要求在某个范围内为同一个情况,最终把统计的数字写入数据库。
属性约简后的结果图1所表示。
图1属性约简结果
3遗传算法改善
本文采取二进制和实数混合编码,既避免了二进制编码搜索空间小的缺点,也排除了纯实数编码扩大了额外的种群空间。
试验平台是_