正在加载图片...
·28 智能系统学报 第9卷 析处理。le中每一行表示一个数据包。不同被测 P(n)和条件概率P(e:In)、P(w:In)、P(w:lb)、 网络的代理服务器将le上传到云环境的同一个指 P(地,Ib)(1≤i≤6),其中b表示僵尸网络,n表示 定文件夹,以便在云环境中对各个被测网络的流量 集中分析处理,检测出所有被测网络中的僵尸主 正常网络。其中心,为TCP数据流,心,为时间间隔 机。 平均值,心3为时间间隔变化,心4为数据包字节数, ,为数据包个数平均值,心。为持续时间平均值。计 为适合MapReduce计算模型处理,须将le中 算正常网络和僵尸网络的先验概率对应一个Ma- 的数据包进行预处理。将抓取的网络流量信息数据 包处理成以行形式存储的文件,每行信息形式为: pReduce计算过程,即MapReducel;对6个属性列既 要判断是否为僵尸网络又要判断是否在阈值内,即 序号1数据包到达时间1源P地址1目的P地址 每个属性有4个判断条件,因此需要求24个条件概 TCP数据流I时间间隔平均值I时间间隔变化I数据 率,计算这24个条件概率对应另一个MapReduce 包字节数1数据包个数平均值1持续时间平均值1类 标签。其中,类标签值为0或者1来标明该条网络 计算过程,即MapReduce2。贝叶斯检测阶段基于由 26个概率构成的知识库,根据贝叶斯算法公式: 数据是否属于僵尸网络,本文设类标签值为0的网 络访问为正常网络,否则为僵尸网络。 P(b)ΠP(w,1b) 随机选择类标签值为0的正常网络信息行的 P(bI d)= 2/3,再随机选择类标签值为1的僵尸网络信息行的 P(d) 2/3,这些行信息合成文件作为训练数据文件,剩余 P(n)ΠP(w:ln) 行作为检测数据文件。然后,将训练数据文件和检 P(nI d)= 测数据文件分别按行分块,分块过程由Hadoop自动 P(d) 按64MB大小作为一个数据块处理。 计算每条网络数据的后验概率[0],进行分类并判断 是否为僵尸网络。检测阶段对应一个MapReduce 2 基于MapReduce的贝叶斯算法 计算过程,即MapReduce3。图2描述了贝叶斯算法 贝叶斯算法进行MapReduce设计的基本思路 检测僵尸网络的MapReduce并行化实现方法。 是:贝叶斯训练阶段形成知识库,先验概率P(b)、 预处理后训练流Key:偏移量 预处理后训练流Key:偏移量 Vahe:源IP,目的P,w,w2 Vale源IP,目的P,w,, W3,1W4,Ws,6类标签 13,W4,W5,1P6,类标签 MapReducel MapReduce2 Split1 Split2 Splitn Splitl Split2 Splitn MapDMapD MapD Map2Map2 Map2 Key:类标签 Key:ff…fa Value:1 Value:ppp ReduceD ReduceD Reduce2 Reduce2 Key:类标签 Value:类先验概率 Key Value:p.Pa MapReduce3 w:TCP数据流 :时间间隔平均值 预 Splitl Map3 :时间间隔变化 w:字节数平均值 理 Reduce3 ws:数据包个数平均值 Split2 Map3 w%:持续时间平均值 Key:time f人:w-w。条件字符电 Value:P(Cld)P(Cld) 判断是否为僵尸网络P一P”的条件概率 流 C:正常网络 Reduce3 C:福尸网络 Key:偏移量 d:网络数据特征向量 Vaue:源IP 目的IP,w1,w2 Splitn Map3 time:检测数据行数 Split:被Hadoop分割的数据块 W3,W4,W5,W6, 类标签 图2基于MapReduce检测僵尸网络的贝叶斯算法 Fig.2 The process of Bayesian algorithm to detect botnets based on MapReduce析处理。 file 中每一行表示一个数据包。 不同被测 网络的代理服务器将 file 上传到云环境的同一个指 定文件夹,以便在云环境中对各个被测网络的流量 集中分析处理,检测出所有被测网络中的僵尸主 机[8] 。 为适合 MapReduce 计算模型处理,须将 file 中 的数据包进行预处理。 将抓取的网络流量信息数据 包处理成以行形式存储的文件[9] ,每行信息形式为: 序号 | 数据包到达时间 | 源 IP 地址 |目的 IP 地址| TCP 数据流|时间间隔平均值 | 时间间隔变化 | 数据 包字节数|数据包个数平均值 | 持续时间平均值 | 类 标签。 其中,类标签值为 0 或者 1 来标明该条网络 数据是否属于僵尸网络,本文设类标签值为 0 的网 络访问为正常网络,否则为僵尸网络。 随机选择类标签值为 0 的正常网络信息行的 2 / 3,再随机选择类标签值为 1 的僵尸网络信息行的 2 / 3,这些行信息合成文件作为训练数据文件,剩余 行作为检测数据文件。 然后,将训练数据文件和检 测数据文件分别按行分块,分块过程由 Hadoop 自动 按 64 MB 大小作为一个数据块处理。 2 基于 MapReduce 的贝叶斯算法 贝叶斯算法进行 MapReduce 设计的基本思路 是:贝叶斯训练阶段形成知识库,先验概率P(b)、 P(n)和条件概率 P(wi | n)、P( wi | n )、P(wi | b)、 P(wi | b)(1 ≤ i ≤ 6),其中 b 表示僵尸网络,n 表示 正常网络。 其中 w1 为 TCP 数据流,w2 为时间间隔 平均值,w3 为时间间隔变化,w4 为数据包字节数, w5 为数据包个数平均值,w6 为持续时间平均值。 计 算正常网络和僵尸网络的先验概率对应一个 Ma⁃ pReduce 计算过程,即 MapReduce1;对 6 个属性列既 要判断是否为僵尸网络又要判断是否在阈值内,即 每个属性有 4 个判断条件,因此需要求 24 个条件概 率,计算这 24 个条件概率对应另一个 MapReduce 计算过程,即 MapReduce2。 贝叶斯检测阶段基于由 26 个概率构成的知识库,根据贝叶斯算法公式: P(b | d) = P(b)∏ n i = 1 P(wi | b) P(d) P(n | d) = P(n)∏ n i = 1 P(wi | n) P(d) 计算每条网络数据的后验概率[10] ,进行分类并判断 是否为僵尸网络。 检测阶段对应一个 MapReduce 计算过程,即 MapReduce3。 图 2 描述了贝叶斯算法 检测僵尸网络的 MapReduce 并行化实现方法。 图 2 基于 MapReduce 检测僵尸网络的贝叶斯算法 Fig.2 The process of Bayesian algorithm to detect botnets based on MapReduce ·28· 智 能 系 统 学 报 第 9 卷
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有