网络入侵检测


一、定义

Network intrusion detection(网络入侵检测)是一种用于监控计算机网络活动,识别任何试图破坏网络安全、未经授权访问网络资源或者恶意利用网络漏洞的安全技术。它的主要目的是在入侵行为对网络系统造成严重损害之前检测并发出警报,同时也可以协助收集有关入侵活动的证据。

例如,当外部攻击者试图通过端口扫描来寻找网络系统中的开放端口,以便后续发动攻击时,网络入侵检测系统可以检测到这种异常的扫描行为,并提醒网络管理员采取相应的防范措施。

二、工作原理

  1. 基于特征的检测(Signature - based Detection)
  2. 这种方法依赖于已知的攻击模式或“特征(Signature)”。网络入侵检测系统维护一个包含各种已知攻击特征的数据库,这些特征是通过对过去的攻击行为进行分析而得到的。例如,对于SQL注入攻击,其特征可能包括特定的SQL命令字符串,如“' or 1=1 --”。当网络流量中出现与这些特征匹配的内容时,系统就判定为入侵行为。
  3. 优点是检测准确性高,对于已知的攻击类型能够快速有效地检测。缺点是无法检测到新出现的、没有特征记录的攻击类型,需要不断更新特征数据库来保持其有效性。
  4. 基于行为的检测(Behavior - based Detection)
  5. 关注网络系统中正常的行为模式,通过建立正常行为的模型来检测异常。它会收集网络活动的各种参数,如用户登录频率、文件访问模式、网络流量的流向和大小等。例如,一个普通用户通常在工作时间登录公司内部网络,并且主要访问与工作相关的文件服务器。如果检测到该用户在深夜频繁登录并且尝试访问外部未知的服务器,这就可能是异常行为。
  6. 优点是能够检测新的、未知的攻击类型,因为只要行为偏离正常模式就可能被检测到。缺点是建立准确的正常行为模型比较困难,而且容易产生误报,例如当用户的正常工作模式发生变化时,可能会被误判为入侵行为。

  7. 混合检测(Hybrid Detection)

  8. 结合了基于特征和基于行为的检测方法。它既利用已知攻击的特征来快速检测常见的入侵行为,又通过监测网络行为来发现新的、未知的威胁。例如,先通过基于特征的检测对网络流量进行初步筛选,对于匹配已知攻击特征的流量直接判定为入侵。对于未匹配特征的流量,再通过基于行为的检测进一步分析其是否存在异常行为。这种方法综合了两种检测方法的优点,提高了检测的准确性和全面性。

三、组件和架构

  1. 传感器(Sensors)
  2. 传感器是网络入侵检测系统的前端组件,负责收集网络数据。它们可以部署在网络中的不同位置,如在防火墙内部、服务器网段或者关键网络设备的端口处。传感器可以收集多种类型的数据,包括网络数据包、系统日志、应用程序日志等。例如,在企业网络中,一个位于服务器网段的传感器可以捕获服务器与外部网络之间的所有通信数据包,为后续的分析提供原始数据。
  3. 分析引擎(Analysis Engine)
  4. 分析引擎接收传感器收集的数据,并对其进行处理和分析。它根据预设的检测规则(基于特征或行为)来判断是否存在入侵行为。分析引擎可以采用多种分析技术,如模式匹配、统计分析、机器学习算法等。例如,使用模式匹配技术来查找网络数据包中是否存在已知攻击的特征字符串,或者使用统计分析来确定网络流量的异常波动。
  5. 控制台(Console)
  6. 控制台是网络入侵检测系统的管理界面,网络管理员可以通过它来配置系统参数、查看检测结果和报警信息。它提供了直观的图形界面或者命令行界面,方便管理员进行操作。例如,管理员可以在控制台上设置新的基于行为的检测规则,或者查看最近一次入侵检测的详细报告,包括入侵的时间、来源IP地址、攻击类型等信息。

四、部署方式

  1. 基于主机的部署(Host - based Deployment)
  2. 网络入侵检测系统安装在各个主机(如服务器、工作站等)上,主要监测主机自身的活动。它可以分析主机的系统日志、文件访问记录、进程活动等。例如,在一台数据库服务器上安装基于主机的网络入侵检测软件,它可以检测是否有未经授权的用户试图访问数据库文件,或者是否有恶意进程在后台运行,试图窃取数据库中的敏感数据。
  3. 基于网络的部署(Network - based Deployment)
  4. 这种部署方式将网络入侵检测系统放置在网络中的关键位置,如网络入口、防火墙附近或者交换机的端口上,用于监测整个网络段的流量。它可以捕获和分析通过该网络段的所有数据包,检测网络攻击。例如,在企业网络的互联网接入点部署基于网络的入侵检测系统,可以有效地检测外部网络对企业内部网络的入侵企图,如DDoS攻击、端口扫描等。