一种ssl协议中应用的自动识别方法和装置的制作方法

文档序号:7866148阅读:153来源:国知局
专利名称:一种ssl协议中应用的自动识别方法和装置的制作方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种SSL协议中应用的自动识别方法和
>J-U装直。
背景技术
为了提高网络数据传输的安全性,越来越多的应用、网站开始使用安全套接层(Secure Sockets Layer, SSL)协议,广泛应用的有电子商务、网上银行等领域。SSL协议是一个安全协议,为基于TCP的应用层协议提供安全连接,如SSL协议可以为HTTP协议提供 安全连接。对于审计及流控设备来说,并不需要知道SSL协议解密后的具体内容,只要能快速识别为具体是哪个应用产生即可。而SSL协议是加密的,有时候并没有明文信息,那么如何在不解密的情况下高效识别应用层协议就成为亟待解决的问题。对于流控,有些需求需要对同个采用SSL协议的应用的不同功能进行控制,那么就需要去考虑如何满足这些需求。为了识别SSL协议,现有的技术方案通常采用基于固定端口的识别技术,通过TCP协议及443端口来识别SSL协议,简单易行,识别效率高。但是,采用上述方法识别SSL协议,只能识别为SSL协议,不能识别为具体的应用,这种提取特征的方式过于宽泛,适用性不高。

发明内容
有鉴于此,本发明的目的是提供一种SSL协议中应用的自动识别方法和装置,能够简单方便的识别出SSL协议中的具体应用。为实现上述目的,本发明提供技术方案如下一种SSL协议中应用的自动识别方法,应用于网络设备上,所述方法包括获取客户端与服务器之间的SSL交互信息;从所述SSL交互信息中提取应用名称、应用特征和四元组信息,所述四元组信息包括源IP地址、目的IP地址、目的端口和传输层协议号;获取客户端与服务器之间的后续SSL会话流,将所述SSL会话流与所述四元组信息进行匹配,若匹配成功,则识别后续SSL会话流为所述应用名称对应的应用。一种SSL协议中应用的自动识别装置,应用于网络设备上,所述装置包括消息获取模块,用于获取客户端与服务器之间的SSL交互信息;消息解析模块,用于从所述SSL交互信息中提取应用名称、应用特征和四元组信息,所述四元组信息包括源IP地址、目的IP地址、目的端口和传输层协议号;消息匹配模块,用于获取客户端与服务器之间的后续SSL会话流,将所述SSL会话流与所述四元组信息进行匹配,若匹配成功,则识别后续SSL会话流为所述应用名称对应的应用。
根据上述技术方案,可以自动提取SSL协议中的应用名称,并且自动提取应用特征,并通过前后数据流的关联提高SSL协议中应用特征的识别率,从而能够简单方便的识别出SSL协议中的具体应用。


图I是本发明实施例的SSL协议中应用的自动识别方法流程图;图2是本发明实施例的SSL协议中应用的自动识别装置结构图。
具体实施例方式以下结合附图对本发明进行详细描述。 针对现有技术中存在的不容易从SSL协议中识别出具体的应用的问题,本发明实施例提供一种SSL协议中应用的自动识别方法和装置,可以自动提取SSL协议中的应用名称,并且自动提取应用特征,并通过前后数据流的关联提高SSL协议中应用特征的识别率。图I是本发明实施例的SSL协议中应用的自动识别方法流程图,所述方法应用与网络设备中,所述网络设备位于客户端与服务器之间,能够获取客户端与服务器之间的交互报文,所述网络设备可以为审计设备、流控设备及防火墙等。参照图I,所述方法可以包括如下步骤步骤101,获取客户端与服务器之间的SSL交互信息;可以通过在线抓包,获取客户端与服务器之间的SSL交互信息,并根据固定端口443端口将SSL协议过滤出来。另外也可通过输入现有报文,来源一是通过wireshark或tcpdump抓取的应用程序报文进行回放,二是通过网络设备比如交换机等的端口镜像引过来的报文。步骤102,从所述SSL交互信息中提取应用名称、应用特征和四元组信息;可以对步骤101中获取到的消息内容进行解析,从中提取应用名称、应用特征和四元组信息,其中,四元组是指源IP地址、目的IP地址、目的端口、传输层协议号。步骤102可以包括SI,从所述SSL交互信息中提取应用名称,根据应用模板库判断该应用名称是否已经被识别;具体地,可以从SSL交互信息中获取域名作为当前会话以及后续会话的应用名称。所述当前会话是指包括域名的SSL会话,所述后续会话指当前会话结束后的预定时长(例如I分钟)内的SSL会话。网络设备中建立和维护有应用库模块,所述应用模块库中存储有应用名称与应用特征之间的对应关系。通过将该应用名称与应用模板库中的应用名称进行比对,如果该应用名称存在于应用模板库中,则确定该应用名称已经被识别,否则,确定该应用名称未被识别。当该应用名称已经被识别时,则提取四元组信息;当应用名称未被识别时,则提取应用特征和四元组信息,并将应用名称与应用特征的对应关系添加到所述应用模板库中。其中,所述提取应用特征可以是,提取客户端和服务器之间的SSL协议的握手过程中的证书链,将所述证书链作为所述应用特征。
步骤103,获取客户端与服务器之间的后续SSL会话流,将所述SSL会话流与所述四元组信息进行匹配,若匹配成功,则识别后续SSL会话流为所述应用名称对应的应用。所述后续SSL会话流是指所述后续会话对应的报文流。由于很多SSL会话流并没有证书链,因此通过已识别的四元组信息去判断接下来的会话流是否来自同一个应用。如果四元组相同,则认为它们是同个应用产生的,反之则认为它们不同。另外,当有无法识别的SSL会话流时,对未识别的SSL会话流的四元组信息进行统计保存,保存的时间阈值预定为M(可以根据需要进行设置),当后续有新识别的应用名称及四元组信息时再去进行匹配。 进一步,所述方法还可以包括如下步骤(图未示)对多次提取到的所述应用特征采用鲁姆过滤器(Bloom filter)算法进行删除合并,将删除合并结果作为存储到应用模板库中的应用特征。由于本发明可以对每一个有证书链的会话流都提取特征,因此会产生重复特征,于是,可以采用Bloom filter算法对重复的特征进行删除合并。比如有两个特征abcdef和abcde,则保留abcde。对应于上述方法,本发明实施例还提供一种SSL协议中应用的自动识别装置,应用于网络设备上,所述网络设备位于客户端与服务器之间,能够获取客户端与服务器之间的交互报文,所述网络设备可以为审计设备、流控设备及防火墙等。参照图2,所述装置可以包括消息获取模块,用于获取客户端与服务器之间的SSL交互信息;消息解析模块,用于从所述SSL交互信息中提取应用名称、应用特征和四元组信息,所述四元组信息包括源IP地址、目的IP地址、目的端口和传输层协议号;消息匹配模块,用于获取客户端与服务器之间的后续SSL会话流,将所述SSL会话流与所述四元组信息进行匹配,若匹配成功,则识别后续SSL会话流为所述应用名称对应的应用。其中,所述消息解析模块进一步用于从所述SSL交互信息中提取应用名称,根据应用模板库判断该应用名称是否已经被识别;若该应用名称已经被识别,则提取四元组信息;若该应用名称未被识别,则提取应用特征和四元组信息,并将应用名称与应用特征的对应关系添加到所述应用模板库中。具体地,所述消息解析模块可以按照如下方式从SSL交互信息中提取应用名称从所述从SSL交互信息中提取请求的域名信息作为所述应用名称;所述消息解析模块可以按照如下方式提取应用特征提取客户端和服务器之间的SSL协议的握手过程中的证书链,将所述证书链作为所述应用特征。进一步,所述自动识别装置还可以包括特征优化模块,用于对多次提取到的所述应用特征采用Bloom filter算法进行删除合并,将删除合并结果作为存储到应用模板库中的应用特征。综上所述,本发明可以自动在线抓包,自动提取应用名称,自动提取SSL协议中的应用特征,省去了人工文本比对的繁琐,大大提高了应用特征提取的效率。本发明采用了自动提取SSL协议中应用特征、前后报文关联技术、自动重复特征检测优化等多项组合技术,大大提高了 SSL协议中应用的识别率和精确性,可适应各类采用SSL协议的网络应用。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种SSL协议中应用的自动识别方法,应用于网络设备上,其特征在于,所述方法包括 获取客户端与服务器之间的SSL交互信息; 从所述SSL交互信息中提取应用名称、应用特征和四元组信息,所述四元组信息包括源IP地址、目的IP地址、目的端口和传输层协议号; 获取客户端与服务器之间的后续SSL会话流,将所述SSL会话流与所述四元组信息进行匹配,若匹配成功,则识别后续SSL会话流为所述应用名称对应的应用。
2.如权利要求I所述的自动识别方法,其特征在于,所述从所述SSL交互信息中提取应用名称、应用特征和四元组信息,包括 从所述SSL交互信息中提取应用名称,根据应用模板库判断该应用名称是否已经被识别; 若该应用名称已经被识别,则提取四元组信息; 若该应用名称未被识别,则提取应用特征和四元组信息,并将应用名称与应用特征的对应关系添加到所述应用模板库中。
3.如权利要求2所述的自动识别方法,其特征在于,所述从SSL交互信息中提取应用名称,包括 从所述从SSL交互信息中提取请求的域名信息作为所述应用名称。
4.如权利要求2所述的自动识别方法,其特征在于,所述提取应用特征包括 提取客户端和服务器之间的SSL协议的握手过程中的证书链,将所述证书链作为所述应用特征。
5.如权利要求I所述的自动识别方法,其特征在于,还包括 对多次提取到的所述应用特征采用Bloom filter算法进行删除合并,将删除合并结果作为存储到应用模板库中的应用特征。
6.一种SSL协议中应用的自动识别装置,应用于网络设备上,其特征在于,所述装置包括 消息获取模块,用于获取客户端与服务器之间的SSL交互信息; 消息解析模块,用于从所述SSL交互信息中提取应用名称、应用特征和四元组信息,所述四元组信息包括源IP地址、目的IP地址、目的端口和传输层协议号; 消息匹配模块,用于获取客户端与服务器之间的后续SSL会话流,将所述SSL会话流与所述四元组信息进行匹配,若匹配成功,则识别后续SSL会话流为所述应用名称对应的应用。
7.如权利要求6所述的自动识别装置,其特征在于,所述消息解析模块进一步用于 从所述SSL交互信息中提取应用名称,根据应用模板库判断该应用名称是否已经被识别; 若该应用名称已经被识别,则提取四元组信息; 若该应用名称未被识别,则提取应用特征和四元组信息,并将应用名称与应用特征的对应关系添加到所述应用模板库中。
8.如权利要求7所述的自动识别装置,其特征在于,所述消息解析模块按照如下方式从SSL交互信息中提取应用名称从所述从SSL交互信息中提取请求的域名信息作为所述应用名称。
9.如权利要求7所述的自动识别装置,其特征在于,所述消息解析模块按照如下方式提取应用特征 提取客户端和服务器之间的SSL协议的握手过程中的证书链,将所述证书链作为所述应用特征。
10.如权利要求6所述的自动识别装置,其特征在于,还包括 特征优化模块,用于对多次提取到的所述应用特征采用Bloom filter算法进行删除合并,将删除合并结果作为存储到应用模板库中的应用特征。
全文摘要
本发明提供一种SSL协议中应用的自动识别方法和装置,属于网络通信技术领域。所述方法包括获取客户端与服务器之间的SSL交互信息;从所述SSL交互信息中提取应用名称、应用特征和四元组信息,所述四元组信息包括源IP地址、目的IP地址、目的端口和传输层协议号;获取客户端与服务器之间的后续SSL会话流,将所述SSL会话流与所述四元组信息进行匹配,若匹配成功,则识别后续SSL会话流为所述应用名称对应的应用。根据本发明,能够简单方便的识别出SSL协议中的具体应用。
文档编号H04L29/08GK102984243SQ20121047735
公开日2013年3月20日 申请日期2012年11月20日 优先权日2012年11月20日
发明者曹敏洁 申请人:杭州迪普科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1