论文部分内容阅读
随着以Internet为代表的全球信息化浪潮的来临,网络互连已经渗透到社会生活的方方面面。一方面,网络互连带来了便捷的资源共享、信息交流;另一方面,网络互连也带来了入侵、攻击、机密信息泄漏等安全问题。网络安全问题已经逐渐引起人们的关注。在网络安全中,防火墙成为建立网络边界、加强网络安全的重要设备。
根据防火墙工作的层次和方式,防火墙大抵上可以分成包过滤器、有状态防火墙、代理防火墙。包过滤器和有状态防火墙由于出色的性能而被广泛使用,而代理防火墙由于性能和功能的局限性使用不多。但随着攻击手段的不断改进,P2P技术的兴起,病毒的泛滥,单一的包过滤器或者有状态防火墙很难提供有效的保护手段,而代理防火墙由于工作方式和对应用协议的理解能力,能提供更好的安全保障。安全专家Stephen Northcutt、Scott Winters等认为对于边界防御来说,代理防火墙是最为安全的网络防火墙。
代理防火墙的缺点主要体现在性能不高、功能难以扩展性上。应用代理在高负载和面对突发性流量时性能会急剧降低,并且难以及时为新的协议或者服务提供代理。当前的应用协议分析方法普遍扩展性较差,并且不能很好监控应用协议运行过程。我们认为稳定的性能、良好的扩展性、良好的应用协议分析对于应用代理来说是非常重要的。
本文工作主要包括:
(1)详细探讨了传统的多进程/线程和基于事件驱动的应用代理框架的优点和局限,并详细研究了一个非常适合建立Internet服务程序的结构SEDA。本文利用SEDA建立了一个通用应用代理框架CAPFBSfCommon Application Proxy Framework based-on SEDA),SEDA的设计思想保证了CAPBFS避免了传统的基于多进程/线程的应用代理在高负载时性能急剧降低的缺点和基于事件驱动的应用代理开发调试过于复杂的缺陷,并且具有良好的扩展性。我们对CAPBFS进行了详细的分析,并进行了实验评估。
(2)研究了当前IDS和防火墙中常用的协议分析方法。目前的应用协议分析方法一般是针对一个特定的应用协议开发一个专用的协议分析模块,在这个模块中根据特定的协议标准,解析出应用协议报文特定字段的值,对这些值进行比较、匹配以确定是否符合标准,或者对特殊值进行过滤、替换。在需要对新的应用协议进行分析时,就必须开发在一个新的协议分析模块。本文提出了一个基于协议运行状态迁移的应用协议分析方法APABPST(Application Protocol Analysis based-on Protocol StateTransition)。由于应用协议的多样性以及它们之间的差异,实现一个统一、高效的应用协议分析方法是不现实的,APABPST方法着眼于应用协议运行过程的特点,将应用协议分析过程表达成一个有限状态机(FSM)。应用协议运行的每个状态对应一个或者多个操作,协议运行到某个状态时,执行该状态对应的操作。通过替换应用协议状态迁移表实现对不同应用协议的分析,通过替换一个状态对应的操作实现对特定应用协议的扩展分析。在分析过程中,每个操作都结合协议运行当前状态进行,因而APABRST除了扩展性较好之外,也提升了安全性。
(3)详细探讨了当前提升应用代理性能的各种思想和技术。这些思想和技术大多集中在如何避免内核空间和用户空间之间的数据拷贝、如何改进应用代理框架和并发模式、如何结合其它类型的防火墙以及如何利用更好的硬件资源和改进硬件体系结构上。应用代理性能“质”的提升依赖于硬件的发展。并行是一种充分利用现有的硬件资源提升系统性能的方法,刀片服务器由于体系结构特点,在集群上具有很多优势。本文结合刀片服务器的体系结构,给出了一个刀片服务器上并行应用代理的模型。我们给出了详细的实现方案和技术,对模型的性能作了数学分析,并对模型在提升代理性能上的作用作了实验分析、评估。