首页> 中国专利> 一种SSH协议多层通道内的明文数据采集方法及系统

一种SSH协议多层通道内的明文数据采集方法及系统

摘要

本发明涉及一种SSH协议多层通道内的明文数据采集系统,包括:SSH会话管理模块、SSH安全封装模块、SSH通道处理模块、SSH数据采集模块;其中,SSH会话管理模块用于接收和发送网络数据包,并维护TCP/IP连接与SSH会话的关系数据;SSH安全封装模块用于建立SSH会话,维护SSH密钥信息;将输入的数据解密解封装得到明文SSH消息,或将明文SSH消息封装加密后输出;SSH通道处理模块用于识别SSH会话中的SSH通道,并根据通道类型判断该通道中是否包含内层SSH会话数据,维护SSH会话数据与SSH通道的对应关系;SSH数据采集模块用于从明文SSH消息中提取和采集有用的数据。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-08-20

    授权

    授权

  • 2017-06-09

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20151109

    实质审查的生效

  • 2017-05-17

    公开

    公开

说明书

技术领域

本发明涉及网络安全通信领域,特别涉及一种SSH协议多层通道内的明文数据采集方法及系统。

背景技术

SSH协议为Secure Shell的缩写,由IETF的网络工作小组(Network WorkingGroup)所制定;SSH为建立在应用层和传输层基础上的安全协议是目前可靠的、专为远程登录会话和其他网络服务提供安全性的协议。SSH2是SSH协议的2.x版本,在RFC 4250~RFC 4254标准中有详细的定义和描述,是目前实际采用的SSH版本。目前SSH已经逐渐取代telnet等协议,成为远程登录和传输代理的首选协议。

然而SSH协议具有加密传输的特点,网络中的数据采集者无法直接对网络上的SSH协议数据进行采集分析,因此需要通过特定的采集方法将密文数据转换为明文。申请号为201410637319.5、名称为《安全外壳ssh2协议数据的采集方法和装置》的中国专利申请提出了一种SSH协议的明文数据的采集方法。然而,SSH会话中可以包含多种类型的SSH通道,通道中可以封装另一个SSH会话,这样的嵌套是不限制次数的。前述专利申请在此情形下只能采集到最外层会话中的少数明文数据,而通道消息全部是密文,因此需要一种可以逐层剥离SSH通道,采集全部SSH数据的方法。

发明内容

本发明的目的在于克服已有的明文数据采集方法只能采集到最外层会话中的少数明文数据的缺陷,从而提供一种能够采集被封装的明文数据的系统与方法。

为了实现上述技术方案,本发明提供了一种SSH协议多层通道内的明文数据采集系统,包括:

SSH会话管理模块、SSH安全封装模块、SSH通道处理模块、SSH数据采集模块;其中,

SSH会话管理模块用于接收和发送网络数据包,并维护TCP/IP连接与SSH会话的关系数据;

SSH安全封装模块用于建立SSH会话,维护SSH密钥信息;将输入的数据解密解封装得到明文SSH消息,或将明文SSH消息封装加密后输出;

SSH通道处理模块用于识别SSH会话中的SSH通道,并根据通道类型判断该通道中是否包含内层SSH会话数据,维护SSH会话数据与SSH通道的对应关系;

SSH数据采集模块用于从明文SSH消息中提取和采集有用的数据。

本发明还提供了基于所述的SSH协议多层通道内的明文数据采集系统所实现的明文数据采集方法,包括:

步骤1)、将明文数据采集系统部署在客户端与跳板机之间,明文数据采集系统介入SSH通道的建立,获得并维护SSH会话的传输密钥和属性参数;

步骤2)、对SSH消息做通道剥离,每次剥离一层SSH通道,直到不再包含SSH通道为止;

步骤3)、将每层SSH通道内的明文数据交给审计数据采集,拦截非法消息;

步骤4)、对SSH消息做通道重建,每次重建一层SSH通道,直到恢复到原先的通道层数为止。

上述技术方案中,所述步骤2)进一步包括:

步骤2-1)、利用SSH会话的传输密钥和属性参数解密SSH消息;

步骤2-2)、判断当前被解密的SSH消息是否为包含内层SSH会话的通道消息,如果不是,则当前被解密的SSH消息为最内层SSH会话,执行步骤3),如果是,执行步骤2-3);

步骤2-3)、去除通道封装结构,取出数据载荷,得到内层SSH会话,并获取该层SSH会话的传输密钥和属性参数,然后重新执行步骤2-1)。

上述技术方案中,在步骤3)中,拦截非法消息的手段包括:丢弃非法消息、替换非法消息、发出告警和断开连接。

上述技术方案中,所述步骤4)进一步包括:

步骤4-1)、根据当前SSH消息所在的SSH会话,获取传输密钥和属性参数;

步骤4-2)、利用SSH会话的传输密钥和属性参数加密SSH消息;

步骤4-3)、判断当前被加密的SSH消息是否隶属于外层会话的SSH通道,如果不是,则当前被加密的SSH消息为最外层SSH会话,结束操作,如果是,执行步骤4-4);

步骤4-4)、把当前被加密的SSH消息作为通道消息中的数据载荷,封装成隶属于外层SSH会话的新SSH消息,然后重新执行步骤4-1)。

上述技术方案中,所述多层为从0开始的任意正整数层。

上述技术方案中,所述SSH通道为RFC 4254中的SSH Channel;所述SSH会话为RFC 4253中的SSH Connection。

本发明的优点在于:

与传统方法只能采集SSH会话中最外层的SSH明文数据相比,本发明的方法可以同时采集SSH会话中所封装的所有SSH明文数据。

附图说明

图1是一种常见的利用SSH端口转发特性的使用场景;

图2是本发明的SSH协议多层通道内的明文数据采集方法的流程图;

图3是本发明的SSH协议多层通道内的明文数据采集系统的结构图。

具体实施方式

现结合附图对本发明作进一步的描述。

图1展示了一种常见的利用SSH端口转发特性的使用场景:客户端需要与远程服务器建立连接;其中,客户端与跳板机位于第一网段,跳板机与远程服务器位于第二网段,因此客户端不能直接连接到远程服务器,需要借助跳板机。具体的说,客户端借助SSH协议的端口转发功能,与跳板机建立外层SSH会话连接,该连接中包含一条direct-tcpip通道,通道内封装了客户端与远程服务器之间的内存SSH会话连接。在此场景下,客户端借助跳板机可以直接访问远程服务器。

针对这一场景,若需要采集SSH协议多层通道内的明文数据,可采用本发明的明文数据采集系统实现。参考图3,该系统包括:SSH会话管理模块、SSH安全封装模块、SSH通道处理模块、SSH数据采集模块;其中,

SSH会话管理模块用于接收和发送网络数据包,并维护TCP/IP连接与SSH会话的关系数据。当存在SSH会话嵌套的时候,内层SSH会话对应一条新的TCP/IP连接。

SSH安全封装模块用于建立SSH会话,维护SSH密钥信息。它既可以将输入的数据解密解封装得到明文SSH消息,也可以将明文SSH消息封装加密后输出。

SSH通道处理模块用于识别SSH会话中的SSH通道,并根据通道类型判断该通道中是否包含内层SSH会话数据,维护SSH会话数据与SSH通道的对应关系。

SSH数据采集模块用于从明文SSH消息中提取和采集有用的数据,比如用户、口令、操作请求、文件数据等。

在前述明文数据采集系统的基础上,本发明的明文数据采集方法,参考图2,包括以下步骤:

步骤1)、将明文数据采集系统部署在客户端与跳板机之间,明文数据采集系统介入SSH通道的建立,获得并维护SSH会话的传输密钥和属性参数。

步骤2)、对SSH消息做通道剥离,每次剥离一层SSH通道,直到不再包含SSH通道为止;具体的说,该步骤进一步包括:

步骤2-1)、利用SSH会话的传输密钥和属性参数解密SSH消息;

步骤2-2)、判断当前被解密的SSH消息是否为包含内层SSH会话的通道消息,如果不是,则当前被解密的SSH消息为最内层SSH会话,执行步骤3),如果是,执行步骤2-3);

步骤2-3)、去除通道封装结构,取出数据载荷,得到内层SSH会话,并获取该层SSH会话的传输密钥和属性参数,然后重新执行步骤2-1)。

步骤3)、将每层SSH通道内的明文数据交给审计数据采集,拦截非法消息。

其中,拦截非法消息的手段包括:丢弃非法消息、替换非法消息、发出告警和断开连接等。

步骤4)、对SSH消息做通道重建,每次重建一层SSH通道,直到恢复到原先的通道层数为止。该步骤进一步包括:

步骤4-1)、根据当前SSH消息所在的SSH会话,获取传输密钥和属性参数;

步骤4-2)、利用SSH会话的传输密钥和属性参数加密SSH消息;

步骤4-3)、判断当前被加密的SSH消息是否隶属于外层会话的SSH通道,如果不是,则当前被加密的SSH消息为最外层SSH会话,结束操作,如果是,执行步骤4-4);

步骤4-4)、把当前被加密的SSH消息作为通道消息中的数据载荷,封装成隶属于外层SSH会话的新SSH消息,然后重新执行步骤4-1)。

本发明中所涉及的多层可以是从0开始的任意正整数层。

本发明中所涉及的SSH通道为RFC 4254中的SSH Channel;SSH会话为RFC4253中的SSH Connection。

根据前述的明文数据采集方法,数据在本发明的明文数据采集系统中各个模块的流动方向如图3中的箭头所示,当一个SSH消息中只有一个SSH会话,即通道的嵌套层数为0时,数据流向为1>2>3>4>5>6>7>8;当一个SSH消息中包括多个SSH会话,即通道的嵌套层数为N时,数据流向为1>2>3>(9>10>2>3)*N>4>5>6>7>(11>12>6>7)*N>8。

最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号