海量日志中,如何实时在线检测未知异常行为?看瀚思的序列异常算法

[[194630]]

 1. 背景

随着互联网、移动互联网的发展,企业的传统网络边界在逐渐消失,工业界的企业,特别是大型互联网公司,平均每日活跃用户上千万,每个应用系统的日志都会高达几百G字节,甚至达到T数量级,同时,以灰产,黑产为代表的恶意访问占比依然居高不下,因此,不夸张的说,针对大型互联网公司,特别是金融、电信等行业的恶意攻击每天各个时段都在发生,并且攻击手段在不断推陈出新。

反观,传统的被动防御技术,无论是Firewall、Web应用防火墙(WAF)、入侵防御系统、入侵防御系统(IPS)还是入侵检测系统(IDS),本质上的工作原理,不是依据白名单,就是基于已发现攻击总结出的规则,换句话说,传统防御技术仅限于防御已知威胁。所以,传统的防御技术,由于不知道何为未知的威胁,既无法检测到,也就更谈不上有效的阻断。

瀚思以将机器学习应用于信息安全的新角度,重新审视日志信息挖掘,提出了基于日志的实时在线检测序列异常算法。该算法能够在线检测出未知异常行为,并已在国内某Top10券商处上线使用。

2. 何为序列异常

序列异常是对离散异常时序事件的检测,常应用于工业设备检测,生物界中的氨基酸序列或基因组序列检测,用户行为分析等方面。举个栗子,一个冰箱的操作日志里,如果存在“冰箱柜门打开,冰箱内物品被取走,冰箱柜门关闭”的序列,认为是正常的。而出现了“冰箱柜门关闭,冰箱内物品被取走,冰箱柜门打开”则是异常的。

简单来说,序列异常分为两类。第一类为位置异常,即序列是否异常取决于位置上的实际值与模型预测值间的偏差。第二类是组合异常,以符号组合为考量,对整个序列进行判断,如果其与绝大多数不同,则被作为异常找出来。

在信息安全领域中,序列异常有很多表现形式。从传统的SQL注入,XSS攻击,到撞库,灰产/黑产的薅羊毛刷单等等。

在用户行为分析(UBA)中,异常序列一方面能够找出异常用户行为序列,另一方面,能更直观地表现出其为何异常的异常点。

3. 如何找序列异常

无论是找位置异常,还是组合异常,都是找离散类型的时序异常。马尔科夫链模型应用到这类应用中是十分合适的。我们使用了一种变阶马尔科夫链模型——Probabilistic Suffix Tree概率后缀树来查找序列异常。

1) 马尔科夫链模型

马尔可夫链,又称离散时间马尔可夫链,因俄国数学家安德烈·马尔可夫得名,为状态空间中经过从一个状态到另一个状态的转换的随机过程。该过程要求具备“无记忆”的性质:下一状态的概率分布只能由当前状态决定,在时间序列中它前面的事件均与之无关。这种特定类型的“无记忆性”称作马尔可夫性质。马尔科夫链作为实际过程的统计模型具有许多应用。

在马尔可夫链的每一步,系统根据概率分布,可以从一个状态变到另一个状态,也可以保持当前状态。状态的改变叫做转移,与不同的状态改变相关的概率叫做转移概率。随机漫步就是马尔可夫链的例子。随机漫步中每一步的状态是在图形中的点,每一步可以移动到任何一个相邻的点,在这里移动到每一个点的概率都是相同的(无论之前漫步路径是如何的)。

举个栗子,假设天气在晴朗sunny,下雨rainy和多云cloudy间互相转换。

其马尔科夫状态图见下图。可见每个状态都可迁移到其它状态,且概率皆不同。

其对应的一阶迁移矩阵,即为下图。

那么,今天是晴天,明天下雨的概率就是

PWeather2=rainy Weather1=sunny)=0.1

马尔科夫链模型对应的异常则为迁移中概率最小的路径。如

P( Weather1=sunny, Weather2=rainy, Weather3=cloudy, Weather4=sunny, Weather5=rainy )=0.1,就是5阶序列中,概率最低,出现可能性最小的序列,被认为是异常。

2) Probabilistic Suffix Tree概率后缀树

概率后缀树是一种变阶马尔科夫链模型的紧凑形式,它将后缀树作为索引结构使用。当序列集被组织在概率后缀树中时,仅通过检查与树中根节点相近的点就能区分异常和非异常序列。

概率后缀树简单来说,就是将具有预测能力的子序列存储在一颗后缀树上。然后,根据序列各子序列在树中的情况,计算整个序列的概率值。算法将归一化后的低概率的序列,作为异常找出来。

PST树例子

在概率后缀树中,每个节点代表一个元素,每条边代表一条从根节点到当前节点的路径,换句话说,代表一个入树的子序列。在每个节点上,均有一个概率分布。表示当前节点的下一个后缀子序列的概率。

在构建树时,需要将没有预测能力的的子序列和出现极少,本身就是异常的序列全部过滤掉。这样从根节点开始,以后缀的方式逐步构建出概率后缀树。建好树之后,还可以自行设置更严格的条件对树继续剪枝,使得该树具有更好的预测能力。

如何使用概率后缀树计算序列概率值?概率后缀树能够利用中间条件概率,从而可以高效计算出概率值。详细来说就是,某序列P(s)在概率后缀树上的概率为:

PS= PS1PS2S1)…PSlS1S2…Sl-1)。

举个栗子,P(BAAB) = P(B)P(A|B)P(A|BA)P(B|BAA)

= 0.7 * 0.5 * 0.2 * 0.7

如何利用概率后缀树找异常?将测试序列的概率值归一化后,低概率的序列就是异常序列。

4. 实例分析

1) 在某商业股份制银行的Web日志中,使用序列异常检测,发现了灰产/黑产自动化登录攻击实例。

在对其银行手机银行Web日志常规序列异常检测中,发现存在一些登录序列和正常序列区别很大。经过分析后发现,正常用户登录是无法产生该序列的。这些序列的出现,和其它证据指明,这些皆为灰产/黑产自动化登录的产物。

2) 在某券商的Web日志中,通过使用序列异常检测,发现了一个灰产/黑产可疑的用户探测行为。

序列异常检测程序发现,存在一些利用用户检存页面,被恶意地作为用户探测的手段利用了。经分析,正常用户使用这些页面很难产生这些序列。经过调查,以及和业务部门确认,该类序列皆为恶意用户探测行为。

5. 结语

工业界面临的现状是,一方面,传统的防护手段只能抵御“已知威胁”,迫切需要应对来自“未知威胁”的攻击。另一方面,互联网产品快速迭代更新,用户行为千变万化,攻击手段不断进化,急需可自学习,可实施的高效检测手段出现。

瀚思的序列异常检测算法,一来能够检测“未知威胁”,二来能够面对快速变化的环境,进行优化后的在线学习,三来已经在一些公司实际上线,并有所斩获。

【本文为专栏作者“瀚思 ”的原创稿件,转载请通过作者获取授权】

戳这里,看该作者更多好文

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/129645.html<

(0)
管理的头像管理
上一篇2025-02-25 17:15
下一篇 2025-02-25 17:16

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注