一种拟态数据传输服务器及数据传输方法与流程

文档序号:12134568阅读:454来源:国知局
一种拟态数据传输服务器及数据传输方法与流程

本发明涉及网络技术领域,特别涉及到数据安全传输,具体涉及一种拟态数据传输服务器及数据传输方法。



背景技术:

在互联网环境下,数据传输有可靠数据传输和不可靠数据传输。在TCP/IP协议栈下,可靠数据传输的典型协议是传输控制协议(TCP),不可靠数据传输是用户数据报协议(UDP),此外针对TCP传输流式数据中遇到的问题,人们提出了流控传输协议(SCTP)。虽然IETF针对这些协议定义了RFC,但由于操作系统的不同以及实现人员的理解差异,在不同操作系统下即使同样的协议,也出现差异。客户端通过向服务端发送连接请求,根据服务端发回的响应,可判断服务端使用的是哪种操作系统、哪个系统版本以及哪种协议。这就为网络攻击者提供了攻击对象的必要信息。

为使攻击者不能准确地判断服务端所采用系统及其他信息,本发明借鉴生物学中的拟态思路,使服务端在不同时期、针对不同的客户端,做出不同的响应,使客户端不能准确地判断服务端的有关信息,从而达到干扰客户端判断的目的。



技术实现要素:

本发明的目的在于提供一种服务端拟态数据传输方法,该方法使客户端不能准确地判断服务端的有关信息,阻止攻击者进一步实施有针对性的攻击。

为达到上述发明目的,本发明一种拟态数据传输服务器,所述服务器包含:拟态协议特征管理模块、拟态协议选择模块和拟态协议数据传输模块;

所述拟态协议特征管理模块,用于采用协议特征数据库的形式管理若干的协议特征,所述协议特征包含:协议类型、操作系统类型、阶段码和响应码;所述协议特征数据库可以独立于拟态协议特征管理模块设置或者位于拟态协议特征管理模块上。

所述拟态协议选择模块,用于基于客户端的请求伪装一个包含特定的操作系统和协议类型的虚拟服务器,并将虚拟服务器采用的特定操作系统和协议类型的相关信息发回发出请求的客户端;

其中,所述特定的操作系统和协议类型来自于协议特征数据库;

所述拟态协议数据传输模块,用于基于拟态协议选择模块为客户端构建的虚拟服务器完成一次会话中客户端和服务端之间的数据传输。

可选的,上述服务器还包含:协议特征采集模块,用于采用人类工程学的方法,或者安装相应操作系统或客户端实测的方法采集协议特征,并将采集得到的协议特征的特征码存入协议特征数据库;其中,采用协议特征采集模块采集得到的协议特征通过所述拟态协议特征管理模块输入到协议特征数据库。

可选的,上述服务器还包含:解析模块,用于基于服务器得到的用户请求,判断客户端的协议类型。

上述拟态协议选择模块进一步包含:

操作系统类型获取模块,用于采用如下方法之一获取服务器的虚拟操作系统的类型:

方法一:根据服务器接收的客户端的IP地址、端口号、请求时间和阶段码,计算得到操作系统类型;

方法二,采用随机方法确定操作系统类型;

方法三,采用客户端的请求命令发出时间确定操作系统类型;

响应码获取子模块,用于根据解析得到的客户端的协议类型、虚拟操作系统的类型、客户端发送的阶段码为键值,搜索协议特征数据库,得出响应码,以此响应码对客户端请求做出响应;

记录子模块,用于采用四元组列表记录为一个客户端设定的虚拟操作系统类型,所述四元组列表包含的元素依次为:客户端IP、端口号、操作系统类型和协议类型。

此外,本发明还提供了一种拟态数据传输方法,该数据传输方法采用上述拟态数据传输服务器为客户端传输数据,所述数据传输方法包含:

步骤101)客户端发出服务请求,建立服务器和客户端的连接;

步骤102)以客户端发送的客户端IP地址、端口号和协议类型为键值获得服务器端的虚拟操作系统的类型;

其中,虚拟操作系统的类型包含:服务器实际采用的操作系统和未被服务器实际采用而存储在协议特征数据库的操作系统;

步骤103)以客户端的协议类型,虚拟操作系统的类型和客户端发送的阶段码为键值,搜索协议特征数据库,进而得到响应码或响应例程,并基于得到的响应码或响应例程进行客户端和服务器之间的一次会话的数据传输;

其中,协议特征数据库为用于存储采集得到的协议特征的特征码,所述协议特征包含:协议类型、操作系统类型、阶段码和响应码。

可选的,上述步骤102)进一步包含:

步骤102-1)服务端得到客户端请求之后,判断得到协议类型;

步骤102-2)采用如下方法之一获取针对一个客户端的虚拟操作系统类型:

方法一,依据客户端的IP地址、端口号、请求时间和阶段码,计算得到操作系统类型;

方法二,采用随机方法确定操作系统类型;

方法三,根据请求时间确定操作系统类型。

上述步骤103)以协议类型、虚拟操作系统类型、阶段码为键值,搜索协议特征数据库,得出响应码,以此响应码对客户端请求做出响应为客户端提供数据。

与现有技术相比,本发明具有下列优点:本发明解决了攻击方准确判断服务端所使用操作系统、协议版本的问题,一定程度上减少了被攻破的概率。

附图说明

图1本发明实施例提供的拟态数据传输应用场景示意图;

图2本发明实施例提供的拟态数据传输系统的传输过程示意图;

图3本发明实施例提供的实施例中TCP拟态数据传输例。

具体实施方式

下面结合附图和表格详细说明本发明的技术方案。

本发明提供一种拟态数据传输服务器及基于该服务器的数据传输方法,所述数据传输方法使客户端不能准确地判断服务器的有关信息,进而阻止潜在的攻击者对服务器实施有针对性的攻击。

为达到上述发明目的,本发明的一种拟态数据传输服务器,包括:拟态协议特征管理模块、拟态协议选择模块和拟态协议数据传输模块。在本发明中,拟态协议特征管理模块负责协议特征的管理,所述协议特征包括协议类型、操作系统类型、阶段码、响应码等。在本发明中,拟态协议选择模块负责接到客户端请求之后选择特定协议模式进行响应处理。其中拟态协议数据传输模块负责在协议被选中之后,在一次会话期间保持同一种版本的协议,一致性地完成服务器和客户端的数据传输。

上述拟态协议特征管理模块采用的管理方法指该模块管理协议特征时采用的方 法。所述协议特征包括协议类型、操作系统类型、阶段码、响应码,以协议特征库的形式出现。协议特征的采集可采用人类工程学的方法,或者安装相应操作系统,利用客户端实测的方法。在采集得到协议特征之后,由拟态协议特征管理模块输入到协议特征数据库,输入的过程可以有人机界面。

上述拟态协议选择模块采用的协议选择方法指服务端得到客户端请求之后,判断出协议类型,由拟态协议选择模块依据某个函数(所述函数可以但并不限制采用哈希函数),以客户端的IP地址、端口号、请求时间、阶段码为输入,计算得到虚拟操作系统类型;其中也可采用随机方法或请求时间确定操作系统类型。以协议类型(此处的协议类型为当客户端请求到达时采用常规的分析方法确定)、虚拟操作系统类型、阶段码为键值,搜索协议特征库,得出响应码,以此码对客户端请求做出响应,并在(客户端IP、端口号、操作系统类型、协议类型)四元组列表中记录操作系统类型。从而可伪装特定的操作系统和协议实现。

上述服务器还包含:解析模块,用于基于服务器得到的用户请求,判断客户端的协议类型。

上述拟态协议数据传输模块采用的数据传输方法指服务端和客户端之间的服务连接建立之后,以(客户端IP、端口号、协议类型)为键值,找出操作系统类型,再以(协议类型、操作系统类型、阶段码)为键值,搜索协议特征库,得到响应码或响应例程,之后进行相应数据传输。这样就保持了对特定客户端特定端口的响应一致性。

上述服务器还包含:协议特征采集模块,用于采用人类工程学的方法,或者安装相应操作系统或客户端实测的方法采集协议特征,并将采集得到的协议特征的特征码存入协议特征数据库;其中,采用协议特征采集模块采集得到的协议特征通过所述拟态协议特征管理模块输入到协议特征数据库。

此外,本发明还提供了一种数据传输方法,该数据传输方法采用上述记载的拟态数据传输服务器为客户端传输数据,所述数据传输方法包含:步骤101)客户端发出服务请求,建立服务器和客户端的连接;步骤102)以客户端发送的客户端IP地址、端口号和协议类型为键值获得服务器端的虚拟操作系统的类型;其中,虚拟操作系统的类型包含:服务器实际采用的操作系统和未被服务器实际采用而存储在协议特征数据库的操作系统;步骤103)以客户端的协议类型,虚拟操作系统的类型和客户端发送的阶段码为键值,搜索协议特征数据库,进而得到响应码或响应例程,并基于得到的响应码或响应例程进行客户端和服务器之间的一次会话的数据传输;其中,协议特征数据库为用于存储采集得到的协议特征的特征码,所述协议特征包 含:协议类型、操作系统类型、阶段码和响应码。

上述步骤102)进一步包含:

步骤102-1)服务端得到客户端请求之后,判断得到协议类型;

步骤102-2)采用如下方法之一获取针对一个客户端的虚拟操作系统类型:

方法一,依据函数(此处函数包含但不限于采用哈希函数),以客户端的IP地址、端口号、请求时间、阶段码为输入,计算得到操作系统类型;

方法二,采用随机方法确定操作系统类型;

方法三,根据请求时间确定操作系统类型。

上述步骤103)以协议类型、虚拟操作系统类型、阶段码为键值,搜索协议特征数据库,得出响应码,以此响应码对客户端请求做出响应为客户端提供数据。

下面结合附图和具体实施例,对本发明所提供的一种服务端拟态数据传输方法作进一步阐述。

实施例

下面结合附图1、附图2、附图3说明服务端拟态数据传输方法。如图1所示,是拟态数据传输应用场景。在本场景中,真实服务端可伪装成不同的服务端,所述伪装的服务端采用虚拟操作系统和指定的协议类型。如图3所示,是假定传输协议采用TCP时的拟态数据传输例。下面结合该例参照图2说明本发明。

假定我们采用人类工程学方法,得到Windows XP、Windows NT、Linux 2.6和FreeBSD相应TCP Reno实现的特征码,并存入协议特征库。

假定客户端使用的是Windows XP,其IP地址为192.168.1.1(端口号1054),发起TCP SYN分组到服务端,此时的时间为2015年6月23日3时17分25秒。服务端接收到该TCP SYN分组后,利用IP分组的协议类型可判断是TCP,再以(192.168.1.1,1054,2015年6月23日3时17分25秒,SYN)为拟态协议选择模块的输入,假定得到的操作类型为Windows NT;以(TCP,Windows NT,SYN)搜索协议特征库,得到响应码(假定为90),客户端在得到该响应码后就判定服务端的操作系统为Windows NT,采用TCP Reno。服务端在(客户端IP、端口号、操作系统类型、协议类型)四元组列表中记录(192.168.1.1,1054,Windows NT,TCP Reno)。

在该客户端的后续数据传输节点,服务端则可一致性地使用Windows NT/TCP Reno对之进行处理。

综上所述,采用人类工程学方法采集得到Windows XP操作系统、Windows NT操作系统、Linux 2.6操作系统和FreeBSD操作系统相应TCP Reno实现的特征码,并将特征码通过拟态协议特征管理模块存入协议特征数据库。

说明文档中的其他内容针对本专业领域内的普通技术人员,均可进行技术实现,这里不再赘述。

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

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1