当前位置: 首页 > news >正文

第十八章,入侵检测/防御系统(IDS/IPS)

前言

        所谓的“ 网络威胁 经常是融合了病毒、黑客攻击、木马、僵尸、间谍 ... 一系列危害与一身的混合体。
        为了针对应用层的内容进行安全检测以及防御---> 设计的安全产品 IDS-- 入侵检测系统 。理解为一个 网络摄像头
        IDS更多是一种侧重于风险管理的设备 IDS 本身可以发现威胁,却不能消除威胁
        IDS缺陷:一些重要的风险数据往往会夹杂在正常的数据中,这就会导致 IDS 在分析时,经常把完全 正常的文件数据认为是威胁,导致误报率非常高
        IDS优势:部署非常灵活,因为不需要直接对流量做防御手段,所以 IDS 可以选择旁挂在网络中,通 过镜像接口来分析流量即可
        入侵防御系统---IPS ;对网络流量进行检查,发现网络的入侵行为,并且,在 第一时间丢弃入侵报文 或者阻断攻击源
        IPS更多是侧重于风险控制的设备

网络入侵?

        入侵 --- 指的是未经授权而尝试访问信息系统资源、篡改信息系统中的数据、使得信息系统不可靠或 不能使用的行为 --- 本质逻辑就是破坏了 CIA( 机密性、完整性、可用性 )
  • 未授权访问
  • 拒绝服务
  • 假冒和欺骗 --->进行权限获取
    • 欺骗 --- 非法用户冒充合法用户
    • 假冒 --- 权限低的用户冒充权限高的用户
  • 窃听 --- 线路窃听
  • 病毒
  • 木马
  • 后门
  • 电磁辐射
  • 盗窃

入侵检测系统IDS

        入侵检测 --- ID ,通过检测各种操作,分析和审计各种数据现象来实时检测入侵行为的过程。
        入侵检测系统 --- IDS ,用于入侵检测的所有软硬件系统; --- IDS 通过分析网络中的流量或日志,识别潜在的攻击行为的安全系统。
        核心任务:发现攻击---> 发出报警 ---> 记录证据

IDS如何工作?

1. 数据采集
  • NIDS --- 探针(监听网络流量)
  • HIDS --- 监控软件(服务器上zabbix监控软件),监控主机日志。
2. 数据分析(分析引擎)
  • 签名检测 --- 对比已知的特征库
  • 异常检测 --- 建立一种正常行为的基线,偏离基线则告警
3. 报警与响应
  • 由软硬件设备,通过告警邮件/短信,生成一些日志报告

异常检测模型

        异常检测基于一个假定:用户的行为时可以预测的,遵循一致性模型
        入侵行为的前兆 --- 用户的异常行为 。异常检测模块会首先基于用户行为的收集,建立一条 用户行为 的基线

误用检测模型 --- 签名(特征)检测

        误用检测 --- 其实就是创建了一个异常行为的特征库。我们将一些入侵行为记录下来,总结成特征, 之后,我们检测流量和特征库进行对比,来发现威胁
        一个是基于行为,一个是基于特征的
优点:
        1.实时监控
        2.证据留存
        3.灵活部署
        
缺点:
        1.误报
        2.漏报

 

        核心价值:IDS 是网络安全的 第一道防线 ,但需要与其他工具协同构建纵深防御
        没有绝对的安全,但是有持续的守护

入侵防御系统IPS

        IPS --- 智能门卫 --- 实时监控,主动拦截,守护安全之门。
        功能:实时分析网络流量,主动拦截攻击 的安全设备 / 软件。
        核心能力:检测---> 分析 ---> 阻断 ---> 记录
智能门,如果智能门误判好人 ( 阻拦合法流量 ) ,会有什么后果?

        IPS也会存在误报的情况,那么再使用 IPS 的时候,就需要平衡安全性和业务的连续性

IPS如何工作?

1. 流量捕获
  • 需要接收网络中所有的流量。部署在网络的关键节点上。
2. 攻击识别 --- IDS 相同。
  • 签名
  • 行为
3. 实施阻断 --- 丢弃恶意数据包,重置连接,屏蔽 IP
4. 记录日志

IPS部署

  • 内联部署 --- 类似于桥梁,所有流量必须经过IPS
  • 旁路部署 --- 类似摄像头,流量不需要经过,但是会拍照。

 

        一般在企业中,都会同时部署IDS IPS 产品, IPS 阻断已知攻击行为, IDS 辅助发现未知威胁,形成 互补
        核心价值:宁可错拦,不可放过

防火墙IPS模块

1. 重组 IP 分片和 TCP 分段数据流。
        
2. 对重组后的流量进行特征提取。
3. 将提取到的特征与签名进行比对,用预先设定好的动作来处理。
        签名 --- 理解为我们针对网络上的攻击特征的描述
        签名可以理解为将特征进行HASH 后的结果
  • 预定义签名 --- 设备上自带的特征库,需要激活license后才可以获取的
    • 签名库里面的签名是实时从华为提供的安全服务中心获取的最新的入侵防御版本来更新库文件。并且该库文件不能修改
      • 签名特征是不能修改的,但是动作是可以修改的
  • 自定义签名 --- 可以由网络管理员根据自身需求的定义的威胁签名
    • 设置的动作:1.阻断;2.告警;3.放行;

  • 对象 --- 代表签名所检测的对象,也可以用来描述网络威胁的攻击对象
    • 服务端、客户端、二者均有。
  • 严重性 --- 高中低
  • 协议 --- IPS用于协议识别的
    • 与后续的应用程序一起,描述攻击目标
  • 应用程序 --- IPS用于应用识别的
    • 描述网络威胁,使用的应用程序
  • 对策 --- 针对此漏洞,被攻击者应该做出的防范措施
    • 安全设备只是拦截的威胁,并不是解决了威胁。
    • 真正消除漏洞的方式是升级系统,打补丁

        关联签名 --- 可以关联一个预定义签名
  • 关联之后,自定义签名就只能配置严重性和执行动作了
  • 因为此时,这个自定义签名就变成了按照关联签名匹配到次数而触发执行动作的一个签名了。
    • 预定义签名为威胁
    • 自定义签名相当于在预定义之上,更加具体。
  • 如果在检查周期内触发超过匹配次数或阻断超过阻断时间,则认为是匹配该自定义签名

  • 检测范围
    • 报文 --- 逐包检测
    • 消息 --- 基于一个完整的消息进行检测
      • 一个消息可能由多个报文组成,分多次发送,一个报文也可能包含多个消息。
    • --- 基于数据流进行检测
      • 只能是运行在TCP协议之上的应用层协议才能有效。
  • 按顺序检测 --- 可选项
    • 检查下列表有关;检查项列表--->ACL规则
      • 如果勾选,自上而下,逐一匹配。
      • 如果没有勾选,所有规则之间属于关系。所有规则都要匹配

  • 字段 --- 与前面写的协议有关。
  • 操作符 --- 定义的是匹配规则
    • 匹配 --- 完全命中设定的数值
    • 前缀匹配 --- 匹配以“xxx”开头的数值
  • 匹配方向 --- 与访问方向有关
    • both --- 双向
    • from-client ---来自于客户端
    • from-server --- 来自于服务端
  • 偏移/搜索字节数 ---- 一起关注
    • ​​​​​​​偏移一般为0,直接按照来匹配

如果向匹配的是从 后的 3 个字节开始的 5 个字节
偏移量 =3 字节数 =5
        入侵防御的策略时在安全策略中调用,而签名是在入侵防御策略中调用
        入侵防御的策略---> 其实就是对签名的引用。因为不同的需求,需要去检查的签名是不同的
        暴力破解 --- 一个 IP 发送大量的数据包的情况

例外签名

        因为签名过滤器里面进行选择时,是一种分类批量操作的行为,并且配置的动作都是统一的。这样 虽然方便,但是,也有些签名希望可以被区别对待,做出和整体设定不一样的动作。此时,就可以把这 个签名,添加到例外签名中
        阻断 and 隔离源 IP 阻断 and 隔离目的 IP 动作,阻断流量,并且将 IP 放入黑名单。按照超时时间隔离。
        例外签名用于解决一些过度防御的场景
        如果命中多个签名,签名实际动都为告警时,则最后动作为告警。如果由一个签名动作为阻断,则 最终为阻断

相关文章:

  • JSON|cJSON 介绍以及具体项目编写
  • C++ 关联式容器:map,multimap,set,multiset
  • yarn npm pnpm
  • 如何快速分享服务器上的文件
  • 详解多协议通信控制器
  • 【字节拥抱开源】字节豆包团队开源首发 Seed-Coder 大模型
  • 04 mysql 修改端口和重置root密码
  • 软件测试——用例篇(3)
  • Web3 初学者学习路线图
  • 20250510-查看 Anaconda 配置的镜像源
  • navicat112_premium_cs_x64.exe PatchNavicat.exe
  • BeanPostProcessor和AOP
  • 前端SSE技术详解:从入门到实战的完整指南
  • Anaconda的简单使用
  • Java 中的数据类型误导点!!!
  • [Spring AOP 7] 动态通知调用
  • OSCP - Proving Grounds - EvilBox-One
  • 《深入理解Linux网络》笔记
  • 基于语言模型的依存关系分句 和 主题变换检测(基于词频和句段得分)的 意思
  • JavaScript基础-全局作用域
  • 上海发布首份直播电商行业自律公约,禁止虚假宣传、商业诋毁
  • 上海市委常委会会议暨市生态文明建设领导小组会议研究基层减负、生态环保等事项
  • 泽连斯基称与特朗普通话讨论停火事宜
  • 北上广深均宣布下调个人住房公积金贷款利率
  • 首届上海老年学习课程展将在今年10月举办
  • 复旦设立新文科发展基金,校友曹国伟、王长田联合捐赠1亿助力人文学科与社会科学创新