一种应用程序识别规则生成方法和装置的制造方法_3

文档序号:8301430阅读:来源:国知局
域名或IP地址,与预先生成的特 征字典中的域名后缀集合进行比对,提取出属于同一应用程序的网络数据报文。
[0051] 可选的,所述规则处理模块203具体用于:将所述规则雏形与预先生成的特征字 典进行比对,判断所述规则雏形是否被包含于所述特征集合的一条记录中,若是,则输出告 警消息;否则,生成属于该应用程序的一条识别规则;或者,判断所述规则雏形是否与所述 特征集合的一条记录中,若是,则输出告警消息;否则,生成属于该应用程序的一条识别规 则。
[0052] 从上述技术方案可以看出,本发明实施例提供的方法能够实现自动抓包、自动提 取HTTP请求数据包、自动获取共同特征信息并生成识别规则的过程;在上述过程中,无需 人为参与;在针对多个应用程序执行本发明实施例提供的方法之后,能够批量的生成针对 各个应用程序的识别规则,从而能够在截获多个终端通过不同平台发出的大量数据包中, 自动的识别这些数据包是由哪个应用程序发出的,可见,本发明实施例无需人为操作,提供 了一种新型的自动化批量生成应用程序识别规则的方法,提高了规则生成效率和准确率。
[0053] 下面对本发明实施例进行具体描述。
[0054] 在网络安全领域中,深度数据包检测方法主要是对网络流量中的各个数据包的报 文数据面向应用建立规则库,根据数据报文的实际内容判别该数据包所属的应用的方法, 具有精确度高、控制能力强、识别范围大等优点。值得注意的是,该方法需要构建面向网络 应用的庞大的规则库。规则描述得越多越精确,能够识别的应用越多。
[0055] 本发明实施例可以应用于深度包检测方法中的规则库构建的应用场景,本发 明实施例尤其可以适用于面向DPI (Deep Packet Inspection,深度包检测技术)的 HTTP(Hypertext transfer protocol,超文本传送协议)应用识别规则自动化生成的应用 场景。
[0056] 图3示出了本发明实施例的一种系统架构示意图,本发明实施例仅以图3所示出 的系统架构为例,对本发明实施例进行描述,但需要说明的是,本发明实施例不限于图3所 示的系统架构。其中,作为一种【具体实施方式】:本发明实施例可以按照代码模块和主要数据 分为了用户层、外部数据层、核心层和内部数据层,其中,层次和模块之间的箭头代表了数 据的流向。
[0057] 继续如图3所示,用户层由爬虫模块、抓包模块和应用计时模块构成了系统的用 户数据输入,由告警模块和规则升级模块为系统面向用户的数据输出。
[0058] 本发明实施例中将面向用户的数据称为外部数据,外部数至少包括爬虫获取的应 用描述信息、抓包获取的PCAP抓包文件、应用计时模块产生的应用运行时间表(如表1所 示出的应用运行时间表)、面向用户输出的告警日志和面向DPI检测引擎的规则库更新升 级的规则数据。
[0059] 核心层包含应用提纯、分类器和规则处理三个核心模块,图3还示出了各个核心 模块的子模块。应用提纯模块包括:PCAP文件解析和HTTP协议过滤报文解析子模块、共 有域名提取子模块、背景应用过滤子模块和已有规则过滤子模块;分类器模块包括:分类 步骤最优化决策子模块、单词分类和特征提取子模块、特征评估子模块和局部字典生成子 模块;规则处理模块包括:规则规约子模块、误报告警子模块和规则格式化子模块。其中, 应用提纯模块的输出为面向单个应用程序的网络数据报文,流向分类器模块;而分类器产 生规则雏形传入规则处理模块进行进一步的加工,最后形成正式的面向DPI检测引擎的规 则。
[0060] 内部数据用于为核心层提供支持的数据,不面向用户,表现为数据字典形式,包 含:域名后缀字典、全局背景特征串字典、全局规则特征串字典、局部平台特征串字典和局 部应用特征串字典。
[0061] 表 1
[0062]
【主权项】
1. 一种应用程序识别规则生成方法,其特征在于,该方法包括: 获取各待处理的应用程序在若干个运行时间段内产生的数据,将获取到的数据和预先 生成的特征字典进行比对,提取出属于同一应用程序的HTTP数据包; 对于属于同一应用程序的HTTP数据包,根据所述HTTP数据包的不同字段上的取值,将 所述HTTP数据包进行逐级分类,得到分类树;所述分类树中的节点用于表征所述HTTP数据 包的在不同字段上的共同特征信息;将从叶子节点到根节点之间的路径上的各节点所表征 的特征信息的集合作为所述HTTP数据包的特征串;获取所述分类树中的每一条路径所对 应的特征串,将各特征串作为该应用程序的一条规则维形; 根据所述规则维形与预先生成的特征字典进行比较,根据比较结果,生成该应用程序 的一条识别规则。
2. 如权利要求1所述的方法,其特征在于,所述将所述HTTP数据包进行逐级分类,得到 分类树,具体包括: 按照第一预设规则,将所述HTTP数据包进行第一级分类,得到第一分类树; 其中,所述第一预设规则具体为:任意两个HTTP数据包在册ST字段上的取值的最长公 共子序列大于或等于第一预设阔值。
3. 如权利要求2所述的方法,其特征在于,在得到所述第一分类树之后,进一步包括: 获取所述第一分类树的全部叶子节点对应的权重,判断所述第一分类树的全部叶子节 点对应的权重的总和是否大于预设阔值,若否,则按照预设第二预设规则,对所述第一分类 树的各叶子节点进行第二级分类,得到第二分类树;否则,停止下一级分类,并将所述第一 分类树作为对所述HTTP数据包进行逐级分类后得到的分类树; 所述第二预设规则具体为;任意两个HTTP数据包在化er-agent字段上的取值的编辑 距离小于第二预设阔值。
4. 如权利要求3所述的方法,其特征在于,在得到所述第二分类树之后,进一步包括: 获取所述第二分类树中除根节点W外的全部节点对应的权重,判断所述第二分类树中 除根节点W外的全部节点对应的权重的总和是否大于所述预设阔值,若否,则按照预设第 =预设规则,对所述第二分类树的各叶子节点进行第=级分类,得到第=分类树;否则,停 止下一级分类,并将所述第二分类树作为对所述HTTP数据包进行逐级分类后得到的分类 树; 所述第S预设规则具体为:任意两个HTTP数据包在Reference字段上的取值除W该取 值的前7位字符,将得到的结果的最长公共子序列大于或等于第=预设阔值。
5. 如权利要求4所述的方法,其特征在于,在得到所述第=分类树之后,进一步包括: 获取所述第=分类树中除根节点W外的全部节点对应的权重,判断所述第=分类树中 除根节点W外的全部节点对应的权重的总和是否大于所述预设阔值,若否,则按照预设第 四预设规则,对所述第=分类树的各叶子节点进行第四级分类,得到第四分类树;否则,停 止下一级分类,并将所述第S分类树作为对所述HTTP数据包进行逐级分类后得到的分类 树; 所述第四预设规则具体为;任意两个HTTP数据包在化i字段的取值串W从第1位字符 开始求相同位移的相同子串,子串长度大于或等于第四预设阔值。
6. 如权利要求5所述的方法,其特征在于,在得到所述第四分类树之后,进一步包括: 获取所述第四分类树中除根节点w外的全部节点对应的权重,判断所述第四分类树中 除根节点W外的全部节点对应的权重的总和是否大于所述预设阔值,若否,则按照预设第 五预设规则,对所述第四分类树的各叶子节点进行第五级分类,得到第五分类树;否则,停 止下一级分类,并将所述第四分类树作为对所述HTTP数据包进行逐级分类后得到的分类 树; 所述第五预设规则具体为;任意两个HTTP数据包在Parameters字段的取值的参数
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1