机器学习Web安全原理探求为何隐马尔可夫模型可用于参数异常检测
作者头像
  • 海景铭
  • 2021-07-09 06:05:23 5

一、引言

本文分为两个主要部分。第一部分较为通俗,主要介绍向量、矩阵和向量转置等基础知识。第二部分则涉及更复杂的数学推导,需要读者具备概率论、微积分和凸优化的知识。

本文旨在帮助读者理解AI安全背后的原理,特别是隐马尔可夫模型在Web安全异常检测中的应用。如果读者对AI安全感兴趣,希望通过本文了解其背后的逻辑,并将其应用于实际工作中,那么本文正是为你们准备的。

初次接触隐马尔可夫模型是在几年前,当时阅读了一篇关于数据科学在Web威胁感知中应用的文章。通过不断学习和实践,我深刻感受到了人与人之间智力的差距,同时也体会到了探索知识的乐趣。最近因工作需要,我重温了这些知识,发现很多细节已经遗忘,于是重新梳理了一遍,希望可以帮助更多人更高效地掌握这些内容。

二、从玩骰子开始

假设我们有三个不同的骰子:

  • 第一个是四面体骰子,每个面分别为1到4,每个面出现的概率都是1/4。
  • 第二个是标准六面骰子,每个面出现的概率也是1/6。
  • 第三个是八面体骰子,每个面分别为1到8,每个面出现的概率为1/8。

现在我们随机选择一个骰子,并连续投掷10次,得到一串数字:1 6 3 5 2 7 3 5 2 4。

如果我们不告诉读者我们每次选择了哪个骰子,只提供这串数字,那么这串数字就是观测序列。而我们每次选择的骰子则是隐含序列。

通过这个例子,我们可以引入几个关键概念:

  1. 形状集合:三种骰子分别对应三种形状,即{D4, D6, D8}。
  2. 观测集合:所有可能的数字集合,即{1, 2, 3, 4, 5, 6, 7, 8}。
  3. 隐含序列:如D6, D8, D8, D6, D4, D8, D6, D6, D4, D8。
  4. 序列长度:10。
  5. 初始形状概率分布:假设每个骰子被选中的概率均为1/3。
  6. 形状转移概率:假设每次选择骰子都是随机等概率的,因此转移概率矩阵中的每个元素都是1/3。
  7. 输入概率(发射概率):每个骰子出现不同数字的概率。

接下来,我们修改假设,使骰子的选择更加复杂,例如:

  • 如果选择D4,下一次只能选择D8。
  • 如果选择D8,下一次选择D4的概率为0.2,选择D6的概率为0.7,再次选择D8的概率为0.1。
  • 如果选择D6,下一次选择D4和D8的概率各为0.5,不能连续选择D6。

三、隐马尔可夫模型的三大基本问题

我们将使用数学符号表示模型:θ=(A,B,π),其中:

  • A 表示形状转移矩阵。
  • B 表示输入概率分布。
  • π 表示初始形状概率分布。

概率计算问题(评估问题)

假设已知模型θ=(A,B,π),求观测序列Y出现的概率P(Y|θ)。

学习问题

已知观测序列Y,估计模型参数θ,使得观测序列出现的概率P(Y|θ)最大。

预测问题(解码问题)

已知模型θ和观测序列Y,求最有可能的隐含序列Z。

四、应用到Web请求参数异常检测

通过隐马尔可夫模型,我们可以实现Web请求参数的异常检测。假设有一个Web API,其中包含正常和异常的请求数据。

例如,以下是正常请求:

json {"id":"12334", "email": "zhangsan@xx.com"} {"id":"14352", "email": "lisi@xx.com"} {"id":"27988", "email": "wangwu@xx.com"}

以下是异常请求:

json {"id":"67123' union select 1,2,3", "email": "asdf@xx.com"} {"id":"67123", "email": "asdf@xx.com\"<img src=1 onerror=alert('xss')\>"} {"id":"67123", "email": "asdf@xx.com' and 1=1-- a"}

正常请求的参数值相对相似,而异常请求的参数值差异较大。通过计算学习到一个模型,可以有效地识别异常请求。

五、求解

求解隐马尔可夫模型的学习问题,需要用到EM(期望最大化)算法。具体步骤如下:

  1. Jensen不等式复习:用于后续推导。
  2. 定义观测变量和隐含变量:Y表示观测数据,Z表示隐含变量。
  3. 极大化对数似然函数:使用EM算法逐步逼近极大值。
  4. E步(期望步):计算Q函数。
  5. M步(最大化步):极大化Q函数,求解模型参数A、B、π。

六、其他

本文通过一个简单的骰子游戏类比,介绍了隐马尔可夫模型在Web安全异常检测中的应用。由于参考了多个资料,符号和推导过程有所不同,但目的是为了更好地理解和应用这些概念。

本文仅作为一个入门指南,如果读者希望深入了解,可以查阅文末提供的参考文献。如果有时间,未来还会撰写更多关于HMM在大数据实时计算中的应用的文章。

    本文来源:图灵汇
责任编辑: : 海景铭
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
可夫马尔探求模型异常原理用于机器检测参数
    下一篇