📖 前言:在网络安全防护领域,防火墙是保护网络安全的一种最常用的设备。网络管理员希望通过在网络边界合理使用防火墙,屏蔽源于外网的各类网络攻击。但是,防火墙由于自身的种种限制,并不能阻止所有攻击行为。入侵检测(intrusion detection)通过实时收集和分析计算机网络或系统中的各种信息,来检查是否出现违反安全策略的行为和遭到攻击的迹象,进而达到预防、阻止攻击的目的,是防火墙的有力补充。而网络欺骗则是在网络中设置用来引诱入侵者的目标,将入侵者引向这些错误的目标来保护真正的系统,同时监控、记录、识别、分析入侵者的所有行为。本章主要介绍入侵检测和网络欺骗的基本概念和工作原理。
定义:通过从计算机系统或网络的关键点收集信息并进行分析,从中发现系统或网络中是否有违反安全策略的行为和被攻击的迹象。
根据检测方法来分:
根据数据源来分:
NIDS:
HIDS:
定义:收集非正常操作的行为特征(signature),建立相关的特征库,当监测的用户或系统行为与库中的记录相匹配时,系统就认为这种行为是入侵。
特征:
特征检测针对的是已知攻击,检测率取决于:攻击特征库的正确性与完备性
将收集到的入侵特征转换成模式,存放在模式数据库中。检测过程中将收集到的数据信息与模式数据库进行匹配,从而发现攻击行为。
模式匹配的具体实现手段多种多样,可以是通过字符串匹配寻找特定的指令数据,也可以是采用正规的数学表达式描述数据负载内容。技术成熟,检测的准确率和效率都很高
入侵活动被编码成专家系统的规则:“If 条件 Then 动作”的形式。入侵检测系统根据收集到的数据,通过条件匹配判断是否出现了入侵并采取相应动作。
实现上较为简单,其缺点主要是处理速度比较慢,原因在于专家系统采用的是说明性的表达方式,要求用解释系统来实现,而解释器比编译器的处理速度慢。另外,维护规则库也需要大量的人力精力,由于规则之间具有联系性,更改任何一个规则都要考虑对其他规则的影响。
利用状态转换图描述并检测已知的入侵模式。入侵检测系统保存入侵相关的状态转换图表,并对系统的状态信息进行监控,当用户动作驱动系统状态向入侵状态迁移时触发入侵警告。
状态迁移法能够检测出多方协同的慢速攻击,但是如果攻击场景复杂的话,要精确描述系统状态非常困难。因此,状态迁移法通常与其他的入侵检测法结合使用。
定义:首先总结正常操作应该具有的特征(用户轮廓),当用户活动与正常行为有重大偏离时即被认为是入侵。
行为:需要一组能够标识用户特征、网络特征或者系统特征的测量参数,如CPU利用率、内存利用率、网络流量等等。基于这组测量参数建立被监控对象的行为模式并检测对象的行为变化。
两个关键问题:
数据源评价
正常行为的学习依赖于学习数据的质量,但如何评估数据的质量呢?
可以利用信息论的熵、条件熵、相对熵和信息增益等概念来定量地描述一个数据集的特征,分析数据源的质量。
定义1:给定数据集合 X X X, 对任意 x ∈ C x x ∈C_x x∈Cx?, 定义熵 H ( X ) H(X) H(X)为:
H ( X ) = ∑ x ∈ C x P ( x ) log ? 1 P ( x ) H(X)=\sum_{x \in C x} P(x) \log \frac{1}{P(x)} H(X)=x∈Cx∑?P(x)logP(x)1?
在数据集中,每个唯一的记录代表一个类,熵越小,数据也就越规则,根据这样的数据集合建立的模型的准确性越好。
定义2:定义条件熵
H
(
X
∣
Y
)
H(X | Y)
H(X∣Y)为:
H
(
X
∣
Y
)
=
∑
x
,
y
∈
C
x
,
C
y
P
(
x
,
y
)
log
?
1
P
(
x
∣
y
)
H(X \mid Y)=\sum_{x, y \in C_{x}, C_{y}} P(x, y) \log \frac{1}{P(x \mid y)}
H(X∣Y)=x,y∈Cx?,Cy?∑?P(x,y)logP(x∣y)1?
其中, P ( x , y ) P(x, y) P(x,y)为 x x x 和 y y y 的联合概率, P ( x ∣ y ) P(x | y) P(x∣y)为给定 y y y时 x x x 的条件概率。安全审计数据通常都具有时间上的序列特征,条件熵可以用来衡量这种特征,按照上面的定义,令 X = ( e 1 , e 2 , … , e n ) X=(e_1, e_2, …, e_n) X=(e1?,e2?,…,en?),令 Y = ( e 1 , e 2 , … , e k ) Y=(e_1, e_2, …, e_k) Y=(e1?,e2?,…,ek?),其中 k < n k<n k<n,条件熵 H ( X ∣ Y ) H(X | Y) H(X∣Y)可以衡量在给定 Y Y Y以后,剩下的 X X X的不确定性还有多少。条件熵越小,表示不确定性越小,从而通过已知预测未知的可靠性越大。
案例:系统调用系列与LSM监控点系列
🔎 软件学报,2005, 16(6):张衡,卞洪流,吴礼发等,基于LSM的程序行为控制研究
以统计理论为基础建立用户或者系统的正常行为模式。主体的行为模式常常由测量参数的频度、概率分布、均值、方差等统计量来描述。抽样周期可以短到几秒钟长至几个月。
异常:将用户的短期特征轮廓与长期特征轮廓进行比较,如果偏差超过设定的阈值,则认为用户的近期活动存在异常。
入侵判定思路较为简单,但是在具体实现时误报率和漏报率都较高,此外,对于存在时间顺序的复杂攻击活动,统计分析法难以准确描述。
常用统计模型
统计分析法要解决四个问题
将非法程序及非法应用与合法程序、合法数据区分开来,与人工免疫系统对自体和非自体进行类别划分相类似。 Forrest采用监控系统进程的方法实现了Unix平台的人工免疫入侵检测系统。
机器学习异常检测方法通过机器学习模型或算法对离散数据序列进行学习来获得个体、系统和网络的行为特征,从而实现攻击行为的检测。
什么是异常?
异常检测:指出给定的输入样本 { X i } i = 1 n \{X_i\}_{i=1}^{n} {Xi?}i=1n?中包含的异常值
根据模型本身的特点进行分类,大致可以分为以下几种:
🔎 A Review of the Advancement in Intrusion Detection Datasets
异常检测(误用检测)
两种方法比较
特征检测 | 异常检测 |
---|---|
通过进行上下文分析有效识别已知攻击 | 检测未知攻击和漏洞以及已知攻击 |
它依赖于系统软件和操作系统来识别攻击和漏洞 | 它较少依赖于操作系统,而是检查网络模式来识别攻击 |
攻击签名数据库应定期更新 | 它构建观察网络通信的档案以识别攻击模式 |
特征检测的IDS对协议的了解最少 | 异常检测的IDS执行协议分析以研究数据包详细信息 |
评价指标:
Snort是采用C语言编写的一款开源基于网络的入侵检测系统,具有小巧灵活、配置简便、功能强大、检测效率高等特点。Snort主要采用特征检测的工作方式,通过预先设置的检测规则对网络数据包进行匹配,发现各种类型的网络攻击
Snort由三个模块组成:数据包解析器、检测引擎、日志与报警子系统
在snort中有五种动作:alert、log、pass、activate和dynamic
规则选项组成了Snort入侵检测引擎的核心
规则选项:
msg:在报警和包日志中打印一个消息
flags:检查tcp flags的值。
在snort中有8个标志变量:
content:在包的净荷中搜索指定的样式。它可以包含混合的文本和二进制数据。
二进制数据一般包含在管道符号中|
,表示为字节码。
所有的Snort规则选项用分号;
隔开。规则选项关键字和它们的参数用冒号:
分开。
最早由美国普渡大学的 Gene Spafford 于1989年提出,它的核心思想是:采用引诱或欺骗战略,诱使入侵者相信网络与信息系统中存在有价值的、可利用的安全弱点,并具有一些可攻击窃取的资源(当然这些资源是伪造的或不重要的),进而将入侵者引向这些错误的资源,同时安全可靠地记录入侵者的所有行为,以便全面地了解攻击者的攻击过程和使用的攻击技术。
网络欺骗用途
蜜罐(Honeypot)是最早采用欺骗技术的网络安全系统。
定义:蜜罐是一种安全资源,其价值在于被探测、攻击或突破
目标:就是使它被扫描探测、攻击或被突破,同时能够很好地进行安全控制
按照实现方式可将蜜罐分为物理蜜罐和虚拟蜜罐
根据交互程度或逼真程度的高低可以分为低交互蜜罐、中交互蜜罐和高交互蜜罐
低交互蜜罐的功能相对简单,一般包括:
高交互蜜罐的功能相对复杂,一般包括:
经过多年的发展,有很多商用或开源的蜜罐项目,如honeyd, The Honeynet Project, 狩猎女神,Specter, Mantrap等。开源软件平台gitbub上可以找到大量各种类型的蜜罐(https://github.com/paralax/awesome-honeypots/blob /master/ README_CN.md给出了一个比较完整的蜜罐资源列表及网络链接),如数据库类蜜罐(如HoneyMysql,MongoDB等)、Web类蜜罐(如Shadow Daemon,StrutsHoneypot, WebTrap等)、服务类蜜罐(如Honeyprint, SMB Honeypot, honeyntp, honeyprint等)、工业控制类蜜罐(如Conpot, Gaspot, SCADA Honeynet, gridpot)
蜜网(Honeynet)是由多个蜜罐组成的欺骗网络,蜜网中通常包含不同类型的蜜罐,可以在多个层面捕获攻击信息,以满足不同的安全需求
蜜网既可以用多个物理蜜罐来构建,也可以由多个虚拟蜜罐组成。目前,通过虚拟化技术(如VMware)可以方便地把多个虚拟蜜罐部署在单个服务器主机上
网络欺骗防御是一种体系化的防御方法,它将蜜罐、蜜网、混淆等欺骗技术同防火墙、入侵检测系统等传统防护机制有机结合起来,构建以欺骗为核心的网络安全防御体系
Garter对网络欺骗防御(Cyber Deception Defense)的定义为:使用骗局或者假动作来阻挠或者推翻攻击者的认知过程,扰乱攻击者的自动化工具,延迟或阻断攻击者的活动,通过使用虚假的响应、有意的混淆、假动作、误导等伪造信息达到“欺骗”的目的
根据网络空间欺骗防御的作用位置不同,可以将其分为不同的层次,包括:
国内外已有一些网络欺骗防御产品:
OK,以上就是本期知识点“入侵检测与网络欺骗”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~
💫如果有错误?,欢迎批评指正呀👀~让我们一起相互进步🚀
🎉如果觉得收获满满,可以点点赞👍支持一下哟~
? 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页