一种应用程序识别规则生成方法和装置制造方法及图纸

技术编号:11442125 阅读:88 留言:0更新日期:2015-05-13 12:33
本发明专利技术实施例公开了一种应用程序识别规则生成方法和装置,涉及网络安全领域,用以提高应用程序识别规则生成效率和准确度。在本发明专利技术实施例中,获取各待处理的应用程序在若干个运行时间段内产生的数据,将获取到的数据和预先生成的特征字典进行比对,提取出属于同一应用程序的HTTP数据包;对于属于同一应用程序的HTTP数据包,根据HTTP数据包的不同字段上的取值,将HTTP数据包进行逐级分类,得到分类树;获取分类树中的每一条路径所对应的特征串,将各特征串作为该应用程序的一条规则雏形;根据规则雏形与预先生成的特征字典进行比较,根据比较结果,生成该应用程序的一条识别规则;从而解决上述问题。

【技术实现步骤摘要】
一种应用程序识别规则生成方法和装置
本专利技术涉及网络安全领域,尤其涉及一种应用程序识别规则生成方法和装置。
技术介绍
随着网络基础设施建设发展和网络应用的普及,网络安全事件也越来越受到社会各方的关注和重视,网络管理和网络威胁检测进入了面向应用识别的新篇章。目前,各大厂商主要使用深度数据包检测方法(DPI技术)进行应用识别。深度数据包检测方法是对网络流量中的各个数据包的报文数据面向应用建立规则库,根据数据报文的实际内容判别该数据包所属的应用的方法,具有精确度高、控制能力强、识别范围大等优点,已经成为各大网络设备和安全厂商在应用识别领域普遍采用的方法。由于该方法需要构建面向网络应用的庞大的规则库,因此规则描述得越多越精确,能够识别出的应用越多。现有技术中,规则库的构建、更新和维护主要是依靠工程师人为地抓取网络数据包,再由分析人员对应用的网络协议和数据包进行分析和特征提取,生成规则,存入规则库。这样的方式具有效率低、开销大、成本高、对分析员经验依赖性强和维护困难等缺点。
技术实现思路
本专利技术实施例提供了一种应用程序识别规则生成方法和装置,用以提高应用程序识别规则生成效率和准确度。本专利技术实施例提供一种应用程序识别规则生成方法,该方法包括:获取各待处理的应用程序在若干个运行时间段内产生的数据,将获取到的数据和预先生成的特征字典进行比对,提取出属于同一应用程序的HTTP数据包;对于属于同一应用程序的HTTP数据包,根据所述HTTP数据包的不同字段上的取值,将所述HTTP数据包进行逐级分类,得到分类树;所述分类树中的节点用于表征所述HTTP数据包的在不同字段上的共同特征信息;将从叶子节点到根节点之间的路径上的各节点所表征的特征信息的集合作为所述HTTP数据包的特征串;获取所述分类树中的每一条路径所对应的特征串,将各特征串作为该应用程序的一条规则雏形;根据所述规则雏形与预先生成的特征字典进行比较,根据比较结果,生成该应用程序的一条识别规则。本专利技术实施例还提供一种应用程序识别规则生成装置,该装置包括:应用提纯模块,用于获取各待处理的应用程序在若干个运行时间段内产生的数据,将获取到的数据和预先生成的特征字典进行比对,提取出属于同一应用程序的HTTP数据包;分类器模块,用于对于属于同一应用程序的HTTP数据包,根据所述HTTP数据包的不同字段上的取值,将所述HTTP数据包进行逐级分类,得到分类树;所述分类树中的节点用于表征所述HTTP数据包的在不同字段上的共同特征信息;将从叶子节点到根节点之间的路径上的各节点所表征的特征信息的集合作为所述HTTP数据包的特征串;获取所述分类树中的每一条路径所对应的特征串,将各特征串作为该应用程序的一条规则雏形;规则处理模块,用于根据所述规则雏形与预先生成的特征字典进行比较,根据比较结果,生成该应用程序的一条识别规则。从上述技术方案可以看出,本专利技术实施例提供的方法能够实现自动抓包、自动提取HTTP请求数据包、自动获取共同特征信息并生成识别规则的过程;在上述过程中,无需人为参与;在针对多个应用程序执行本专利技术实施例提供的方法之后,能够批量的生成针对各个应用程序的识别规则,从而能够在截获多个终端通过不同平台发出的大量数据包中,自动的识别这些数据包是由哪个应用程序发出的,可见,本专利技术实施例无需人为操作,提供了一种新型的自动化批量生成应用程序识别规则的方法,提高了规则生成效率和准确率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的应用程序识别规则生成方法的主要流程示意图;图2为本专利技术实施例提供的一种应用程序识别规则生成装置的结构示意图;图3为本专利技术实施例的一种系统架构示意图;图4为本专利技术实施例提供的应用提纯方法的流程示意图;图5为本专利技术实施例中的共有域名提取子模块执行的主要流程的示意图;图6为专利技术实施例中的背景应用过滤子模的主要流程的示意图;图7为本专利技术实施例中的分类器模块的主要流程的示意图;图8为本专利技术实施例中的分类步骤最优化决策子模块的主要流程的示意图;图9为本专利技术实施例中的单次分类和特征提取子模块的主要流程的示意图;图10为本专利技术实施例中的特征评估子模块的主要流程的示意图。具体实施方式为了使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步地详细描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。本专利技术实施例可以应用于深度包检测方法中的规则库构建的应用场景,本专利技术实施例尤其可以适用于面向DPI(DeepPacketInspection,深度包检测技术)的HTTP(Hypertexttransferprotocol,超文本传送协议)应用识别规则自动化生成的应用场景。图1示出了本专利技术实施例提供的应用程序识别规则生成方法的主要流程示意图;如图1所示,该流程主要包括:步骤101:获取各待处理的应用程序在若干个运行时间段内产生的数据,将获取到的数据和预先生成的特征字典进行比对,提取出属于同一应用程序的HTTP数据包。步骤102:对于属于同一应用程序的HTTP数据包,根据HTTP数据包的不同字段上的取值,将HTTP数据包进行逐级分类,得到分类树;分类树中的节点用于表征HTTP数据包的在不同字段上的共同特征信息;将从叶子节点到根节点之间的路径上的各节点所表征的特征信息的集合作为HTTP数据包的特征串;获取分类树中的每一条路径所对应的特征串,将各特征串作为该应用程序的一条规则雏形。步骤103:根据规则雏形与预先生成的特征字典进行比较,根据比较结果,生成该应用程序的一条识别规则。可选的,在上述步骤102中,按照第一预设规则,将HTTP数据包进行第一级分类,得到第一分类树;其中,第一预设规则具体为:任意两个HTTP数据包在HOST字段上的取值的最长公共子序列大于或等于第一预设阈值。可选的,在上述步骤中,在得到第一分类树之后,获取第一分类树的全部叶子节点对应的权重,判断第一分类树的全部叶子节点对应的权重的总和是否大于预设阈值,若否,则按照预设第二预设规则,对第一分类树的各叶子节点进行第二级分类,得到第二分类树;否则,停止下一级分类,并将第一分类树作为对HTTP数据包进行逐级分类后得到的分类树;第二预设规则具体为:任意两个HTTP数据包在User-agent字段上的取值的编辑距离小于第二预设阈值。可选的,在上述步骤中,在得到第二分类树之后,获取第二分类树中除根节点以外的全部节点对应的权重,判断第二分类树中除根节点以外的全部节点对应的权重的总和是否大于预设阈值,若否,则按照预设第三预设规则,对第二分类树的各叶子节点进行第三级分类,得到第三分类树;否则,停止下一级分类,并将第二分类树作为对HTTP数据包进行逐级分类后得到的分类树;第三预设规则具体为:任意两个HTTP数据包在Reference字段上的取值除以该取值的前7位字符,将得到的结果的最长公本文档来自技高网...
一种应用程序识别规则生成方法和装置

【技术保护点】
一种应用程序识别规则生成方法,其特征在于,该方法包括:获取各待处理的应用程序在若干个运行时间段内产生的数据,将获取到的数据和预先生成的特征字典进行比对,提取出属于同一应用程序的HTTP数据包;对于属于同一应用程序的HTTP数据包,根据所述HTTP数据包的不同字段上的取值,将所述HTTP数据包进行逐级分类,得到分类树;所述分类树中的节点用于表征所述HTTP数据包的在不同字段上的共同特征信息;将从叶子节点到根节点之间的路径上的各节点所表征的特征信息的集合作为所述HTTP数据包的特征串;获取所述分类树中的每一条路径所对应的特征串,将各特征串作为该应用程序的一条规则雏形;根据所述规则雏形与预先生成的特征字典进行比较,根据比较结果,生成该应用程序的一条识别规则。

【技术特征摘要】
1.一种应用程序识别规则生成方法,其特征在于,该方法包括:获取各待处理的应用程序在若干个运行时间段内产生的数据,将获取到的数据和预先生成的特征字典进行比对,提取出属于同一应用程序的HTTP数据包;对于属于同一应用程序的HTTP数据包,根据所述HTTP数据包的不同字段上的取值,将所述HTTP数据包进行逐级分类,得到分类树;所述分类树中的节点用于表征所述HTTP数据包的在不同字段上的共同特征信息;将从叶子节点到根节点之间的路径上的各节点所表征的特征信息的集合作为所述HTTP数据包的特征串;获取所述分类树中的每一条路径所对应的特征串,将各特征串作为该应用程序的一条规则雏形;根据所述规则雏形与预先生成的特征字典进行比较,根据比较结果,生成该应用程序的一条识别规则。2.如权利要求1所述的方法,其特征在于,所述将所述HTTP数据包进行逐级分类,得到分类树,具体包括:按照第一预设规则,将所述HTTP数据包进行第一级分类,得到第一分类树;其中,所述第一预设规则具体为:任意两个HTTP数据包在HOST字段上的取值的最长公共子序列大于或等于第一预设阈值。3.如权利要求2所述的方法,其特征在于,在得到所述第一分类树之后,进一步包括:获取所述第一分类树的全部叶子节点对应的权重,判断所述第一分类树的全部叶子节点对应的权重的总和是否大于预设阈值,若否,则按照预设第二预设规则,对所述第一分类树的各叶子节点进行第二级分类,得到第二分类树;否则,停止下一级分类,并将所述第一分类树作为对所述HTTP数据包进行逐级分类后得到的分类树;所述第二预设规则具体为:任意两个HTTP数据包在User-agent字段上的取值的编辑距离小于第二预设阈值。4.如权利要求3所述的方法,其特征在于,在得到所述第二分类树之后,进一步包括:获取所述第二分类树中除根节点以外的全部节点对应的权重,判断所述第二分类树中除根节点以外的全部节点对应的权重的总和是否大于所述预设阈值,若否,则按照预设第三预设规则,对所述第二分类树的各叶子节点进行第三级分类,得到第三分类树;否则,停止下一级分类,并将所述第二分类树作为对所述HTTP数据包进行逐级分类后得到的分类树;所述第三预设规则具体为:任意两个HTTP数据包在Reference字段上的取值除以该取值的前7位字符,将得到的结果的最长公共子序列大于或等于第三预设阈值。5.如权利要求4所述的方法,其特征在于,在得到所述第三分类树之后,进一步包括:获取所述第三分类树中除根节点以外的全部节点对应的权重,判断所述第三分类树中除根节点以外的全部节点对应的权重的总和是否大于所述预设阈值,若否,则按照预设第四预设规则,对所述第三分类树的各叶子节点进行第四级分类,得到第四分类树;否则,停止下一级分类,并将所述第三分类树作为对所述HTTP数据包进行逐级分类后得到的分类树;所述第四预设规则具体为:任意两个HTTP数据包在Uri字段的取值串以从第1位字符开始求相同位移的相同子串,子串长度大于或等于第四预设阈值。6.如权利要求5所述的方法,其特征在于,在得到所述第四分类树之后,进一步包括:获取所述第四分类树中除根节点以外的全部节点对应的权重,判断所述第四分类树中除根节点以外的全部节点对应的权重的总和是否大于所述预设阈值,若否,则按照预设第五预设规则,对所述第四分类树的各叶子节点进行第五级分类,得到第五分类树;否则,停止下一级分类,并将所述第四分类树作为对所述HTTP数据包进行逐级分类后得到的分类树;所述第五预设规则具体为:任意两个HTTP数据包在Parameters字段的取值的参数名个数相等。7.如权利要求6所述的方法,其特征在于,在得到所述第五分类树之后,进一步包括:获取所述第五分类树中除根节点以外的全部节点对应的权重,判断所述第五分类树中除根节点以外的全部节点对应的权重的总和是否大于所述预设阈值,若否,输出告警消息;否则,将所述第五分类树作为对所述HTTP数据包进行逐级分类后得到的分类树。8.如权利要求1所述的方法,其特征在于,所述提取出属于同一应用程序的HTTP数据包,具体包括:利用网络爬虫获取各待处理的应用程序在若干个运行时间段内产生的PCAP文件;解析所述PCAP文件,提取出网络数据报文;遍历提取出的全部的网络数据报文,将各网络数据报文中的域名或IP地址,与预先生成的特征字典中的域名后缀集合进行比对,提取出属于同一应用程序的网络数据报文。9.如权利要求1所述的方法,其特征在于,所述生成该应用程序的一条识别规则,具体包括:将所述规则雏形与预先生成的特征字典进行比对,判断所述规则雏形是否被包含于所述特征集合的一条记录中,若是,则输出告警消息;否则,生成属于该应用程序的一条识别规则;或者,判断所述规则雏形是否与所述特征集合的一条记录相同,若是,则输出告警消息;否则,生成属于该应用程序的一条识别规则。10.一种应用程序识别规则生成装...

【专利技术属性】
技术研发人员:胡跃罗元海吴崇武赵洪亮徐牧池
申请(专利权)人:北京神州绿盟信息安全科技股份有限公司北京神州绿盟科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1