入侵检测

入侵者

  1. 入侵者分为三类:
  • 假冒者:指未经授权就使用计算机和穿透系统的访问控制机制而冒用合法账户的人。
  • 违法者:指访问未经授权的程序,数据或资源的合法用户。
  • 秘密用户:获得了系统的超级控制权,并利用超级控制权逃脱系统的审计或访问控制。
  1. 入侵者的目的是获得系统的访问控制权或者扩大系统的特权范围;攻击是利用系统或软件的漏洞,允许用户执行打开系统后门的代码。

入侵检测

  1. 相关定义
  • 安全入侵:一个或多个安全事件组合构成一个安全事故,入侵者在未经授权的情况下试图获得一个系统或系统资源的访问权。
  • 入侵检测:一种检测并分析系统事件的安全服务,检测未经授权的对系统或系统资源的访问,并提供实时或近似实时的报警。
  1. IDS的分类
  • 基于主机的IDS:检测一台主机的特征和该主机发出可疑活动。
  • 基于网络的IDS:监视特定网段或设备的流量并分析网络,传输和应用协议,用以发现可疑的活动。
  1. IDS的三个逻辑组件:
  • 传感器:传感器负责收集数据,输入的类型包括网络型数据包,日志文件和系统调用记录。
  • 分析器:分析器负责从一个或多个传感器接受输入,分析器确实是否发生了入侵,并可以判断什么活动导致了入侵。
  • 用户接口:通过IDS的用户接口,用户可以查看系统输出或控制系统的行为。
  1. 基本原理
  • 入侵检测的作用:

快速检测出入侵,可以降低系统的损失。
有效的IDS可以作为一个威慑,减少入侵。
入侵检测技术可以收集入侵者的信息,然后可用于增强安全防护。

  • 入侵检测基于的假设:

入侵者的行为和攻击者的行为存在者可以量化的差别。

  1. 理想的IDS需要满足的条件
  • 能够不间断的运行,人的参与尽可能的少
  • 具有容错功能,系统崩溃,能够很快的恢复和重新初始化
  • 抵御破坏,IDS必须能够监测自身是否已经被攻击者修改
  • 占用正在运行的系统最小的资源
  • 能够根据被监测系统的安全策略进行配置
  • 能够很方便的扩展以检测更多的主机
  • 能够提供良好的服务降级,也就说,IDS的某些组件停止工作,其余部分不受影响仍能正常工作。
  • 允许动态重新设置,能够重新配置IDS,而不需要重启IDS

基于主机的入侵检测

  1. 基于主机的IDS向敏感或易受攻击的主机添加专用的安全软件层。
  2. 基于主机的IDS主要优点是:它可以检测基于内部和外部的入侵,这是基于网络的IDS所不行的。
  3. 基于主机的IDS包括以下两种:
  • 异常检测:监测一段时间内用户行为的变化,然后统计检验被监测的行为,以较高的置信度判断是不是合法用户的行为。

阀值监测:定义发生各种事件的阀值,阀值的大小与具体用户无关。
基于配置文件的监测:为每个用户定义一个活动的配置文件,用于监测每个用户的行为变化。

  • 特征检测:试图定义一组规则和攻击者模式,可用于确定一个给定的行为是入侵者的行为。
  1. 异常检测对假冒者是有效的,假冒者不能完全模仿他们感兴趣的账户的行为模式;对于违法者,特征值检测方法能够通过上下文识别事件和序列来发现渗透。
  2. 审计记录
  • 入侵检测的一个基本工具就是审计记录,一般采用两种方法:

原始审计记录:用操作系统自带的收集用户信息的审计软件,但可以不包含入侵检测系统所需的信息或所需格式的信息。
检测专用的审计记录:利用一组专门的采集工具生成的审计记录,包含了入侵检测系统所需的信息,但需要花费额外的开销。

  • 对于每个审计记录包含以下几个字段:

检测专用的审计记录的一个很好实例:在这里插入图片描述

主体:动作的发起者
动作:由主体对一个客体执行的操作或联合另一个客体完成的操作。
客体:动作的接受者
异常条件:如果有异常条件发生,则返回异常条件
资源的使用:大量元素列表,其中每一项列出了资源的使用量。
时间戳:标识动作发生的唯一时间和日期戳

上述该命令有Smith发出,将可执行文件GAME.EXE从当前目录复制到< Library > 目录下,复制被终止,因为Smith没有写入到< Library>的权限。

  • 用户动作分解的三个优点:

使用基本动作可以对影响一个客体的所有行为进行审计,系统可以检测出破坏访问控制的行为。
单客体,单动作的审计记录简化了模型,也易于实现。
便于将原始的审计记录转换成检测专用的审计记录。

  1. 异常检测
  • 阀值检测:阀值检测与一段时间内特殊事件发生的次数有关,如果一定时间内特殊事件发生的次数超过预先设定的合理数值,则认为存在入侵。

阀值和时间间隔必须是确定的。但是由于用户是不断变化的,这样的阀值会造成大量的误报和漏报。

  • 基于配置文件的入侵检测:归纳出单个用户或相关用户组的历史行为特征,用于发现重大偏差的行为,定义一组参数,单个参数的偏差可能无法引起警报。

审计记录以两种方式作为入侵检测函数的输入:

第一种方式是,一段时间内的审计记录分析可用于确定一般用户的活动配置文件。 因此,审计记录用来定义典型的行为。
第二种方式是, 当前的审计记录作为入侵检测的输入。也就是说,入侵检测模型分析当前审计记录,判定当前行为与一般行为的偏差。

  • 基于配置文件检测的度量标准:

计数器:是一个非负整数,如果没有被复位,则只能增加不能减少,通常记录一定时间内某些事件类型发生的次数。
计量器:可增可减的一个非负整数,计量器用来策量某些实体的当前值。
间隔计数器:两个相关事件的时间间隔。
资源利用:一定时间内消耗资源的数量。
根据这些度量标准,可以用多种方法确定当前活动是否在可接受的范围内:

均值和标准差:测量在一段时间间隔内一个参数的均值和标准差,均值和标准差可广泛应用计数器,计量器和资源度量器。
多变量:多变量模型基于两个或两个以上变量之间的相关性,通过这种相关性的分析,可以对入侵者的行为进行可信度更高的表征。
马尔可夫过程:马尔可夫过程模型用于建立各种状态的转移概念。ex:两个命令相继发生的概率。
时间序列:时间序列模型以时间间隔为基础,查找事件发生太快或太慢的序列。
操作:通常定一个固定的界限,观测值超出此界限的行为则被认为是入侵。

  1. 特征检测
  • 特征检测通过观察系统内的事件,运用规则集来判断一定给定的活动模式是否是可疑的。
  • 分为异常检测和渗透识别两种方法:

基于规则的异常检测:
历史审计记录进行分析来定义一组规则集,规则用来表示用户,程序,特权,时隙和终端等过去行为模式,然后观察当前行为与规则集进行匹配,来确定每个行为是否与历史行为模式向匹配。
检测方案基于对过去对观察,并假定将来对行为和过去很相似。
基于规则的渗透识别:
主要功能是利用规则来识别已知的渗透,规则还可以用来识别可疑的行为,开发这样的规则最有效的方法是从Internet上收集攻击工具和脚本。
审计记录一旦生成就与规则集进行匹配,如果找到匹配项,则用户的可疑度增加。如果有足够多的匹配项且超过一定的阀值,系统报告异常。

  1. 基数谬误
    如果实际入侵比系统的合法使用数低,则误报率将很高。

分布式基于主机的入侵检测

  1. 分布式IDS设计中存在的问题:
  • 分布式IDS需要处理不同格式的审计记录
  • 网络中的一个或多个节点负责收集并处理网络中各系统的数据,原始审计记录或汇总的审计记录在网络中传输需要保证其完整性和进行
  • 集中式或分布式的结构都是可用。集中式一个节点负责收集网络各系统的数据,但存在单点故障问题。在非集中式,有多个分析中心,但必须建立协调活动和信息交换机制。
  1. 一个分布式IDS的实例
  • 三个主要组件

主机代理模块:作为后台进程运行在被监测系统上,其作用是收集系统与安全相关事件的数据并且传输这些数据到中央管理器模块。
局域网监测器模块:与主机代理模块以相同的方式运行,它分析局域网的流量并向中央管理器报告结果。
中央管理器模块:从主机代理模块和局域网监测器模块接受报告,并对其进行管理分析以检测入侵。

  • 工作流程

首先代理模块捕获由原始审计记录的每条记录,仅保留哪些与安全相关的记录,并将这些记录标准化为检测专用的审计记录格式。
然后,使用模版驱动的逻辑模块分析可疑的活动记录,最底层的代理负责扫描与以前截然不同的事件。而叫高层的代理负责寻找攻击相匹配的攻击模式,最后,代理根据用户的历史配置文件查找每个用户的异常行为,如执行程序数,访问文件数。
检测到可疑活动时,将报警信息发送给中央管理器,中央管理器使用专家系统,从收到的数据推导出可能的结果,中央管理器还可能会主动要求单个主机提供审计记录的副本,以便与其他主机提供的审计记录进行关联分析。
局域网监测器也向中央管理器提供信息,局域网监测器代理模块审计主机与主机之间的连接,使用的服务和网络流量等信息,同时还负责搜索重大事件,如网络负载的突然变化,与安全相关的服务的使用。


基于网络的入侵检测

  1. 基于网络的IDS监控是一个网络或多个相互连接的网络上选定位置的网络流量
  2. NIDS实时或近似实时分析数据包,以试图发现网络模式
  3. NIDS监测的是网络上流向易受攻击的计算机系统的数据包流量,而基于主机的IDS系统检测的是主机上用户和软件活动
  4. 典型的NIDS包括:
  • 大量传感器用来监视网络流量
  • 一个或多个服务器负责NIDS管理功能
  • 一个或多个人机交互的接口
  1. 网络传感器类型
  • 内嵌传感器

将被插入到网络段,以使网络流量必须通过传感器
两种实现方法:

NIDS传感器将于另一个网络设备(如防火墙,局域网交换机)进行逻辑组合,不需要额外的单独的硬件设备。
使用单独的内嵌式NIDS传感器

  • 被动传感器
被动传感器监视网络流量的备份,实际的流量并未通过这个设备。被动传感器比内嵌传感器更有效,内嵌传感器需要额外的处理步骤,将会导致数据包的延迟。 传感器的监控接口通常不设置IP地址,管理接口设置IP地址以使传感器能顾与NIDS管理服务器通信。
  1. NIDS传感器的部署
    在这里插入图片描述
  • 位置1-外部防火墙之内

观测源自外部的攻击,建立入侵网络的外围防护
强调防火墙策略或性能问题
观测可能针对web服务或DNS服务器的攻击
即使不能检测到进入的攻击,有时也可以识别出因遭受攻击而输出的网络流量

  • 位置2-外部防火墙与Internet之间

监控来自Internet上对目标网络的攻击
监控来自Internet上对目标网络的攻击类型

  • 位置3-内部防火墙的任意一侧

监控一个网络的大量流量,而从提高发现攻击的概率
检测到授权用户在企业安全范围内的非授权活动

  • 位置4-保护一些企业的关键子网

检测针对关键系统和资源的攻击
允许将有限的资源集中到最有价值的网络资产

  1. 入侵检测技术
  • 特征检测技术

应用层侦察和攻击

大多数NIDS技术都要分析几十个应用协议:DHCP,DNS,Finger,FTP,HTTP等等。
NIDS主要查找已被标识为面向这些协议的攻击模式,包括缓冲区溢出攻击,口令猜测和恶意软件传输等等。

传输层侦查和攻击

NIDS分析TCP和UDP流量,也可能是其他传输层协议,攻击的例子包括异常数据包碎片,易受攻击端口扫描和TCP特定攻击。
网络层侦察和攻击
NIDS在这一层通常分析IPv4,ICMP和IGMP,攻击的实例是IP地址欺骗和非法的IP地址首部值。

意外应用服务:

NIDS试图确定传输连接上的活动是否与预期应用协议一致,一个实例是主机运行未经授权的应用服务

策略违背:

使用不恰当的web站点和禁用的应用协议。

  • 异常检测技术

适用于异常检测技术的实例:

拒绝服务攻击
扫描:攻击者通过发送不同类型的数据包到目标网络或系统,使用从目标系统返回的数据包,可以了解到目标系统的许多特征和安全漏洞。
蠕虫

  • NIDS传感器记录的典型信息如下:

时间戳
连接或会话的ID号
事件或警报的类型
分级(如优先级,严重性等等)
网络层,应用层或传输层的协议
源和目的IP地址
源和目的TCP或UDP端口,或者ICMP类型和代码
通过连接传输的字节数
已解码的有效载荷数据
状态相关信息(如经过身份验证的用户名)


分布式自适应检测

  1. 分布式基于主机的IDS,它们之间可以互相通信,NIDS重点关注网络事件和网络设备,分布式基于主机的IDS和NIDS都涉及使用一个中央IDS来管理协调入侵检测和响应。
  2. 一个新的攻击方法:降低攻击的传播速度,是传统的算法更难检测。
  • 解决方法:开发合作系统以识别基于细微线索的攻击,然后快速响应。

在自适应合作系统中,本地节点以概率的形式告知其他计算机:网络正在遭受攻击,如果一台计算机收集到足够的这些信息,且超过一个阀值,则计算机就认为攻击正在进行并作出响应,计算机通过本地响应来保护自身并将警报发送给中央系统。
每个终端和每个网络设备都被认为是潜在的传感器并且能够安装传感器软件模块,这种分布式的传感器可以交换信息以确定网络的状态。
这种方法的好处:

可以提供更高的覆盖率以及对攻击更快的响应,尤其是对于缓慢增长的攻击。
主机级的网络流量提供了一种比网络级的网络流量相比更少的一种流量分析环境。
基于主机的检测器可以使用更丰富的数据集,可以使用本地应用程序的数据。

使用多个本地传感器,将它们每个看到的攻击进行协助处理,由于许多系统看到形同的证据,可以降低误报的风险。即不是使用大量的时间关键来降低误报风险而是使用大量的传感器来减少误报并检测攻击。
在这里插入图片描述
中央处理器配置了一组默认的安全策略,这些策略根据传感器的输入进行自适应,将具体的动作传递给分布式系统的各种平台,设备的特定策略包括立即采取的动作或对参数的调整。
中央系统接受三种类型的输入:

摘要事件:由中间采集点采集的来源不同的事件,这些事件被总结以便交付给中央策略系统。
DDI事件:分布式检测和推理事件。当gossip流量是平台得出攻击正在进行的结论时生成的警报。
PEP事件:策略实施点,位于可信的,自防御的平台,这些系统关联分布式信息,本地决策和单个设备动作来检测主机级别无法发现的入侵。


入侵检测交换格式

  1. 入侵检测消息模型交换关键元素:
  • 数据源:IDS用来检测的非授权或非预期活动的原始数据。例如网络数据包,操作系统审计日志。
  • 传感器:从数据源处采集数据,将事件转发给分析器。
  • 分析器:用来分析传感器采集的标记为非授权或非预期的活动或管理员感兴趣的数据或进程。
  • 管理员:对设置企业的安全策略,部署决策和配置IDS。
  • 管理器:传感器的配置,分析器的配置,事件通知管理,数据合并和报告。
  • 操作员:IDS管理器的主要用户,操作员监控IDS的输出并启动或建议进一步操作。
  1. 入侵检测按以下方式进行
  • 传感器监视数据源并查找可疑的活动
  • 传感器将可疑的活动以事件的形式发送给分析器,如果分析器确定发生了入侵,它将发送警报通知管理器组件,包括检测到的异常活动及发生时的细节信息。
  • 管理器组件向操作员发送通知,响应由操作员产生或由管理器自动产生。

响应包括:

将活动记入日志,记录描述该事件的原始数据
终止用户,网络或应用会话
更改网络或系统的访问控制策略


蜜罐

  1. 蜜罐是掩人耳目的系统,是为了引诱攻击者远离真正的系统而设计的。
  2. 功能:
  • 使攻击者远离真正的关键系统
  • 收集有关攻击活动的信息
  • 使攻击者在蜜罐中逗留足够多的事件,以便对攻击作出响应。
  1. 蜜罐系统装备了敏感的监控器和事件记录器,用于检测这些访问并收集尽可能多的攻击信息。
  2. 蜜罐的位置
  • 位置1

优点:

不会增加对内部网络的威胁
吸引了许多潜在的攻击,减少了由防火墙和内部IDS引起的警报。

缺点:

捕获内部攻击者的能力有限,特别是当防火墙从两个方向过滤网络流量时。

  • 位置2:

网络中的外部可用服务通常被称作DMZ-非军事区域
典型的DMZ是无法访问的,防火墙通常会过滤掉访问DMZ中不需要的服务流量,

  • 位置3:

优点:

可以捕获内部攻击
可以捕获由防火墙的不正确配置从而导致的从Internet流向内部网络的流量。

缺点:

如果蜜罐遭到破坏,可以利用蜜罐攻击内部的其他主机。
防火墙必须调整过滤器以允许到蜜罐的通信量,会增加防火墙配置的复杂度。


实例系统:Snort

  1. snort是开源的,高度可配置且可移植的基于主机或基于网络的IDS。
  2. 特征:
  • 可以轻松的在网络中的大部分节点中部署
  • 使用少量的内存和处理器进行高效的操作
  • 系统管理员可以很容易的配置,在短期内实现既定的安全解决方案
  1. snort可以进行实时数据包的捕获,协议分析以及内容搜索与匹配,根据由一组系统管理员配置的规则,能够检测到很多攻击和探测。
  2. snort体系
    在这里插入图片描述
  • 数据包解码器( packet decoder ):数据包解码器处理每个捕获的数据包,在数据链路层、网络层、传输层和应用层识别和隔离协议首部。解码器被设计为尽可能高效,它的主要工作包括设置指针,以便可以很容易地提取各种协议首部
  • 检测引擎( detection engine ):检测引擎完成入侵检测的实际工作。每个数据包依据所有规则进行检查,以确定该数据包是否与根据规则定义的特征相匹配。与已解码的数据包匹配的第一个规则触发规则指定的动作。如果没有规则匹配该数据包,则检测引擎放弃此数据包。
  • 记录器( logger ):对于每个与规则匹配的数据包,该规则指定什么日志和报警选项是要执行的。
  • 报警器( alerter ):对于每个检测到的数据包,发送一个报警。匹配规则中的报警选项确定事件通知中包括哪些信息。
  1. snort规则
    在这里插入图片描述
  • 动作:告诉snort当他它到符合符合规则条件的数据包时应该如何去做。
  • 协议:snort继续分析数据包的协议是否匹配这个字段。snort当前支持的四个协议,TCP,UDP,ICMP,IP
  • 源IP地址
  • 源端口
  • 方向:可以是单向或双向。
  • 目的IP地址
  • 目的端口
    -选项字段:由关键字组成,关键字定义选项,后面跟着参数。

元数据( meta data ):提供关于规则的信息,但在检测期间不起任何作用。
有效载荷(payload ):查找有效载荷数据包中的数据,可以是相关的。
非有效载荷(non payload ):查找非有效载荷数据。
后检测(post-detection ):当规则匹配一个数据包后引发的特定规则。
在这里插入图片描述
在这里插入图片描述
例:Alert tcp $EXTERNAL_NET any-> $HOME_NET any\
(msg :”SCAN SYN FIN" flags: SF, 12; \
reference: arachnids, 198; classtype: atternpted-recon;)

Snort 中,保留的反斜杠字符“\”用于续行。本实例用于检测TCP级的一种叫做SYNFIN攻击的攻击。变量名$EXTERNAL_NET $HOME_NET是预定义的,用来指定特定网络。在本例中,任何源端口或目的端口被指定。本例在忽略八位标志中的保留位1和保留位2的情况下检查是否仅仅SYN FIN 位被置位。 reference 选项指出这种攻击的外部定义,它是attempted-recon类型的攻击。


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