基于Windows入门级IDS构建过程详述

所属分类: 网络安全 / 黑客教程 阅读数: 2069
收藏 0 赞 0 分享
从现实来看,市场上所大行其道的IDS产品价格从数十万到数百万不等,这种相对昂贵的奶酪被广为诟病,所导致的结果就是:一般中小企业并不具备实施IDS产品的能力,它们的精力会放在路由器、防火墙以及3层以上交换机的加固上;大中型企业虽然很多已经上了IDS产品,但IDS天然的缺陷导致其似乎无所作为。但我们还不能就此喜新厌旧,因为IDS是必需的一个过程,具有IDS功能的IPS很可能在几年后彻底取代单一性IDS的市场主导地位,从被动应战到主动防御是大势所趋。   其实IDS的技术手段并不很神秘,接下来本文会用一种“顺藤摸瓜”的脉络,给大家介绍一个较简单的IDS入门级构架。从市场分布、入手难易的角度来看,选择NIDS作为范例进行部署,比较地恰当。本文以完全的Windows平台来贯穿整个入侵检测流程,由于篇幅所限,以定性分析角度来陈述。   预备知识   IDS:Intrusion Detection System(入侵检测系统),通过收集网络系统信息来进行入侵检测分析的软件与硬件的智能组合。   对IDS进行标准化工作的两个组织:作为国际互联网标准的制定者IETF的Intrusion Detection Working Group(IDWG,入侵检测工作组)和Common Intrusion Detection Framework(CIDF,通用入侵检测框架)。   IDS分类:Network IDS(基于网络)、Host-based IDS(基于主机)、Hybrid IDS(混合式)、Consoles IDS(控制台)、File Integrity Checkers(文件完整性检查器)、Honeypots(蜜罐)。   事件产生系统   根据CIDF阐述入侵检测系统(IDS)的通用模型思想,具备所有要素、最简单的入侵检测组件如图所示。   根据CIDF规范,将IDS需要分析的数据统称为Event(事件),Event既可能是网络中的Data Packets(数据包),也可能是从System Log等其他方式得到的Information(信息)。   没有数据流进(或数据被采集),IDS就是无根之木,完全无用武之地。   作为IDS的基层组织,事件产生系统大可施展拳脚,它收集被定义的所有事件,然后一股脑地传到其它组件里。在Windows环境下,目前比较基本的做法是使用Winpcap和WinDump。   大家知道,对于事件产生和事件分析系统来说,眼下流行采用Linux和Unix平台的软件和程序;其实在Windows平台中,也有类似Libpcap(是Unix或Linux从内核捕获网络数据包的必备软件)的工具即Winpcap。   Winpcap是一套免费的, 基于Windows的网络接口API,把网卡设置为“混杂”模式,然后循环处理网络捕获的数据包。其技术实现简单,可移植性强,与网卡无关,但效率不高,适合在100 Mbps以下的网络。   相应的基于Windows的网络嗅探工具是WinDump(是Linux/Unix平台的Tcpdump在Windows上的移植版),这个软件必须基于Winpcap接口(这里有人形象地称Winpcap为:数据嗅探驱动程序)。使用WinDump,它能把匹配规则的数据包的包头给显示出来。你能使用这个工具去查找网络问题或者去监视网络上的状况,可以在一定程度上有效监控来自网络上的安全和不安全的行为。   这两个软件在网上都可以免费地找到,读者还可以查看相关软件使用教程。   下面大略介绍一下建立事件探测及采集的步骤:   1. 装配软件和硬件系统。根据网络繁忙程度决定是否采用普通兼容机或性能较高的专用服务器;安装NT核心的Windows操作系统,推荐使用Windows Server 2003企业版,如果条件不满足也可使用Windows 2000 Advanced Server。分区格式建议为NTFS格式。   2. 服务器的空间划分要合理有效,执行程序的安装、数据日志的存储,两者空间最好分别放置在不同分区。   3. Winpcap的简单实现。首先安装它的驱动程序,可以到它的主页或镜像站点下载WinPcap auto-installer (Driver DLLs),直接安装。   注:如果用Winpcap做开发,还需要下载 Developer's pack。
WinPcap 包括三个模块:第一个模块NPF(Netgroup Packet Filter),是一个VxD(虚拟设备驱动程序)文件。其功能是过滤数据包,并把这些包完好无损地传给用户态模块。第二个模块packet.dll为Win32平台提供了一个公共接口,架构在packet.dll之上,提供了更方便、更直接的编程方法。第三个模块 Wpcap.dll不依赖于任何操作系统,是底层的动态链接库,提供了高层、抽象的函数。具体使用说明在各大网站上都有涉及,如何更好利用Winpcap需要较强的C环境编程能力。   4. WinDump的创建。安装后,在Windows命令提示符模式下运行,用户自己可以查看网络状态,恕不赘述。   如果没有软件兼容性问题、安装和配置正确的话,事件探测及采集已能实现。   事件分析系统   由于我们的网络大都用交换式以太网交换机连接,所以建立事件分析系统的目的是实现对多种网络防火墙设备的探测,以及多种采集方式(如基于Snmp、Syslog数据信息的采集)日志的支持,并提供一定的事件日志处理,统计、分析和查询功能。   事件分析系统是IDS的核心模块,主要功能是对各种事件进行分析,从中发现违反安全策略的行为,如何建立是重点也是难点。如果自己能或与人合作编写软件系统,就需要做好严谨的前期开发准备,如对网络协议、黑客攻击、系统漏洞有着比较清晰的认识,接着开始制定规则和策略,它应该基于标准的技术标准和规范,然后优化算法以提高执行效率,建立检测模型,可以模拟进行攻击及分析过程。   事件分析系统把检测引擎驻留在监视网段中,一般通过三种技术手段进行分析:模式匹配、协议分析和行为分析。当检测到某种误用模式时,产生对应的警告信息并发送给响应系统。目前来看,使用协议分析是实时检测的最好方式。   这个系统一种可能的方式是由协议分析器作为主体,可以在现成的、开放式的协议分析工具包基础上来构建;协议分析器可以显示分组级网络传输流,基于网络协议规则的警告进行自动分析来快速探测攻击的存在;由此,网络程序员和管理员可监控并分析网络活动,从而主动检测并定位故障。用户可以尝试一下一个叫Ethereal的免费网络协议分析器,它支持Windows系统。用户可以对由事件产生系统抓取后保存在硬盘上的数据进行分析。你能交互式地浏览抓取到的数据包,查看每一个数据包的摘要和详细信息。Ethereal有多种强大的特征,如支持几乎所有的协议、丰富的过滤语言、易于查看TCP会话经重构后的数据流等。   响应系统   响应系统是面向人、物的交互系统,可以说是整个系统的中转站和协调站。人即是系统管理员、物是其他所有组件。   详细说来,响应系统这个协调员要做的事很多:按照预置定义的方式,记录安全事件、产生报警信息(如E-mail形式)、记录附加日志、隔离入侵者、终止进程、禁止受害者的端口和服务、甚至反戈一击;可以采取人工响应和自动响应(基于机器的响应),两者结合起来会比较好。   响应系统的设计要素:   1. 接受自事件产生系统经事件分析系统过滤、分析、重建后的事件警报信息,然后交互给用户(管理员)查询并做出规则判断和采取管理行为。   2. 给管理员提供管理事件数据库系统的一个接口,可以修改规则库、根据不同网络环境情况配置安全策略、读写数据库系统。   3. 作用于前端系统时,可管理事件产生、分析系统(合称事件探测器),对该系统采集、探测、分析的事件进行分类、筛选,可针对不同安全状况,重新对安全规则进行洗牌。   响应系统和事件探测器通常是以应用程序的形式实现。   设计思路:响应系统可分为两个程序部分,监听和控制。 监听部分绑定某个空闲端口,接收从事件探测器发出的分析结果和其他信息,并转化存储文件到事件数据库系统中,作为管理员可根据用户权限调用来只读、修改以及特别的操作。控制部分可用GTK+来编写GUI,开发出较为直观的图形用户界面,目的主要是给用户一个更方便友好的界面来浏览警告信息。   事件数据库系统   在Windows平台下,虽然Access更易掌握,但采用SQL Server 2000构建会比Access有效,而且并不是很难入手,相关使用方法参见《Microsoft SQL Server 2000 联机丛书中文版》(2004)。   此系统主要功能:记录、存储、重排事件信息,可供管理员调用查看和对攻击审查取证使用。   此系统构造相对简单,只需利用到数据库软件的一些基本功能。   要协调各组件之间的有目的通信,各组件就必须能正确理解相互之间传递的各种数据的语义。可参考CIDF的通信机制,构建3层模型。注意各个组件之间的互操作性,保证安全、高效、顺畅。   整合在后续的工作中会不断进行,各个组件的功能也会不断完善。一个基本的、基于Windows平台的IDS框架就构建完毕。满足网络条件的话,试试亲手做做自己的奶酪吧,有一种不可名状的劳作后的甜蜜。
更多精彩内容其他人还在看

网站脚本注入检测如何绕过限制

突然想我们是否可以用什么方法绕过SQL注入的限制呢?到网上考察了一下,提到的方法大多都是针对AND与“’”号和“=”号过滤的突破,虽然有点进步的地方,但还是有一些关键字没有绕过,由于我不常入侵网站所以也不敢对上述过滤的效
收藏 0 赞 0 分享

菜鸟拿WebShell的经验

通过几次成功的拿Webshell,发现自己有时也走了一些弯路,为了避免其他的朋友再在困惑中迷失方向,现在我将自己的一些经验写出来,希望对一些想学拿Webshell的朋友有一定的帮助。   首先我们要确定我们要检测的网站,可以是自己定下的某个网站,也可以是自己通过Go
收藏 0 赞 0 分享

黑客如何破坏杀毒软件

最近有调查报告显示,知名品牌的杀毒软件对新型计算机病毒的查杀率只有20%,而漏杀率却高达80%。那么是什么原因造成这种状况的?到底是如今的病毒过于厉害,还是杀毒软件的能力有限?今天我们就通过实例来看看是什么“刺瞎”了杀毒软件的双眼。   黑客姓名
收藏 0 赞 0 分享

UPDATE注射的两个基本模式

一.测试环境: OS: Windowsxp sp2 php: php 4.3.10 ( mysql 4.1.9 apache 1.3.33 二.测试数据库结构: -----start--- -- 数据库: `test`
收藏 0 赞 0 分享

Mysql BackDoorDoor(图)

Mysql BackDoor是一款针对PHP Mysql服务器开发的后门,后门安装后为Mysql增加一个可以执行系统命令的"state"函数,并且随 Mysql进程启动一个基于Dll的嗅探型后门,从而巧妙地实现了无端口,无进程,无服务的穿墙木马.程序在WINX
收藏 0 赞 0 分享

用Shell做DEAMON后台来控制安全访问

如何做一个后台DEAMON来控制安全访问?这就是贯穿这篇文章的中心概念。 我的控制访问比较特殊,考虑到远程登陆点并非固定,所以无法设定固定IP通过SSH登陆服务器。这样N多IP会通过黑客软件试图破解您的用户名和密码(基本都是穷举,不怕一万只怕万一,因此我写了这个
收藏 0 赞 0 分享

教你在QQ空间挂马

今天我来跟大家谈论一下关于QQ空间挂马的原理,我试了一下,成功率占80%。 有好多人都问我怎么样才可以做到肉鸡成群,我想了好久,觉得QQ空间挂马可以实现这个。所以我试做了一下, 竟然成功了!~~那我就想大家介绍一下QQ空间挂马的原理吧!~ 大家把应该怎样把木马
收藏 0 赞 0 分享

爆破的一般思路与断点的设置

破 顾名思义就是暴力修改程序的代码来达到破解的目的 当然根据共享软件的注册方式我们可以对症下药 比如说没有注册的软件有功能限制、使用次数限制、使用日期限制等 我们就可以分别对待了!我们只需要解除这些限制自然就达到了破解的目的了! 暴力破解的一
收藏 0 赞 0 分享

解析RootKit与反RootKit(图)

Rootkit是一个或者多个用于隐藏、控制一台计算机的工具包,该技术被越来越多地应用于一些恶意软件中。在基于Windows的系统中Rootkit更多地用于隐藏程序或进程,系统被注入Rootkit后就可以在不为用户察觉的情况下进行某些操作。因此,其隐蔽性极高,危害也极大。下面笔
收藏 0 赞 0 分享

VC 下黑客软件隐蔽程序的手段

一、引言 随着计算机网络的不断发展,黑客技术也日益成为一支不可忽视的技术力量,尽管多数黑客的攻击目标以服务器为主,对大多数的互连网用户的直接危害并不大。但有一类称为"特洛伊木马"的黑客程序可以通过欺骗等手段在普通网络用户端安装木马的服务端,使
收藏 0 赞 0 分享
查看更多