正在加载图片...
第2期 蒋鸿玲,等:基于神经网络的僵尸网络检测 ·117· 5)计算误差E. 望误差越大,训练循环次数越小.因此期望误差大只 6)反向计算误差信号 需较少次数的循环误差即可达到期望值,可提高神 7)调整神经网络的权值和偏置, 经网络训练效率.但是期望误差大,神经网络分类器 8)重复2)~7),直到达到期望误差或者达到最 的精度就下降,因此要取一个合理的值,使神经网络 大训练次数为止. 分类器的精度和训练次数达到平衡,从图7可以看 训练结束后,BP神经网络分类器已形成,即可 出,期望误差为0.002时效果较好. 用训练好的分类器检测僵尸网络, 10 3实验及结果分析 本文实验数据采集了天津某高校校园网内的网 络流量,通过核心交换机端口镜像捕获网络流量,选 择其中一个端口,被测子网内主机约200台,白天的 0 4 n67897010 网络流量为150~200MB/s.实验中采用了2011年 期望误差 4月6日的网络流量,共24h.真实网络环境中的流 图7期望误差不同时的训练循环次数 量作为背景流量,将其解析后导入数据库中,并注入 Fig.7 The training times for different expected error 模拟的僵尸网络流量.随机选取背景流量中若干台 为了验证神经网络分类器检测僵尸网络的性 主机,替换僵尸主机的P地址为这些主机的P地 能,本文用测试数据对神经网络分类器进行测试,测 址,使这些主机既有正常流量也有僵尸网络流量,更 试数据包含类标签,即是否是僵尸网络主机对.本文 符合真实场景.本文模拟的僵尸网络流量特征符合 采用检测率(detection rate,DR)和误报率(false posi-- 现有大部分僵尸网络流量特征,因而本文研究这类 tive rate,FPR)2个指标对神经网络分类器的性能进 僵尸网络,其他类型的僵尸网络不在本文研究范围 行评估.检测率为僵尸主机被正确检测出来的概率: 内.实验用C#编写程序,用SQL Server2000数据库 TP DR =TP +FN (4) 存储解析后的网络流量数据。 为了确定最佳隐层神经元个数,做了如下实验。 式中:TP表示正确检测出的僵尸主机个数,N表示 分别将隐层神经元个数设置为3~12的不同值,观 未被检测出的僵尸主机个数.误报率为合法主机被 察训练误差和训练次数的变化情况.实验中期望误 错误地检测为僵尸主机的概率,如式(5) 差为0.001,隐层神经元个数取不同值时神经网络 FP 训练误差都相同,因此只观察训练次数的变化.图6 FPR =FP +TN (5) 式中:P为被错误地检测为僵尸主机的合法主机个 是不同隐层神经元个数的训练循环次数,从图中可 数,TN为正确检测出的合法主机个数 以看出训练循环次数随着隐层神经元个数增加而增 验证时首先以测试数据作为神经网络的输入, 大,在误差相同情况下,训练次数越少越好,因此隐 判断神经网络的检测结果和真实结果是否相同,然 层神经元个数为3时效果最佳,后续的实验中都将 隐层神经元个数设为3, 后分别统计TP、FN、P和TN的值,最后根据式(4) 和(5)计算检测率和误报率.图8为期望误差不同 7.010 时算法的检测率和误报率.从图8(a)可以看出,期 藏6.5引 望误差为0.001到0.009时,检测率都为100%,当 期望误差为0.01时,检测率下降到99.4%. 4.5 4 56789101112 隐层神经元个数 图6不同隐层神经元个数的训练循环次数 9.96 Fig.6 The training times for different number of hid. den layer neuron 9.94 345678910 10- 图7是期望误差取不同值时的训练循环次数, 期待误差 实验数据取3次实验的平均值.从图中可以看出,期 (a)DR
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有