入侵检测
1、入侵检测经典理论
系统访问控制要针对三类用户
(1)合法用户
(2)伪装 — 攻破[流程控制](超出了合法用户的行为范围)
身份仿冒(可能是最早提出不能仅依赖于身份认证,还要加强行为监控以防范身份仿冒和滥用的学者)
(3)秘密用户 — 攻破[逻辑控制] — 后门
(相当于一个摄像头。用户可以将自己身份伪装成合法的,或者通过后门进入,绕过或者攻破防火墙,此时防火墙相当于虚设)
2、经典检测模型
通用的入侵检测系统抽象模型
- 主体
- 对象
- 审计记录
- 活动档案
- 异常记录
- 活动规则
3、入侵检测的作用及原理
- 识别入侵者
- 识别入侵行为
- 检测和监视已成功入侵
- 为对抗入侵提供信息与依据,防止事态扩大
4、意义
入侵检测是防火墙的一个有力补充,形成防御闭环,可以及时、准确、全面的发现入侵,弥补防火墙对应用层检查的缺失。
5、IDS(intrusion detection system)简介
(1)作用:
对系统运行的状态进行监视,发现各种攻击企图、过程、结果,来保证系统资源的安全(完整性、机密性、可用性)。是一个软件与硬件的组合系统。
判断安全的主要维度:完整性(保证不被破坏)、机密性(保证窃取后打不开)、可用性(保证系统可用)— 安全黄金三角
(2)异常检测:
当某个时间与一个已知的攻击特征(信号)相匹配时,一个基于异常的IDS会记录一个正常主机的活动大致轮廓,当一个事件在这个轮廓以外发生时,就认为是异常,IDS就会告警。
(3)特征检测:IDS核心是特征库(签名)
签名用来描述网络入侵行为的特征,通过比较报文特征在和签名来检测入侵行为
(4)异常检测模型:
总结正常操作应该具有的特征(用户轮廓),当用户活动与正常行为有重大偏离时即被认为是入侵。
(5)误用检测模型:
收集非正常操作的行为特征,建立相关的 特征库,当检测的用户或系统行为与苦衷的记录相匹配时,系统就认为这种是入侵,误用检测模型也被称为特征检测。
(6)对比:
附:典型特征案例、自定义签名、签名检查过程
6、检测生命周期
- 信息收集:用数据来刻画系统和网络运行历史和现状
- 信息分析:用收集的数据去研判现状和预测未来
- 结果处理:记录、告警和视觉呈现
(1)信息收集:
[1] 基于主机
[2] 基于网络
[3] 基于传感器
- 基于主机运行的软件
- 基于网络的数据捕获传感器
- 物联网中的各种传感器
(2)信息分析:
- 异常检测
例:统计分析、完整性分析
- 误用检测
例:模式匹配
- 融合使用异常检测和误用检测 — 实际系统的普遍做法
(3)结果处理:记录、告警和视觉呈现
- 产生告警:记录告警日志;请求其他设备的协作联动:如:防火墙
- 视觉呈现:【态势感知】产品原型
7、异常检测
(1)统计分析
- 统计分析对象
如:用户、文件、目录和设备等
- 统计分析方法:为统计分析对象创建一个统计描述,统计正常使用时的一些测量属性
如:访问时间(工作/休息时间)、访问次数、操作失败次数和延时。
- 统计匹配:测量属性的平均值将被用来与网络、系统的行为进行比较,任何观测/测量值在正常范围之外时,就认为有入侵发生。
(2)完整性分析
- 完整性分析对象:文件、目录以及任意数字资源
例:文件和目录的内容及属性
- 完整性分析方法:建立完整性分析对象在正常状态时的完整性签名
- 完整性分析匹配:匹配签名值是否发生改变—(发生改变,则认定目标对象被入侵篡改)
(3)常见的异常检测算法
- 基于特征选择异常检测
- 基于贝叶斯推理异常检测
- 基于贝叶斯网络异常检测
- 基于神经网络异常检测
- 基于贝叶斯聚类异常检测
8、误用检测
(1)模式匹配
[1] 模式匹配就是将收集到的信息与已知的网络入侵和系统误用模式规则集进行比较,从而发现违反安全策略的行为
[2] 入侵模式的表示方法:
- 一个过程(如执行一条指令)
- 一个输出(如获得权限)
[3] 入侵模式的匹配过程:
- 字符串匹配:精确匹配、模糊匹配
- 状态机迁移序列匹配
(2)常用的误用检测算法:
- 基于条件概率误用检测
- 基于专家系统误用检测
- 基于状态迁移误用检测
9、IDS部署
IDS和防火墙能够形成一个完整的防御生态
(1)IDS和IPS的区别:IDS–入侵检测;IPS–入侵防御检测
- IDS:偏向事后处理
- IPS:能和防火墙形成联动,事中实时阻断攻击
(2)检测类型:
- 外网入侵检测:一般大型企业会部署,有专业的安全团队 ,防御力量足够
- 防火墙入侵检测:联动功能,及时阻断
- 内网入侵检测:保护重要系统,监视内部信任用户
(PS:IDS部署一般不串接。串接会增加故障点,并且IDS处理速度较慢,串接影响处理速度)
(3)旁挂(IDS旁挂):
需要部署旁挂设备上使用端口镜像的功能,把需要采集的端口流量镜像部署到IDS旁挂口(二层复制);也可以使用集线器、分光器(物理层复制)实现流量复制。
10、签名及例外签名
(1)签名实际使用:
IPS特征库中包含了针对各种攻击行为的海量签名信息,但是在实际网络环境中,业务类型可能比较简单,不需要使用所有的签名,大量无用的签名也容易影响对常用签名的调测。此时我们可以使用签名过滤器将常用的签名过滤出来。
(2)签名过滤器:
若干签名的集合。我们根据特定的条件,如严重性、协议、威胁类型等,将IDS特征库中的适用于当前业务的签名筛选到签名过滤器中,后去就可以重点关注这些签名的防御效果。通常情况下,对于筛选出来的这些签名,在签名过滤器中会沿用签名本身的缺省动作。特殊情况下,我们也可以在签名过滤器中为这些签名统一设置新的动作,操作非常便捷。
(3)签名过滤器的动作分别为:
- 阻断:丢弃命中签名的报文,并记录日志
- 告警:对命中签名的报文放行,但记录日志
- 采用签名的缺省动作,实际动作以签名的缺省动作为准
PS:签名过滤器的动作优先级高于签名缺省动作,当签名过滤器动作不采用缺省动作时,以签名过滤器中的动作为准
(4)例外签名:
由于签名过滤器会批量过滤出签名,且通常为了方便管理会设置为统一的动作。如果管理员需要将某些签名设置为与过滤器不同的动作时,可将这些签名引入到例外签名中,并配置单独动作。
(5)例外签名的动作分别为:
- 阻断:丢弃命中签名的报文并记录日志
- 告警:对命中签名的报文放行,但记录日志
- 放行:对命中签名的报文放行,且不记录日志
- 添加黑名单:丢弃命中签名的报文,阻断报文所在的数据流,记录日志,并将报文的源地址或目的地址添加至黑名单
11、流量经过的总体顺序
12、IPS配置
(1)使用之前配置NAT的拓扑:
(2)在安全策略中新建入侵防御:
(3)配置例外签名:
- 查找例外签名ID
- 配置例外签名
(4)添加黑名单:
(5)提交配置:
13、配置完成
IPS配置完成后,通过监控攻击行为、分析威胁日志等手段,发现防御策略不合理的地方,进而对IPS做出调整,如:修改签名过滤器、升级IPS特征库,必要的时候还可以使用例外签名和自定义签名
(1)选择“监控 > 日志 > 威胁日志”
对该攻击进行排查,在查询条件中输入要观察的时间段和攻击源的IP地址,进行查询。通过搜索结果可以看出,攻击者在某时间段内持续发出多种入侵攻击。可以判定该攻击源在发起恶意攻击,可以在安全策略中阻断来自该IP的流量,从而阻断攻击。
有一些攻击发生持续时间短,发生次数少,攻击源少。这种情况难以通过日志间的关联来判断攻击行为,此时需要根据威胁事件的相关信息判断是否为攻击。
(2)选择“对象 > 签名”,在搜索框中输入威胁日志中记录的威胁ID,然后点击查看详情。
14、调整配置
基于对攻击的判定,需要对当前的配置进行调整。
例如:
<1> 某攻击在一些场景下会构成威胁,但是在另一些场景中,可能并不会造成危害,甚至一些特殊的业务也可能具备该威胁特征。这种情况下,需要识别被阻断的威胁在当前网络环境中是否构成公鸡,如果不会,则考虑将其配置为例外签名,动作设置为告警。
<2> 在安全悠闲的场景中,如果发现有些告警是由非正常业务触发的,并且触发行为符合攻击行为,则可以考虑将这些配置为例外签名,动作设置为阻断
<3> 确定为入侵行为的源IP地址,可以直接将其加入黑名单,或将该IP加入安全策略的规则,并且配置动作为阻断。
查看全文
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dgrt.cn/a/2229742.html
如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!
相关文章:
安全防御 — 入侵检测 — IDS、IPS
入侵检测 1、入侵检测经典理论 系统访问控制要针对三类用户 (1)合法用户
(2)伪装 — 攻破[流程控制](超出了合法用户的行为范围)
身份仿冒(可能是最早提出不能仅依赖于身份认证,还……
MySQL-面试题
文章目录逻辑架构1 请你说一下InnoDB和MyISAM存储引擎?2 MySQL中的SQL执行流程?3 MySQL8.0为什么不支持缓存查询了?4 MySQL数据缓存池(Buffer Pool)知道吗?5 如果我们执行 SQL 语句的时候更新了缓存池中的数据&#x……
PHP自学day01笔记
PHP自学day01笔记
PHP:脚本语言,可嵌入HTML,弱类型。
PHP标记: asp标记:<% 代码 %> 短标记:<? 代码 ?> 以上不建议使用 脚本标记 <?php 代码 ?> 主要使用这个,纯PHP文件……
PHP自学day02笔记
PHP自学day02笔记
流程控制:代码执行的方向
控制分类: 顺序结构、分支结构、循环结构 顺序是默认 分支: if(Boolean,条件是否成立为true或者false){ 代码块 }else{ 代码块 }
if(Boolean,条件是否成立为true或者fals……
PHP自学day03笔记
PHP自学day03笔记
作用域:变量(常量)可以访问的区域。 1、变量可以在普通代码中定义。 2、变量也可以在函数内部定义。
在PHP中作用域分三种:
全局变量:用户定义的普通变量。 所属的是全局空间,理论上函……
scratch学习-基础-认识scratch
(嘶……由于一些原因,PHP的实习吹了,学scratch调节调节心情吧Q^Q,还是做小孩子好) 第一课:熟悉scratch
scratch是什么?面向哪种人群? scratch是一门专门面向儿童的可视化编程语言&a……
数影周报:微星被索要2750万元巨额赎金,标贝科技获超亿元融资
本周看点:微星被索要2750万元巨额赎金;微软发布Windows 365 Frontline 服务;Shopify Functions将于2024年替代Shopify Scripts;标贝科技获超亿元B2轮融资…… 数据安全那些事 微星被索要2750万元巨额赎金 4月7日消息,……
OCAF——数据结构机制 Sample1
Email:dev_as@163.com How to design the Tree of the coffee machine? In the image the application for designing coffee machines first allocates a label for the machine unit. (the Root = the main label) :(0) It then adds sub-labels for the main features ……
学大数据需要什么基础?
Python易学,人人都可以掌握,如果零基础入门数据开发行业的小伙伴,可以从Python语言入手。
Python语言简单易懂,适合零基础入门,在编程语言排名上升最快,能完成数据挖掘、机器学习、实时计算在内的各种大数……
【面试题】你到底懂不懂JavaScript?来做做这12道面试题试试!
大厂面试题分享 面试题库
前后端面试题库 (面试必备) 推荐:★★★★★
地址:前端面试题库 web前端面试题库 VS java后端面试题库大全
JavaScript 是每一个前端开发者都应该掌握的基础技术,但是很多时候,……
反序列化渗透与攻防(五)之shiro反序列化漏洞
Shiro反序列化漏洞
Shiro介绍
Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性
Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默……
vue2+vue3
vue2vue3尚硅谷vue2vue2 课程简介【02:24】vue2 Vue简介【17:59】vue2 Vue官网使用指南【14:07】vue2 搭建Vue开发环境【13:54】vue2 Hello小案例【22:25】了解: 不常用常用:id 更常用 简单class差值总结vue 实例vue 模板 : 先 取 ࿰……
【hello Linux】环境变量
目录 1. 环境变量的概念 2. 常见的环境变量 3. 查看环境变量 4. 和环境变量相关的命令 5. 环境变量的组织方式 6. 通过代码获取环境变量 7. 通过系统调用获取环境变量 Linux🌷 在开始今天的内容之前,先来看一幅图片吧! 不知道你们是否和我一……
【Linux基础】常用命令整理
ls命令
-a选项,可以展示隐藏的文件和文件夹-l选项,以列表形式展示内容-h,需要和-l搭配使用,可以展示文件的大小单位ls -lah等同于la -a -l -h
cd命令(change directory)
语法:cd [Linux路径]……
客快物流大数据项目(一百一十二):初识Spring Cloud
文章目录
初识Spring Cloud
一、Spring Cloud简介
二、SpringCloud 基础架构图…
C和C++中的struct有什么区别
区别一: C语言中: Struct是用户自定义数据类型(UDT)。 C语言中: Struct是抽象数据类型(ADT),支持成员函数的定义。
区别二:
C中的struct是没有权限设置的,……
docker的数据卷详解
数据卷 数据卷是宿主机中的一个目录或文件,当容器目录和数据卷目录绑定后,对方修改会立即同步
一个数据卷可以同时被多个容器同时挂载,一个容器也可以被挂载多个数据卷
数据卷作用:容器数据持久化 /外部机器和容器间接通信 /容器……
13、Qt生成dll-QLibrary方式使用
Qt创建dll,使用QLibrary类方式调用dll
一、创建项目
1、新建项目->其他项目->Empty qmake Project->Choose 2、输入项目名,选择项目位置,下一步 3、选择MinGW,下一步 4、完成 5、.pro中添加TEMPLATE subdirsÿ……
基于mapreduce 的 minHash 矩阵压缩
Minhash作用: 对大矩阵进行降维处理,在进行计算俩个用户之间的相似度。
比如: 俩个用户手机下载的APP的相似度,在一个矩阵中会有很多很多的用户要比较没俩个用户之间的相似度是一个很大的计算任务 如果首先对这个矩阵降维处理&am……
关于hashmap使用迭代器的问题
keySet获得的只是key值的集合,valueSet获得的是value集合,entryset获得的是键值对的集合。 package com.test2.test;import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;public class mapiterator……
编程日记2023/4/16 14:50:37