基于主机的入侵检测技术

基于主机的入侵检测技术

  • 审计数据的获取
  • 审计数据的预处理
  • 基于统计模型的入侵检测技术
  • 基于专家系统的入侵检测技术
  • 基于状态转移分析的入侵检测技术
  • 基于完整性检查的入侵检测技术
  • 基于智能体的入侵检测技术
  • 系统配置分析技术

审计数据的获取

数据获取划分为直接监测和间接监测两种方法。

(1)直接监测——直接监测从数据产生或从属的对象直接获得数据。例如,为了直接监测主机CPU的负荷,必须直接从主机相应内核的结构获得数据。要监测ietd进程提供的网络访问服务,必须直接从 inetd进程获得关于那些访问的数据;

(2)间接监测—从反映被监测对象行为的某个源获得数据。间接监测主机CPU的负荷可以通过读取一个记录CPU负荷的日志文件获得。间接监测访问网络服务可以通过读取 inetd进程产生的日志文件或辅助程序获得。间接监测还可以通过查看发往主机的特定端口的网络数据包。


入侵检测时,直接监测要好于间接监测,原因如下:

(1)间接数据源(如审计跟踪)的数据可能在IDS使用这些数据之前被篡改。

(2)一些事件可能没有被间接数据源记录。

(3)使用间接监测,数据是通过某些机制产生的,这些机制并不知道哪些数据是IDS真正需要的。

(4)间接数据源通常在数据产生时刻和IDS能够访问这些数据的时刻之间引入时延。而直接监测时延更短,确保IDS能更及时地做出反应。


系统日志与审计信息:

  • Acct或pacct:记录每个用户使用的命令记录

  • Aculog:保存着用户拨出去的 Modems记录

  • Loginlog:记录一些不正常的 Login记录。

  • Wtmp:记录当前登录到系统中的所有用户,这个文件伴随着用户进入和离开系统而不断变化。

  • Syslog:重要的日志文件,使用 syslogd守护程序来获得日志信息

  • Uucp:记录的UUCP的信息,可以被本地UUCP活动更新,也可由远程站点发起的动作修改。

  • Access log:主要使用于运行了 NCSA HTTPD的服务器,这记录文件记录有什么站点连接过该服务器。

  • Lastlog:记录了用户最近的 Login记录和每个用户的最初目的地,有时是最后不成功的 Login的记录。

  • Messages:记录输出到系统控制台的记录,另外的信息由 syslog来生成。

  • Sulog:记录使用su命令的记录。

  • Utmp:记录用户登录和退出事件

  • ftp日志:执行带-l选项的ftpd能够获得记录功能。

  • htpd日志:HTTPD服务器在日志中记录每一个Web访问记录。

  • history日志:这个文件保存了用户最近输入命令的记录

  • secure:记录一些使用远程登录及本地登录的事件。

Windows系统审计信息

  • 以 windows10为例,windows注册表路径\HKEY LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog记录了相关日志信息的文件存储路径。

在这里插入图片描述

  • Windows中的审核是对计算机上用户活动和系统活动过程(称之为事件)的跟踪。

  • 事件被分别记录到六种日志中

在这里插入图片描述

  • 应用服务日志

    • 记录了应用程序和系统产生的事件

    • 任何厂商开发的应用程序都可以用审核系统将自己注册,并向应用程序日志中写入事件。

  • 系统日志

    • 含有 Windows 2000系统自身产生的事件,以及驱动程序等组件产生的事件。
  • 安全日志

    • 含有关于安全事件的信息,其中包含与监视系统,用户和进程的活动相关的信息,以及关于启动失败等安全服务的消息

转存事件日志

  • 方法一:使用事件查看器转存
  • 方法二:使用 Dumpel命令转存

数据获取系统的结构图

在这里插入图片描述

审计数据的预处理

审计数据预处理原因

网络入侵检测系统分析数据的来源与数据结构的异构性,实际系统所提供数据的不完全相关性、冗余性、概念上的模糊性以及海量审计数据中可能存在大量的无意义信息等问题,使得系统提供的原始信息很难直接被检测系统使用,而且还可能造成检测结果的偏差,降低系统的检测性能。

审计数据预处理功能

  • 数据集成

    • 主要是将来自不同探测器的结果或者附加信息进行合并处理,解决的是语义的模糊性问题。
    • 数据的集成不是简单的数据合并,而是把数据进行统化、规范化处理的过程。是将原来的不一致的地方(同名异义、异名同义、计量单位不一致、字长不一致等)加以解决。
  • 数据清理

    • 去除源数据集中的噪声数据和无关数据
  • 数据变换

    • 主要是寻求数据的特征表示。用维变换或者其他的转化方法减少有效变量的数量,寻找数据的不变式、包括规格化、规约等操作。
  • 数据简化

    • 在对检测机制或者数据内容本身理解的基础上,通过寻找描述入侵或者系统正常行为的有效数据特征。
  • 数据融合

    • 为了有效第识别出针对网络系统的入侵企图,往往入侵检测系统能够集成入侵检测的多种技术,通过对被监控系统的不同级别的审计信息进行分析。
    • 不同检测技术和模型的检测模块,在功能上具有各自的优势。将这些不同模块的分析结果进行融合和决策,能更好地提高系统的检测率。

基于统计模型的入侵检测技术

异常检测模型

异常检测模型是基于正常行为的统计,根据在过去一段时间内正常行为的观测,得到当前活动观测值的“可信区间”。

异常检测模型可以通过不断学习使模型趋于精确、完善,相比于特权滥用检测模型,能在一定程度上识别未知类型的攻击及资源的非授权访问。

原始特征数据

在检测系统中,从警报数据可获取的并能衡量异常发生的原始特征数据如下。

  • 客户网络发生的攻击数目总量。
  • 客户网络发起攻击和受攻击主机数目。
  • 边缘网络(Internet)的发起攻击和受攻击主机和网络数目。
  • 用户主机和网络被攻击的分布概率。

异常分析特征值

基于上述分析,异常分析的特征值如下。

  • 攻击强度特征值:基于攻击数目总量统计值的特征值。
  • 攻击实体量特征值:基于发起攻击和被攻击的主机数目总量的统计值的特征值。
  • 攻击分布特征值:基于攻击数目最大值的特征值。

异常判断方法

根据这些特征值,异常判断方法概括如下。

  • 当攻击实体量在正常区间内,即检测环境中没有明显的变化,采用攻击强度判断当前状态是否异常。
  • 当攻击强度在正常区间内,即攻击强度表示没有明显变化,采用攻击实体量判断当前状态是否异常。
  • 当攻击强度和攻击实体量都不在正常区间,即表示两者都发生明显变化,采用比较两者的变化幅度的方法判断异常。
  • 对上述方法判断为正常的数据,采用离线计算攻击分布概率判断异常。

基于专家系统的入侵检测技术

在这里插入图片描述

基于规则方法的优点

采用基于规则的方法,主要具备以下几个优点。

  • 模块化特征。规则使得知识容易封装并不断扩充。
  • 解释机制。通过规则容易建立解释机,这是因为一个规则的前件指明了激活这个规则的条件。通过追踪已触发的规则,解释机可以得到推出某个结论的推理链。
  • 类似人类认知过程。规则似乎是模拟人类怎样解决问题的一个自然方法。规则的简单表示方法“if…then”使得容易解释知识的结构。

功能模块

基于规则的专家系统总体功能模块

在这里插入图片描述

专家系统问题

专家系统可有针对性地建立高效的入侵检测系统,检测准确度高。但在具体实现中,专家系统主要面临如下问题。

  • 专家知识获取问题,即由于专家系统的检测规则由安全专家用专家知识构造,因此难以科学地从各种入侵手段中抽象出全面的规则化知识。
  • 规则动态更新问题,用户行为模式的动态性要求入侵检测系统具有自学习、自适应的功能。

专家系统模型结构图

在这里插入图片描述

基于状态转移分析的入侵检测技术

当前的基于特征的检测方法过渡依赖审计数据,而对IP欺骗攻击而言依赖审计数据的规则很难定义,状态分析法的基本思想是将攻击看成一个连续的、分步骤的并且各个步骤之间有一定关联的过程。

  • 在网络中发生入侵时及时阻断入侵行为。
  • 防范可能还会进一步发生的类似攻击行为。

入侵检测系统STAT通过分析系统的各种状态,及状态转移过程中的各种特征操作制订各种基于状态转移的入侵规则,完成系统的入侵检测。

在状态转移分析方法中,一个渗透过程可以看作是由攻击者做出的一系列的行为而导致系统从某个初始状态转变为最终某种被危害了的状态在这个状态转变过程,对应着系统的一连串行为,那些关键的行为就称为特征行为

基于完整性检查的入侵检测技术

通常入侵者入侵时都会对一些文件进行改动,因此采用对文件系统进行完整性检验的入侵检测方式能够检测出对文件内容的非法更改,从而可判定入侵,与其他检测技术相结合将增强现有的入侵检测能力。

文件完整性检验根据用户定制的配置文件对需要校验的文件系统内容进行散列计算,将生成的散列值与文件完整性数据库中存储的预先计算好的文件内容的散列值进行比较。不一致则说明文件被非法更改,并可判定发生入侵。

文件完整性校验

文件备份主机B上存储了主机A上的文件系统的备份。主机A上的文件完整性数据库存储的是需要被检测的文件的各种 inode属性值和文件内容的散列值。检测时主机A首先与文件备份主机B认证,然后对A上的配置文件和预先生成的文件完整性数据库的内容分别进行散列计算,将生成的散列值传输给B进行校验。如果该散列值与B上存储的值不一致,则B将存储的配置文件和文件完整性数据库的备份加密传输给A,进行文件恢复,然后再进行完整性校验。

散列算法

常用的散列算法有MD5,CRC16,CRC32,Snefru,MD4,MD2,SHA和 Haval等。散列算法通常实现了将任意长度的消息m压缩成一固定长度的散列值h,通过对散列值的校验能检测到对消息m的篡改、抵赖或伪造。它有下列特性。

(1)易用性:对任意长度的m,计算h=H(m)很容易。

(2)单向性:给定h,计算m,使得m=F(h)很困难。

(3)无碰撞性:给定m,要找到另一个消息m’,满足H(m’)=H(m)很困难,这就保证了对原文有改动,但很难使文件内容的散列值保持不变

基于智能体的入侵检测技术

智能体的定义

智能体又称智能代理,是人工智能研宄的新成果,它是在用户没有明确具体要求的情况下,根据用户需要,能自动执行用户委托的任务的计算实体。像邮件过滤智能体、信息获取智能体、桌面自动智能体等,将使Web站点、应用程序更加智能化和实用化。

从技术的角度看,智能体是由各种技术支撑着的、许多实用的应用特性的集合,开发者正是使用这些应用特性来扩展应用的功能和价值,从而达到应用能自动执行用户委托的任务的目的。

智能体的特点

  • 智能性
  • 代理性
  • 移动性
  • 主动性
  • 协作性

在入侵检测中,采用智能体采集和分析数据有以下主要特点。

(1)因为智能体是独立的运行实体,因此,不需改变其他的组件,即可向系统中增加或从系统中移走智能体。

(2)如果一个智能体由于某种原因(如下线维护)而停止了工作,损失只局限在有限的范围内,不会造成整个系统的瘫痪,这就保证了系统的连续运行。

(3)如果将智能体以分级结构的形式组织起来,可以使得系统的可伸缩性更好。

(4)系统开销小、智能体的编程可以很灵活

(5)自主智能体采集数据的方法很灵活,

系统配置分析技术

系统配置分析(又可称为静态分析)的技术目标是检查系统是否已经受到入侵活动的侵害,或者存在有可能被入侵的危险。静态分析技术通过检查系统的当前配置情况,例如,系统文件的内容以及相关的数据表等,来判断系统的当前安全状况。之所以称为“静态”分析,是因为该技术只检查系统的静态特性,并不分析系统的活动情况。

配置分析技术的基本原理是基于如下两个观点:

(1)一次成功的入侵活动可能会在系统中留下痕迹,这可以通过检查系统当前的状态来发现。

(2)系统管理员和用户经常会错误地配置系统,从而给攻击者以入侵的可乘之机。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章