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

[[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

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

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