网络安全之入侵检测
目录
网络安全之入侵检测
入侵检测经典理论
经典检测模型
入侵检测作用与原理
意义
异常检测模型(Anomaly Detection)
误用检测模型(Misuse Detection)
经典特征案例
编辑自定义签名
编辑
签名检查过程
检测生命周期
信息收集的方法
信息分析
异常检测 --- 统计分析、完整性分析
异常检测之统计分析
异常检测之完整性分析
常见异常检测算法
误用检测 --- 模式匹配
误用检测值模式匹配
常用误用检测算法
融合使用异常检测和误用检测 --- 实际系统的普遍做法
编辑结果处理
IDS的部署
IDS的配置
签名过滤器
例外签名
编辑 配置总体顺序
编辑配置顺序
配置完成后
调整配置
网络安全之入侵检测

注意:
入侵检测为事后系统,类似于发生盗窃后,通过摄像头(入侵检测)查询。
入侵检测经典理论
系统访问控制需要面对三类用户
合法用户(Legitimate User)
伪装用户(Masquerade User) ---- 攻破 [流程控制]
身份仿冒(可能是最早提出不能依赖于身份认证,还要加强行为监控以防范身份
仿冒和滥用的学者)
秘密用户(Clandestine User)---攻破 [逻辑控制]
类似于 走了后门
伪装 --- 批了合法的外衣 ,秘密用户 --- 无法察觉
经典检测模型
通用的入侵检测系统抽象模型
主体(Subjects)--- 谁
对象(Objects)--- 对谁
审计记录(Audit records) --- 审查做了什么
活动档案(Profiles)
异常记录(Anomoly records)--- 异常行为
活动规则(Activity rules) --- 判断异常是什么
入侵检测作用与原理

识别入侵者
识别入侵行为
监测和监视已成功的入侵
为对抗入侵提供信息与依据
意义

入侵检测是防火墙的一个有力补充,形成防御闭环,可以及时、准确、全面的发现入侵,弥补防火墙对应层检查缺失

对系统的运行状态进行见识,发现各种攻击企图、过程、结果,来保证系统资源的安全(完整性、可用性、机密性)。是一个软件与硬件的组合系统
异常检测 --- 当某个时间与一个已知的攻击特征(信号)相匹配时,一个基于异常的IDS会记录一个正常主机的活动大致轮廓,当一个事件在这个轮廓以外发生,就认为是异常,IDS就会警告
特征检测 --- IDS核心是特征库(签名)。
签名用来描述网络入侵行为的特征,通过比较报文特征和签名来检测入侵行为
异常检测模型(Anomaly Detection)
首先总结正常操作应该具有的特征(用户轮廓),当用户活动与正常行为有重大偏离时即被认为是入侵。
误用检测模型(Misuse Detection)
收集非正常的行为特征,建立相关的特征库,当检测的用户或系统行为与库中的记录相匹配时,系统就认为这种行为是入侵,误用检测模型也称为特征检测(Signature-based detection)

经典特征案例
自定义签名
签名检查过程

检测生命周期
信息收集 --- 用数据来刻画系统和网络运行历史和现状
信息分析 --- 用收集的数据去研判现状和预测未来
结果处理 --- 记录、告警和视觉呈现
信息收集的方法
基于主机
基于网络
基于传感器 ---
基于主机运行的软件
基于网络的数据捕获传感器
物联网中的各种传感器
信息分析
异常检测 --- 统计分析、完整性分析
异常检测之统计分析
统计分析对象 --- 用户、文件、目录和设备
统计分析方法 --- 为统计分析对象创建一个统计描述,统计正常使用时的一些测量属性 ---- 访问时间(工作时间/休息时间)、访问次数、操作失败次数和延时等
统计分析匹配 --- 测量属性的平均值将被用来网络、系统的行为进行比较,任何观测/测量在正常值范围之外时,就有入侵检测
异常检测之完整性分析
完整性分析对象 --- 文件/目录/任意数字资源 ---- 文件和目录的内容及属性
完整性分析方法 --- 建立完整性分析对象在正常状态时的完整性签名
完整性分析匹配 --- 匹配签名值是否发生改变 ---- 发生改变,认定目标对象被入侵篡改
常见异常检测算法
基于特征选择异常检测
基于贝叶斯推理异常检测
基于贝叶斯网络异常检测
基于神经网络异常监测
基于贝叶斯聚类异常检测
误用检测 --- 模式匹配
误用检测值模式匹配
模式匹配 --- 将手机到的信息与已知网络入侵和系统误用模式规则集进行比较,从而发现违反安全策略的行为
入侵模式的表示方法 --- 一个过程(执行一条指令)、一个输出(获得权限)
入侵模式的匹配过程 --- 字符串匹配(精确模式、模糊模式),状态机迁移序列匹配
常用误用检测算法
基于条件概率误用检测
基于专家系统误用检测
基于状态迁移误用检测
融合使用异常检测和误用检测 --- 实际系统的普遍做法
结果处理
产生警告 --- 记录警告日志,请求其它安全设备的协作联动(防火墙联动)
视觉呈现 --- [态势感知]产品的原型
IDS的部署

旁挂 --- 需要在部署旁挂设备上使用端口镜像的功能,把需要采集的端口流量镜像到IDS旁挂口。 也可以使用集线器、分光器实现流量复制。
IDS的配置

IPS特征库中包含了针对各种攻击行为的海量签名信息,但是在实际网络环境中,业务类型可能比较简单,不需要使用所有的签名,大量无用的签名也容易影响对常用签名的调测。此时我们可以使用签名过滤器将常用的签名过滤出来。
签名过滤器
若干签名的集合,我们根据特定的条件如严重性、协议、威胁类型等,将IPS特征库中适用于当前业务的签名筛选到签名过滤器中,后续就可以重点关注这些签名的防御效果。通常情况下,对于筛选出来的这些签名,在签名过滤器中会沿用签名本身的缺省动作。特殊情况下,我们也可以在签名过滤器中为这些签名统一设置新的动作,操作非常便捷。
签名过滤器的动作分为:
阻断 --- 丢弃命中签名的报文,并记录日志。
告警 --- 对命中签名的报文放行,但记录日志。
采用签名的缺省动作,实际动作以签名的缺省动作为准。
注意:
签名过滤器的动作优先级高于签名缺省动作,当签名过滤器动作不采用缺省动作时以签名过滤器中的动作为准。

例外签名
由于签名过滤器会批量过滤出签名,且通常为了方便管理会设置为统一的动作。如果管理员需要将某些签名设置为与过滤器不同的动作时,可将这些签名引入到例外签名中,并单独配置动作。
例外签名的动作分为:
阻断 --- 丢弃命中签名的报文,并记录日志。
告警 --- 对命中签名的报文放行,但记录日志。
放行 --- 对命中签名的报文放行,且不记录日志。
添加黑名单 --- 是指丢弃命中签名的报文,阻断报文所在的数据流,记录日志,并可将报文的源地址或目的地址添加至黑名单。
配置总体顺序

配置顺序




配置完成后
IPS配置完成后,通过监控攻击行为、分析威胁日志等手段,发现防御策略不合理的地方,进而对IPS配置做出调整,如修改签名过滤器、升级IPS特征库,必要的时候还可以使用例外签名和自定义签名。


选择“监控 > 日志 > 威胁日志”

对该攻击进行排查,在查询条件中输入要观察的时间段和攻击源的IP地址,进行查询。通过搜索结果可以看出,攻击者在某时间段内持续发出多种入侵攻击。可以判定该攻击源在发起恶意攻击,可以在安全策略中阻断来自该IP的流量,从而阻断攻击。
注意:
有一些攻击发生持续时间短,发生次数少,攻击源少。这种情况难以通过日志间的关联来判断攻击行为,此时需要根据威胁事件的相关信息判断是否为攻击。

选择“对象 > 签名”,在搜索框中输入威胁日志中记录的威胁ID。在搜索结果中,点击该签名查看详情

调整配置
基于对攻击的判定,需要对当前的配置进行调整。
例子 ---
某攻击在一些场景下会构成威胁,但是在另一些场景中,可能并不会造成危害,甚至一些特殊的业 务也可能具备该威胁特征。这种情况下,需要识别被阻断的威胁在当前网络环境中是否构成攻击, 如果不会,则可以考虑将其配置例外签名,动作设置为告警。
在安全优先的场景中,如果发现有些告警是由非正常业务触发的,并且触发行为特征符合攻击行 为,则可以考虑将这其配置例外签名,动作设置为阻断。
确定为入侵行为的源IP地址,可以直接将其加入黑名单,或将该IP加入安全策略的规则并配置动作 为阻断
例:配置黑名单

相关文章:
网络安全之入侵检测
目录 网络安全之入侵检测 入侵检测经典理论 经典检测模型 入侵检测作用与原理 意义 异常检测模型(Anomaly Detection) 误用检测模型(Misuse Detection) 经典特征案例 编辑自定义签名 编辑 签名检查过程 检测生命周期…...
元数据管理
1、业务元数据 描述 ”数据”背后的业务含义主题定义:每段 ETL、表背后的归属业务主题。业务描述:每段代码实现的具体业务逻辑。标准指标:类似于 BI 中的语义层、数仓中的一致性事实;将分析中的指标进行规范化。标准维度…...
C# WebService的开发以及客户端调用
目录 1、WebService简介 1.1 什么是XML? 1.2 什么是Soap? 1.3 什么是WSDL? 2、WebService与WebApi的区别与优缺点 2.1 WebService与WebApi的区别: 2.2 WebService的优缺点: 2.3 WebApi的优缺点: 3…...
有符号数和无符号数左移和右移
主要是有符号数的左移。 有的说不管符号位,直接左移,所以可以一会正数一会复数 https://bbs.csdn.net/topics/391075092 有的说符号位不动,其他来左移 不明白了。。。。 https://blog.csdn.net/hnjzsyjyj/article/details/119721014 https://…...
Netty小白入门教程
一、概述 1.1 概念 Netty是一个异步的基于事件驱动(即多路复用技术)的网络应用框架,用于快速开发可维护、高性能的网络服务器和客户端。 1.2 地位 Netty在Java网络应用框架中的地位就好比,Spring框架在JavaEE开发中的地位。 以下的框架都使用了Nett…...
【逻辑位移和算数位移】
<< 运算符 && >> 运算符 正数位移 当 x>>n 中 x 为正数时,会将x的所有位右移x位,同时左边高位补0 显而易见,运算结束后,值为1 。 可知右移n位,结果就是 x / 2^n:7 / 2 ^2 1;…...
Blender3.5 边的操作
目录 1. 边操作1.1 边的细分 Subdivide1.2 边的滑移 Edge Slide1.3 边的删除1.4 边的溶解 Dissolve1.5 边线倒角 Bevel1.6 循环边 Loop Edges1.7 并排边 Ring Edges1.8 桥接循环边 1. 边操作 1.1 边的细分 Subdivide 在边选择模式,选中一条边,右键&…...
Java与Python、Node.js在人工智能和区块链应用程序开发中的比较
背景 Java、Python和Node.js都是常用的编程语言,它们在不同领域都有广泛的应用。在人工智能和区块链应用程序开发中,这三种语言都具有各自的优势和劣势。 Java的优势 Java在企业级应用中应用广泛,这得益于其跨平台性、安全性和稳定性等特点。在人工智能和区块链应用程序开…...
【计算机是怎么跑起来的】基础:计算机三大原则
【计算机是怎么跑起来的】基础:计算机三大原则 计算机的三个根本性基础1.计算机是执行输入,运算,输出的机器输入,运算,输出 2. 软件是指令和数据的集合指令数据 3. 计算机的处理方式有时与人们的思维习惯不同对计算机来…...
NXP公司LPC21XX+PID实现稳定温度控制
本例使用的是LPC21XX系列芯片提供的PWM功能实现稳定的温度控制。首先我们获得当前环境温度之后,再用设定的温度与当前温度相减,通过PID算法计算出当前输出脉宽,并将其输出到L298N模块中,使加热丝发热,形成闭环…...
【CE实战-生化危机4重置版】实现角色瞬移、飞翔
▒ 目录 ▒ 🛫 导读需求开发环境1️⃣ CE扫描内存,定位坐标地址(加密后的地址)2️⃣ 硬件写入断点,定位真实坐标地址内存写入断点,定位到访问地址分析代码...
强烈建议互联网人转战实体和农业,去了就是降维打击!实体太缺人才了,老板也不缺钱!...
大环境不好,互联网人该何去何从? 一位网友提出了一个新思路:强烈建议互联网同学转战实体、农业这些行业。实体真的太缺人才了,目前大部分实体都留下70后、80后在继续奋斗。其实实体老板很多都不缺钱,经过多年积累&…...
如何将 github pages 迁移到 vercel 上托管
如何将 github pages 迁移到 vercel 上托管 前言 早期网站使用 github pages,后来迁移到 coding,最近又放到腾讯云网站静态托管,无论是 coding 的 cos 存储桶,还是静态网站托管 他们都是收费的,那有没有免费的托管商呢,既不影响网站的访问速度还免费,于是,找了一下,还真有,ve…...
2023五一数学建模竞赛(五一赛)选题建议
提示:DS C君认为的难度:C<A<B,开放度:B<A<C 。 A题:无人机定点投放问题 这道题是传统的物理类题目,基本每次建模竞赛都会有。由于这道题目并未给明数据,所以数据获取和搜集资料是…...
Packet Tracer - 配置 RIPv2
Packet Tracer - 配置 RIPv2 目标 第 1 部分:配置 RIPv2 第 2 部分:验证配置 拓扑图 背景信息 尽管在现代网络中极少使用 RIP,但是作为了解基本网络路由的基础则十分有用。 在本活动中,您将使用适当的网络语句和被动接口配置…...
Android类似微信聊天页面教程(Kotlin)四——数据本地化
前提条件 安装并配置好Android Studio Android Studio Electric Eel | 2022.1.1 Patch 2 Build #AI-221.6008.13.2211.9619390, built on February 17, 2023 Runtime version: 11.0.150-b2043.56-9505619 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Windows 11 …...
C/C++基础知识
专栏:C/C 个人主页: C/C基础知识 前言C关键字(C98)命名空间命名空间的定义正常的命名空间的定义如何使用命名空间 命名空间可以嵌套同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中(一个工程中的.h文件和test.…...
Java 入门 - 语法基础
hello world public class Hello {public static void main(String[] args) {System.out.println("hello world");} } 复制代码 public: 是关键字;表示公开的class: 是关键字;用来定义类Hello: 是类名;大小写敏感;命名…...
Java线程池及拒绝策略详解
前文提到线程的使用以及线程间通信方式,通常情况下我们通过new Thread或者new Runnable创建线程,这种情况下,需要开发者手动管理线程的创建和回收,线程对象没有复用,大量的线程对象创建与销毁会引起频繁GC,…...
GitLABJenkins
GitLAB & Jenkins 目录 实践:基于Jenkins提交流水线(测试成功)-2023.4.25 目的:掌握通过触发器将GitLab和Jenkins集成,实现提交流水线。 1、触发Jenkins构建 安装Generic Webhook Trigger插件 重启后,进入一个Pipeline项目设…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
为什么要创建 Vue 实例
核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...
脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...



