首页 > 范文大全 > 正文

一种保护Web服务器的入侵检测模型研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇一种保护Web服务器的入侵检测模型研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:本文根据Web服务器的特点,将检测Web服务器漏洞攻击的基于规范的入侵检测技术和检测脚本类型攻击的URL过滤技术相结合,设计了一种保护web服务器入侵检测模型WIDS,并对关键模块的实现加以说明,最后通过实例分析了该模型的工作过程。

关键词:入侵检测;基于规范的入侵检测;URL过滤技术;Web服务器

中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)12-21581-02

Research on an Intrusion Detection Model to Protect Web Servers

GE Hong,YAN Ling

(Qinghai Oilfield Company,Qinghai 736202,China)

Abstract:This paper took the character of Web server into consideration, combined the Specification-based intrusion detection which was used to detect vulnerabilities based on Web servers and URL filter technology which was used to protect URL attacks, and designed a web-based intrusion detection system model WIDS, then explained the realization of some key part in WIDS detailedly, and analyzed the working process of WIDS through examples in the end.

Key words:Intrusion detection;Specification-based intrusion detection;URL filter technology;Web servers

1 引言

Web应用是运行于Internet和TCP/IP Intranet之上的基于Client/Server的应用。由于Web服务器必须具有固定并且公开的IP地址和域名,以对外提供服务,所以Web服务器最容易受到攻击。随着Internet规模的不断扩大,Web应用也日趋广泛,对入侵攻击的检测与防范、保障计算机系统、网络系统及整个信息基础设施的安全已经成为刻不容缓的重要课题。

2 保护Web服务器的入侵检测模型

2.1 入侵检测方法

入侵检测通常分为异常检测和误用检测[1][3]。误用检测收集非正常操作的行为特征,当监测的用户行为与库中的记录相匹配时,系统就认为这种行为是入侵。异常检测总结正常操作的特征,当用户活动与正常行为有重大偏离时即被认为是入侵。基于规范的入侵检测是介于异常检测和误用检测之间的入侵检测技术,由手工定义程序的正常行为规范,并监视程序执行,不需要维护大量的特征库,也无需历史数据的训练,并且能检测未知攻击,误警率低。

基于规范的检测技术可以检测针对Web服务器应用层的漏洞,对于通常的脚本类型的攻击,URL过滤也是一项重要的检测方法。现有检测URL攻击方法都是基于规则的,针对每一种入侵行为,提炼出它的特征并按照规范写成检验规则,从而形成一个规则数据库,然后将捕获的数据包按照规则库逐一匹配,若匹配成功,则认为该入侵行为成立。

2.2 WIDS模型设计

保护Web服务器的入侵检测模型WIDS(Web-based Intrusion Detection System)模型结构如图1所示。

图1 WIDS模型结构

控制器,接受来自URL检测引擎和安全规范检测引擎的检测结果,将检测结果转化成特定格式,作为响应模块的输入,同时结合来自响应模块的响应结果回馈信息,输出给系统管理员。

入侵响应模块,接受来自控制器的数据,根据一定的响应策略对入侵行为进行相应的响应,保护Web服务器。响应策略是根据系统的容忍性、响应的代价和预测入侵损失为每个入侵行为赋予相应的权值,最后根据权值执行相应的响应机制。

嗅探器,用来获得网络数据。

URL检测引擎,作为Web Server保护的第一道防线,直接进行URL攻击的检测,以减少系统资源的消耗。工作时,将检测规则组织成决策树,对每一个URL请求数据搜索此树,一旦搜索到匹配的特征则返回,并将检测结果提交控制器。

规范检测引擎,利用结合了异常检测和误用检测两种技术的规范检测技术对入侵进行检测,包括管理器、操作系统审计数据收集器、数据分发器、分析器,模型如图2所示。工作过程[2]为:管理器监视审计数据中的系统调用,检查是否存在与主体表达式匹配的记录,当存在时启动相应的分析器,分析器利用管理器中相应的安全规范执行。分发器通过处理数据收集器传送的数据,将有关的审计记录输入到分析器数据队列中,分析器通过检查审计记录中是否与已定义好的安全规范相一致来判断是否发生入侵,如果发生入侵,由控制器对数据进行整理后,提交到响应模块,执行相应的响应。

图2 规范检测引擎模型

3 模型关键模块实现

3.1 管理器的实现

当入侵检测系统启动,管理器作为守护程序对系统调用exec进行监视,作相应的处理,直到入侵检测系统关闭,管理器才退出。在管理器中,不仅要管理一个特权程序的安全规范数据库,并且每一个安全规范对应一个选择表达式,实现的流程图如图3所示。

图3 管理器的流程图

3.2 数据收集器的实现

审计数据的获取,是通过一个审计数据状态指示变量Audit_state实现的[4],其作用是跟踪当前数据收集器的工作变化情况。当启动数据收集器时,该变量取值为START;若需要打开审计数据文件时,取值为NEXT_FILE;当数据收集器从文件中读取审计记录时,取值为READ_FILE;当关闭当前审计数据文件时,值为CLOSE_FILE。图4为该模块的实现流程图。

图4 数据收集器的流程图

4 WIDS应用实例

4.1 Code Red worm检测

当用户的输入在URL中存在/default.ida时,URL检测引擎通过将URL中的内容与规则库中规则进行匹配,匹配成功时,将会检测出Code Red worm,并将检测结果交给控制器,由响应模块给出相应响应。

4.2 httpd缓冲区溢出的检测

当用户访问Web时,通常是先通过GET向HTTP发出请求,而GET没有对输入的大小进行限制,所以HTTP后台监视进程httpd存在缓冲区溢出漏洞。如果攻击者利用此漏洞则会造成缓冲区溢出,令系统挂起,而执行攻击者的代码,这样攻击者最终将获得管理员权限。在正常情况下httpd是在收到请求之后执行http目录下的文件,因此,可以通过限制httpd在收到请求后必须执行http目录下的文件的方法,编写httpd安全规范。通过检查httpd在接收到请求之后是否执行http目录下的文件,就能判断出是否发生了入侵。

4.3 WIDS模型的检测过程

首先,将GET的请求数据先在URL规则库中进行匹配,检测是否存在URL攻击,如果存在,将检测结果提交给管理器。同时,管理器监视审计数据中的系统调用execve,当检查到GET时,通过匹配主体表达式,启动httpd分析器,然后,httpd分析器调用并执行管理器中httpd的安全规范,分发器通过对数据收集器传送的数据进行处理,将有关httpd的审计记录输入到httpd分析器数据队列中,httpd分析器通过检查审计记录中的系统调用read,通过判断其是否执行http目录下的文件来判断是否发生入侵,如果发生入侵,由控制器对数据进行整理后,提交到响应模块,执行相应的响应机制。响应模块随后将处理结果回馈到处理器,由处理器负责向管理员输出结果。

5 结论

本文设计了用于保护Web服务器的入侵检测模型。根据Web服务器的特点,首先采用基于规范的入侵检测技术来检测针对Web服务器漏洞的攻击,基于规范的入侵检测技术结合了异常检测和误用检测,并能克服两者的不足。然后应用URL过滤技术来检测针对脚本类型的攻击。结合两者建立起一种保护Web服务器的入侵检测模型WIDS,并对关键模块的实现加以说明,最后通过实例分析了该模型的工作过程。

参考文献:

[1]唐正军,李建华.入侵检测技术[M].北京:清华大学出版社,2004.

[2]寺田真敏,萱岛.TCP/IP网络安全[M].北京:科学出版社,2003.

[3]Paul E. Proctor.入侵检测实用手册[M].北京:中国电力出版社,2002.

[4]C. Kruegel and G. Vigna. Anomaly Detection of Web-based Attacks. Proceedings of the 10th ACM Conference on Computer and Communication Security[A]. ACM Press Washington,2003,10.

“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”