机器学习技术在网络入侵检测中的可行性

时间:2011-10-30 19:05:14

标签: matlab networking pattern-matching machine-learning neural-network

是否有机器学习概念(算法或多分类器系统)可以检测网络攻击的变化(或尝试)。

基于签名的入侵检测系统的最大问题之一是无法检测新的或变种攻击。

读取,异常检测似乎仍然是基于统计的吞吐量,它指的是检测给定数据集中的模式,这与检测数据包有效载荷的变化不同。基于异常的NIDS监视网络流量,并将其与正常流量配置文件的既定基线进行比较。基线表征了网络的“正常” - 例如正常带宽使用情况,使用的通用协议,端口号和设备的正确组合等等。

假设有人使用病毒A通过网络传播,然后有人编写规则来阻止病毒A,但是另一个人写了一个名为病毒B的病毒A的“变体”纯粹是出于逃避该初始规则但仍在使用大多数(如果不是全部)相同的战术/代码。有没有办法检测方差?

如果有一个总括性的术语,那么它就会被认为是异常检测的错觉。

机器学习能否用于数据包有效载荷级别的模式识别(而不是模式匹配)?

1 个答案:

答案 0 :(得分:3)

我认为你看待机器学习技术的直觉是正确的,或者结果是正确的(基于签名的入侵检测系统的最大问题之一是无法检测到新的或变异的攻击。)ML技术的优越性能通常是由于这些算法能够概括(多种软约束而不是一些硬约束)。并且适应(基于新训练实例的更新以阻止简单的对策) - 我认为两个属性对于识别网络攻击至关重要。

除了理论上的承诺之外,将ML技术应用于OP中所述的问题存在实际困难。到目前为止,最重要的是难以收集数据来训练分类器。特别是,将数据点可靠地标记为“入侵”可能并不容易;同样,我的猜测是这些实例在原始数据中稀疏地分布。“

我认为正是这种限制导致了对 无监督 ML技术应用于网络入侵检测等问题的兴趣增加(至少在已发表的文献中得到证明)

无监督技术与监督技术的不同之处在于,数据在没有响应变量的情况下被馈送到算法(即,没有类标签)。在这些情况下,您依靠算法来识别数据中的结构 - 即,数据中的某些固有排序成为相当稳定的组或簇(可能是OP所记录的“方差”。所以使用无监督技术,没有必要明确地显示每个类的算法实例,也没有必要建立基线测量等。

应用于此类问题的最常用的无监督ML技术可能是 Kohonen Map (有时也称为 自组织映射< / em> SOM 。)

我经常使用Kohonen地图,但到目前为止还不是为了这个目的。然而,有许多已发表的报告称其成功应用于您感兴趣的领域,例如

Dynamic Intrusion Detection Using Self-Organizing Maps

Multiple Self-Organizing Maps for Intrusion Detection

我知道MATLAB至少有一个可用的Kohonen Map实现 - SOM Toolbox。此工具箱的主页还包含Kohonen地图的简要介绍。