《Elastic(中国)产品应用实战》—— 一、为DGA检测整合监督式和非监督式Machine Learning(下)

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 《Elastic(中国)产品应用实战》—— 一、为DGA检测整合监督式和非监督式Machine Learning(下)

更多精彩内容,欢迎观看:

《Elastic(中国)产品应用实战》—— 一、为DGA检测整合监督式和非监督式Machine Learning(上):https://developer.aliyun.com/article/1220971?spm=a2c6h.13148508.setting.14.653f4f0es9KU45


5. 误报?采用异常检测补救措施!


与每一种检测技术一样,总会有一些误报情况。这些误报可能会以CDN流量或自定 义域名的形式出现,看起来是恶意域名,但实际上在该环境中是正常的。为了确保 DGA检测能够适用每个用户环境,我们已创建预先配置的命名为experimental- high-sum-dga-probability的异常检测任务。启用后这一ML任务会检查监督式 DGA模型生成的DGA评分没错就是LM作用)并为特定源IP地址寻找评分 异常高的异常模式。此等事件会被分配异常评分。


为了最大限度地从异常检测任务中获益我们将同时发布补充规则Potential DGA Activity.这将在安全应用程序的检测页面中创建基于异常的警报。


预先配置的异常检测任务和补充规则在我们的检测规则库版本中均可用。


6. 如何选择适合您所在环境的正确配置


首先从监督式DGA模型开始。该模型对通过Packetbeat采集的每个DNS请求进行 分析,并分配一个表明该请求中涉及的域名很可能存在恶意的概率。您可以使用"开始使用(Get started) 一节讨论的条件逻辑规则在安全应用程序中直接使用监督 式模型的输出,或者,也可以导入并启用预先配置的异常检测任务和规则,以便根 据所处环境的微妙之处自定义检测任务。


如何选择适合您所在环境的正确配置?从简单配置开始。启用"开始使用"一节中 的条件搜索规则。这些规则直接作用于监督式模型的输出,并将快速帮助了解所处 环境中有多少误报背景噪声。如果您发现监督式模型的直接输出上运行的条件搜索 规则产生太多警报,则可能会从导入和启用异常检测任务中受益。


尤其是,在异常检测任务结果上运行的ML检测规则可能有助于寻找聚合有大量 DGA活动的来源(而非针对单个DGA评分逐个发出警报)。如果您没有运行中的ML 模块启动免费试用版,或者可以在Elastic Cloud中试用。


异常检测模型的示例性截图及版本随附的相关规则如下所示: image.png

experimental-high-sum-dga-probability 非监督式 ML 任务输出

image.png

作用于该非监督式ML任务输出的Potential DGA Activity ML规则的输出

image.png

 

Machine Learning Detected a DNS Request With a High DGA Probability Score
搜索规则创建的警报

image.png

Machine Learning Detected a DNS Request Predicted to be a DGA Domain

搜索规则创建的警报

 

7. 案例研究:检测 SUNBURST 攻击中的真实 DGA 活动


让我们尝试将这一实验性DGA工作流应用至最近发生的SUNBURST攻击活动中。


概括来说1213日太阳风公司(SolarWinds)针对猎户座(Orion)网络管理平 台遭受供应链攻击发布了安全建议。撰写本文时,这一攻击影响到20203月至 6月发布的猎户座版本。同样1213火眼公司(FireEye)发布了一则有关 全球性攻击活动的消息,涉及影响到猎户座软件部分版本的太阳风供应链折衷方案。


我们此前发表了一篇博文探讨Elastic用户及太阳风案例,通常称为SUNBURST这篇文章强调了 Elastic Endgame Elastic Endpoint Security 所采用的 Elastic Security恶意软件预防技术已针对太阳风信息披露中所述的攻击检测进行更新。


作为一种复杂的软件供应链攻击行为,SUNBURST将恶意软件植入太阳风公司的猎 户座产品中,并利用自动更新机制分发。撰写本文时,该事件的波及规模、影响范 围和影响程度仍在评估中。


8. 现有 Elastic Security 检测


一名安全研究员共享了 SUNBURST恶意软件所用的一组1,722DGA生成的域名。 DNS Tunneling 是现有的基于 Elastic Security Machine Learning 的检测规则之一, 在本示例中的DNS域名上生成两个基于异常的警报。


DNS Tunneling类似SUNBURST域名样本中的子域-父域比例非常高。对与本 规则相关联的ML任务进行编码以分析Packetbeat数据,但可以对其进行复制和修 改,进而以Elastic Common Schema (ECS)格式采集其他DNS事件。这便是DNS Tunneling ML 任务

image.png

 ML任务具有一个名为DNS Tunneling的关联检测规则:

image.png


image.png

通过此等Elastic Security规则这些异常检测(如下所示)可转换为检测警报和可 选通知,以便将其归入适当的事件分类和响应工作队列中。这便是SUNBURST异常 检测在Elastic Machine Learning应用程序中的呈现方式:

image.png

这一检测十分有用,但可能不会检测到所有DGA活动。为了增强DGA检测功能, 我们将推出实验性DGA检测工作流。


9. 使用实验性 DGA 工作流


我们发现,实验性DGA ML检测工作流可检测大部分的此类活动。我们通过本文探 讨的监督式DGA检测模型运行了 SUNBURST DGA域名(参见上述内容,了解"如 何下载并运行该模型及其规则"的相关详情)。


我们发现该模型将样本中的82%的域名标记为DGA这将在样本集中生成1,420 个警报。以下是一个由监督式模型标记为DGA活动的SUNBURST DNS域名的截图

image.png

 

这些事件可以转化为使用检测规则Machine Learning检测到预测为DGA域名的 DNS请求的检测警报。此外,我们也可以复制该规则并对其进行修改以匹配观察 到的诸如SUNBURST等特定恶意软件实例所使用的父域。我们可以通过向规则查询 添加测试来匹配这组SUNBURST DGA事件,如下所示:

network.protocol:dns and ml_is_dga.malicious_prediction: 1 and
dns.question.registered_domain:
"avsvmcloud.com"

然后,我们可以为该规则指定一个临界严重性级别和一个99分的高风险评分,以 便将其移动至警报和分析工作队列的前面。以下是该规则所生成的警报截图,对其 进行修改后,可提醒检测SUNBURST DGA活动

image.png

我们已在解决方案包中纳入该规则,Machine Learning检测到使用已知SUNBURST DNS域名的DGA活动。在实际感染情况下,采用高频DGA的恶意软件实例可能生 成足够多的警报以触发默认设定值为100max_signals断路器。在这种情况 下,我们可能会对一些恶意软件实例(而非其他实例)发出警报,具体取决于搜索 中最先匹配到的事件。


为了确保识别更多参与DGA活动的受感染的主机,我们将DGA搜索规则中的 max_signals值增加到10,000。注意此设置不能在规则编辑器中修改而必须在 外部规则文件中修改,然后将其导入。该设置可通过在编辑器中查阅规则文件来查看。


DGA活动繁多且警报众多的情况下,我们还可以聚合并筛选DGA警报或事件, 以便在数据表中通过主机名或源IP进行计数,如下所示:

image.png

 

此外,我们还将为Packetbeat DGA事件提供一个带有可视化和聚合功能的示例仪 表板包括按照source.ip聚合的数据表可视化功能。或者,如果DNS事件包含该 字段也可以按照host.name进行聚合。该文件名为dga-dashboard.ndjson可 通过选中Saved Objects(保存的对象)页面上的Import(导入)将其导入至Kibana 该页面将在选中Stack Management 堆栈管理)后显示。


以下是该仪表板在packetbeat-*索引中显示DGA事件的截图:

image.png

 

10. 我们随时为您提供真诚帮助


我们随时待命!若在此过程中遇到任何问题或想要了解更多关于威胁检测和 Machine Learning的基本原理,请通过我们的社区Slack渠道、我们的讨论论坛与 我们取得联系,或者与我们面对面针对我们公开的检测库展开合作。感谢您的关注! 祝您生活愉快!



相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
SQL 消息中间件 分布式计算
Apache Doris 系列: 入门篇-数据导入及查询
Apache Doris 系列: 入门篇-数据导入及查询
2015 0
|
小程序 Windows
uniapp运行微信小程序routeDone的错误问题
uniapp运行微信小程序routeDone的错误问题
2871 0
|
云安全 安全 网络安全
80和443端口的作用以及遇到CC攻击该怎么办
80和443端口都是用于网站业务,那么这两个端口是有什么区别呢?
|
小程序 JavaScript API
uniapp微信小程序获取用户手机号
uniapp微信小程序获取用户手机号
805 0
|
运维 监控 安全
云HIS医疗管理系统源码——技术栈【SpringBoot+Angular+MySQL+MyBatis】
云HIS系统采用主流成熟技术,软件结构简洁、代码规范易阅读,SaaS应用,全浏览器访问前后端分离,多服务协同,服务可拆分,功能易扩展;支持多样化灵活配置,提取大量公共参数,无需修改代码即可满足不同客户需求;服务组织合理,功能高内聚,服务间通信简练。
490 4
|
开发框架 .NET C#
如何判断一个 Dot Net 程序是 32 位还是 64 位?
如何判断一个 Dot Net 程序是 32 位还是 64 位?
|
前端开发 Java Maven
SpringMVC之初识SpringMVC和项目创建
【1月更文挑战第18天】 一、SpringMVC简介 1、什么是MVC 2、什么是SpringMVC 3、SpringMVC的特点 二、SpringMVC项目创建步骤 1、创建maven工程 a>添加web模块 b>打包方式:war c>引入依赖 2、配置web.xml a>默认配置方式 b>扩展配置方式 3、创建请求控制器 4、创建springMVC的配置文件 5、测试HelloWorld a>实现对首页的访问 b>通过超链接跳转到指定页面
269 0
|
安全 关系型数据库 数据库
上新|阿里云RDS PostgreSQL支持PG 16版本,AliPG提供丰富自研能力
AliPG在社区版16.0的基础上,在安全、成本、可运维性等多个方面做了提升,丰富的内核/插件特性支持,满足业务场景的需求
|
存储 NoSQL Java
什么是布隆过滤器?如何实现布隆过滤器?
什么是布隆过滤器?如何实现布隆过滤器?
314 0
|
SQL Java 数据库连接
一文彻底搞懂Mybatis系列(九)之Mybatis动态SQL标签总结
一文彻底搞懂Mybatis系列(九)之Mybatis动态SQL标签总结
955 0

热门文章

最新文章