网络异常行为的检测方法及系统的制作方法

文档序号:10555611阅读:573来源:国知局
网络异常行为的检测方法及系统的制作方法
【专利摘要】本发明公开了一种网络异常行为的检测方法及系统。其中方法包括:从网络访问日志中获取网络访问数据集;从网络访问数据集中提取每个特定域名下的网络访问数据,计算网络访问数据中指定字段的统计特性参数;从不同维度检测网络访问数据集中各条网络访问数据的行为特性,生成各条网络访问数据对应的多维特征向量;基于训练数据集中各条训练数据的多维特征向量和各条训练数据的实际类标、以及检测数据集中各条检测数据的多维特征向量,采用机器学习中的分类算法,得到检测数据集中各条检测数据的预测类标。根据本发明提供的方案,得到的检测结果同时具有较高的准确率和召回率。
【专利说明】
网络异常行为的检测方法及系统
技术领域
[0001] 本发明涉及计算机网络技术领域,具体涉及一种网络异常行为的检测方法及系 统。
【背景技术】
[0002] 随着互联网的飞速发展,Web应用越来越丰富,专门针对Web应用的入侵手段也越 来越复杂多变,入侵检测技术已成为网络安全的核心研究对象。
[0003] 传统的入侵检测方法根据已知的攻击行为建立规则,形成匹配规则库,对各种已 知的攻击类型具有良好的检测效果。但其具有如下缺点:
[0004] (1)适应性差,类似正则表达式的判定条件相对容易被绕过,而且该方法不能有效 地检测出未知的攻击类型;
[0005] (2)基于规则的检测方式很大程度上依赖安全人员的经验判断,它对研究人员的 专业水平要求较高,这从本质上加大了研究门槛;
[0006] (3)匹配规则库需要专家人为的经常更新和维护,而每一次对线上系统模块的修 改都会带来高昂的成本代价。

【发明内容】

[0007] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上 述问题的网络异常行为的检测方法及系统。
[0008] 根据本发明的一个方面,提供了一种网络异常行为的检测方法,其包括:
[0009] 从网络访问日志中获取网络访问数据集,所述网络访问数据集包含训练数据集和 检测数据集;
[0010] 从所述网络访问数据集中提取每个特定域名下的网络访问数据,计算所述网络访 问数据中指定字段的统计特性参数,构建每个特定域名的统计特性模型;
[0011] 依据计算得到的统计特征参数,从不同维度检测所述网络访问数据集中各条网络 访问数据的行为特性,生成各条网络访问数据对应的多维特征向量;
[0012] 基于训练数据集中各条训练数据的多维特征向量和各条训练数据的实际类标、以 及检测数据集中各条检测数据的多维特征向量,采用机器学习中的分类算法,得到所述检 测数据集中各条检测数据的预测类标;其中类标表示网络访问数据为正常数据或异常数 据。
[0013] 根据本发明的另一方面,提供了一种网络异常行为的检测系统,其包括:
[0014] 数据准备模块,适于从网络访问日志中获取网络访问数据集,所述网络访问数据 集包含训练数据集和检测数据集;
[0015] 统计特性模型构建模块,适于从所述网络访问数据集中提取每个特定域名下的网 络访问数据,计算所述网络访问数据中指定字段的统计特性参数,构建每个特定域名的统 计特性模型;
[0016] 多维子系统,适于依据计算得到的统计特征参数,从不同维度检测所述网络访问 数据集中各条网络访问数据的行为特性,生成各条网络访问数据对应的多维特征向量;
[0017] 分类模块,适于基于训练数据集中各条训练数据的多维特征向量和各条训练数据 的实际类标、以及检测数据集中各条检测数据的多维特征向量,采用机器学习中的分类算 法,得到所述检测数据集中各条检测数据的预测类标;其中类标表示网络访问数据为正常 数据或异常数据。
[0018] 根据本发明提供的网络异常行为的检测方法及系统,基于网络访问日志提供的数 据,构建每个特定域名的统计特性模型,从不同维度检测网络访问数据集中各条网络访问 数据的行为特性,分别将各个维度的检测结果重新映射到访问记录的向量空间中,采用机 器学习算法再分类,使系统的检测结果同时具有较高的准确率和召回率。本发明将基于无 监督学习的特征生成技术和基于有监督学习的分类技术相结合,具有良好的适应性,能够 检测出多种类型的网络入侵行为,具备一定的检测未知异常模式的能力。
[0019]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段, 而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够 更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0020] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明 的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0021] 图1示出了根据本发明一个实施例的网络异常行为的检测方法的流程示意图;
[0022] 图2示出了根据本发明另一个实施例的网络异常行为的检测方法的流程示意图;
[0023] 图3示出了本发明提供的网络异常行为的检测方法中构造得到的有向图的示意 图;
[0024] 图4示出了根据本发明一个实施例的网络异常行为的检测系统的功能结构示意 图。
【具体实施方式】
[0025] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开 的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例 所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围 完整的传达给本领域的技术人员。
[0026] 本发明实施例提出一种网络异常行为的检测方案,将基于无监督学习的特征生成 技术和基于有监督学习的分类技术相结合,对网络访问记录的行为特性做出综合评估。本 发明实施例基于同一域名下海量日志数据的统计特征,从不同维度构造出多个基于统计特 性的检测子系统。然后分别将各个子系统的检测结果重新映射到访问记录的向量空间中, 采用机器学习算法再分类,使系统的检测结果同时具有较高的准确率和召回率。
[0027] 图1示出了根据本发明一个实施例的网络异常行为的检测方法的流程示意图。如 图1所示,该方法包括如下步骤:
[0028] 步骤S101,从网络访问日志中获取网络访问数据集,该网络访问数据集包含训练 数据集和检测数据集。
[0029] 网络访问日志记录了用户访问网络的行为数据,通过分析网络访问日志可以分析 用户访问网络的行为特性。本步骤作为数据准备步骤,首先收集网络访问日志,从网络访问 曰志中获取网络访问数据集。网络访问数据集是由大量网络访问数据组成的集合,其中的 每条网络访问数据对应一条HTTP应用层数据包,完整的一条网络访问数据包括:时间戳、源 IP、源端口、目的IP、目的端口、URI(Uniform Resource Identifier,统一资源标识符)、主 机域名等字段。
[0030] 为了能够其中某些网络访问数据进行特性分析,本实施例从网络访问日志中获取 一部分数据作为训练数据,这些训练数据包含正常数据和异常数据,通过实际类标标识网 络访问数据为正常数据或异常数据。例如,实际类标为-1,表示为异常数据,实际类标为1, 表示为正常数据。通过这些已知特性的训练数据组成的训练数据集,可对检测数据集内的 多条待检测的网络访问数据的特性进行评估。
[0031] 步骤S102,从网络访问数据集中提取每个特定域名下的网络访问数据,计算网络 访问数据中指定字段的统计特性参数,构建每个特定域名的统计特性模型。
[0032] 基于所获取的网络访问数据集,本发明实施例根据同一域名下海量日志数据的统 计特性参数构建对应域名的统计特性模型。具体地,根据网络访问数据所包括的主机域名 查找属于同一域名的网络访问数据,而后提取同一域名下的网络访问数据的指定字段,计 算统计特性参数,从而构建每个域名的统计特性模型。可选地,本发明实施例可计算同一域 名下的网络访问数据的URI字段的统计特性参数,构建每个域名的统计特性模型。URI用来 标识Web资源的字符串的各个不同部分,一般由三部分组成:主机名、标志符和相对URI。主 机名为存放资源的主机的名称,由路径表示;标志符表示URI指向资源的内部;相对URI不包 含任何命名规范信息,可能包含有相对路径。按照RFC4395规范,URI的句法结构为:协议名 称://域名.根域名/目录/文件名.后缀。
[0033]步骤S103,依据计算得到的统计特征参数,从不同维度检测网络访问数据集中各 条网络访问数据的行为特性,生成各条网络访问数据对应的多维特征向量。
[0034] 本发明实施例基于同一域名下海量日志数据的统计特征,从不同维度检测网络访 问数据集中各条网络访问数据的行为特性,然后分别将各个维度的检测结果重新映射到访 问记录的向量空间中,从而生成各条网络访问数据对应的多维特征向量。
[0035] 步骤S104,基于训练数据集中各条训练数据的多维特征向量和各条训练数据的实 际类标、以及检测数据集中各条检测数据的多维特征向量,采用机器学习中的分类算法,得 到检测数据集中各条检测数据的预测类标;其中类标表示网络访问数据为正常数据或异常 数据。
[0036] 通过上述步骤可以得到训练数据集中各条训练数据的多维特征向量以及检测数 据集中各条检测数据的多维特征向量,又由于已知训练数据的实际类标,结合这些数据采 用机器学习算法再分类,得到检测数据集中各条检测数据的预测类标,从而实现对网络访 问记录的行为特性的综合评估。
[0037] 根据本发明实施例提供的网络异常行为的检测方法,基于网络访问日志提供的数 据,构建每个特定域名的统计特性模型,从不同维度检测网络访问数据集中各条网络访问 数据的行为特性,分别将各个维度的检测结果重新映射到访问记录的向量空间中,采用机 器学习算法再分类,使系统的检测结果同时具有较高的准确率和召回率。本方法将基于无 监督学习的特征生成技术和基于有监督学习的分类技术相结合,具有良好的适应性,能够 检测出多种类型的网络入侵行为,具备一定的检测未知异常模式的能力。
[0038]图2示出了根据本发明另一个实施例的网络异常行为的检测方法的流程示意图。 如图2所示,该方法包括如下步骤:
[0039]步骤S201,从网络访问日志中获取网络访问数据集,网络访问数据集包含训练数 据集和检测数据集。
[0040]网络访问日志记录了用户访问网络的行为数据,通过分析网络访问日志可以分析 用户访问网络的行为特性。本步骤作为数据准备步骤,首先收集网络访问日志,从网络访问 曰志中获取网络访问数据集。网络访问数据集是由大量网络访问数据组成的集合,其中的 每条网络访问数据对应一条HTTP应用层数据包,完整的一条网络访问数据包括:时间戳、源 IP、源端口、目的IP、目的端口、URI、主机域名等字段。
[0041 ]为了能够其中某些网络访问数据进行特性分析,本实施例从网络访问日志中获取 一部分数据作为训练数据,这些训练数据包含正常数据和异常数据,通过实际类标标识网 络访问数据为正常数据或异常数据。例如,实际类标为-1,表示为异常数据,实际类标为1, 表示为正常数据。通过这些已知特性的训练数据组成的训练数据集,可对检测数据集内的 多条待检测的网络访问数据的特性进行评估。
[0042]步骤S202,对网络访问数据集中各条网络访问数据进行预处理。
[0043]为了便于后续的统计分析,本步骤对网络访问数据集中各条网络访问数据进行预 处理,使之更具规范性。具体地,预处理过程可包括:
[0044] (1)对错误数据、缺失数据以及重复数据进行处理;通过此处理步骤删除掉网络访 问数据集中的无效数据,提高了后续处理的有效性。
[0045] (2)按照不同的主机域名将各条网络访问数据进行分类处理;此处理步骤是为步 骤S203做准备,通过分类便于步骤S203直接对各个特定域名下的网络访问数据做处理。
[0046] 步骤S203,从训练数据集中提取每个特定域名下的网络访问数据,计算网络访问 数据中指定字段的统计特性参数,构建每个特定域名的统计特性模型。
[0047] 本步骤具体为计算同一域名下的网络访问数据的URI字段的统计特性参数,构建 每个域名的统计特性模型。可选地,本步骤构建统计特性模型是基于训练数据集中的网络 访问数据,检测数据集中的网络访问数据不考虑在内。
[0048]进一步的,计算网络访问数据中URI字段的统计特性参数主要包括以下几个方面:
[0049] (1)统计得到网络访问数据的分级路径以及相邻路径的频数。
[0050] 以表1所示的4条网络访问数据为例,则可以统计得到分级路径以及相邻路径之间 的频数列表,如表2所示。
[0051] 表 1

L0055J (2)针对问一路社卜的每条|WJ络访问数据,抽取该条|WJ络访问数据的参数字段出 现的所有参数名,形成该条网络访问数据对应的参数名子集;将该路径下各条网络访问数 据对应的参数名子集汇总,生成该路径下的参数名子集池。
[0056] 首先,针对同一路径下的每一条记录,抽取其参数字段出现的所有参数名(Pl, ?2,...,? 1〇,形成一个参数名子集51={{?1,?2,...,? 15}}。然后将不同的参数子集汇总,生成 特定路径下的一个参数名子集池,即S = S1 U S2 U ... U Sn(其中η为同一路径下的记录数)。 举例如下:
[0057] 假如有5条网络访问数据,如表3所示,则可抽取其对应的参数名子集:
[0058] 表3 L0060」该路径下的参数名于集池为:
[0061] S={{x,y}}U{{z}}U{{x,y,z}}U{{x,y}}U{{y}}
[0062] ={{y}, {z}, {x,y}, {x,y,z}}
[0063] (3)针对同一路径下的每条网络访问数据,按照顺序抽取参数名,构造有向图;遍 历有向图中节点之间的所有两两组合,判断节点之间是否连通,根据判断结果更新所述有 向图;根据有向图记录的连通关系,构建参数名顺序集。
[0064] 首先,对于同一路径下的每一条记录,按照顺序抽取参数名,构造有向图。举例来 说,假如有4条输入数据的URI如表4所示,其构造的有向边对应所示。由此可构造得到如图3 所示的有向图。
[0065] 然后,遍历参数名(即有向图中的节点)之间的所有两两组合,判断相应的节点之 间是否连通,根据判断结果更新有向图。根据有向图记录的连通关系,构建参数名顺序集S。
[0066] 表 4
LUUbbj 以参数名X和y为例,如呆节酡到达节开乜节个酡到达节?χ,则说明节 点X-定在节点y的前面,将边(y,x)加入S;如果节点y能到达节点X并且节点X不能到达节点 y,则说明节点y-定在节点X的前面,将边(X,y)加入S;其余情况都无法说明固定的先后顺 序,不对参数名顺序集S做出任何改变。上述实例得到的参数名顺序集S为:S={(y,x),(z, x),(z,y)},由此可见,参数名顺序集S记录的是不可连通的边,也就是说,如果参数名顺序 集S具有这条记录(XI,X2),则参数名Xl不能出现在参数名X2的前面。
[0069 ] (4)计算网络访问数据中参数名对应的参数值长度分布的均值和标准差。
[0070] 对于参数值长度分布,本发明实施例统计同一域名下同一路径的网络访问数据中 各参数名对应的参数值长度,计算参数值长度分布的均值和标准差作为统计特性参数。
[0071] 举例来说,统计路径a/b下参数值的长度分布有如表5所示的统计特性。 「00721 丟 Fi
[0074] (5)计算网络访问数据中参数值含有的特殊字符在特殊字符模型空间中出现的概 率。
[0075] 预先构建特殊字符模型空间,举例来说,假设特殊字符模型空间为:
[0077]计算网络访问数据中参数名对应的参数值含有的特殊字符在上述特殊字符模型 空间中出现的概率作为统计特性参数。
[0078] (6)判定网络访问数据中的具有变量参数值的参数名是否为枚举型参数的参数 名。
[0079] 枚举型参数指的是特定参数名下的参数值均来自于一个固定的有限枚举集,比如 内容标识或索引。本发明实施例引入两个辅助函数:f(x)和g(x),分别定义如下:
[0080] 假设某路径下的某一特定参数名q有η个参数值(qi,q2, ...,qn),其参数值均来自 于η条独立的URI,则:
[0081]
[0082]
[0083] 根据实际数据得到f(x)和g(x),然后计算两个函数的相关系数P,就可以用以下规 则来判定某一具有变量参数值的参数名是否为枚举型参数的参数名:
[0084] 如果p〈0,则f(x)和g(x)负相关的,参数名q的类型为枚举型;
[0085] 如果P>0,则f(x)和g(x)正相关的,参数名q的类型为随机型;
[0086] 如果p~0,则无法有效判断参数名q的类型,为了不增加误报率,将其作为随机型 处理。
[0087] 最后,将根据上述算法判定为枚举型参数的参数名加入到枚举型参数列表中。
[0088] (7)计算针对网络访问数据中参数值在特定字符区间内包含的字符数占参数值长 度的比例的期望值。
[0089] 对于参数值字符的分布,包含直接字符集分布检验和按字符类型聚合后的字符集 分布检验两种情况。其中前者按照单一字符的ASCII码进行区间划分,后者按照字符集类别 进行划分(类别是按照大写字母、小写字母、控制字符、数字、不可打印字符、超范围字符等 来区分)。
[0090] 举例来说,假设路径aa/bb下字符集分布有如表6和表7所示的统计特性。
[0091]表6.直接字符集分布检验
[0095] 其中,Xi和yi分别表示对应参数名下,特定字符区间包含的字符数占整个参数值长 度的比例的期望值,则芊
[0096] 通过以上统计的网络访问数据中指定字段的统计特性参数,构建每个特定域名的 统计特性模型。
[0097] 步骤S204,从路径维度、参数名组合维度、参数名相对位置维度、参数值长度分布 维度、特殊字符维度、枚举型参数维度、和/或参数值分布维度检测网络访问数据集中各条 网络访问数据的行为特性,生成各条网络访问数据对应的多维特征向量。
[0098] 本步骤从不同的维度检测每条网络访问数据的行为特性,生成新的特征向量用于 最终分类。对单条网络访问数据的特定维度进行检测,独立生成该特定维度下网络访问数 据的正常概率。本步骤所使用的模型参数均来源于步骤S203得到的统计特性模型。
[0099] 下面分别介绍从不同维度检测网络访问数据集中各条网络访问数据的行为特性 的方法。
[0100] (1)从路径维度检测网络访问数据集中各条网络访问数据的行为特性具体为:依 据网络访问数据的分级路径以及相邻路径的频数,计算网络访问数据中路径部分的正常概 率。
[0101] 具体地,利用自然语言处理的分词算法计算URI中路径部分的正常概率,例如可采 用un i gram、B i gram或tr i gram算法,本发明对此不作限制。针对路径长度不同所带来的影 响,采用相应的正则化算法进行修正。举例如下:
[0102] 表8
[0104]其中,P(A|B)依据条件概率公式和最大似然估计,可得:
[0105]
[0106] 其中Count (A,B)表示路径B出现在路径A前面的次数,Count (B)表示路径B出现的 次数,其具体数值均可在统计特性模型中的频数列表中得到。
[0107] (2)从参数名组合维度检测网络访问数据集中各条网络访问数据的行为特性具体 为:判断网络访问数据中各参数名组合是否位于对应路径下的参数名子集池中,若是,则从 参数名组合维度检测的行为特性为正常;若否,则从参数名组合维度检测的行为特性为异 常。
[0108] 对于参数名组合异常,若网络访问数据中各参数名组合不在其对应路径的参数名 子集池中,则被判定为异常,输出0,否则输出1。举例如下:
[0109] 假设路径a/b下参数名子集池为:S= {{x,y},{x,y,z},{z}},其中,Ui,X2, . . .,χη} 表示参数名X1,X2, . . .,Xn可同时作为一条记录的参数名出现。假如有3条输入数据的URI如 表9所示,则得到对应的输出行为特性。
[0110]表9
Lm ?2(3 )从篸数名相对位置维度粒测IWJ络访InJ数据集中谷条IWj络访InJ数据的仃为特性 具体为:从网络访问数据中抽取参数名顺序,判断参数名顺序是否位于对应路径下的参数 名顺序集中,若是,则从参数名相对位置维度检测的行为特性为异常;若否,则从参数名相 对位置维度检测的行为特性为正常。
[0113] 对于参数名相对位置异常,若参数名顺序集包含从网络访问数据中抽取的参数名 顺序,则说明参数名顺序出现了异常情况,输出0,否则输出1。举例如下:
[0114] 假设路径a/b下参数名顺序集为:S= {(x,y),(x,z)},其中,如果参数名顺序集S具 有这条记录(XI,X2),参数名Xl不能出现在参数名X2的前面。
[0115] 表 1〇
[0117] (4)从参数值长度分布维度检测网络访问数据集中各条网络访问数据的行为特性 具体为:结合网络访问数据中参数名对应的参数值长度分布的均值和标准差,根据修正后 的切比雪夫不等式计算网络访问数据中参数名对应的参数值长度分布正常的概率。
[0118] 对于参数值长度分布异常,利用修正后的切比雪夫不等式计算参数值长度分布的 正常概率。假设参数名为^的参数值长度分布的均值为μ,标准差为 〇(其中均值和标准差来 源于步骤S203得到的统计特性模型)。假设某条网络访问数据中参数名^对应的参数值长 度为h,若则输出1;否则,根据修正后的切比雪夫不等式计算该参数名X 1对应的参数 值长度分布正常的概率P (Xi)作为输出:
[0119]
[0120] 其中,Ei = Ii-P
[0121] 最后将该条网络访问数据中所有参数值长度分布正常概率的最小值作为输出。
[0122] 举例来说,假设路径a/b下参数值的长度分布有如表5所示的统计特性。这条网络 访问数据中参数名对应的参数值长度分布正常的概率的计算方法如表11所示:
[0123] 表11
[0125] (5)从特殊字符维度检测网络访问数据集中各条网络访问数据的行为特性具体 为:依据网络访问数据中参数值含有的特殊字符在特殊字符模型空间中出现的概率获取从 特殊字符维度检测行为特定为正常的概率。
[0126] 对于一条特定的网络访问数据,其包含的每一个参数名的正常概率取其对应参数 值包含的特殊字符在特殊字符模型空间中出现概率的最小值,最终这条网络访问数据的正 常概率取其所有参数名的正常概率的最小值,举例如下:
[0127] 表12
[0129]其中,假设路径a/b下特殊字符的概率统计特征为:(&和71分别表示对应参数名下 特定特殊字符出现的概_

[0132] (6)从枚举型参数维度检测网络访问数据集中各条网络访问数据的行为特性具体 为:若网络访问数据中的参数名被判定为枚举型参数的参数名,但参数名对应的参数值出 现不属于枚举型参数集合的情况,则从枚举型参数维度检测的行为特性为异常。
[0133] 对于枚举型参数异常,如果参数名被判定为枚举型参数的参数名,并且对应的参 数值出现不属于枚举型参数集合的情况,则从枚举型参数维度检测的行为特性为异常,输 出〇,否则输出1。
[0134] 举例来说,假设路径a/b下枚举类型的统计特征为:
[0135] 表14
[0140] (7)从参数值分布维度检测网络访问数据集中各条网络访问数据的行为特性具体 为:结合特定字符区间出现的概率期望值,利用卡方检验的方式计算参数值字符分布正常 的概率。
[0141] 对于参数值字符分布异常,分别从两个维度来考量,分别为直接字符集分布检验 维度和按字符类型聚合后的字符集分布检验维度。其中前者按照单一字符的ASCII码进行 区间划分,后者按照字符集类别进行划分(类别是按照大写字母、小写字母、控制字符、数 字、不可打印字符、超范围字符等来区分)。结合参数值在特定字符区间内包含的字符数占 参数值长度的比例的期望值,利用卡方检验的方式分别计算两个维度下参数值字符分布正 常的概率。
[0142] 以直接字符集分布检验为例,假设URI为a/b?x=123@mm&y = nn#l#2,参数名X的参 数值为123@mm,其ASCII码的频数统计为:
[0143] 表16
[0145] 不考虑字符值的因素,将频数按大小顺序重新排列,得到有序频数序列(2,I,I,1, 1,0,0,…,0)。该序列一共256个元素,对应的索引分别为(0,1,2. ..,255)。然后按照表17的 划分方式,将对应区间编号内的序列频数求和,得到对应的区间分布为:
[0146] 表17

[0149] 将区间频数与对应路径下模型的字符集分布做卡方检验(自由度为5),求得P(xx2 5)即为参数名X所对应的字符分布正常的概率。
[0150] 参数名y的计算过程与上述过程类似,最终参数值分布正常的概率为两者的最小 值,即 ηι?η(Λ上2I 5), Λ Z I 5))ι:
[0151] 按字符类型聚合后的字符集分布检验与直接字符集分布检验的区别在于区间划 分是按照字符值类型划分的,其它过程与之类似,不再赘述。
[0152] 经过以上检测过程,共得到8个维度的检测结果,最终生成各条网络访问数据的8 维特征向量。举例如下:
[0153] 表18
[0155] 其中,X⑴,^4),^5),^7),^ 8)为〇到1之间的浮点数,^2),^3),^6)为〇或1的布尔值。 参数值分布1为直接字符集分布检验结果,参数值分布2为按字符类型聚合后的字符集分布 检验结果。
[0156] 最终输出的8维特征向量为:
[0157] 表19
[0159] 步骤S205,基于训练数据集中各条训练数据的多维特征向量和各条训练数据的实 际类标、以及检测数据集中各条检测数据的多维特征向量,采用机器学习中的分类算法,得 到检测数据集中各条检测数据的预测类标;其中类标表示网络访问数据为正常数据或异常 数据。
[0160] 通过上述步骤可以得到训练数据集中各条训练数据的多维特征向量以及检测数 据集中各条检测数据的多维特征向量,又由于已知训练数据的实际类标,结合这些数据采 用机器学习算法再分类,得到检测数据集中各条检测数据的预测类标,从而实现对网络访 问记录的行为特性的综合评估。
[0161 ]可选地,本实施例所采用的机器学习算法可以为决策树算法或随机森林算法,本 发明对此不作限制。
[0162] 具体地,将训练输入数据和检测输入数据作为输入,采用机器学习算法得到最终 的检测结果。
[0163] 其中训练输入数据为:
[0165] 其中,m表示训练数据集的数据总数;Xa(b)表示训练数据集的第a条网络访问数据 的第b(l<b<8)维特征值;yk表示第k条网络访问数据的实际类标(-1代表异常数据,+ 1代 表正常数据)。
[0166] 检测输入数据为:
[0168] 其中,η表示检测数据集的数据总数;<b)表示检测数据集的第a条网络访问数据的 第b(l<b<8)维特征值。
[0169] 检测结果为:
[0171] 其中,η表示检测数据集的数据总数;<b)表示检测数据集的第a条网络访问数据的 第b(l<b<8)维特征值;苑表示第k条网络访问数据的预测类标(-1代表异常数据,+1代表 正常数据)。
[0172] 根据本发明实施例提供的网络异常行为的检测方法,基于网络访问日志提供的数 据,构建每个特定域名的统计特性模型,从不同维度检测网络访问数据集中各条网络访问 数据的行为特性,分别将各个维度的检测结果重新映射到访问记录的向量空间中,采用机 器学习算法再分类,使系统的检测结果同时具有较高的准确率和召回率。本方法将基于无 监督学习的特征生成技术和基于有监督学习的分类技术相结合,具有良好的适应性,能够 检测出多种类型的网络入侵行为,具备一定的检测未知异常模式的能力。
[0173] 图4示出了根据本发明一个实施例的网络异常行为的检测系统的功能结构示意 图。如图4所示,该检测系统包括:数据准备模块41,统计特性模型构建模块42,多维子系统 43,以及分类模块44。
[0174] 数据准备模块41适于从网络访问日志中获取网络访问数据集,网络访问数据集包 含训练数据集和检测数据集。
[0175] 统计特性模型构建模块42适于从网络访问数据集中提取每个特定域名下的网络 访问数据,计算网络访问数据中指定字段的统计特性参数,构建每个特定域名的统计特性 模型。
[0176] 多维子系统43适于依据计算得到的统计特征参数,从不同维度检测网络访问数据 集中各条网络访问数据的行为特性,生成各条网络访问数据对应的多维特征向量。
[0177] 分类模块44适于基于训练数据集中各条训练数据的多维特征向量和各条训练数 据的实际类标、以及检测数据集中各条检测数据的多维特征向量,采用机器学习中的分类 算法,得到检测数据集中各条检测数据的预测类标;其中类标表示网络访问数据为正常数 据或异常数据。
[0178] 数据准备模块41进一步适于:从网络访问日志中获取各条网络访问数据,其中每 条网络访问数据包括:URI字段和主机域名。可选地,每条网络访问数据还包括:时间戳、源 IP、源端口、目的IP和/或目的端口。上述指定字段可为URI字段。
[0179] 可选地,检测系统还包括:预处理模块45,适于对错误数据、缺失数据以及重复数 据进行处理;按照不同的主机域名将各条网络访问数据进行分类处理。
[0180]统计特性模型构建模块42进一步适于:从训练数据集中提取每个特定域名下的网 络访问数据,计算网络访问数据中指定字段的统计特性参数,构建每个特定域名的统计特 性模型。
[0181] 统计特性模型构建模块42进一步适于:统计得到网络访问数据的分级路径以及相 邻路径的频数。
[0182] 统计特性模型构建模块42进一步适于:针对同一路径下的每条网络访问数据,抽 取该条网络访问数据的参数字段出现的所有参数名,形成该条网络访问数据对应的参数名 子集;将该路径下各条网络访问数据对应的参数名子集汇总,生成该路径下的参数名子集 池。
[0183]统计特性模型构建模块42进一步适于:针对同一路径下的每条网络访问数据,按 照顺序抽取参数名,构造有向图;遍历有向图中节点之间的所有两两组合,判断节点之间是 否连通,根据判断结果更新有向图;根据有向图记录的连通关系,构建参数名顺序集。
[0184] 统计特性模型构建模块42进一步适于:计算网络访问数据中参数名对应的参数值 长度分布的均值和标准差。
[0185] 统计特性模型构建模块42进一步适于:计算网络访问数据中参数值含有的特殊字 符在特殊字符模型空间中出现的概率。
[0186] 统计特性模型构建模块42进一步适于:判定网络访问数据中的具有变量参数值的 参数名是否为枚举型参数的参数名。
[0187] 统计特性模型构建模块42进一步适于:计算针对网络访问数据中参数值在特定字 符区间内包含的字符数占参数值长度的比例的期望值。
[0188] 多维子系统43进一步适于:从路径维度、参数名组合维度、参数名相对位置维度、 参数值长度分布维度、特殊字符维度、枚举型参数维度、和/或参数值分布维度检测网络访 问数据集中各条网络访问数据的行为特性,生成各条网络访问数据对应的多维特征向量。 [0 189]具体地,多维子系统43包括以下系统中的一个或多个:路径分析子系统431,参数 名组合分析子系统432,参数名相对位置分析子系统433,参数值长度分布分析子系统434, 特殊字符分析子系统435,枚举型参数分析子系统436,以及参数值分布分析子系统437。
[0190] 路径分析子系统431适于依据网络访问数据的分级路径以及相邻路径的频数,计 算网络访问数据中路径部分的正常概率。
[0191] 参数名组合分析子系统432适于判断网络访问数据中各参数名组合是否位于对应 路径下的参数名子集池中,若是,则从参数名组合维度检测的行为特性为正常;若否,则从 参数名组合维度检测的行为特性为异常。
[0192] 参数名相对位置分析子系统433适于从网络访问数据中抽取参数名顺序,判断参 数名顺序是否位于对应路径下的参数名顺序集中,若是,则从参数名相对位置维度检测的 行为特性为异常;若否,则从参数名相对位置维度检测的行为特性为正常。
[0193] 参数值长度分布分析子系统434适于结合网络访问数据中参数名对应的参数值长 度分布的均值和标准差,根据修正后的切比雪夫不等式计算网络访问数据中参数名对应的 参数值长度分布正常的概率。
[0194] 特殊字符分析子系统435适于根据网络访问数据中参数值含有的特殊字符在特殊 字符模型空间中出现的概率获取从特殊字符维度检测行为特定为正常的概率。
[0195] 枚举型参数分析子系统436适于若网络访问数据中的参数名被判定为枚举型参数 的参数名,但参数名对应的参数值出现不属于枚举型参数集合的情况,则从枚举型参数维 度检测的行为特性为异常。
[0196] 参数值分布分析子系统437适于结合针对网络访问数据中参数值在特定字符区域 内包含的字符数占参数值长度的比例的期望值,利用卡方检验的方式计算参数值字符分布 正常的概率。
[0197] 分类模块44进一步适于:利用决策树算法和/或随机森林算法,得到检测数据集中 各条检测数据的预测类标。
[0198] 根据本发明实施例提供的网络异常行为的检测系统,基于网络访问日志提供的数 据,构建每个特定域名的统计特性模型,从不同维度检测网络访问数据集中各条网络访问 数据的行为特性,分别将各个维度的检测结果重新映射到访问记录的向量空间中,采用机 器学习算法再分类,使系统的检测结果同时具有较高的准确率和召回率。本系统将基于无 监督学习的特征生成技术和基于有监督学习的分类技术相结合,具有良好的适应性,能够 检测出多种类型的网络入侵行为,具备一定的检测未知异常模式的能力。
[0199] 在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。 各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求 的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种 编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发 明的最佳实施方式。
[0200]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施 例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构 和技术,以便不模糊对本说明书的理解。
[0201]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在 上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施 例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保 护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面 的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此, 遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身 都作为本发明的单独实施例。
[0202]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地 改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单 元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或 子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何 组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任 何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权 利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代 替。
[0203]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例 中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的 范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任 意之一都可以以任意的组合方式来使用。
[0204] 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行 的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用 微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网络异常行为的检测系统 中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的 方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样 的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形 式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形 式提供。
[0205] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领 域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中, 不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词"包含"不排除存在未 列在权利要求中的元件或步骤。位于元件之前的单词"一"或"一个"不排除存在多个这样的 元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实 现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项 来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名 称。
[0206]本发明公开了 :
[0207] A1、一种网络异常行为的检测方法,其包括:
[0208] 从网络访问日志中获取网络访问数据集,所述网络访问数据集包含训练数据集和 检测数据集;
[0209]从所述网络访问数据集中提取每个特定域名下的网络访问数据,计算所述网络访 问数据中指定字段的统计特性参数,构建每个特定域名的统计特性模型;
[0210]依据计算得到的统计特征参数,从不同维度检测所述网络访问数据集中各条网络 访问数据的行为特性,生成各条网络访问数据对应的多维特征向量;
[0211] 基于训练数据集中各条训练数据的多维特征向量和各条训练数据的实际类标、以 及检测数据集中各条检测数据的多维特征向量,采用机器学习中的分类算法,得到所述检 测数据集中各条检测数据的预测类标;其中类标表示网络访问数据为正常数据或异常数 据。
[0212] A2、根据Al所述的检测方法,其中,所述从网络访问日志中获取网络访问数据集进 一步包括:
[0213]从网络访问日志中获取各条网络访问数据,其中每条网络访问数据包括:URI字段 和主机域名。
[0214] A3、根据A2所述的检测方法,其中,所述每条网络访问数据还包括:时间戳、源IP、 源端口、目的IP和/或目的端口。
[0215] A4、根据Al所述的检测方法,其中,所述从网络访问日志中获取网络访问数据集之 后,所述方法还包括对所述网络访问数据集中各条网络访问数据进行预处理,所述预处理 包括:
[0216] 对错误数据、缺失数据以及重复数据进行处理;
[0217] 按照不同的主机域名将各条网络访问数据进行分类处理。
[0218] A5、根据Al所述的检测方法,其中,所述从网络访问数据集中提取每个特定域名下 的网络访问数据,计算所述网络访问数据中指定字段的统计特性参数,构建每个特定域名 的统计特性模型进一步包括:
[0219] 从所述训练数据集中提取每个特定域名下的网络访问数据,计算所述网络访问数 据中指定字段的统计特性参数,构建每个特定域名的统计特性模型。
[0220] A6、根据A2所述的检测方法,其中,所述指定字段为URI字段。
[0221] A7、根据Al所述的检测方法,其中,所述计算网络访问数据中指定字段的统计特性 参数进一步包括:统计得到网络访问数据的分级路径以及相邻路径的频数。
[0222] A8、根据Al所述的检测方法,其中,所述计算网络访问数据中指定字段的统计特性 参数进一步包括:
[0223] 针对同一路径下的每条网络访问数据,抽取该条网络访问数据的参数字段出现的 所有参数名,形成该条网络访问数据对应的参数名子集;
[0224] 将该路径下各条网络访问数据对应的参数名子集汇总,生成该路径下的参数名子 集池。
[0225] A9、根据Al所述的检测方法,其中,所述计算网络访问数据中指定字段的统计特性 参数进一步包括:
[0226] 针对同一路径下的每条网络访问数据,按照顺序抽取参数名,构造有向图;
[0227] 遍历有向图中节点之间的所有两两组合,判断节点之间是否连通,根据判断结果 更新所述有向图;
[0228] 根据有向图记录的连通关系,构建参数名顺序集。
[0229] A10、根据Al所述的检测方法,其中,所述计算网络访问数据中指定字段的统计特 性参数进一步包括:
[0230] 计算网络访问数据中参数名对应的参数值长度分布的均值和标准差。
[0231] All、根据Al所述的检测方法,其中,所述计算网络访问数据中指定字段的统计特 性参数进一步包括:
[0232] 计算网络访问数据中参数值含有的特殊字符在特殊字符模型空间中出现的概率。
[0233] A12、根据Al所述的检测方法,其中,所述计算网络访问数据中指定字段的统计特 性参数进一步包括:
[0234] 判定网络访问数据中的具有变量参数值的参数名是否为枚举型参数的参数名。
[0235] A13、根据Al所述的检测方法,其中,所述计算网络访问数据中指定字段的统计特 性参数进一步包括:
[0236] 计算针对网络访问数据中参数值在特定字符区间内包含的字符数占参数值长度 的比例的期望值。
[0237] A14、根据Al所述的检测方法,其中,所述依据计算得到的统计特征参数,从不同维 度检测所述网络访问数据集中各条网络访问数据的行为特性,生成各条网络访问数据对应 的多维特征向量进一步包括:
[0238] 从路径维度、参数名组合维度、参数名相对位置维度、参数值长度分布维度、特殊 字符维度、枚举型参数维度、和/或参数值分布维度检测所述网络访问数据集中各条网络访 问数据的行为特性,生成各条网络访问数据对应的多维特征向量。
[0239] A15、根据A14所述的检测方法,其中,从路径维度检测所述网络访问数据集中各条 网络访问数据的行为特性进一步包括:
[0240]依据网络访问数据的分级路径以及相邻路径的频数,计算网络访问数据中路径部 分的正常概率。
[0241] A16、根据A14所述的检测方法,其中,从参数名组合维度检测所述网络访问数据集 中各条网络访问数据的行为特性进一步包括:
[0242] 判断网络访问数据中各参数名组合是否位于对应路径下的参数名子集池中,若 是,则从参数名组合维度检测的行为特性为正常;若否,则从参数名组合维度检测的行为特 性为异常。
[0243] A17、根据A14所述的检测方法,其中,从参数名相对位置维度检测所述网络访问数 据集中各条网络访问数据的行为特性进一步包括:
[0244] 从网络访问数据中抽取参数名顺序,判断所述参数名顺序是否位于对应路径下的 参数名顺序集中,若是,则从参数名相对位置维度检测的行为特性为异常;若否,则从参数 名相对位置维度检测的行为特性为正常。
[0245] A18、根据A14所述的检测方法,其中,从参数值长度分布维度检测所述网络访问数 据集中各条网络访问数据的行为特性进一步包括:
[0246] 结合网络访问数据中参数名对应的参数值长度分布的均值和标准差,根据修正后 的切比雪夫不等式计算网络访问数据中参数名对应的参数值长度分布正常的概率。
[0247] A19、根据A14所述的检测方法,其中,从特殊字符维度检测所述网络访问数据集中 各条网络访问数据的行为特性进一步包括:
[0248] 根据网络访问数据中参数值含有的特殊字符在特殊字符模型空间中出现的概率 获取从特殊字符维度检测行为特定为正常的概率。
[0249] A20、根据A14所述的检测方法,其中,从枚举型参数维度检测所述网络访问数据集 中各条网络访问数据的行为特性进一步包括:
[0250] 若网络访问数据中的参数名被判定为枚举型参数的参数名,但参数名对应的参数 值出现不属于枚举型参数集合的情况,则从枚举型参数维度检测的行为特性为异常。
[0251] A21、根据A14所述的检测方法,其中,从参数值分布维度检测所述网络访问数据集 中各条网络访问数据的行为特性进一步包括:
[0252] 结合针对网络访问数据中参数值在特定字符区域内包含的字符数占参数值长度 的比例的期望值,利用卡方检验的方式计算参数值字符分布正常的概率。
[0253] A22、根据Al所述的检测方法,其中,所述机器学习中的分类算法包括决策树算法 和/或随机森林算法。
[0254] B23、一种网络异常行为的检测系统,其包括:
[0255] 数据准备模块,适于从网络访问日志中获取网络访问数据集,所述网络访问数据 集包含训练数据集和检测数据集;
[0256] 统计特性模型构建模块,适于从所述网络访问数据集中提取每个特定域名下的网 络访问数据,计算所述网络访问数据中指定字段的统计特性参数,构建每个特定域名的统 计特性模型;
[0257] 多维子系统,适于依据计算得到的统计特征参数,从不同维度检测所述网络访问 数据集中各条网络访问数据的行为特性,生成各条网络访问数据对应的多维特征向量;
[0258] 分类模块,适于基于训练数据集中各条训练数据的多维特征向量和各条训练数据 的实际类标、以及检测数据集中各条检测数据的多维特征向量,采用机器学习中的分类算 法,得到所述检测数据集中各条检测数据的预测类标;其中类标表示网络访问数据为正常 数据或异常数据。
[0259] B24、根据B23所述的检测系统,其中,所述数据准备模块进一步适于:从网络访问 日志中获取各条网络访问数据,其中每条网络访问数据包括:URI字段和主机域名。
[0260] B25、根据B24所述的检测系统,其中,所述每条网络访问数据还包括:时间戳、源 IP、源端口、目的IP和/或目的端口。
[0261] B26、根据B23所述的检测系统,其中,所述检测系统还包括:预处理模块,适于对错 误数据、缺失数据以及重复数据进行处理;按照不同的主机域名将各条网络访问数据进行 分类处理。
[0262] B27、根据B23所述的检测系统,其中,所述统计特性模型构建模块进一步适于:从 所述训练数据集中提取每个特定域名下的网络访问数据,计算所述网络访问数据中指定字 段的统计特性参数,构建每个特定域名的统计特性模型。
[0263] B28、根据B24所述的检测系统,其中,所述指定字段为URI字段。
[0264] B29、根据B23所述的检测系统,其中,所述统计特性模型构建模块进一步适于:统 计得到网络访问数据的分级路径以及相邻路径的频数。
[0265] B30、根据B23所述的检测系统,其中,所述统计特性模型构建模块进一步适于:针 对同一路径下的每条网络访问数据,抽取该条网络访问数据的参数字段出现的所有参数 名,形成该条网络访问数据对应的参数名子集;将该路径下各条网络访问数据对应的参数 名子集汇总,生成该路径下的参数名子集池。
[0266] B31、根据B23所述的检测系统,其中,所述统计特性模型构建模块进一步适于:
[0267]针对同一路径下的每条网络访问数据,按照顺序抽取参数名,构造有向图;
[0268] 遍历有向图中节点之间的所有两两组合,判断节点之间是否连通,根据判断结果 更新所述有向图;
[0269] 根据有向图记录的连通关系,构建参数名顺序集。
[0270] B32、根据B23所述的检测系统,其中,所述统计特性模型构建模块进一步适于:计 算网络访问数据中参数名对应的参数值长度分布的均值和标准差。
[0271] B33、根据B23所述的检测系统,其中,所述统计特性模型构建模块进一步适于:计 算网络访问数据中参数值含有的特殊字符在特殊字符模型空间中出现的概率。
[0272] B34、根据B23所述的检测系统,其中,所述统计特性模型构建模块进一步适于:判 定网络访问数据中的具有变量参数值的参数名是否为枚举型参数的参数名。
[0273] B35、根据B23所述的检测系统,其中,所述统计特性模型构建模块进一步适于:计 算针对网络访问数据中参数值在特定字符区间内包含的字符数占参数值长度的比例的期 望值。
[0274] B36、根据B23所述的检测系统,其中,所述多维子系统进一步适于:从路径维度、参 数名组合维度、参数名相对位置维度、参数值长度分布维度、特殊字符维度、枚举型参数维 度、和/或参数值分布维度检测所述网络访问数据集中各条网络访问数据的行为特性,生成 各条网络访问数据对应的多维特征向量。
[0275] B37、根据B23所述的检测系统,其中,所述多维子系统包括:路径分析子系统,适于 依据网络访问数据的分级路径以及相邻路径的频数,计算网络访问数据中路径部分的正常 概率。
[0276] B38、根据B23所述的检测系统,其中,所述多维子系统包括:参数名组合分析子系 统,适于判断网络访问数据中各参数名组合是否位于对应路径下的参数名子集池中,若是, 则从参数名组合维度检测的行为特性为正常;若否,则从参数名组合维度检测的行为特性 为异常。
[0277] B39、根据B23所述的检测系统,其中,所述多维子系统包括:参数名相对位置分析 子系统,适于从网络访问数据中抽取参数名顺序,判断所述参数名顺序是否位于对应路径 下的参数名顺序集中,若是,则从参数名相对位置维度检测的行为特性为异常;若否,则从 参数名相对位置维度检测的行为特性为正常。
[0278] B40、根据B23所述的检测系统,其中,所述多维子系统包括:参数值长度分布分析 子系统,适于结合网络访问数据中参数名对应的参数值长度分布的均值和标准差,根据修 正后的切比雪夫不等式计算网络访问数据中参数名对应的参数值长度分布正常的概率。
[0279] B41、根据B23所述的检测系统,其中,所述多维子系统包括:特殊字符分析子系统, 适于根据网络访问数据中参数值含有的特殊字符在特殊字符模型空间中出现的概率获取 从特殊字符维度检测行为特定为正常的概率。
[0280] B42、根据B23所述的检测系统,其中,所述多维子系统包括:枚举型参数分析子系 统,适于若网络访问数据中的参数名被判定为枚举型参数的参数名,但参数名对应的参数 值出现不属于枚举型参数集合的情况,则从枚举型参数维度检测的行为特性为异常。
[0281] B43、根据B23所述的检测系统,其中,所述多维子系统包括:参数值分布分析子系 统,适于结合针对网络访问数据中参数值在特定字符区域内包含的字符数占参数值长度的 比例的期望值,利用卡方检验的方式计算参数值字符分布正常的概率。
[0282] B44、根据B23所述的检测系统,其中,所述分类模块进一步适于:利用决策树算法 和/或随机森林算法,得到所述检测数据集中各条检测数据的预测类标。
【主权项】
1. 一种网络异常行为的检测方法,其包括: 从网络访问日志中获取网络访问数据集,所述网络访问数据集包含训练数据集和检测 数据集; 从所述网络访问数据集中提取每个特定域名下的网络访问数据,计算所述网络访问数 据中指定字段的统计特性参数,构建每个特定域名的统计特性模型; 依据计算得到的统计特征参数,从不同维度检测所述网络访问数据集中各条网络访问 数据的行为特性,生成各条网络访问数据对应的多维特征向量; 基于训练数据集中各条训练数据的多维特征向量和各条训练数据的实际类标、以及检 测数据集中各条检测数据的多维特征向量,采用机器学习中的分类算法,得到所述检测数 据集中各条检测数据的预测类标;其中类标表示网络访问数据为正常数据或异常数据。2. 根据权利要求1所述的检测方法,其中,所述从网络访问日志中获取网络访问数据集 进一步包括: 从网络访问日志中获取各条网络访问数据,其中每条网络访问数据包括:URI字段和主 机域名。3. 根据权利要求2所述的检测方法,其中,所述每条网络访问数据还包括:时间戳、源 IP、源端口、目的IP和/或目的端口。4. 根据权利要求1所述的检测方法,其中,所述从网络访问日志中获取网络访问数据集 之后,所述方法还包括对所述网络访问数据集中各条网络访问数据进行预处理,所述预处 理包括: 对错误数据、缺失数据以及重复数据进行处理; 按照不同的主机域名将各条网络访问数据进行分类处理。5. 根据权利要求1所述的检测方法,其中,所述从网络访问数据集中提取每个特定域名 下的网络访问数据,计算所述网络访问数据中指定字段的统计特性参数,构建每个特定域 名的统计特性模型进一步包括: 从所述训练数据集中提取每个特定域名下的网络访问数据,计算所述网络访问数据中 指定字段的统计特性参数,构建每个特定域名的统计特性模型。6. 根据权利要求2所述的检测方法,其中,所述指定字段为URI字段。7. 根据权利要求1所述的检测方法,其中,所述计算网络访问数据中指定字段的统计特 性参数进一步包括:统计得到网络访问数据的分级路径以及相邻路径的频数。8. 根据权利要求1所述的检测方法,其中,所述计算网络访问数据中指定字段的统计特 性参数进一步包括: 针对同一路径下的每条网络访问数据,抽取该条网络访问数据的参数字段出现的所有 参数名,形成该条网络访问数据对应的参数名子集; 将该路径下各条网络访问数据对应的参数名子集汇总,生成该路径下的参数名子集 池。9. 根据权利要求1所述的检测方法,其中,所述计算网络访问数据中指定字段的统计特 性参数进一步包括: 针对同一路径下的每条网络访问数据,按照顺序抽取参数名,构造有向图; 遍历有向图中节点之间的所有两两组合,判断节点之间是否连通,根据判断结果更新 所述有向图; 根据有向图记录的连通关系,构建参数名顺序集。10. -种网络异常行为的检测系统,其包括: 数据准备模块,适于从网络访问日志中获取网络访问数据集,所述网络访问数据集包 含训练数据集和检测数据集; 统计特性模型构建模块,适于从所述网络访问数据集中提取每个特定域名下的网络访 问数据,计算所述网络访问数据中指定字段的统计特性参数,构建每个特定域名的统计特 性模型; 多维子系统,适于依据计算得到的统计特征参数,从不同维度检测所述网络访问数据 集中各条网络访问数据的行为特性,生成各条网络访问数据对应的多维特征向量; 分类模块,适于基于训练数据集中各条训练数据的多维特征向量和各条训练数据的实 际类标、以及检测数据集中各条检测数据的多维特征向量,采用机器学习中的分类算法,得 到所述检测数据集中各条检测数据的预测类标;其中类标表示网络访问数据为正常数据或 异常数据。
【文档编号】H04L12/24GK105915555SQ201610500130
【公开日】2016年8月31日
【申请日】2016年6月29日
【发明人】李嘉伟, 王占, 王占一
【申请人】北京奇虎科技有限公司, 北京奇安信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1