来自 CC防护 2021-02-10 05:51 的文章

国外服务器防御_未备案_服务器如何防御ddos

国外服务器防御_未备案_服务器如何防御ddos

在红金丝雀,我们非常相信分享我们如何和为什么做事的方法论。它为其他人提供学习的机会,并推动社区向前发展。今天,我们很高兴能拉开红金丝雀探测工程团队的帷幕。我们小组的任务很简单:搜寻并找到威胁。我们没有像传统的安全运营中心(SOC)那样分析和筛选警报,而是应用工程概念来开发探测器、工具和系统,路由开启哪些ddos防御,使我们能够快速有效地识别海量数据中的威胁。本文将分为三个部分:第一部分:全面探究我们的威胁检测方法和我们称之为"探测器"第2部分:使用ATT&CK技术示例开发探测器第三部分:我们如何将一个概念化为一个可操作的探测器当我们继续进步的时候,我会偷偷地看一眼我们明年的发展方向。第1部分:威胁检测方法当今安全团队面临的最大挑战之一是跟上现代对手的步伐。红金丝雀的探测工程团队与我们的应用研究团队合作,根据不断发展的对抗技术不断提高探测覆盖率。我们开发自动探测器,帮助我们的团队处理大量数据,同时提高及时性、效率和检测覆盖率。我们将"检测器"定义为使用我们的内部DSL进行编码的过程行为。每一个探测器都是围绕着关键功能设计的,这些功能有助于识别我们希望分析师审查的有趣行为。由于每一个事件都是由分析员审查的,所以我们必须仔细考虑在具体行为和一般行为之间的最佳衡量点。要深入研究,请观看与首席执行官布赖恩•拜尔(Brian Beyer)的随需应变网络研讨会:打开闸门:如何在不淹没安全团队的情况下分析30+TB的端点数据 关于探测器需要知道的4件事:1: 探测器的目的是识别"有趣"的事件。红金丝雀的探测器被用来识别"有趣"的事件,而不仅仅是威胁。我们想撒一张广阔的检测网,我们接受假阳性。这种方法是涵盖威胁活动类别的关键,而不仅仅是单一技术。我们利用多个来源来识别感兴趣的事件,如MITRE ATT&CK框架、应用研究、白皮书和社区博客。2: 检测器基于用户在端点上执行的进程的状态和活动。端点检测标准是从正在运行的进程的活动中派生出来的,可以包括组合或单个事件。我们利用的一些标准包括父子进程关系、命令行引用、连接活动、进程间通信、注册表或文件I/O以及许多其他属性。3: "甜点"不是太具体,也不是太笼统。理想的检测器描述了一个特定的,但抽象的对手正在使用的行为集。在大卫·比安科的痛苦金字塔图中,我们专注于识别对手的战术、技术和程序(TTP)。这使得我们可以开发一个通用的检测器来寻找抽象的行为。作为补充说明,一个单独的redcanary检测过程可以识别出对手可能使用的工件、域、ip和散列。金字塔的较低部分提供的价值比识别TTP要少,但当对手在战役之间不改变原子或计算指标时,没有理由忽视轻松获胜。4: 假阳性率高。广义检测行为的结果是,与原子指示剂或更具体的行为ttp相比,误报率更高。在redcanary,我们利用了管道中的一个抑制组件,允许分析人员防止未来事件影响检测。这里的关键是,分析员确定事件是良性的,并对未来事件应用适当的抑制逻辑。当包含假阳性时,跟踪与从真阳性事件转换为真阳性恶意或可疑检测相关的指标非常重要。这可以实现高效的调整,并帮助我们识别检测器准确地突出行为,但可能不会产生实际威胁的区域。要深入了解我们的调优方法,请阅读文章:通过检测器调优提高效率 第2部分:使用ATT&CK技术T1127:可信开发工具我们将使用MSBuild.exeCasey Smith发布的技术作为本文余下部分的示例。具体技术如下图所示:在我们开始从技术中推断行为之前,让我们提出一些问题,我们可能想用我们的过程数据语料库来回答。是什么MSBuild.exe?多久一次MSBuild.exe执行?怎么样MSBuild.exe通常是杠杆作用?做什么MSBuild.exe执行通常看起来像?做MSBuild.exe生孩子?如果是,常见的子进程是什么?子进程是什么MSBuild.exe通常是这样吗?做MSBuild.exe建立网络连接?哪些父进程是通用的MSBuild.exe?使用这些问题作为指导,我们可以开始推断有关执行的行为MSBuild.exe. 请注意,我们已经将恶意执行从我们的询问线中删除;因为我们希望产生有趣的行为,目的是捕捉异常,而不是所有的行为都是恶意的。使用我们关于MSBuild.exe作为这项技术的关键参与者,我们可以关注潜在的行为检测器来识别有趣的活动。MSBuild.exe生成通过网络通信的子进程(内部/外部)MSBuild.exe具有很少命令行参数的进程MSBuild.exe没有命令行参数的进程MSBuild.exe从异常父进程派生 第3部分:如何将概念概念化为可操作的检测器我们设计了一个流程,CDN部署防御DDOS,允许我们的安全分析师快速假设对手的TTP,设计检测器,测试它,并将其发布到生产中。在某些情况下,此过程可以在不到15分钟的时间内从头到尾运行。这一过程遵循一个关键原则:探测器即代码。我们相信,如果你的检测器规则没有版本控制,没有经过同行评审,而且完全没有经过测试,这是一个巨大的风险。我们在经过战斗测试的软件开发生命周期之后设计了这个过程,cc攻击防御软件,包括最重要的部分:测试!让我们来看看这个过程的基本步骤:第一步:分析员对检测到TTP有一个假设。根据前面描述的技术,让我们假设编译器,的孩子MSBuild.exe,通常不通过网络进行通信。我们通过去掉亲子关系,扩大了我们的假设,使之成为一般性的;我们将很快回到这个问题上来。第2步:分析正常行为。在编写我们的检测器和相关的测试用例之前,我们通常会从有关技术的问题中进行研究,并对我们的数据集提出其他问题。在这个具体的例子中,我想知道几个关键答案:做csc.exe文件有没有建立过网络连接?多久一次MSBuild.exe发射csc.exe?是什么csc.exe文件(如果我不知道的话)?我们的检测假设是:csc.exe文件通常不在网络上通信。在对我们的数据集进行一些快速查询之后,我们发现csc.exe文件偶尔与本地主机进行内部通信,但不与外部通信。我们有一个跨多个行业和不同规模组织的大型数据集;因此,我们可以合理地得出这样的结论:一个检测器不会产生很多误报。当它真的开火时,它将是高度可疑的。如果研究显示我们的抑制引擎有可能出现高假阳性率事件,那么检测行为需要变得更具体。对于本例,cc防御关闭,我们可以重新应用父子关系标准。第三步:用TTP写检测器。现在我们准备好写探测器了。这些是Ruby类,它们使用redcanary领域特定语言("DSL")来识别进程状态更改和行为。各种元数据描述了名称、描述和其他上下文,这些内容将帮助分析员查看由该检测器标识的事件。第四步:测试!考虑应该触发检测器的情况,山石防火墙防御ddos,也可以考虑不应该触发检测器的测试用例。这是确保探测器不会错误标记错误活动的重要方法。第五步:同行评审和发布。最后,我们将我们的检测器提交给最终的同行评审,最终将其合并到生产中并与检测引擎同步。在最终同步到redcanary平台之后,我们将尽可能在虚拟机上执行一系列功能测试。这将允许我们确认,检测到我们开始捕捉的技术会生成一个事件。展望未来我们的方法和检测器开发生命周期奠定了一个重要的基础,因为我们朝着一个简化的开发工作流程和自动化功能测试的目标。在接下来的一年里,我们计划将我们的探测器开发能力与功能测试框架联系起来。这将使我们能够利用ATT&CK的开源原子红队测试,并确认探测器在任何给定时间按预期运行。我们设想这种联系将推动对现有覆盖范围的持续确认,并确定未来开发工作的优先级。我们雷达探测的其他区域包括:探测器相互依赖利用启发式技术的探测器应对和暴发自动化在本系列的下一篇文章中,我们将深入研究调优方法,重点介绍如何度量检测器质量,避免出现高误报的陷阱,并努力提高覆盖率,而不必为我们的分析师带来麻烦。要深入研究,请观看与首席执行官布赖恩•拜尔(Brian Beyer)的随需应变网络研讨会:打开闸门:如何在不淹没安全团队的情况下分析30+TB的端点数据