论文部分内容阅读
中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)0520041-01
近随着Internet的飞速发展和CERNET的日益完善,建设校园网对于提高学校的管理水平和教学质量都具有十分重要的意义。然而,随着校园网内部和外部互联网应用环境日趋复杂,校园网安全事件频繁发生。因此,如何保证校园网网络的性能及其信息系统的安全,并使其高效稳定地运转,已成为各学校越来越重视的问题。
一、校园网存在的安全隐患主要体现在下列几方面
校园网是一个开放的、控制机构相对较弱的网络,病毒经常会侵入网络中的计算机系统,或窃取机密数据和盗用特权,或破坏重要数据,或使系统功能得不到充分发挥直至瘫痪。
校园网的数据传输是基于TCP/IP通信协议进行的,这些协议缺乏使传输过程中的信息不被窃取的安全措施。
校园网上的通信业务多数使用Windows操作系统来支持,Windows操作系统中存在一定的安全脆弱性问题,会直接影响安全服务。
在计算机上存储、传输和处理的电子信息,还没有像传统的邮件通信那样进行信封保护和签字盖章.信息的来源和去向是否真实,内容是否被改动,以及是否泄露等,在应用层支持的服务协议中是凭着君子协定来维系的。
电子邮件存在着被拆看、误投和伪造的可能性.使用电子邮件来传输重要机密信息会存在着很大的危险。
二、开发前的准备
(一)总体要求。在这些问题上,我们已经做了详实的资料收集和技术准备工作,以及大量的实践经验如:对系统进行安全配置、加强安全管理。然而随着ARP等病毒的泛滥及学校管理方面的需要:新疆兵团十二师高级中学提出了适用于本学校校园网的安全保密及网络管理工具的开发,它要求简便,对ARP攻击具有防范作用,对子网的屏蔽及局域网里的单个计算机访问网络的具有控制作用。在性能上,它又能对一般的攻击加以防范。
(二)使用工具。本程序用Visual C++作为一个功能非常强大的可视化应用程序开发工具,是计算机界公认的最优秀的应用开发工具之一。Microsoft的基本类库MFC使得开发Windows应用程序比以往任何时候都要容易。
(三)从实际情况出发。在开发校园网防火墙时,根据学校现实情况及网络管理方面的需要,从以下几点考虑:(1)产品实现一般的功能如屏蔽子网等;本次设计是利用Windows DDK自带的中间层驱动例子PassThru。实现防火墙工具对内部网络的屏蔽,这样做的主要目的是充分利用现有的工具,并在其基础上进行扩展。(2)需要的功能实现校园网防火墙的功能扩展;现有的防火墙工具虽然功能上完善(当然是针对某一项功能而一言),但他没有针对性,对于具体的应用场合应该有不同的要求,必须对它的功能进行扩展。(3)针对学校现有网络方面的存在安全问题如:ARP欺骗及教学方面存在教学问题。设计应具有ARP防范功能。(4)对于前三点内容集成形成一个完整的系统,在实现对防火墙工具的功能进行扩展后,要做到原有部分和现开发的部分能良好的结合起来。
(四)总体设计。整个程序分为4个部分:主程序、应用层过滤模块、核心层过滤模块、ARP管理模块。主程序(EXE)主要就是用户所看一的程序界面,是用户和防火墙进行对话的对象,它负责管理过滤规则,安装与卸载应用层过滤模块(DLL模块),与应用层过滤模块和核心层过滤模块(SYS模块)进行通信等。应用层过滤模块是一个分层服务提供者,它主要用来截获应用程序的Winsock调用,根据用户设置的应用程序权限规则限制各个应用程序对网络的访问,实时向主模块报告用户层网络活动状态。核心层过滤模块是一个NDIS中间层驱动程序,它的主要作用是核心层过滤规则管理输入输出封包,记录网络活动状态,使用PassThruEx类进行控制。ARP管理模块是一个管理网络层地址(IP地址)和链路层地址(MAC地址)之间转换的工作。对IP和MAC地址实时绑定,防止ARP的攻击。以及对局域网内的计算机上外网进行控制。
三、开发中的关键设计
校园防火墙核心层的过滤数据通过以下几步来完成:
(一)读取封包中的数据。IM驱动以封包的形式传递和接收数据。我们必须将数据从封包中取出。编写一个从封包中读取数据的帮助函数FltReadPacketData.。此函数将封包中指定长度的数据(由缓冲区描述表所描述)复制到用户指定的缓冲区。
(二)检查过滤规则。取出封包中的数据之后,需要解析这些数据,与过滤规则相比较。编写一个检查过滤规则的函数FlthCheckFilterRules,
它的输入参数是过虑列表,封包数据以及数据长度,和一个指示输入的数据是否以太头的BOOLEAN类型的变量。FlthCheckFilterRules函数将每个包与过滤列表中的规则相比较,如果符合条件就按照用户的要求,或者通过或者拒绝。
(三)过滤发送数据。编写的FlteFilterSendPacket用来过滤适配器上的要发送的封包。在驱动的封包发送全程中要调用这个函数来过滤每个要发送的封包。
(四)过滤接收到的数据。当有数据到来时,NDIS调用PtReceivePac
ket或者PtReceive函数来通知IM驱动,分别以封包和数据缓冲区的形式将到来的数据传递给驱动。为此,要定义两个函数来过滤接收到数据,函数参数分别是接收的封包和接收到的数据缓冲区。
至此程序开发完成,并使用在兵团十二师高级中学的学校网络中,初步结果分析,经过不断调试,发现错误,然后进行改进,目前已经基本达到了预期的要求,在实际应用中运行稳定,能够很好完成对ARP病毒的防护,对学校网络安全起到很好的防护作用。
参考文献:
[1]刘朝霞.Windows2000平台下个人防火墙的设计与实现[D].郑州大学.2006.
[2]Mohamed G. Gouda; Alex X. Liu. Structured firewall design Computer Networks 2007 p.1106-1120.
[3]ROGER A. GRIMES; ENEMY INSIDE THE FIREWALL RICHARD GINCEL; InfoWorld 2007 p.27-28,30.
近随着Internet的飞速发展和CERNET的日益完善,建设校园网对于提高学校的管理水平和教学质量都具有十分重要的意义。然而,随着校园网内部和外部互联网应用环境日趋复杂,校园网安全事件频繁发生。因此,如何保证校园网网络的性能及其信息系统的安全,并使其高效稳定地运转,已成为各学校越来越重视的问题。
一、校园网存在的安全隐患主要体现在下列几方面
校园网是一个开放的、控制机构相对较弱的网络,病毒经常会侵入网络中的计算机系统,或窃取机密数据和盗用特权,或破坏重要数据,或使系统功能得不到充分发挥直至瘫痪。
校园网的数据传输是基于TCP/IP通信协议进行的,这些协议缺乏使传输过程中的信息不被窃取的安全措施。
校园网上的通信业务多数使用Windows操作系统来支持,Windows操作系统中存在一定的安全脆弱性问题,会直接影响安全服务。
在计算机上存储、传输和处理的电子信息,还没有像传统的邮件通信那样进行信封保护和签字盖章.信息的来源和去向是否真实,内容是否被改动,以及是否泄露等,在应用层支持的服务协议中是凭着君子协定来维系的。
电子邮件存在着被拆看、误投和伪造的可能性.使用电子邮件来传输重要机密信息会存在着很大的危险。
二、开发前的准备
(一)总体要求。在这些问题上,我们已经做了详实的资料收集和技术准备工作,以及大量的实践经验如:对系统进行安全配置、加强安全管理。然而随着ARP等病毒的泛滥及学校管理方面的需要:新疆兵团十二师高级中学提出了适用于本学校校园网的安全保密及网络管理工具的开发,它要求简便,对ARP攻击具有防范作用,对子网的屏蔽及局域网里的单个计算机访问网络的具有控制作用。在性能上,它又能对一般的攻击加以防范。
(二)使用工具。本程序用Visual C++作为一个功能非常强大的可视化应用程序开发工具,是计算机界公认的最优秀的应用开发工具之一。Microsoft的基本类库MFC使得开发Windows应用程序比以往任何时候都要容易。
(三)从实际情况出发。在开发校园网防火墙时,根据学校现实情况及网络管理方面的需要,从以下几点考虑:(1)产品实现一般的功能如屏蔽子网等;本次设计是利用Windows DDK自带的中间层驱动例子PassThru。实现防火墙工具对内部网络的屏蔽,这样做的主要目的是充分利用现有的工具,并在其基础上进行扩展。(2)需要的功能实现校园网防火墙的功能扩展;现有的防火墙工具虽然功能上完善(当然是针对某一项功能而一言),但他没有针对性,对于具体的应用场合应该有不同的要求,必须对它的功能进行扩展。(3)针对学校现有网络方面的存在安全问题如:ARP欺骗及教学方面存在教学问题。设计应具有ARP防范功能。(4)对于前三点内容集成形成一个完整的系统,在实现对防火墙工具的功能进行扩展后,要做到原有部分和现开发的部分能良好的结合起来。
(四)总体设计。整个程序分为4个部分:主程序、应用层过滤模块、核心层过滤模块、ARP管理模块。主程序(EXE)主要就是用户所看一的程序界面,是用户和防火墙进行对话的对象,它负责管理过滤规则,安装与卸载应用层过滤模块(DLL模块),与应用层过滤模块和核心层过滤模块(SYS模块)进行通信等。应用层过滤模块是一个分层服务提供者,它主要用来截获应用程序的Winsock调用,根据用户设置的应用程序权限规则限制各个应用程序对网络的访问,实时向主模块报告用户层网络活动状态。核心层过滤模块是一个NDIS中间层驱动程序,它的主要作用是核心层过滤规则管理输入输出封包,记录网络活动状态,使用PassThruEx类进行控制。ARP管理模块是一个管理网络层地址(IP地址)和链路层地址(MAC地址)之间转换的工作。对IP和MAC地址实时绑定,防止ARP的攻击。以及对局域网内的计算机上外网进行控制。
三、开发中的关键设计
校园防火墙核心层的过滤数据通过以下几步来完成:
(一)读取封包中的数据。IM驱动以封包的形式传递和接收数据。我们必须将数据从封包中取出。编写一个从封包中读取数据的帮助函数FltReadPacketData.。此函数将封包中指定长度的数据(由缓冲区描述表所描述)复制到用户指定的缓冲区。
(二)检查过滤规则。取出封包中的数据之后,需要解析这些数据,与过滤规则相比较。编写一个检查过滤规则的函数FlthCheckFilterRules,
它的输入参数是过虑列表,封包数据以及数据长度,和一个指示输入的数据是否以太头的BOOLEAN类型的变量。FlthCheckFilterRules函数将每个包与过滤列表中的规则相比较,如果符合条件就按照用户的要求,或者通过或者拒绝。
(三)过滤发送数据。编写的FlteFilterSendPacket用来过滤适配器上的要发送的封包。在驱动的封包发送全程中要调用这个函数来过滤每个要发送的封包。
(四)过滤接收到的数据。当有数据到来时,NDIS调用PtReceivePac
ket或者PtReceive函数来通知IM驱动,分别以封包和数据缓冲区的形式将到来的数据传递给驱动。为此,要定义两个函数来过滤接收到数据,函数参数分别是接收的封包和接收到的数据缓冲区。
至此程序开发完成,并使用在兵团十二师高级中学的学校网络中,初步结果分析,经过不断调试,发现错误,然后进行改进,目前已经基本达到了预期的要求,在实际应用中运行稳定,能够很好完成对ARP病毒的防护,对学校网络安全起到很好的防护作用。
参考文献:
[1]刘朝霞.Windows2000平台下个人防火墙的设计与实现[D].郑州大学.2006.
[2]Mohamed G. Gouda; Alex X. Liu. Structured firewall design Computer Networks 2007 p.1106-1120.
[3]ROGER A. GRIMES; ENEMY INSIDE THE FIREWALL RICHARD GINCEL; InfoWorld 2007 p.27-28,30.