入侵检测系统介绍
入侵检测系统IDS:能及时发现攻击或入侵,并能够向安全管理者提供有价值的安全警报的系统。
入侵检测框架CIDF:
事件产生器、事件分析器、响应单元、事件数据库。
事件产生器:从整个计算机环境中获得事件,并向系统的其他部分提供此事件。
事件分析器:分析得到的数据,并产生分析结果。
响应单元:对分析结果作出反应的功能单元。
事件数据库:存放各种中间和最终数据的地方。
一个检测系统可以由一个或多个检测单元组成。
一个检测单元就是一个有相对独立的信息源和检测技术。
检测单元分类为:
单型、主从型、对等型入侵检测系统。
单型IDS:信息收集器、分析器和其他部分都由一台机器完成。
主从型IDS:多个信息源分布在网上不同位置和信息处理分析中心。
对等型IDS:包括多个相当独立的小型入侵检测系统。
检测单元分布结构:
星型、树型、对等型。
星型:(集中式控制)所有的检测单元都直接受一个控制中心管理。
树型:(部分分布式控制)不同检测单元有不同控制级别。
对等型:(全分布式控制)各个检测单元都有很强的独立性,互相有平等关系。
IDS分类:
基于网络的入侵检测系统、基于主机的入侵检测系统、基于应用程序的入侵检测系统。
基于网络的入侵检测系统:监控并分析该网段发生的时间,从而可以保护该网段的所有主机。
基于主机的入侵检测系统:可以非常可靠和准确地分析主机上的发生入侵事件的时间,正确地指出系统上哪些进程和用户包含在一起入侵事件内。
信息源:审计记录和系统日志。
审计记录:操作系统的内核在操作时生成的。
基于应用程序的入侵检测系统:分析由应用程序生成的事件。
信息源:应用程序处理的记录文件。
入侵检测目标:寻找攻击源、系统恢复。
IDS部署:
IDS1:放在防火墙外,不但能检测对内部网的攻击,还能检测对防火墙的攻击。
IDS2:处理防火墙转发的数据包。
IDS3:只检测成功穿过防火墙的数据包。
IDS4:放在内部网,检测对内部网的攻击。
根据检测方法,入侵检测可分为:误用检测和异常检测。
误用检测(基于签名的检测):需要对已知的入侵事件提前描述。在检测时,如果系统的行为与入侵事件描述匹配,则被认为是入侵。
误用检测查准率高但查全率低。
异常检测:识别出在主机或者网络上的异常事件或者行为。
异常检测技术:
极限检测、统计异常、人工智能。
极限检测:把用户和系统行为的某一特征值表示成一个数值,这个数值有不同级别的可容许程度,表示用户和系统不同程度的异常。
统计异常:模式的参数被通过统计学习方法计算出来。
人工智能:使用神经网络算法。在用神经网络检测入侵的系统中,每个事件所产生的数据通过特征选择,被量化为一个向量,就是神经网络的输入数据。训练数据标志为正常数据和入侵数据两类,用来训练神经网络。
异常检测查准率低但查全率高。
事件报警的本质是:模式匹配
匹配类型:
协议匹配、字符串匹配、长度匹配、累积匹配、逻辑匹配。
协议匹配:将数据包按照协议分析的结果对协议相应的部分进行检测。
字符串匹配:事件定义者根据某个攻击的数据包或者攻击的原因,提取其中的数据包字符串特征。
长度匹配:对数据包中某段数据的长度而不是具体的字符串进行匹配。
累积匹配:通过对某些事件出现的量来产生新的事件。
逻辑匹配:通过对不同类型的事件组合来进行判断,从而获得新的事件。
Snort IDS具有实时数据流量分析和记录IP网络数据包的能力,能够进行协议分析,对网络数据包内容进行搜索/匹配。
Snort IDS体系结构:数据包嗅探模块、预处理模块、检测模块、报警/日志模块。
Snort主要进行的是协议匹配、字符串匹配和长度匹配。
文件完整性检查系统:保存有每个文件的数字文摘数据库,检查计算机中自上次检查后文件变化情况。
文件的数字文摘通过Hash函数计算得到。Hash算法是一个不可逆的单向函数。
入侵检测后的响应:主动响应、被动响应。
主动响应:收集相关信息、改变环境、反击攻击者。
被动响应:报警和告示、SNMP协议通知。
SNMP协议:网络管理系统所使用的协议,网络管理系统的组件和管理员可以对入侵系统检测的报警信息进行操作。
入侵检测需要采集动态数据(网络数据包)和静态数据(日志文件)。
数据协同
数据采集协同:IDS与漏洞扫描系统的协同、IDS与防病毒系统的协同。
数据分析协同:对监测引擎采集的数据进行协同分析;对来自多个监测引擎的审计数据分析。
响应协同:IDS与有充分响应能力的网络设备或网络安全设备集成在一起,构成响应和预警互补的综合安全系统。
IDS与防火墙的协同、IDS与路由器和交换机的协同、IDS与防病毒系统的协同、IDS与蜜罐和填充单元系统协同。
蜜罐:试图将攻击者从关键系统引诱开的诱骗系统。
入侵检测系统的测评:测试数据源、检测错误。
测试数据:标准测试数据(后台测试方法)、实际测试数据(在线测试方法)。
测试数据源一个来源是测试实验床。
测试实验床:把入侵检测系统放在一个实际的系统或者网络环境中,通过某种方法模拟攻击事件和正常使用,测试入侵检测系统的检测性能。
检测错误的形式:虚警、漏警。
虚警:正常数据被入侵检测系统认为是攻击的。
漏警:攻击数据被入侵检测系统认为是正常的。
错误率+查准率=1
错误率=错误次数/数据总数
查准率=正确次数/数据总数
查全率=被检测出来的攻击数目/总攻击数目
查全率越高,错误率越高。
蜜罐技术(Honey Pot)对系统安全的作用:
(1)诱惑攻击者攻击虚假的网络而忽略真正的网络。
(2)收集攻击者信息和企图,帮助系统的安全防护和检测、响应。
(3)消耗攻击者的精力,让系统管理员有足够的时间去响应。
紧急响应与恢复
系统恢复:切断被入侵系统的入侵者访问途径、复制一份被入侵系统、入侵途径分析、遗留物分析、检查网络上的其他系统和涉及的远程站点、评估入侵事件的影响,重建系统。
后门的检查和清除
后门:入侵者入侵后往往会清除自己留下的痕迹并留下再次进入的方便途径。
清除痕迹:隐藏文件、隐藏进程。
Rootkit:恶意软件,功能是在安装目标上隐藏自身及指定的文件、进程和网络链接等信息。
后门种类:修改配置文件、建立系统木马程序、修改系统内核等。
检测和清除工具软件:losf、Tripwire、chkrootkit
losf:一个用于查看进程所打开文件的工具。
Tripwire:完整性检测工具,用来检测对文件系统的未授权修改。
Tripwire操作模式:数据库生产、完整性检查、数据库更新或交互式更新。
chkrootkit:专门为发现系统中的rookit而设计的。
参考书籍:网络安全基础与应用—张千里