设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 安全技术 >> 入侵检测 >> IDS及其Linux下的实现
精品推荐
入侵检测点击TOP10
·snort+acid打造LINUX下的入侵检测系统(IDS)(上)
·入侵检测系统Radware DefensePro
·Kfsensor IDS+HONEYPOT高级配置
·在家制造你的Cisco IDS
·一个网络入侵检测系统的实现
·LIDS精通与进阶(二)
·网吧入侵和网吧老板斗争到底
·snort+acid打造LINUX下的入侵检测系统(IDS)(下)
·用LIDS增强系统安全
·专家剖析黑客如何通过Google发动攻击
安全技术点击TOP10
·主板芯片级维修技术资料
·Symantec AntiVirus防病毒服务器安装配置使用指南
·教你如何手动查杀“幽灵(I-Worm.Ghost)”病毒
·贴片元件标记对应型号资料
·主板芯片组详解
·在WindowsXP/2003下查看端口对应的进程
·主板点不亮(不显示)的BIOS修复两法
·计算机启动过程详解
·网吧如何禁止使用PP点点通
·主板开机原理
精选专题

IDS及其Linux下的实现

作者: 来源:网络文章 时间:2005-12-19 16:29:01

IDS及其Linux下的实现(4)
  需要指出的是,watcher只是监听数据包,并不参与操作系统协议栈的处理。如果操作系统被攻击导致拒绝服务,watcher也将无法运行。因此,首先要保证起所运行的系统是安全的。有些商业入侵检测系统(如NFR)将数据采集部分放在专门的、经过改进的、高度安全的系统之上,以保证IDS这一系统中的重要程序正常工作。对于HereLine本身来说,建议采用增加了stackguard功能的gcc编译器,减少潜在的缓冲区溢出(buffer overflow)漏洞。

  watcher将数据读到缓冲区之后,首先将其封装为sbuff结构,当数据在程序中传递时,均采用此结构。其定义为:

  strUCt sbuff
  {
  union{
  struct tcphdr *tcph;
  struct udphdr *udph;
  struct icmphdr *icmph;
  struct igmphdr *igmph;
  } h;

  union{
  struct iphdr *iph;
  } nh;

  unsigned char *data;
  } ;

  sbuff中定义了指向协议头的指针,子程序可根据这些指针快速的定位数据头位置。

  5.1.2 数据分析

  数据分析部分事实上与数据采集部分作为一个进程(watcher)存在,主要是为了简化程序设计的复杂性。在得到数据帧之后,watcher模拟操作系统的TCP/IP堆栈对数据进行处理并与已知攻击行为的特征进行比较,从中发现异常行为,并向控制台告警。

  在分析的过程中,首先对数据包进行协议分析、过滤,根据协议、端口等信息将数据包送到不同的检测流程(如只有HTTP协议的包才进行CGI检查),这样使检查的过程尽量缩短,提高了程序的工作效率。当进入相应的检测流程后,则按照线性的顺序工作。

  数据分析部分设计为模拟TCP/IP堆栈的流程处理数据包,从中发现异常行为(如分片重合、异常标志等)。这样主要是为了减少误报与漏报,从攻击的核心特征发现它,而不是象许多其他系统那样,只检查攻击包的表面特征。HereLine中包括了IP分片处理,包括了TCP状态转换。通过这种结构,可以准确的判别诸如teardrop等碎片攻击的各种变种。

  对一些常见攻击手法的描述和处理方法见附录1。

  HereLine目前可以处理以下攻击:

  1) land
  2) winnuke
  3) ping of death
  4) source routing
  5) 若干种CGI攻击
  6) 各种OS detection
  7) 各种类型的端口扫描
  8) syn flood
  9) smurf
  10) teardrop及其所有变种
  11) jolt

  若识别出有异常行为,则向控制台告警(采用类似IAP的协议)。HereLine此时分出一个单独的进程处理与控制台的交互,而原进程则继续处理新的数据包。

  5.1.3 控制台

  控制台部分分为两个程序,listener和console。 listener绑定6543端口(目前似乎没有和其他程序冲突),接收从分析程序发出的分析结果和其他信息,并根据其类型转化到不同文件存储。此时的文件为用户可读。其实watcher和listener两者便已经形成了一个完整的IDS。

  console为一用GTK+图形库编制的一个窗口程序,目的主要是给用户一个更方便友好的界面来浏览警告信息。

  因为listener已经将报警信息以明文格式存储,因此也可以采用将其转换成HTML文件,用浏览器查看。当然也可以采用windows应用程序。因HereLine不是一个商业软件,对界面的考虑并不多。

  HereLine的日志采用了类似Unix系统日志的格式,包括time(事件发生时间),host(被攻击的主机名或IP),watcher(发现此攻击的watcher的名字或IP),event(攻击的具体描述)这些项。各项之间用空格分开,每个记录用一行,每项之中不能有空格,若有,用下划线代替(以上语法约定均是为了方便处理)。下面是一个例子:

共5页 9 7 [1] [2] [3] [4] [58 :>

IDS及其Linux下的实现 相关文章:
IDS及其Linux下的实现 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com