Windows 2000平台下个人防火墙的设计与实现
作者单位:成都理工大学
学位级别:硕士
导师姓名:钟本善;周熙襄
授予年度:2004年
学科分类:0839[工学-网络空间安全] 08[工学]
摘 要:当今的Internet每时每刻都存在危险。如果用户在使用Internet时不采取任何保护措施,就很容易遭到黑客的攻击。Windows 2000是进行Internet商务的最佳操作系统,它建立于Windows NT技术之上。此外,Windows操作系统不开放源代码,网络安全专家无法直接修改、增加操作系统中关于网络协议实现的代码来改善操作系统的安全性。因此,在Windows 2000平台下保护PC机上网的安全是一个值得研究的问题。 本人设计的个人防火墙(简称本系统)就是为这一目的而设计。当前开发个人防火墙的核心技术在于网络数据包的拦截技术。要拦截Windows平台下的网络数据包可以在两个层面进行:用户模式和内核模式。在用户模式下可以采用API HOOK、Winsock SPI等技术。但是这些技术最致命的缺点就是只能在Winsock层次上进行,一些木马和病毒程序很容易绕开Winsock而直接通过TDI调用TCP/IP发送和接收数据,那么使用上述的技术显然就无能为力了。在内核模式下主要采用网络驱动程序技术。目前大多数个人防火墙采用内核模式的NDIS HOOK驱动程序技术,但是,这种技术对平台的依赖性比较大,需要在程序中判断操作系统的版本而使用一些未见文档的结构定义。因此,采用这种技术需要开发人员利用各种调试工具来发掘这些结构的详细定义,这样比较繁琐也容易出错。本系统采用内核模式的TDI过滤驱动程序和NDIS中间驱动程序技术开发。TDI过滤驱动程序可以得到访问网络的进程的详细信息,并能够拦截网络协议栈中底层协议的数据包,可以很容易地拦截一些木马和后门程序。NDIS中间驱动程序工作在数据链路层,拦截的数据包是数据链路帧。这样,不但可以拦截IP数据包而且还能拦截非IP数据包,扩大了数据包过滤的范围。采用这种技术开发的个人防火墙更为安全。另外,NDIS中间驱动程序的应用很广泛,不仅仅应用在个人防火墙方面,还可以用来实现VPN、NAT、VLAN等。因此,今后可以将个人防火墙技术与其他安全技术集成开发更为强大的网络安全产品。NDIS中间驱动程序的功能很强大,能够对个人防火墙实现更多的附加功能,是今后个人防火墙技术发展趋势所在。 另外,网络数据包的过滤也是开发个人防火墙系统的一个重点。本系统在这一方面实现了一个基于规则的过滤算法,并在过滤算法中引入了一个分层框架。