入侵检测系统概念

入侵:未经授权的计算机使用者以及不正当使用(misuse)计算机的合法用户(内部威胁),危害或试图危害资源的完整性、保密性、可用性的行为。
入侵检测:通过监测计算机系统的某些信息,加以分析,检测入侵行为,并作出反应。
入侵检测系统:实现入侵检测功能的硬件与软件。
核心问题:降低误报率
结构:
入侵检测
事件产生器(Event generater, E-box)收集入侵检测事件,并提供给IDS其他部件处理。事件可以是网络活动,也可是系统调用序列等系统信息。
事件分析器(Analysis engine, A-box)对输入的事件进行分析并检测入侵。
事件数据库(Event database, D-box)存储和管理E-boxes 和 A-boxes 产生的大量数据,用于IDS(入侵检测系统)的训练和证据保存。
事件响应器(Response unit, C-box)对入侵做出响应,包括向管理员发出警告,切断入侵连接,根除入侵者留下的后门以及数据恢复等。
分类:
误用检测(基于特征的检测):判别当前行为是否符合已知攻击的知识库中记录的的攻击模式。机制:状态模型、专家系统、正则表达式匹配
异常检测(基于行为的检测):建立用户的正常使用模式知识库,标识出不符合正常模式的行为。机制:统计、机器学习方法
混合检测

入侵检测系统评价标准

处理高速网络流量的能力
自身抗攻击的能力
误报率和漏报率
协同事件的能力
检测新攻击的能力

误报率-混淆矩阵

入侵检测
误报率:误报的数量(正常情况下报告攻击,攻击情况下报告正常)占所有正常事件的比例。即蓝色部分占据的面积(正确的true,错误的false)。
现实中,攻击行为占比很少(TP+FN)。导致正确率很高的检测器可能有较高的误报率。
准确率:p=(TP+TN)/(TP+TN+FP+FN),预测对的占总样本总数的比率
精确率:p=TP/(TP+FP),预测为攻击,且预测对了占总预测为攻击的比率
漏报率:p=FN/(TP+FN)
报警的准确度:p=TN/(TN+FP)
误报率:p=FP/(TN+FP)
(为什么误报率是最重要的指标?)

网络入侵检测系统Snort

开放型系统,采用误用检测,包含:网络包的解析器、检测引擎、日志和报警子系统。利用libpcap库作为捕获数据包的工具。
特点:
主要数据源:网络数据包
设计原则:简单、灵活、高性能
对包的处理:1.协议分析;2.模式匹配(单模式匹配、多模式匹配)、正则表达式匹配、非精确模式匹配(什么样的协议,检测什么样的内容。先进行协议分析:分层解析各层包头,从链路层,到传输层,直到应用层,协议分析可以显著地缩小检测模式范围,从而减少内容检查,提高了入侵检测的效率。分析内容(时间占比大):先匹配出现概率小的,后匹配出现概率大的,先匹配关键字,后匹配变量。)
特征描述语言:可描述攻击行为(误用检测)
插件子系统:实现系统功能扩展
规则:
由规则头,规则选项构成。规则头指明协议和源目标IP地址等,对包进行简单处理;规则选项指明包数据中搜索的内容,对包进行细致处理。
最重要的两个规则选项:
content: 用于匹配固定字符串,适合匹配简单的特征。
pcre: 用于匹配复杂的模式,支持正则表达式,适合匹配灵活多变的攻击 payload。
结合使用: 将 content 和 pcre 结合使用,可以提高检测的准确性。例如,使用 content 匹配关键字,使用 pcre 匹配变量部分。

针对IDS的拒绝服务类攻击

问题:
IDS要在高速的网络上工作,使得DPI(深度网络数据包检测,深入到数据包的载荷处理。DPI的中心问题:高效多正则表达式匹配。虽然识别多表达式的DFA只对输入扫描一次 但两个DFA的合并,状态数可能为二者之积。)处理能力显著下降,发生丢包、漏报。且攻击模式更加复杂。
攻击:
超载攻击:
当网络流量超过IDS的处理能力时(如大量的复杂正则匹配),IDS的处理能力将急剧下降甚至完全瘫痪。攻击者通过某些手段使网络流量达到饱和,迫使IDS大量丢包。这种攻击还可针对目标IDS系统采用的检测算法进行算法攻击。
资源耗尽攻击:
通过发送大量残缺TCP数据段以及IP分片耗尽IDS的存储资源(IDS需要存储一些中间状态),使IDS不能正常工作。
算法复杂攻击:
使DPI算法进入最坏情况,造成拒绝服务。目前除了通过修改算法还没有其他有效的方法。
提高性能:
提高单机检测性能:
采用高效检测算法,如多模式匹配/多正则表达式匹配算法
采用高性能硬件
多机并行:
网络流量的分割
处理任务的分割

加密流量处理

IDS可以检测包头,但无法深入检查。
解决方式:
SSL/TLS解密(中间人方式)

不安全:被加密的数据被解密

元数据分析(Metadata Analysis)

分析HTTPS流量的元数据(例如,SNI、流量模式、连接频率等)

基于行为的异常检测(Anomaly-Based Detection)

对正常流量模式建模,来识别与正常行为偏差较大的活动

恶意软件、数据泄露

EDR(Endpoint Detection and Response,端点检测和响应)

EDR部署在客户端设备上,可以直接查看未加密的流量和活动

模式匹配算法

模式匹配算法:
Brute Force算法,最坏情况 O(nm)
KMP算法
AC多模式匹配算法
Boyer-Moore算法
现代技术:
后缀树与后缀自动机
基于因子识别的算法
Bit并行算法与非标准模式匹配
应用领域:
病毒扫描、入侵检测、搜索引擎、大数据处理

参考资料:
1.混淆矩阵