论文部分内容阅读
摘 要:本文提出了动态分层P2P网络木马技术并探讨了它的通信负载均衡性。
关键词:动态分层P2P网络;木马;通信负载
1 P2P网络概述
1.1 P2P简介
P2P(peer-to-peer)是一种对等网络计算技术,它利用客户端的处理能力,实现客户端的点到点通信。在P2P网络环境中,成千上万台彼此连接的计算机都处于对等地位,整个网络一般不依赖于专用的集中服务器。网络中的每一台计算机既能充当网络服务的请求者,又能对其他计算机的请求做出响应,提供资源与服务。
由于能够极大缓解传统架构中服务器端的压力过大、单一失效点等问题,又能充分利用终端的丰富资源,所以P2P技术被广泛应用于计算机网络的各个应用领域,如分布式科学计算、文件共享、流媒体直播与点播、语音通信及在线游戏支撑平台等方面。
1.2 P2P网络通信原理
P2P网络框架中的一台主机称之为一个节点,如果两个节点互致对方的IP地址,则称在这两个节点之间存在一个连接。由于各节点的加入和退出网络的时间都是动态的,为了实现P2P网络,每个节点上需要保存一个与其有连接关系的节点的IP地址列表,称为邻居列表。同时,为了支持通信,每个节点还需要保存一个建立在IP地址列表基础上的消息转发目标表,称为路由表。
P2P网络中任意两个节点之间可以通讯,通讯消息是沿着P2P网络中的路径,通过节点的转发,进行传播的,节点与节点之间是平等关系。从其功能的角度来看,因为P2P网络中各个节点是相同的,节点失效对整个系统的损坏程度低,所以各节点的重要性都是相同的;从它的性能角度来看,各个节点的工作负载也相当。
2 动态分层P2P网络木马技术的探讨
木马技术是一种网络攻击技术, 它通过各种隐蔽途径将木马植入目标机器,搜集其中信息,然后通过网络将信息发送给攻击者,并接收攻击者的指令,完成其它各种可能对目标计算机有害的操作。
2.1 动态分层P2P网络木马技术的设计原理
根据P2P网络的特点,首先引入sentok虚拟节点的概念。sentok是木马攻击者从P2P网络所有k个servent节点里随机选取的f个节点(这里f小于等于k),节点处于动态状态,每隔一段时间自动变换一批,应用于数据和指令的转发;sentok就是木马攻击者在P2P网络中通信形成的逻辑控制关系,可看做一个虚拟的节点。sentok节点的动态变化最终达到所有servent节点的负载平衡,并增强木马网络通信的隐蔽性。
木马攻击者保存所有节点的列表,列表分为servent list和client list,servent节点只保留最新的sentok list和有限个数的servent list,client只保留有限个数的servent list。各列表都是在实时的更新状态,且与不断变化的木马P2P网络保持聯系。
各个节点之间采用加密的通信方式,比如:Key i是节点i的密钥,Port i则为节点i所用的木马端口,凡是不常被使用的端口都可以用于节点的通信。
如果新节点被感染,感染源就会将自身的servent list 传给新的节点。新节点一上线就会自动连接servent list的主机,如果该主机是servent,感染源就会将其加入自身的servent list中,如果列表超出了最大容量值,就会随机的替换掉一个节点,并将更新后的列表数据发给主控攻击端,木马攻击者随后掌握了被感染的节点情况[1]。
2.2 servent负载仿真实验
Opnet Modeler提供了三层建模机制,采用了层阶式的模拟方式,最底层为进程(Process)模型,以状态机来描述协议;其次为节点(Node)模型,由相应的协议模型构成,反映设备特性;最上层为网络模型。三层模型和实际的协议、设备、网络完全对应,全面反映了网络的相关特性。
本文利用Opnet 工具分别定义了相关的数据包(contr)、链路(sentok)和节点(servent、bot),仿真了20个节点构成的动态分层P2P木马网络,以及在下层bot节点分布不均的情况下的通信状况,网络结构如图1所示,仿真的时间设定为为8个小时。控制端为Contr节点,每隔60秒从5个servent节点中随机产生2个sentok,并广播给所有的servent节点。servent节点收到广播后将2个sentok存入本节点中的sentok list中并转发该信息数据包,一旦收到发往contr的信息包就转发sentok。
仿真中定义了4种数据包在节点间进行通信,所有节点每10秒随机产生一种类型的数据包:
(1)命令包。这是包装控制端向被控端发送的命令,包括广播命令和点对点命令。sentok收到命令包后,自动检查目的地址的各字段,如果是本地地址就提取该命令并执行;如果是广播包就执行命令同时转发给其它相邻的各节点;如果是其它地址就转发给目标节点。(2)信息包。这是包装被控端向控制端发送的数据信息。servent收到数据包转发sentok节点,sentok节点收到数据包后转发控制端。(3)连接包。它用于节点入网时,向servent节点发起请求连接的信息。(4)应答包。当servent接受连接请求后向目标源节点发送应答指令。
通过动态分层P2P网络木马通信仿真实验,发现木马通信在动态分层P2P网络的servent节点上行负载具有更好的均衡性[2]。
3 结束语
本文简单探讨了动态分层P2P网络木马负载均衡性的特点,但本文停留在仿真研究阶段,动态分层P2P木马网络的数学模型及具体实现还有待进一步研究。
[参考文献]
[1]敬晓芳.特洛伊木马攻击技术与防范策略[J].北京:电脑编程技巧与维护,2008.16.
[2]李建定.木马隐藏技术的分析与实现[D].北京大学,2008.
关键词:动态分层P2P网络;木马;通信负载
1 P2P网络概述
1.1 P2P简介
P2P(peer-to-peer)是一种对等网络计算技术,它利用客户端的处理能力,实现客户端的点到点通信。在P2P网络环境中,成千上万台彼此连接的计算机都处于对等地位,整个网络一般不依赖于专用的集中服务器。网络中的每一台计算机既能充当网络服务的请求者,又能对其他计算机的请求做出响应,提供资源与服务。
由于能够极大缓解传统架构中服务器端的压力过大、单一失效点等问题,又能充分利用终端的丰富资源,所以P2P技术被广泛应用于计算机网络的各个应用领域,如分布式科学计算、文件共享、流媒体直播与点播、语音通信及在线游戏支撑平台等方面。
1.2 P2P网络通信原理
P2P网络框架中的一台主机称之为一个节点,如果两个节点互致对方的IP地址,则称在这两个节点之间存在一个连接。由于各节点的加入和退出网络的时间都是动态的,为了实现P2P网络,每个节点上需要保存一个与其有连接关系的节点的IP地址列表,称为邻居列表。同时,为了支持通信,每个节点还需要保存一个建立在IP地址列表基础上的消息转发目标表,称为路由表。
P2P网络中任意两个节点之间可以通讯,通讯消息是沿着P2P网络中的路径,通过节点的转发,进行传播的,节点与节点之间是平等关系。从其功能的角度来看,因为P2P网络中各个节点是相同的,节点失效对整个系统的损坏程度低,所以各节点的重要性都是相同的;从它的性能角度来看,各个节点的工作负载也相当。
2 动态分层P2P网络木马技术的探讨
木马技术是一种网络攻击技术, 它通过各种隐蔽途径将木马植入目标机器,搜集其中信息,然后通过网络将信息发送给攻击者,并接收攻击者的指令,完成其它各种可能对目标计算机有害的操作。
2.1 动态分层P2P网络木马技术的设计原理
根据P2P网络的特点,首先引入sentok虚拟节点的概念。sentok是木马攻击者从P2P网络所有k个servent节点里随机选取的f个节点(这里f小于等于k),节点处于动态状态,每隔一段时间自动变换一批,应用于数据和指令的转发;sentok就是木马攻击者在P2P网络中通信形成的逻辑控制关系,可看做一个虚拟的节点。sentok节点的动态变化最终达到所有servent节点的负载平衡,并增强木马网络通信的隐蔽性。
木马攻击者保存所有节点的列表,列表分为servent list和client list,servent节点只保留最新的sentok list和有限个数的servent list,client只保留有限个数的servent list。各列表都是在实时的更新状态,且与不断变化的木马P2P网络保持聯系。
各个节点之间采用加密的通信方式,比如:Key i是节点i的密钥,Port i则为节点i所用的木马端口,凡是不常被使用的端口都可以用于节点的通信。
如果新节点被感染,感染源就会将自身的servent list 传给新的节点。新节点一上线就会自动连接servent list的主机,如果该主机是servent,感染源就会将其加入自身的servent list中,如果列表超出了最大容量值,就会随机的替换掉一个节点,并将更新后的列表数据发给主控攻击端,木马攻击者随后掌握了被感染的节点情况[1]。
2.2 servent负载仿真实验
Opnet Modeler提供了三层建模机制,采用了层阶式的模拟方式,最底层为进程(Process)模型,以状态机来描述协议;其次为节点(Node)模型,由相应的协议模型构成,反映设备特性;最上层为网络模型。三层模型和实际的协议、设备、网络完全对应,全面反映了网络的相关特性。
本文利用Opnet 工具分别定义了相关的数据包(contr)、链路(sentok)和节点(servent、bot),仿真了20个节点构成的动态分层P2P木马网络,以及在下层bot节点分布不均的情况下的通信状况,网络结构如图1所示,仿真的时间设定为为8个小时。控制端为Contr节点,每隔60秒从5个servent节点中随机产生2个sentok,并广播给所有的servent节点。servent节点收到广播后将2个sentok存入本节点中的sentok list中并转发该信息数据包,一旦收到发往contr的信息包就转发sentok。
仿真中定义了4种数据包在节点间进行通信,所有节点每10秒随机产生一种类型的数据包:
(1)命令包。这是包装控制端向被控端发送的命令,包括广播命令和点对点命令。sentok收到命令包后,自动检查目的地址的各字段,如果是本地地址就提取该命令并执行;如果是广播包就执行命令同时转发给其它相邻的各节点;如果是其它地址就转发给目标节点。(2)信息包。这是包装被控端向控制端发送的数据信息。servent收到数据包转发sentok节点,sentok节点收到数据包后转发控制端。(3)连接包。它用于节点入网时,向servent节点发起请求连接的信息。(4)应答包。当servent接受连接请求后向目标源节点发送应答指令。
通过动态分层P2P网络木马通信仿真实验,发现木马通信在动态分层P2P网络的servent节点上行负载具有更好的均衡性[2]。
3 结束语
本文简单探讨了动态分层P2P网络木马负载均衡性的特点,但本文停留在仿真研究阶段,动态分层P2P木马网络的数学模型及具体实现还有待进一步研究。
[参考文献]
[1]敬晓芳.特洛伊木马攻击技术与防范策略[J].北京:电脑编程技巧与维护,2008.16.
[2]李建定.木马隐藏技术的分析与实现[D].北京大学,2008.