第六章 入侵检测技术概述

什么是入侵检测系统

 

入侵 Intrusion
对信息系统的非授权访问及(或)未经许可在信息系统中进行操作

入侵检测 Intrusion Detection
对企图入侵、正在进行的入侵或已经发生的入侵进行识别的过程

入侵检测系统(IDS)
用于辅助进行入侵检测或者独立进行入侵检测的自动化工具

 

为什么需要入侵检测系统
一、网络安全威胁日益增长
    攻击工具唾手可得
    入侵教程随处可见,图书、视频

二、网络攻击造成的破坏性和损失日益严重
     入侵不仅针对个人财产,更针对公司商业机密,甚至国家重要基础设施(伊朗核电站)
三、单纯的防火墙无法防范复杂多变的攻击
      防火墙一般不提供对内部的保护。
      防火墙无法防范数据驱动型的攻击。
      防火墙不能防止Internet上下载被病毒感染的程序
      防火墙不能防止通向站点的后门。
四、来自内部的非法访问
      内部网的攻击占总的攻击事件的70%以上
      没有监测的内部网是内部人员的“自由王国”

 

 

 防火墙=门卫,入侵检测系统=防盗、防火监控

 


6.1 计算机系统面临的威胁

6.1.1    拒绝服务
6.1.2    欺骗
6.1.3    监听
6.1.4    密码破解
6.1.5    木马
6.1.6    缓冲区溢出
6.1.7    ICMP秘密通道
6.1.8    TCP会话劫持

 


6.1.1 拒绝服务:
  1.服务请求超载
          指在短时间内向目标服务器发送大量的特定服务的请求,使得目标服务器来不及进行处理,最终造成目标服务器崩溃 。

 

 

 类似五一、国庆高速公路免费,一下子导致拥堵了

  2.SYN洪水
   这是一种经典的攻击方式。它利用了TCP协议的三次握手机制,在短时间之内向目标服务器发送大量的半开连接报文,即只发送初始的SYN/ACK报文而不发送最后的ACK报文。目标服务器只能为这些恶意的连接保留资源,希望接收到不可能传来的确认报文。最终在短时间之内耗尽目标服务器的系统资源,造成真正的连接请求无法得到响应。

 

 

   “放鸽子”



  3.报文超载
  不同于服务请求超载,报文超载一般向目标主机发送大量的响应报文,如ICMP回应请求报文等。大量的ping报文。但它们的结果是一样的,都是使得目标主机无法应对大量的报文以致崩溃。


6.1.2    欺骗      
  
  1.IP地址欺骗
  大多的Internet协议都缺乏源地址认证的功能。攻击者可以将攻击数据包的源IP地址伪装成合法用户的IP地址来骗取网络安全设备的信任,从而达到蒙混过关、进入用户内部网络的目的。 

 

 

    “相当于伪基战短信”


  2.路由欺骗
       指通过伪造或修改路由表来达到攻击目的。路由欺骗主要有以下几种类型:

  •     基于ICMP协议的路由欺骗:攻击者伪装路由器将特意构造的ICMP重定向报文发给目标主机。目标主机修改自己的路由表,将报文按照攻击者指示的路由发往不可控制的网络。
  •     基于RIP协议的路由欺骗:攻击者通过广播错误的路由信息使得被动接收路由信息的网络或主机按照攻击者的意图构建错误的路由表项。

  源路由欺骗:攻击者利用IP协议的源路由机制,将正常的数据包重定向到指定的网络或主机上。
  C进行源路由欺骗,伪装成B的ip地址,给服务器A发送了一个包。此时A收到包后发现要返回信息,正常的话因为发送栏地址是B,应该返回给B 但是由于源路由信息记录了来时的路线,反推回去就把应该给B的信息给了C,而A没有意识到问题,B对此一无所知,C拿到了B才能拿到的信息

  3.DNS欺骗
       攻击者先于域名服务器返回给目标主机一个伪造的数据报文,目的是将目标主机连接到受攻击者控制的非法主机上,或者是在进行IP地址验证时欺骗服务器 。
     --给一个错误的域名对应的IP地址

  4.Web欺骗
       Web欺骗是攻击者通过创建某个网站的镜像,使得用户访问该镜像网站。两个网站最大的不同是镜像网站受到攻击者严密的监视,用户所有提交的信息都被攻击者记录,从而得到用户的账号、密码等关键信息。

 

 

6.1.3监听

  网络监听是进行网络探测的一种重要手段。它主要是通过对网络中传递的信息的分析来获得目标网络的拓扑结构、主机服务的提供情况、用户的账号和密码等重要信息 。
  监听的基础是网络介质是共享的,只要设置网卡混杂模式即可。

   ---小心隔墙有耳

6.1.4 密码破解

  虽然目前已经有了多种认证的方法,但是账户/密码模式仍然是最常用的方法。账户/密码模式的安全性完全依赖于密码的安全性,这是因为账户信息是非常容易查询到的,而密码信息是应该被严格保密的。由此产生了多种针对密码的破解方法,其中最常用的是根据用户的习惯进行试探的字典攻击法。

 6.1.5 木马

  木马程序是目前计算机网络面临的最大威胁。它利用各种欺骗手段将木马程序种植到目标主机中,而后通过木马程序的运行悄悄地在用户系统中开辟后门,将用户的重要信息传递到攻击者指定的服务器上。
  ---实质就是远程控制,你的一举一动都被记录,各种账号密码被记录发给黑客

6.1.6缓冲区溢出

   操作系统要为每个运行的程序分配数据缓冲区。缓冲区溢出攻击则是故意地向缓冲区传递超出缓冲区范围的数据。这些精心编制的数据将覆盖程序或函数的返回地址,使得指令指针跳转到入侵者希望的位置继续执行操作,一般是攻击代码的起始位置,并以root权限运行。

6.1.7 ICMP秘密通道

  ICMP协议作为网络控制信息传递的基础协议在所有TCP/IP协议的网络上存在。许多访问控制设备并不阻断这种协议的传输。ICMP协议的某些字段并不被安全设备检查,攻击者即可利用这些字段传递秘密信息。
        

6.1.8 TCP会话劫持

  攻击者强行介入已经建立的TCP连接,从而达到进入目标系统的目的。
  分为:中间人攻击,注射式攻击

 

6.2 入侵行为的一般过程

6.2.1 确定攻击目标

   攻击者根据其目的的不同会选择不同的攻击对象。
  1. 随机找一个,2定向攻击特定主机
  攻击行为的初始步骤是搜集攻击对象的尽可能详细的信息。这些信息包括:攻击对象操作系统的类型及版本、攻击对象提供哪些网络服务、各服务程序的  类型及版本以及相关的社会信息。
  一般是通过正常访问中系统的返回的有关信息判断。或发送特殊的网络数据包,根据攻击对象不同的反应来判断。

攻击准备1-确定攻击目标 :
例如:选定192.168.1.250这台主机做为攻击目标,首先需要确定此主机是否处于活动状态,在Windows下使用ping命令测试:
ping 192.168.1.250
测试结果如下页图所示。说明此主机处于活动状态。

 

 

 

攻击准备2-服务分析:

  对目标主机提供的服务进行分析——探测目标主机相应端口服务是否开放:如利用Telnet、haktek等工具。Haktek工具:集成了许多实用工具Finger、Scan、可以进行端口扫描、发送匿名邮件和邮件炸弹等。
举例:
Windows下,开始—运行—cmd
输入:telnet 192.168.1.250 80,然后[确定]
结果如下页图所示,说明192.168.1.250这台主机上运行了http服务,Web服务器版本是IIS 5.1

 

 

 攻击准备3-系统分析

  确定目标主机采用何种操作系统

例如
在Windows下安装Nmap v4.20扫描工具,此工具含OS Detection的功能(使用-O选项)。
打开cmd.exe,输入命令:nmap –O 192.168.1.250,然后[确定]
探测结果如下页图所示,说明操作系统是Windows 2000 SP1、SP2或者SP3

 

 

 

 

 

 

6.2.2 实施攻击

当获得了攻击对象的足够多的信息后,攻击者既可利用相关漏洞的攻击方法渗透进目标系统内部进行信息的窃取或破坏。
一般来说,这些行为都要经过一个先期获取普通合法用户权限,进而获取超级用户权限的过程。这是因为很多信息窃取和破坏操作必须要有超级用户的权限才能够进行,所以必须加强对用户权限特别是超级用户权限的管理和监督。
另一种攻击方法,分布式拒绝服务攻击

 

 

 

 

攻击的主要阶段有:
预攻击探测:为进一步入侵提供有用信息
口令破解与攻击
实施攻击:缓冲区溢出、拒绝服务、后门、木马、病毒

 

6.2.3   攻击后处理
       攻击者在成功实施完攻击行为后最后需要做的是全身而退。即消除登录路径上的路由记录,消除攻击对象系统内的入侵痕迹(主要指删除系统日志中的相关记录),根据需要设置后门等隐秘通道为下一次的入侵行为做准备。

 

 

入侵系统的常用步骤   

 

 



6.3入侵检测的基本概念  

  • 入侵:对信息系统的非授权访问及未经许可在信息系统中进行的操作。
  • 入侵检测简单地说就是检测入侵行为
  • 包括了对系统的非法访问和越权访问的检测;
  • 包括了监视系统运行状态,以发现各种攻击企图、攻击行为或者攻击结果;
  • 包括了针对计算机系统或网络的恶意试探的检测。
  • 检测是通过在计算机系统或网络的各个关键点上收集数据并进行分析来实现的。



入侵检测系统构件

入侵检测系统构件
  探测器:也是事件产生器
  检测引擎:也叫事件分析器
  控制器,也叫响应单元
  数据库或事件数据库:

IDS系统四个构件完成了事件的产生-分析-响应-记录完整的过程

事件产生器(Event generators)
  探测器(事件产生器)的目的是从整个计算环境中获得事件,并向系统的其他部分提供此事件。
主要的任务就是从网络中获取所有的数据包,然后将所有的数据包传送给事件分析器进行数据分析和处理。

事件分析器(Event analyzers)
  检测引擎是事件分析器,其分析得到的数据,并产生分析结果。通过这些分析发现黑客入侵,从而进行下一步的操作。

响应单元(Response units)
  控制器(响应单元)则是对分析结果作出作出反应的功能单元,它可以作出切断连接、改变文件属性等强烈反应,甚至发动对攻击者的反击,也可以只是简单的报警。

事件数据库(Event databases)
  事件数据库是为事件分析器和控制器提供必要的数据支持,或存放各种中间和最终数据,它可以是复杂的数据库,也可以是简单的文本文件。

6.4 入侵检测的主要作用

  • 识别并阻断已知攻击行为,防止入侵行为对受保护系统造成损害。
  • 识别并阻断系统用户的违法操作行为或者越权操作行为。
  • 检查受保护系统的重要组成部分以及各种数据文件的完整性。
  • 审计并弥补系统中存在的弱点和漏洞,其中最重要的一点是审计并纠正错误的系统配置信息。
  • 实时报警
  • 主动响应



6.6入侵检测的主要作用

6.6.1   按照检测数据的来源划分


1.基于主机的入侵检测
定义
  运行于被检测的主机之上,通过查询、监听当前系统的各种资源的使用运行状态,发现系统资源被非法使用和修改的事件,进行上报和处理
基于主机的入侵检测系统(Host Intrusion Detection System,HIDS

 

 


特点

  • 安装于被保护的主机中
  • 系统日志,系统调用,文件完整性检查
  • 主要分析主机内部活动
  • 占用一定的系统资源



主机IDS优势

  1. 能够监测所有的系统行为,监控对主机的攻击过程,入侵实际上是非法操作,都被记录,很难 hard to be removed。
  2. 不需要额外的硬件设备。
  3. 因为运行在主机之上能够适合加密的环境,例如VPN
  4. 网络无关性,不管网络的实现技术
  5.  HIDS能够检测到NIDS无法检测的攻击,application layer
  6. 监测系统特定的行为


主机IDS的劣势

  1. 是基于操作系统的软件,移植性差
  2. 对被保护主机的影响,多种检测手段会影响性能
  3. 维护/升级不方便。数量多-〉费用和版本一致性,数量少-〉效果差
  4. 无法判定网络入侵行为,单个数据包时无害的,但可能是攻击行为的一部分。
  5. HIDS的安全性受到宿主操作系统的限制。



2.基于网络的入侵检测
       基于网络的入侵检测系统往往由一组网络监测节点和管理节点组成。
定义
    通过在共享网段上对通信数据的监听来采集数据,分析可疑现象。这类系统不需要主机提供严格的审计,对主机资源消耗少,并可以提供对网络通用的保护而无需顾及异构主机的不同架构。
基于网络的入侵检测系统(Networ Intrusior Detection System, NIDS)网络IDS

 

 

 



特点

  • 安装在被保护的网段(通常是共享网络)中
  • 混杂模式监听
  • 分析网段中所有的数据包
  • 实时检测和响应

网络IDS优势

  1. 平台无关性。对各种协议数据包的监测,与主机的类型无关
  2. 不会影响网络中主机的性能,网络IDS系统单独架设,不占用其它计算机系统的任何资源;
  3. 网络IDS系统是一个独立的网络设备,可以做到对黑客透明,因此其本身的安全性高;
  4. 能够进行大范围的网络安全保护
  5. 检测数据具有很高的真实性,:实时分析的网络数据,还没有进入主机,被纂改的可能性小;
  6. 可以检测基于低层协议的攻击,如SYN泛洪

网络IDS的劣势

  1. 不能像主机一样处理全部层的协议,难以发现应用层攻击
  2. 不能处理加密数据。加解密功能会影响入侵检测系统的性能
  3. 对交换网络的支持不足,或不适合交换环境,只能检测本网段
  4. 不适合高速环境,网络负载来不及处理,只能丢弃
  5. 容易遭受拒绝服务攻击,无法处理全部数据
  6. 很难进行复杂攻击的检测,资源限制

网络入侵检测要考虑的问题

  1. 数据包获取,混杂模式,交换机端口镜像
  2. 检测引擎特征分析(特征字符串),协议分析(各层的协议是否正常)
  3. TCP流重组:  
    1. 须监听tcp序列号
    2. 窗口问题,窗口用来流量控制,所以必须知道窗口的大小,但是入侵检测系统很难做到同步
  4. IP碎片重组,基于碎片的攻击方法,需要入侵检测系统重组碎片

 


3. 混合式的入侵检测

 基于主机的入侵检测能够对主机上用户或进程的行为进行细粒度地监测,很好地保护了主机的安全。基于网络的入侵检测则能够对网络的整体态势做出反应。这两种优点都是用户所需要的,因此计算机安全界对两者的融合进行了大量的研究,并称这种融合系统为混合式入侵检测系统。
      


6.6.2 按检测方法划分

IDS检测技术
异常检测模型(Anomaly Detection ):首先总结正常操作应该具有的特征(用户轮廓),当用户活动与正常行为有重大偏离时即被认为是入侵 。俗话:事出反常即为妖
滥用检测模型(Misuse Detection):收集非正常操作的行为特征,建立相关的特征库,当监测的用户或系统行为与库中的记录相匹配时,系统就认为这种行为是入侵


1.基于异常的检测方法
用户轮廓(Profile): 通常定义为各种行为参数及其阀值的集合,用于描述正常行为范围

异常检测是基于行为的检测,指根据使用者的行为或资源使用状况来判断是否入侵,而不依赖于具体行为是否出现来检测
特点
与系统相对无关,通用性强
能检测出新的攻击方法
误检率较高

异常入侵检测主要包括下面9个方面的检测:

  •        基于统计分析的异常检测
  •        基于机器学习的异常检测
  •        基于贝叶斯推理的异常检测
  •        基于贝叶斯网络异常检测
  •        基于贝叶斯聚类的异常检测
  •        基于数据挖掘的异常检测
  •        基于特征选择的异常检测   
  •        基于神经网络的异常检测
  •        基于模式预测的异常检测 

 

 优点
不需要操作系统及其安全性缺陷专门知识
能有效检测出冒充合法用户的入侵
缺点
为用户建立正常行为模式的特征轮廓和对用户活动的异常性报警的门限值的确定都比较困难
不是所有入侵者的行为都能够产生明显的异常性
有经验的入侵者还可以通过缓慢地改变他的行为,来改变入侵检测系统中的用户正常行为模式,使其入侵行为逐步变为合法。


基于滥用/误用的检测方法
运用已知攻击方法,根据已定义好的入侵模式,通过判断这些入侵模式是否出现来检测。
因为很大一部分的入侵是利用了系统的脆弱性,通过分析入侵过程的特征、条件、排列以及事件间关系能具体描述入侵行为的迹象。也被称为违规检测(Misuse Detection)。
检测准确度很高。


滥用入侵检测

滥用入侵检测主要包括下面5个方面的检测:

  •     基于模式匹配的滥用入侵检测
  •     基于状态转移分析的滥用入侵检测
  •     基于专家系统的滥用入侵检测
  •     基于条件概率的滥用入侵检测
  •     基于模型推理的滥用入侵检测

 

基于误用的检测方法
专家系统
攻击信息使用的输入,使用if-then的语法。

指示入侵的具体条件放在规则的左边(if侧),当满足这些规则时,规则执行右边(then侧)的动作。


使用这种系统存在以下问题:

  • 不适用于处理大批量的数据,由于专家系统一般使用解释系统实现,解释系统一般总是比编译系统慢。
  • 没有提供对连续有序数据的处理,即不处理数据的相关性
  • 系统反映的专业技能受到实现系统的人的知识水平和技能的限制。
  • 不能处理不确定性。而且当知识系统由于规则的变化影响到其它规则的维护时,需要的工作量相当大。

 

模式匹配检测

  • 根据知识建立攻击脚本库,每一脚本都由一系列攻击行为组成。
  • 有关攻击者行为的知识被描述为:攻击者目的,攻击者达到此目的的可能行为步骤,以及对系统的特殊使用等。

这是模式匹配实现方法,在一个数据包中寻找匹配的内容

 

 

 

优点
可检测出所有对系统来说是已知的入侵行为
系统安全管理员能够很容易地知道系统遭受到的是哪种入侵攻击并采取相应的行动
 

局限:
它只是根据已知的入侵序列和系统缺陷的模式来检测系统中的可疑行为,而不能处理对新的入侵攻击行为以及未知的、潜在的系统缺陷的检测。
系统运行的环境与知识库中关于攻击的知识有关。
对于系统内部攻击者的越权行为,因而很难检测出来。

 


异常检测与滥用检测的比较

  • 滥用入侵检测技术根据已知的攻击行为特征建立异常行为模型,然后将用户行为与之进行匹配,匹配成功则意味着有一个确定的攻击行为发生。
  • 异常入侵检测技术则是试图建立用户或系统的正常行为模型,任何超过该模型允许阈值的事件都被认为是可疑的。
  • 无论滥用检测还是异常检测都是入侵检测技术的具体实施,其各自的特点决定了它们具有相当的互补性。为了符合用户越来越高的安全要求,可以将两种方式结合起来,在不同的条件下采用不同的检测方法,提高系统的检测效率。
     
     

6.7 入侵检测技术的不足

  • 无法完全自动地完成对所有攻击行为的检查,必须通过与管理人员的交互来实现。
  • 不能很好地适应攻击技术的发展,只有在熟知攻击行为的特征后才能识别检测它。虽然存在智能化、可自学习的入侵检测技术,但还不能跟上变形攻击技术和自发展攻击技术的步伐。
  • 入侵检测技术很难实现对攻击的实时响应。往往是在被动地监测到攻击序列开始后,还需要与防火墙系统进行联动,才能完成阻断攻击的动作。这对于那些一次性完成的攻击行为(瞬发攻击)是毫无作用的。
  • 本质是一种被动的系统,无法弥补各种协议的缺陷,只能尽量地去适应协议的规范。

 

 

 

 

posted @ 2022-06-30 00:32  ccccf  阅读(943)  评论(0)    收藏  举报