前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实时查询腾讯云主机状态之利器——Osquery (安全篇)

实时查询腾讯云主机状态之利器——Osquery (安全篇)

原创
作者头像
点火三周
发布2022-04-11 16:04:00
5.9K0
发布2022-04-11 16:04:00
举报
文章被收录于专栏:Elastic Stack专栏Elastic Stack专栏

Osquery这个工具对不少同学来说,应该还是比较陌生的。至少从搜索引擎的结果上看,这个工具似乎并没有得到足够的重视。但实际上这是由FaceBook开源用于对系统进行查询、监控以及分析的一款非常好用的软件,Osquery将操作系统当作是一个高性能的关系型数据库。使用osquery运行我们能够使用类似于SQL语句的方式去查询数据库中的信息,比如正在运行的进程信息,加载的内核模块,网络连接,浏览器插件等等信息。在最近的版本上,Osquery甚至已经能够读取每个容器上进程打开的文件,进程的状态等,对于安全审计,运维调试都有非常大的帮助。

因此,这篇博文主要针对 Elastic Agent 的 Osquery Manager 集成以及如何将其与 Elastic Security 结合使用进行介绍。包括一些示例,展示了如何使用用例来操作 Osquery 数据,例如构建关键安全警报、在调查期间查询隔离主机以及使用 ML 检测监控异常主机活动。

Osquery 管理器如何工作?

Osquery是一个开源工具,可让您像使用 SQL 的数据库一样查询操作系统。当您将Osquery Manager集成添加到Elastic Agent policy时,Osquery 将部署到使用该策略的所有agent上。添加后,您可以从 Kibana 运行实时查询并为这些代理安排重复查询,以从整个企业的数百个表中收集数据。这些功能有助于实时事件响应、威胁搜寻和定期监控以检测漏洞或合规性问题。

运行实时查询
运行实时查询
计划查询
计划查询

当您运行实时或计划查询时,结果会自动存储在 Elasticsearch 索引中,并且可以轻松映射到 Elastic Common Schema,将您的数据规范化为一组通用字段以与 SIEM 应用程序一起使用,并使您能够轻松搜索,跨多个来源分析和可视化数据。

为 Osquery 数据构建安全警报

Osquery 展示了大量有关操作系统的数据。与Elastic Security解决方案结合使用时,安全团队能够制作查询,帮助他们检测环境中的威胁,监控对其组织最重要的问题,然后在出现问题时采取行动。

例如,要监控的一个问题是,您的系统中是否有进程正在运行,而可执行文件不再位于磁盘上。这可能是恶意进程的一个指标,例如,当恶意软件在执行后自行删除以避免检测时。

您可以通过一个简单的查询在 Windows、Linux 和 Mac 系统上使用 Osquery 来监控这一点:

SELECT * FROM processes;

来自进程表的响应包括几个有用的字段,例如:

  • name
  • pid
  • path(目标系统上所有正在运行的进程的路径)
  • on_disk(进程文件是否还在磁盘上)

如果on_disk = 0对于一个进程,这意味着该文件不再在磁盘上,并且可能存在问题。这是一个完美的用例,用于:

1) 使用计划查询,以在整个环境中监视此情况 2) 创建警报以在发现磁盘上没有二进制文件的进程时通知您。

虽然可以安排一个查询来专门检查无文件的进程(例如,使用SELECT name,path,pid FROM processes WHERE on_disk = 0),但安排一个更广泛的查询来检索进程表的所有字段可能是有益的,因为您可以使用它数据来驱动您可能想要监控的几个案例。

读取所有正在运行的进程的计划查询
读取所有正在运行的进程的计划查询

一旦此查询定期运行,您就可以编写检测规则,以在查询结果包含无文件进程时提醒您。如果在上述计划查询中,发现 on_disk 字段为 0 的任何结果,此示例规则将发出警报。(注意告警规则:osquery.on_disk:"0"

查询隔离主机

将 Osquery 与Endpoint Security集成相结合,可以将您的安全操作提升到一个新的水平。启用 Endpoint Security 后,当您处理安全事件并怀疑系统已受到威胁时,您可以将主机与网络隔离以阻止通信并防止横向移动到其他主机。在这种情况下隔离主机可以让您有时间调查问题并恢复到安全状态。

当主机被隔离时,它仍然可以与 Elastic Stack 通信,您可以使用 Osquery 对主机运行实时查询以帮助您进行调查。例如,您可以使用它来帮助评估入侵的影响和严重性,或者在释放主机之前确认问题已得到解决。

隔离主机
隔离主机

监控异常主机活动

使用计划query packs,您可以定期运行一组查询,以建立主机上的行为和活动基线。随着时间的推移收集的数据有助于您了解环境中的正常操作条件。例如,您可以编写查询来监控用户已安装的应用程序、谁登录到哪些系统、哪些程序在启动时运行,等等。

使用Elastic Machine Learning,您可以为正在收集的特定 Osquery 数据创建异常检测作业,以便识别该数据中的异常模式。

让我们通过一个示例来展示如何监视安装在 Windows 系统上的异常程序。

首先,要建立基线,安排查询以开始收集 Windows 系统上安装的所有程序。此查询设置为每天运行一次,并将一些 Osquery 值映射到 ECS 以标准化数据:

接下来,创建一个saved search,稍后您将使用它来创建异常检测作业。搜索基于计划查询的action_id ,其中包括pack name (windows-hardening) 和query name (windows-programs)。

使用saved search,您现在可以创建一个机器学习作业,以检测这些搜索结果中的应用程序异常。该作业有一个检测器,用于在 Osquery 结果中查找罕见的(rare by)应用程序名称(package.name),并将其设置为连续运行。

运行此作业有助于识别整个环境中的潜在问题——例如,查找安装在 Windows 工作站上的不常见或意外的应用程序。

虽然异常值可能是良性的,但它们也可能是您环境中不需要的活动的指标。开始捕获异常后,您可以编写检测规则以提醒值得调查的实例。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Osquery 管理器如何工作?
  • 为 Osquery 数据构建安全警报
  • 查询隔离主机
  • 监控异常主机活动
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档