入侵检测——IDS概述、签名技术
1. 什么是IDS?
IDS(intrusion detection system)入侵检测系统,是一种对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。它会对系统的运行状态进行监视,发现各种攻击企图、过程、结果,来保证系统资源的安全。
入侵检测系统模型:
- 检测器: 分析和检测入侵的任务并向控制器发出警报信号
- 数据收集器: 主要负责收集数据
- 知识库: 为检测器和控制器提供必需的数据信息支持
- 控制器: 根据警报信号人工或自动地对入侵行为做出响应
2. IDS和防火墙有什么不同?
(1)防火墙主要防御的范围是1-4层;入侵检测真主要防御的是应用层
(2)防火墙属于被动防御;入侵检测属于主动防御
总:入侵检测是防火墙的一个有力的补充。形成防御闭环、可以及时、准确、全面的发现入侵
3. IDS工作原理?
(1) 信息收集
收集的内容:用户在网络、系统、数据库及应用系统中活动的状态和行为
-
系统和网络的日志文件
-
目录和文件中的异常改变
-
程序执行中的异常行为
-
物理形式的入侵信息
(2)信息分析
操作模型、方差、多元模型、马尔科夫过程模型、时间序列分析
-
模式匹配
-
统计分析
-
完整性分析
(3) 安全响应
流行的响应方式:记录日志、实时显示、E-mail报警、声音报警、SNMP报警、实时TCP阻断(使用RST阻断)、防火墙联动、WinPop显示、收集短信报警
-
主动响应
-
被动响应
(4)异常检测
当某个事件与一个已知的攻击特征(信号)相匹配时,一个基于异常的IDS会记录一个正常大致轮廓,当一个事件在这个轮廓之外发生,就认为是异常,IDS就会告警;
4. IDS的主要检测方法有哪些详细说明?
(1) 攻击检测
入侵检测类似于治安巡逻队,专门注重发现行迹可疑者
-
被动、离线地发现计算机网络系统中的攻击者
-
实时、在线地发现计算机网络系统中的工作者
(2)异常检测
IDS通常使用的两种基本分析方法之一,又称为基于行动的入侵检测技术
原理:收集操作活动的历史记录,建立代表主机、用户或者网络连接的正常行为描述,判断是否发生入侵。

异常检测模型:
首先总结正常操作应该具有的特征(用户轮廓),当用户活动与正常行为有重大偏离时即被认为是入侵
(3)误用检测

又称为特征检测
IDS通常使用的两种基本分析方法之一,又称为基于知识的技术检测
原理:对一致的入侵行为和手段进行分析,提取检测特征,构建攻击模式或者攻击签名,判断入侵行为
特征检测:IDS核心是特征库(签名)
优点:准确地检测已知的入侵行为
缺点:不能检测出未知的入侵行为
(4) 异常检测与误用检测的对比:

5. IDS的部署方式有哪些?
(1) 网络IDS(NIDS):
在网络中的关键位置部署IDS传感器,监测网络流量和数据包,通过分析网络流量中的异常行为和攻击特征来检测入侵。典型的NIDS部署方式包括集中式和分布式部署。
- 集中式部署:将IDS传感器集中部署在网络入口点或关键网络节点上,监测整个网络流量。这种方式可以提供全局的网络安全监测和集中的日志管理,但可能会造成单点故障和性能瓶颈。
- 分布式部署:在网络中多个位置部署IDS传感器,每个传感器负责监测特定的网络区域或子网。这种方式可以提供更好的性能和容错能力,但需要更多的资源和管理工作。
(2)主机IDS(HIDS):
在主机上安装IDS软件,监测主机系统的活动和行为,通过分析主机日志和系统调用来检测入侵。主机IDS可以提供更详细和精确的入侵检测,但需要在每台主机上安装和管理IDS软件。
(3)混合IDS(Hybrid IDS):
结合网络IDS和主机IDS的优势,同时在网络和主机上部署IDS传感器,以提供全面的入侵检测和监测能力。
(4)云IDS(Cloud IDS):
在云环境中部署IDS传感器,监测云平台和虚拟机的活动和流量,以检测云环境中的入侵行为。云IDS可以提供弹性和可扩展的入侵检测能力,但需要与云服务提供商合作进行部署和管理。
6. IDS的签名是什么意思?签名过滤器有什么作用?例外签名配置作用是什么?
(1)签名:
在IDS中,签名是一种用于检测特定入侵行为或攻击模式的规则或模式。IDS使用签名来比对网络流量、数据包或主机日志中的特定模式或特征,以判断是否存在已知的入侵或攻击行为。当检测到与签名匹配的流量或行为时,IDS会发出警报或采取其他预定的响应措施。
签名可以基于已知的攻击模式、恶意软件特征、异常行为或其他入侵指标来构建。
签名可以由安全厂商、社区或网络管理员自行创建或更新,也可以从公共的签名库或安全更新中获取。对于IDS来说,及时更新签名非常重要,以保持对新型攻击和恶意行为的检测能力。
自定义签名:

(2)签名过滤器的作用:
签名过滤器是若干签名的集合,我们根据特定的条件如严重性、协议、威胁类型等,将IPS特征库中适用于当前业务的签名筛选到签名过滤器中,后续就可以重点关注这些签名的防御效果。通常情况下,对于筛选出来的这些签名,在签名过滤器中会沿用签名本身的缺省动作。特殊情况下,我们也可以在签名过滤器中为这些签名统一设置新的动作,操作非常便捷。
签名过滤器的动作分为:
阻断:丢弃命中签名的报文,并记录日志
告警:对命中签名的报文放行,但是会记录日志
采用签名的缺省动作:实际动作以签名的缺省动作为准
(3)例外签名的作用:
如果管理员需要将某些签名设置为与过滤器不同的动作时,可将这些签名引入到例外签名中,并单独配置动作。
例外签名的动作分为:
阻断:丢弃该签名中的报文,并记录日志
告警:对命中签名的报文放行,会记录日志
放行:对命中签名的报文放行,不会记录日志
添加黑名单:是指丢弃该命中签名的报文,阻断报文所在的数据流,记录日志,并将报文的源地址或者目的地址添加到黑名单
相关文章:
入侵检测——IDS概述、签名技术
1. 什么是IDS? IDS(intrusion detection system)入侵检测系统,是一种对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。它会对系统的运行状态进行监视,发现各种攻击企…...
golang 标准库json Marshal 序列化与反序列化
标准库代码 func Marshal(v any) ([]byte, error) {e : newEncodeState()defer encodeStatePool.Put(e)err : e.marshal(v, encOpts{escapeHTML: true})if err ! nil {return nil, err}buf : append([]byte(nil), e.Bytes()...)return buf, nil }func Unmarshal(data []byte, …...
【【51单片机AD/DA的分析】】
51单片机AD/DA的分析 看似单片机实验,其实是要学好数电 模数转换 与 数模转换 运算放大器 DA的转换就是利用运算放大器实现的 输出电压v0-(D7~D0)/256 x (VrefxRfb)/R D7~D0 就是我们控制的按键看输入多少 然后再划分256份 Vref是我们设置的一个基准电压 PWM 这种…...
在docker中安装使用达梦数据库
关于在docker中安装达梦数据库,达梦官方网站其实是有提供安装使用方法的,但可能还是有朋友不会,这里将在原文基础上简单扩充下。 注意:docker容器中,数据库安装后没有创建服务的脚本,只有bin、bin2、conf、…...
Leetcode-每日一题【剑指 Offer II 010. 和为 k 的子数组】
题目 给定一个整数数组和一个整数 k ,请找到该数组中和为 k 的连续子数组的个数。 示例 1: 输入:nums [1,1,1], k 2输出: 2解释: 此题 [1,1] 与 [1,1] 为两种不同的情况 示例 2: 输入:nums [1,2,3], k 3输出: 2 提示: 1 < nums.leng…...
【JavaScript】使用Promise来处理异步调用,方法传入参数为接口,并回调接口的方法
例如我们在下面这个方法传入一个接口,并将方法的执行过程用传入的接口进行回调 connect() {wx.connectSocket({url: this.url,success: () > {console.log(WebSocket 连接创建成功);},fail: (err) > {console.error(WebSocket 连接创建失败, err);}});wx.onS…...
grid map学习笔记1之Ubuntu18.04+ROS-melodic编译安装grid_map栅格地图及示例运行
文章目录 0 引言1 安装依赖和编译1.1 安装依赖1.2 下载编译 2 运行示例2.1 simple_demo2.2 tutorial_demo2.3 iterators_demo2.4 image_to_gridmap_demo2.5 grid_map_to_image_demo2.6 opencv_demo2.7 resolution_change_demo2.8 filters_demo2.9 interpolation_demo 0 引言 苏…...
postgres wal2json插件jsonb字段数据丢失问题解决
使用pgwal2jsondebezium进行数据同步时,发现偶尔会有jsonb字段数据丢失的问题 进行测试时发现: 1、发生数据丢失的jsonb字段长度都比较大(超过toast阈值,使用toast表存储) 2、针对发生jsonb字段丢失的数据,jsonb字段本身未发生修…...
华为eNSP:路由引入
一、拓扑图 二、路由器的配置 1、配置路由器的IP AR1: [Huawei]int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip add 1.1.1.1 24 [Huawei-GigabitEthernet0/0/0]qu AR2: [Huawei]int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip add 1.1.1.2 24 [Huaw…...
Retrospectives on the Embodied AI Workshop(嵌入式人工智能研讨会回顾) 论文阅读
论文信息 题目:Retrospectives on the Embodied AI Workshop 作者:Matt Deitke, Dhruv Batra, Yonatan Bisk 来源:arXiv 论文地址:https://arxiv.org/pdf/2210.06849 Abstract 我们的分析重点关注 CVPR Embodied AI Workshop 上…...
「JVM」Full GC和Minor GC、Major GC
Full GC和Minor GC、Major GC 一、Full GC1、什么是Full GC?2、什么情况下会触发full gc? 二、Minor GC1、什么是Minor GC?2、什么情况下会触发Minor GC? 三、Major GC1、什么是Major GC?2、什么情况下会触发Major GC?…...
Asp.Net MVC 使用Log4Net
Asp.Net MVC 使用Log4Net 在 ASP.NET MVC 中使用 Log4net 需要进行一些配置和代码集成。下面是在 ASP.NET MVC 中使用 Log4net 的步骤: 1. 安装 Log4net NuGet 包 打开 NuGet 包管理器控制台,并运行以下命令来安装 Log4net: Install-Pack…...
[元带你学: eMMC协议 29] eMMC 断电通知(PON) | 手机平板电脑断电通知
依JEDEC eMMC及经验辛苦整理,原创保护,禁止转载。 专栏 《元带你学:eMMC协议》 内容摘要 全文 2000 字, 主要内容 前言 断电通知是什么? 断电通知过程...
vue使用recorder-core.js实现录音功能
下载组件 npm install recorder-core封装方法 record.ts //必须引入的核心 import Recorder from recorder-core;//引入mp3格式支持文件;如果需要多个格式支持,把这些格式的编码引擎js文件放到后面统统引入进来即可 import recorder-core/src/engine/…...
ThinkPHP8知识详解:给PHP8和MySQL8添加到环境变量
在PHPenv安装的时候,环境变量默认的PHP版本是7.4的,MySQL的版本是5.7的,要想使用ThinkPHP8来开发,就必须修改环境变量,本文就详细讲解了如果修改PHP和MySQL的环境变量。 1、添加网站 启动phpenv,网站&…...
UE使用UnLua(二)
1.前言 最近也是比较忙,忘了来更新了,好多都是开了头断更的(狗头),今天抽空再更一篇!! 这篇讲一下在UnLua中覆盖蓝图事件(函数),及按钮、文本控件的一些使用…...
Appium+python自动化(二十五)-获取控件ID(超详解)
简介 在前边的第二十二篇文章里,已经分享了通过获取控件的坐标点来获取点击事件的所需要的点击位置,那么还有没有其他方法来获取控件点击事件所需要的点击位置呢?答案是:Yes!因为在不同的大小屏幕的手机上获取控件的坐…...
SDWAN组网的九大应用场景
SD-WAN(软件定义广域网)是一种新兴的网络技术,它可以优化和管理企业广域网(WAN)的数据传输,提供更加高效、灵活和安全的网络连接。SD-WAN的出现极大地改变了传统WAN的组网方式,为企业提供了更多…...
el-date-picker时间范围只能选五分钟之内
el-date-picker时间范围只能选五分钟之内 一、主要代码 一、主要代码 <el-date-pickertype"datetime"size"small"value-format"yyyy-MM-dd HH:mm:ss"v-model"searchData.submitTimeCode":editable"false"placeholder&qu…...
大数据分析案例-基于LightGBM算法构建乳腺癌分类预测模型
🤵♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞Ǵ…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
破解路内监管盲区:免布线低位视频桩重塑停车管理新标准
城市路内停车管理常因行道树遮挡、高位设备盲区等问题,导致车牌识别率低、逃费率高,传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法,正成为破局关键。该设备安装于车位侧方0.5-0.7米高度,直接规避树枝遮…...
libfmt: 现代C++的格式化工具库介绍与酷炫功能
libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全:…...
Vue 模板语句的数据来源
🧩 Vue 模板语句的数据来源:全方位解析 Vue 模板(<template> 部分)中的表达式、指令绑定(如 v-bind, v-on)和插值({{ }})都在一个特定的作用域内求值。这个作用域由当前 组件…...
