马尔可夫链异常检测

机器算法验证 异常值 拟合优度 马尔科夫过程
2022-04-19 12:22:37

论文使用一种简单的技术来检测计算机系统中的入侵。我将简要解释一下并提出一个问题:

该论文提出了一种简单的一阶马尔可夫链建模方法来检测给定序列是否异常(这里是 Unix 系统命令)。作者使用以下等式 ,S=S1S2S3...SnSiSP(S)

P(S)=qS1t=2|S|pSt1St

其中是在训练集中观察到符号是在 之后的概率。的倒数是的异常分数qS1S1pSt1StStSt1P(S)S

(以上描述摘自这篇论文。

我的问题:

如果序列大小不同(本文假设序列大小固定),我们如何处理这种情况。问题是与较短的序列相比,较长的序列将具有较小的概率值。因此,较长的序列更有可能被视为异常。我认为我们需要应用一种规范化,但我无法弄清楚要应用哪种规范化。

谢谢

1个回答

分数的最终属性可能取决于归一化过程。因此,最好继续使用固定长度的 unix 命令序列。

然而,提供“基本一致性”的东西是几何平均数。最有可能: P^(S)=(qS1t=2|S|pSt1St)1/S

因此,键入两次相同的序列会导致以下结果:

P^(S+S)=(qS1pStS1t=2|S|pSt1Stt=2|S|pSt1St)1/2S

如果序列足够长(即大),您会得到:S

P^(S+S)P^(S)