网络攻击行为仿真实现技术分析
2009-07-16董其维
[摘要]随着计算机信息技术飞速发展,工业、商业以及军队对于网路的依赖性越来越强,而网络攻击将会造成灾难性的后果。从网络攻防原理出发,针对计算机网络攻击和防御进行相关研究,分析网络攻防仿真平台的实现技术。
[关键词]网络攻击 仿真 入侵检测
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0420069-01
一、网络攻防原理介绍
随着各种纷繁复杂的攻击的出现和人们对入侵造成的破坏日益重视,网络防御保护也在不断发展,不断加强,无论是在局域网还是在广域网中,都存在着入侵攻击和安全防御的对抗。下面分析几种常见的网络攻防原理。(1)数据包扫描是攻击和防御中最基本的内容。(2)TCP端口扫描,一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息。端口扫描主要有经典的扫描器(全连接)以及所谓的SYN半连接扫描器,此外还有间接扫描和秘密扫描等。(3)漏洞扫描,漏洞扫描主要通过以下两种方法来检查目标主机是否存在漏洞:在端口扫描后得知目标主机开启的端口以及端口上的网络服务,将这些相关信息与网络漏洞扫描系统提供的漏洞库进行匹配,查看是否有满足匹配条件的漏洞存在。(4)网络入侵检测(NID),网络入侵检测系统的基本工作原理是嗅探(Sniffer),它通过将网卡设置为混杂模式,使得网卡可以接收网络接口上的所有数据。(5)防火墙,防火墙就是一种数据包过滤塞,它可以让正常的数据包通过,而将不符合的数据包统统过滤掉。(6)加密,这里涉及的加密是指针对传输层数据的加密。在数据发送前对传输层数据进行加密,当数据包到达目的主机后,解开数据包是,然后再解密恢复数据,从而保证数据在网络上更安全地传输。
二、系统描述
应该从三个方面来分析该系统功能分析,即TCP/IP底层协议仿真,网络攻击与防御仿真,真实网络环境下简单的攻击和防御练习。
设计此虚拟网络要遵循的协议就是协议。我们设计的时候做了从以太帧到传输层数据包封装的所有接口,实验者可以用这些接口来封装网络上传输的数据包,也可以用这些接口提取出数据包的任何字段,进行分析。另外,在虚拟网络上的任何节点(主机,路由器,防火墙,集线器)上,都做了相对于真实设备的仿真。同样也可以在虚拟节点上配置简单的入侵检测系统和防火墙等工具,从而达到攻击和防御仿真。如果实验者想在真实网络上进行攻击防御练习也就是可以的,这时实验者只要将建立虚拟网络一步省去,直接调用该系统提供的函数库,就可以做上述实验了。
三、设计网络攻防仿真平台及配置文件解析
(一)平台总体框架。系统从整体上分为总控单元、真实的攻击和防御、模拟的攻击和防御、网络模拟模块和公共模块等部分,见图1所示。总体控制单元:在平台运行前进行初始化,由一个全局标志来决定平台运行在真实环境还是模拟环境。真实的攻击和防御:在真实的环境中,我们所能操作的只是一台本地主机,攻击和防御功能都在本地主机上进行,然后通过反馈来得出这些攻击和防御对网络的影响。每个设备的模拟,使其实现真实设备遵循接收和发送数据的功能,实现发送数据前对网络各层数据包的封装,收到数据后对各层上数据的提取等。公共模块:提供给上层的真实攻击防御模块和模拟攻击防御模块的最基本的函数库和所调用的功能。公共模块大体包括三个独立的部分,形成攻击部分形成防御的部分、用于显示和向实验者报告的部分。
(二)虚拟网络设备的设计。一个虚拟主机中可以添加若干虚拟网卡,并且可以通过图形界面设置各个网卡对应的网络基本信息。每添加一个网卡就可以启动一个线程,这个线程进行接收网络上流经该主机的网络数据包。虚拟主机上只有一块虚拟网卡,虚拟网卡负责从该主机所处的网络上接收和发送数据包。然后主机负责将捕获的数据暂存到主机的数据接收缓冲区,等待数据处理模块处理。主机要发送数据包时,数据处理模块将处理好的数据送到数据发送缓存,然后在网卡空闲的时候发送出去。
集线器是虚拟网络中的一个简单的设备,它的功能只是连接各网络设备,如果有数据流经一个集线器,它要通知与它直接相连接的网络设备,各网络设备访问了集线器上的数据之后,集线器就消除上面的数据。在极限器上只有一个数据缓存,某个时刻它只能接收一个以太数据帧。
路由器工作在网络层以下,我们设计虚拟路由器同样遵循这个原则,主要负责虚拟网络上IP数据包的转发和错误响应。如果有正常数据包到达虚拟路由器,路由器首先要从以太帧中提取出IP数据包,然后验证IP包头的信息,检查校验和是否正确,TTL是否为0,是否是广播和组播等。如果验证通过,要查找虚拟路由器的路由表,根据路由表的记录决定数据包向哪个网卡转发,然后处理IP包头部,再将处理后的IP包封装到以太帧,交给相应网卡的发送缓存区。
防火墙的主要功能就是依照所定义的访问控制策略对数据通讯进行屏蔽和允许通信。虚拟防火墙是为了实现虚拟网络中IP数据包过滤而设计的,它不像上面的虚拟路由器一样,在丢弃数据包后可能会有ICMP反馈。虚拟防火墙有两块虚拟网卡,网卡的功能和前面介绍的虚拟主机、虚拟路由器我上网卡的结构功能相同。
(三)配置文件解析。在系统中,需要有一个配置文件,用于存放实验者配置网络的信息。一个配置文件有两种生成途径一种从图形界面生成,另一种直接由实验者编写。一个配置文件的主体部分有三段,分别是设备部分(equipment),连接(link)部分和网关部分(gateway)。配置文件解析是将配置文件configuration.txt解析成一种便于使用的中间数据结构。由于系统是多个人开发的,生成中间数据结构可以避免每个开发人员去解析配置文件,从而节省了开发时间。析配置文件主要做了下面几项工作:(1)解析文件,排除错误,给实验者错误反馈;(2)验证网络拓扑的正确性;(3)生成虚拟路由表;(4)为初始化网络构架提供数据结构。
四、结语
目前,网络仿真技术主要应用于网络互连互通性、网络运行效率、协议效率等方面的仿真,在对网络攻击和网络安全方面的仿真还非常欠缺。本文从网络攻击仿真的角度出发,着重从系统框架整体角度分析了网络攻防原理仿真平台相关技术,介绍了设计网络仿真平台的总体目标,框架,以及各个主要网络设备的设计方案,配置文件的生成,解析,并根据配置文件来建立虚拟路由器的路由表,根据拓扑文件的解析结果来验证网络的正确性等内容。
参考文献:
[1]张帅、卢昱,仿真环境中的网络攻击模型设计[J].装备指挥技术学院学报,2005,03.
[2]屠守中、王海泉、吉毅,面向仿真的网络攻击知识描述技术[J].微计算机信息,2008,33.
作者简介:
董其维,男,汉族,四川省邻水县人,工程硕士,研究方向为计算机网络协议与网络安全。