Fork me on GitHub

入侵检测与防御

入侵检测与防御

——18/09/10, By Veeupup

全文较长,参考两本信息安全书籍整理如下。

资料来源:《信息安全完全参考手册》,清华大学出版社,第二版,第十八章

《网络与信息安全教程(第二版)》,中国水利水电出版社,第五章

续杀毒软件和防火墙之后的防护手段。

入侵行为概述

入侵行为

对系统资源的非授权使用。造成系统数据的丢失和破坏。分为外部入侵者和内部入侵者。

入侵检测

入侵检测的规模根据网络威胁、系统构造和安全需求的改变而改变。发现异常时应该有如下的反应:

  • 自动终止攻击
  • 终止用户连接
  • 禁止用户账户
  • 重新配置防火墙和过滤规则
  • 向控制台发出警告指出事件的发生
  • 记录事件到日志
  • 实时跟踪事件
  • 向安全管理人员发出提示性的警报
  • 执行一个用户自定义的程序

IDS的概念

IDS = Instruction detection systems 入侵检测系统

IPS = intrusion prevention systems 入侵防御系统

入侵检测是一个监控和识别特定恶意流量的过程。

IDS只是一个可以监控主机变化(基于主机)或从网络链路中嗅探网络数据包(基于网络)寻找恶意迹象的工具。

IDS可以以软件程序的形式存在,但今天的商业网络嗅探IDS/IPS由于性能的要求,通常以硬件的形式存在。

使用数据包级别的网络接口驱动程序拦截数据包的流量,也可以hook操作系统中以插入检测子程序。

IDS发现可能的威胁警报后,汇聚事件并采取适当的行动。

威胁模型

  • 攻击或误用

    • 攻击:未经授权伴有恶意企图利用特制的代码或技术的活动。
    • 误用:无须特制代码的情况下未经授权的活动。
    • 警报类型:
      • 正确肯定
      • 误报
      • 正确否定
      • 漏报
  • 网络协议攻击

    IDS开发网络协议,OSI模型的第二层和第三层检测到的许多安全威胁

    OSI = Open System Interconnection

    该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架。OSI模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

    网络协议被设计用来执行功能,而不是为了安全。网络协议定义了数据包的格式和数据包在源于目的地之间的传输方式。

    • 利用标记漏洞攻击

      异常的网络数据包通常用于主机上的DoS攻击,用来避去过去的网络边界防御(访问控制设备和系统),模拟其他用户的绘画,或者摧毁一个主机的IP堆栈(DoS)。

      原理:用正当格式的花招进行IP协议设置。

    • 分段与重组攻击

      IP数据包可以分片攻击。TCP/IP协议允许分片,因为路由器有一个最大传输单元MTU。

      攻击使用分段偏移值,让数据包重新组合成一个恶意的数据包。

      碎片防御

    • 应用程序攻击

      利用主机的应用层,TCP/IP数据包合法构造,但是数据负载中包含恶意内容。包括:

      • 利用操作系统的漏洞:缓冲区溢出漏洞、恶意制作的病毒等
      • 盗用密码,XSS,恶意网址,密码破解,非经授权的文件访问等等

      不会被防火墙拦截

    • 内容模糊处理

      用编码来隐藏恶意的数据,ASCII和Unicode

    • 数据标准化

      IDS的特征数据库中必须包含所有的恶意模式的编码技巧和方法

  • 入侵检测系统无法检测的模型

    IDS擅长检测捕捉已知的、明确的恶意攻击。

    在许多层对数据流进行加密,使用OpenSSH和SSL,加上IPSec。

第一代IDS

大部分IDS都有较高的误报率。需要在误报率和漏报率之间做出抉择。

第二代IDS

第一代IDS侧重于准确的攻击检测。

第二代IDS通过后台提供选项丰富的数组进行攻击检测并致力于简化管理员的操作找出尽可能多的价值。

IDS的结构

  • 事件产生器
  • 事件分析器
  • 响应单元
  • 事件数据库

IDS的主要功能

  • 检测并分析用户和系统的功能
  • 核查系统配置和漏洞
  • 评估系统关键资源和数据文件的完整性
  • 识别已知的攻击行为
  • 统计分析异常行为
  • 对操作系统进行日志管理,并识别违反安全策略的用户行为

IDS的种类及检测模型

取决于要保护的资产的类型,是主机还是网络。

基于主机的IDS(HIDS)

安装在主机(服务器,工作站或者任何网络设备)上的应用程序或者修改底层操作系统的内核或应用程序来获得授权来达到检测的目的。

擅长的检测和报告在应用层直接交互,行为监控的HIDS进行实时监控和拦截潜在恶意行为。

分为两类:

  • 网络连接检测:对试图进入主机的流量进行检测分析(攻击探测)
  • 主机文件检测:入侵后会在各种相关文件留下痕迹,进行监测分析。
    • 系统日志
    • 文件系统
    • 进程记录

HIDS的优点:

  • 准确度较高
  • 可以检测到没有明显行为特征的入侵
  • 能对不同的操作系统进行有针对性的检测
  • 成本较低
  • 不会因网络流量影响性能
  • 适于加密和交换环境

HIDS的缺点

  • 实时性较差
  • 无法检测数据包的全部
  • 检测效果取决于系统日志
  • 占用主机资源
  • 隐蔽性较差
  • 如果入侵者修改日志等,则失效

基于网络的IDS(NIDS)

通过在线路上捕捉并分析网络数据包工作,一个NIDS保护多个主机,将捕获的流量和正常的流量趋势进行比较或者对数据包的有效负载进行检查看其中是否包括恶意内容。

NIDS必须使用数据包级驱动程序的混杂模式网卡,必须在每个受监控的网段安装

网络分流器,用于物理上镜像端口或接口和交换机端口分析的专用设备。

原理: 通过将实际的数据流量记录和入侵记录库中国的入侵模式进行匹配,寻找可能的攻击特征。

其他任务:

  • 检测端口扫描
  • 检测常见的攻击行为
  • 识别各种各样的IP欺骗攻击
  • 检测到不好的活动时,能采取行动。

优点

  • 可以提供实时的检测
  • 可以同时保护多台网络主机
  • 良好的隐蔽性
  • 保护入侵证据
  • 不影响被保护主机的性能

缺点

  • 防入侵欺骗的能力通常较差
  • 在交换式网络环境中较差
  • 检测性能受硬件限制
  • 不能处理加密后的数据

基于内核的入侵检测系统

主要针对Linux系统,主要有两种IDS: OpenWall和LIDS

入侵检测分析方式

异常检测(AD)模型——基于行为的检测

工作原理:建立基线,并记录特殊的差异,从而判断是否有入侵行为。基线可以为特定计算机主机或特定网段而创建。

异常检测的目标是能够检测各种的恶意入侵,包括那些以前没有的检测特征。本质上是统计学。

在特定网段从未超过20%以上且通常只包括HTTP FTP SMTP流量的网络利用率是一个可以接受的基线。

  • 异常检测技术分类:

    • 统计分析异常检测
    • 贝叶斯推理异常检测
    • 神经网络异常检测
    • 模式预测异常检测
    • 数据挖掘异常检测
    • 机器学习异常检测
  • 特征码检测模型(最流行的IDS类型):依赖于已知不良行为和模式的数据库工作。

  • 特征码检测规则(核心),通常包括:
    • 唯一的特征码字节序列
    • 协议审查(TCP UDP ICMP)
    • IP端口请求
    • 检查IP地址
    • 检测到威胁后的行为
  • 优点:
    • 精于识别已知的威胁,精确识别威胁。
    • 较少依赖特定的主机操作系统
    • 对于内部用户的越权违法行为检测能力较强
  • 缺点
    • 无法识别未知攻击
    • 特征码或规则增加会影响性能
    • 误报率高

误用检测技术——基于知识的检测

将收集到的信息与已知的网络入侵和系统误用模式数据库进行比较,从而发现违反安全策略的行为。

分类

  • 专家系统误用检测
  • 特征分析误用检测
  • 模型推理误用检测
  • 条件概率误用检测
  • 键盘监控误用检测

优点

  • 准确度高
  • 技术相对成熟
  • 便于系统防护

缺点

  • 不能检测出新的入侵行为
  • 完全依赖于入侵特征的有效性
  • 维护特征库的工作量巨大
  • 难以检测来自内部用户的攻击

应该使用什么样的IDS

保护某个特定主机资产的时候应该使用HIDS。NIDS一般用于网络防护和跨多个主机的前期预警检测。

IDS的特点

IDS终端用户界面

配置产品并查看正在进行的检测活动。IDS的接口类型:bash和GUI。

入侵防御系统(IPS)

第二代IDS被称为IPS,处理检测和威胁报告之外,还可以阻止攻击或与外部系统联动预防威胁。

  • IPS缺点:加剧了误报的影响
  • 防火墙还是IPS:设备通过内容检查或者明恒识别攻击,这是IPS,按照以往的观点来说,防火墙通过第三层和第四层的IP地址和端口号判断。

IDS的管理

IDS的核心是定义管理控制台和代理。

IDS代理是执行实际数据收集和检查的软件进程和设备。

在多IDS代理环境中,将所捕获的事件报告到中央控制台是至关重要的——事件汇聚。

看似不同的事件分组到相关攻击子集——事件关联。

IDS日志和警报

  • 警报

    实时传达给管理员最高优先级的实时事件。多种传送方式,警报简短,阈值设置。

  • 日志

    记录检测到的所有事件而不考虑优先级,并且经过检测引擎之后,对IDS的速度和使用影响最大。

    所有的日志文件必须经常调出以保证性能和防止锁死。

    一个日志文件至少记录事件位置、时间标记、描述尝试的操作、临界状态和IDS响应。网络数据包附加:源和目的IP地址,协议和端口号。

IDS部署注意事项

基于网络入侵的系统的部署

四个位置:

  • DMZ区

两个防火墙之间的空间被称为DMZ 。它是为了解决安装防火墙后外部网络的访问用户不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区。该缓冲区位于企业内部网络和外部网络之间的小网络区域内。在这个小网络区域内可以放置一些必须公开的服务器设施,如企业Web服务器、FTP服务器和论坛等。

  • 外网入口
  • 内网入口
  • 关键子网

基于主机入侵的系统的部署

针对具体主机,花费较高,有针对性。

IDS微调

  • 提高检测速度
    • 定义好合适过滤的规则
    • 使用处理速度更快的外围设备进行过滤,路由器和防火墙在某些方面比IDS更快。
  • 减少误报:让日志尽可能准确
  • 使用高效的日志和警报

IPS部署计划

绘制网络拓扑图、调研需求、确定保护对象和制定一个IPS解决方案。

安全信息和事件管理(SIEM)

SIEM = security information and event management

SIEM 平台收集日志文件,找出共性,并在特定时间将结果归纳总结。

数据聚合

  • 警报
  • 实时数据
  • 日志
  • 条件数据

分析

SIEM是一种人工智能系统,SIEM对安全事件进行实时分析。

操作界面

GUI,仪表盘

其他SIEM特点

SIEM提供了离线日志储存和保留、具体原因分析、高级搜索和合格报告的先天优势。