论文部分内容阅读
随着网络攻击技术的不断发展,传统的安全防护手段已经无法有效地保护系统安全,而主机入侵防护系统(HIPS)由于良好的工作机制越来越受到重视。HIPS是近年来新出现的主机防护手段,通过加载与事先定义的安全策略相一致的规则文件,监视被保护计算机的所有输入和输出以及程序的行为等,以求找出攻击的蛛丝马迹并有效地阻止它们。本文研究的主要内容是结合作者在―一机多网‖项目实践中的工作,针对HIPS系统中规则制定困难的缺陷,提出了一种基于C/S架构的局域网内实时监控系统——HGMS(Host Guard Monitoring System)系统。该系统基于HIPS工作原理,主要功能是由服务器端应用程序实现对客户端主机的远程监控和管理。客户端程序作为一种常驻内存的进程运行在各客户端主机上,客户端模块实现对被控计算机的监控、信息的获取和自身进程的保护,并负责将被控计算机上的各种信息和状态发送给服务器,同时对服务器端发送的命令进行响应;服务器端应用程序主要负责监听网络内客户端的请求、对网络通信的处理和对数据库的操作,同时身兼管理功能,包括客户端监控规则的制定和分发、从数据库获取数据进行显示、对被控端主机的监控和操作等。在此基础上,本文重点探究了服务器端应用程序在开发过程中的两大重要实现机制:1、服务器端监控规则集的制定和冲突检测技术研究;2、服务器端与多个客户端之间的并发通信及通信安全问题。一方面,由于规则是在服务器端应用程序统一制定和分发的,针对如何在服务器端保证规则的有效性和一致性问题,本文深入研究了现有安全系统所应用的规则分析技术,重点分析了通用规则配对冲突、比特向量规则冲突和基于策略树规则冲突检测方法的原理,然后结合HGMS系统规则定义的特殊性和复杂性,将比特向量的分析方法融合到策略树冲突检测方法中并结合分类的思想加以改进,给出了一个适用于HGMS系统规则的冲突检测方法,理论分析表明该方法能够有效地检测监控系统的规则冲突,保证规则的一致性和有效性,提高了系统的安全性,具有新意,同时也指出了该方法的局限性和不足之处,明确了进一步工作的方向。另一方面,要实现服务器端应用程序支持海量客户端的请求和数据通信,本文通过对Windows网络模型的分析,提出了一种基于完成端口(IOCP)的通信模块设计方法,用以解决客户端连接量巨大、小容量数据包频繁收发等问题。该模型的核心思想是:将所有客户端的请求都投递到一个消息队列中,利用事先创建好的若干个线程逐一从消息队列中取出消息并加以处理。这样减少了线程资源,大大提高了系统资源的利用率。本文通过介绍完成端口的机制及相关概念,讨论分析了其中的关键问题并给出解决方案,运用IOCP模型成功构建了服务器通信模块,通过测试和性能分析,系统的实现效果得到了证实。最后,在整个系统架构实现的基础之上,探讨了如何利用现今通用的密码学技术来实现网络通信的安全。