bytedance/Elkeid
GitHub: bytedance/Elkeid
Elkeid 是一款源自字节跳动内部实践的云工作负载保护平台,融合了主机入侵检测、RASP 运行时保护及 K8s 审计能力,旨在解决多云环境下的复杂安全需求。
Stars: 2592 | Forks: 467
# Elkeid - 字节跳动云工作负载保护平台
English | [简体中文](README-zh_CN.md)
**Elkeid** 是一款开源解决方案,能够满足 **主机、容器和 K8s,以及 serverless** 等各种工作负载的安全需求。它源于字节跳动内部的最佳实践。
随着企业业务的发展,多云、云原生以及多种工作负载共存的情形日益突出。我们希望有一套方案能够满足不同工作负载下的安全需求,因此 **Elkeid** 诞生了。
## 简介
Elkeid 具备以下关键能力:
* **Elkeid** 不仅具备传统的 **HIDS(主机入侵检测系统)** 能力,用于主机层入侵检测和恶意文件识别,还能很好地识别容器内的恶意行为。主机可以满足主机及其上容器的防入侵安全需求,而 Elkeid 底层强大的内核级数据收集能力可以满足大多数安全分析人员对主机级数据的渴望。
* 对于运行中的业务,**Elkeid** 具有 **RASP** 能力,可以注入到业务进程中进行防入侵保护,运维人员无需安装额外的 Agent,业务也无需重启。
* 对于 **K8s** 本身,**Elkeid** 支持收集 **K8s Audit Log**,以对 **K8s** 系统执行入侵检测和风险识别。
* **Elkeid** 的规则引擎 **Elkeid HUB** 也能很好地与外部多个系统联动。
**Elkeid** 将这些能力集成到一个平台中,以满足不同工作负载的复杂安全需求,同时实现了多组件能力的关联。更难能可贵的是,每个组件都经历了字节跳动海量的数据和多年的实战检验。
## Elkeid 社区版说明
需要注意的是,**Elkeid** **开源版** 与完整版之间存在差异。当前开源能力主要包括:
* 所有端上能力,即端上数据/资产/部分采集能力、内核态数据采集能力、RASP 探针部分等,均与字节跳动内部版本一致;
* 所有后端能力,即 Agent Center、服务发现等,均与字节跳动内部版本一致;
* 提供社区版规则引擎,即 Elkeid HUB,并附带少量策略作为示例;
* 提供社区版 Elkeid Console 及部分配套能力。
因此,既需要具备完整的防入侵和风险感知能力,也需要基于 Elkeid HUB 构建策略,并对 Elkeid 采集的数据进行二次处理。
## Elkeid 架构
## Elkeid 主机能力
* **[Elkeid Agent](agent)** Linux 用户空间 Agent,负责管理各种插件,并与 **Elkeid Server** 通信。
* **[Elkeid Driver](driver)** 驱动程序,可在 Linux 内核上收集数据,支持容器运行时,与 Elkeid Driver Plugin 通信。
* **[Elkeid RASP](rasp)** 支持 CPython、Golang、JVM、NodeJS、PHP 运行时探针,支持动态注入到运行时中。
* **Elkeid Agent 插件列表**
* [Driver Plugin](https://github.com/bytedance/Elkeid/tree/main/plugins/driver):负责管理 **Elkeid Driver**,并处理驱动数据。
* [Collector Plugin](https://github.com/bytedance/Elkeid/tree/main/plugins/collector):负责 Linux 系统上资产/日志信息的收集,例如用户列表、crontab、软件包信息等。
* [Journal Watcher](https://github.com/bytedance/Elkeid/tree/main/plugins/journal_watcher):负责监控 systemd 日志,目前支持 ssh 相关日志的收集和上报。
* [Scanner Plugin](https://github.com/bytedance/Elkeid/tree/main/plugins/scanner):负责主机上恶意文件的静态检测,目前支持 yara。
* [RASP Plugin](https://github.com/bytedance/Elkeid/tree/main/rasp/plugin):负责管理 RASP 组件并处理从 RASP 收集的数据。
* [Baseline Plugin](https://github.com/bytedance/Elkeid/tree/main/plugins/baseline):负责基于基线检查策略检测基线风险。
* [**Elkeid 数据格式**](server/docs/ElkeidData.xlsx)
* [**Elkeid 数据使用教程**](elkeidup/raw_data_usage_tutorial/raw_data_usage_tutorial-zh_CN.md)
## Elkeid 后端能力
* **[Elkeid AgentCenter](server/agent_center)** 负责与 Agent 通信,收集 Agent 数据并进行简单处理后汇总至 MQ,同时也负责 Agent 的管理,包括 Agent 升级、配置修改、任务下发等。
* **[Elkeid ServiceDiscovery](server/service_discovery)** 后台中的每个组件都需要定期向该组件注册并同步服务信息,以确保各服务模块中的实例相互可见,便于直接通信。
* **[Elkeid Manager](server/manager)** 负责整个后端的管理,并提供相关的查询和管理 API。
* **[Elkeid Console](server/web_console)** Elkeid 前端
* **[Elkeid HUB](https://github.com/bytedance/Elkeid-HUB)** Elkeid HIDS 规则引擎
## Elkeid 功能列表
| 能力列表 | Elkeid 社区版 | Elkeid 企业版 |
|--------------------------------------------------------|--------------------------|---------------------------|
| Linux 运行时数据收集 | :white_check_mark: | :white_check_mark: |
| RASP 探针 | :white_check_mark: | :white_check_mark: |
| K8s Audit Log 收集 | :white_check_mark: | :white_check_mark: |
| Agent 控制平面 | :white_check_mark: | :white_check_mark: |
| 主机状态与详情 | :white_check_mark: | :white_check_mark: |
| 勒索诱饵 | :ng_man: | :white_check_mark: |
| 资产收集 | :white_check_mark: | :white_check_mark: |
| 资产收集增强 | :ng_man: | :white_check_mark: |
| K8s 资产收集 | :white_check_mark: | :white_check_mark: |
| 暴露面与漏洞分析 | :ng_man: | :white_check_mark: |
| 主机/容器基础入侵检测 | `少量样本` | :white_check_mark: |
| 主机/容器行为序列入侵检测 | :ng_man: | :white_check_mark: |
| RASP 基础入侵检测 | `少量样本` | :white_check_mark: |
| RASP 行为序列入侵检测 | :ng_man: | :white_check_mark: |
| K8S 基础入侵检测 | `少量样本` | :white_check_mark: |
| K8S 行为序列入侵检测 | :ng_man: | :white_check_mark: |
| K8S 威胁分析 | :ng_man: | :white_check_mark: |
| 告警溯源(行为溯源) | :ng_man: | :white_check_mark: |
| 告警溯源(驻留溯源) | :ng_man: | :white_check_mark: |
| 告警白名单 | :white_check_mark: | :white_check_mark: |
| 多告警聚合能力 | :ng_man: | :white_check_mark: |
| 威胁响应(进程) | :ng_man: | :white_check_mark: |
| 威胁响应(网络) | :ng_man: | :white_check_mark: |
| 威胁响应(文件) | :ng_man: | :white_check_mark: |
| 文件隔离 | :ng_man: | :white_check_mark: |
| 漏洞发现 | `少量漏洞信息` | :white_check_mark: |
| 漏洞信息热更新 | :ng_man: | :white_check_mark: |
| 基线检查 | `少量基线规则` | :white_check_mark: |
| 应用漏洞热修复 | :ng_man: | :white_check_mark: |
| 病毒扫描 | :white_check_mark: | :white_check_mark: |
| 用户行为日志分析 | :ng_man: | :white_check_mark: |
| Agent 插件管理 | :white_check_mark: | :white_check_mark: |
| 系统监控 | :white_check_mark: | :white_check_mark: |
| 系统管理 | :white_check_mark: | :white_check_mark: |
| Windows 支持 | :ng_man: | :white_check_mark: |
| 蜜罐 | :ng_man: | :oncoming_automobile: |
| 主动防御 | :ng_man: | :oncoming_automobile: |
| 云病毒分析 | :ng_man: | :oncoming_automobile: |
| 文件完整性监控 | :ng_man: | :oncoming_automobile: |
## 前端展示(社区版)
**安全概览**
**K8s 安全告警列表**
**K8s Pod 列表**
**主机概览**
**资源指纹**
**入侵告警概览**
**漏洞**
**基线检查**
**病毒扫描**
**后端主机监控**
**后端服务监控**
## 控制台用户指南
* **[Elkeid 控制台用户指南](server/docs/console_tutorial/Elkeid_Console_manual.md)**
## 快速开始
* **[通过 Elkeidup 部署](elkeidup/README.md)**
## 联系我们 && 合作
*Lark 群组*
## 关于 Elkeid 企业版
Elkeid 企业版支持独立的入侵检测规则(如 HIDS、RASP、K8s)销售,也支持完整能力销售。
如果对 Elkeid 企业版感兴趣,请联系 elkeid@bytedance.com
## Elkeid 文档
欲了解更多详情和最新更新,请参阅 [Elkeid 文档](https://elkeid.bytedance.com/English/)。
## 许可证
* Elkeid Driver: GPLv2
* Elkeid RASP: Apache-2.0
* Elkeid Agent: Apache-2.0
* Elkeid Server: Apache-2.0
* Elkeid Console: [Elkeid License](server/web_console/LICENSE)
* Elkeid HUB: [Elkeid License](https://github.com/bytedance/Elkeid-HUB/blob/main/LICENSE)
## 404StarLink 2.0 - Galaxy
Elkeid 已加入 404Team [404StarLink 2.0 - Galaxy](https://github.com/knownsec/404StarLink2.0-Galaxy)
## Elkeid 主机能力
* **[Elkeid Agent](agent)** Linux 用户空间 Agent,负责管理各种插件,并与 **Elkeid Server** 通信。
* **[Elkeid Driver](driver)** 驱动程序,可在 Linux 内核上收集数据,支持容器运行时,与 Elkeid Driver Plugin 通信。
* **[Elkeid RASP](rasp)** 支持 CPython、Golang、JVM、NodeJS、PHP 运行时探针,支持动态注入到运行时中。
* **Elkeid Agent 插件列表**
* [Driver Plugin](https://github.com/bytedance/Elkeid/tree/main/plugins/driver):负责管理 **Elkeid Driver**,并处理驱动数据。
* [Collector Plugin](https://github.com/bytedance/Elkeid/tree/main/plugins/collector):负责 Linux 系统上资产/日志信息的收集,例如用户列表、crontab、软件包信息等。
* [Journal Watcher](https://github.com/bytedance/Elkeid/tree/main/plugins/journal_watcher):负责监控 systemd 日志,目前支持 ssh 相关日志的收集和上报。
* [Scanner Plugin](https://github.com/bytedance/Elkeid/tree/main/plugins/scanner):负责主机上恶意文件的静态检测,目前支持 yara。
* [RASP Plugin](https://github.com/bytedance/Elkeid/tree/main/rasp/plugin):负责管理 RASP 组件并处理从 RASP 收集的数据。
* [Baseline Plugin](https://github.com/bytedance/Elkeid/tree/main/plugins/baseline):负责基于基线检查策略检测基线风险。
* [**Elkeid 数据格式**](server/docs/ElkeidData.xlsx)
* [**Elkeid 数据使用教程**](elkeidup/raw_data_usage_tutorial/raw_data_usage_tutorial-zh_CN.md)
## Elkeid 后端能力
* **[Elkeid AgentCenter](server/agent_center)** 负责与 Agent 通信,收集 Agent 数据并进行简单处理后汇总至 MQ,同时也负责 Agent 的管理,包括 Agent 升级、配置修改、任务下发等。
* **[Elkeid ServiceDiscovery](server/service_discovery)** 后台中的每个组件都需要定期向该组件注册并同步服务信息,以确保各服务模块中的实例相互可见,便于直接通信。
* **[Elkeid Manager](server/manager)** 负责整个后端的管理,并提供相关的查询和管理 API。
* **[Elkeid Console](server/web_console)** Elkeid 前端
* **[Elkeid HUB](https://github.com/bytedance/Elkeid-HUB)** Elkeid HIDS 规则引擎
## Elkeid 功能列表
| 能力列表 | Elkeid 社区版 | Elkeid 企业版 |
|--------------------------------------------------------|--------------------------|---------------------------|
| Linux 运行时数据收集 | :white_check_mark: | :white_check_mark: |
| RASP 探针 | :white_check_mark: | :white_check_mark: |
| K8s Audit Log 收集 | :white_check_mark: | :white_check_mark: |
| Agent 控制平面 | :white_check_mark: | :white_check_mark: |
| 主机状态与详情 | :white_check_mark: | :white_check_mark: |
| 勒索诱饵 | :ng_man: | :white_check_mark: |
| 资产收集 | :white_check_mark: | :white_check_mark: |
| 资产收集增强 | :ng_man: | :white_check_mark: |
| K8s 资产收集 | :white_check_mark: | :white_check_mark: |
| 暴露面与漏洞分析 | :ng_man: | :white_check_mark: |
| 主机/容器基础入侵检测 | `少量样本` | :white_check_mark: |
| 主机/容器行为序列入侵检测 | :ng_man: | :white_check_mark: |
| RASP 基础入侵检测 | `少量样本` | :white_check_mark: |
| RASP 行为序列入侵检测 | :ng_man: | :white_check_mark: |
| K8S 基础入侵检测 | `少量样本` | :white_check_mark: |
| K8S 行为序列入侵检测 | :ng_man: | :white_check_mark: |
| K8S 威胁分析 | :ng_man: | :white_check_mark: |
| 告警溯源(行为溯源) | :ng_man: | :white_check_mark: |
| 告警溯源(驻留溯源) | :ng_man: | :white_check_mark: |
| 告警白名单 | :white_check_mark: | :white_check_mark: |
| 多告警聚合能力 | :ng_man: | :white_check_mark: |
| 威胁响应(进程) | :ng_man: | :white_check_mark: |
| 威胁响应(网络) | :ng_man: | :white_check_mark: |
| 威胁响应(文件) | :ng_man: | :white_check_mark: |
| 文件隔离 | :ng_man: | :white_check_mark: |
| 漏洞发现 | `少量漏洞信息` | :white_check_mark: |
| 漏洞信息热更新 | :ng_man: | :white_check_mark: |
| 基线检查 | `少量基线规则` | :white_check_mark: |
| 应用漏洞热修复 | :ng_man: | :white_check_mark: |
| 病毒扫描 | :white_check_mark: | :white_check_mark: |
| 用户行为日志分析 | :ng_man: | :white_check_mark: |
| Agent 插件管理 | :white_check_mark: | :white_check_mark: |
| 系统监控 | :white_check_mark: | :white_check_mark: |
| 系统管理 | :white_check_mark: | :white_check_mark: |
| Windows 支持 | :ng_man: | :white_check_mark: |
| 蜜罐 | :ng_man: | :oncoming_automobile: |
| 主动防御 | :ng_man: | :oncoming_automobile: |
| 云病毒分析 | :ng_man: | :oncoming_automobile: |
| 文件完整性监控 | :ng_man: | :oncoming_automobile: |
## 前端展示(社区版)
**安全概览**
**K8s 安全告警列表**
**K8s Pod 列表**
**主机概览**
**资源指纹**
**入侵告警概览**
**漏洞**
**基线检查**
**病毒扫描**
**后端主机监控**
**后端服务监控**
## 控制台用户指南
* **[Elkeid 控制台用户指南](server/docs/console_tutorial/Elkeid_Console_manual.md)**
## 快速开始
* **[通过 Elkeidup 部署](elkeidup/README.md)**
## 联系我们 && 合作
*Lark 群组*
## 关于 Elkeid 企业版
Elkeid 企业版支持独立的入侵检测规则(如 HIDS、RASP、K8s)销售,也支持完整能力销售。
如果对 Elkeid 企业版感兴趣,请联系 elkeid@bytedance.com
## Elkeid 文档
欲了解更多详情和最新更新,请参阅 [Elkeid 文档](https://elkeid.bytedance.com/English/)。
## 许可证
* Elkeid Driver: GPLv2
* Elkeid RASP: Apache-2.0
* Elkeid Agent: Apache-2.0
* Elkeid Server: Apache-2.0
* Elkeid Console: [Elkeid License](server/web_console/LICENSE)
* Elkeid HUB: [Elkeid License](https://github.com/bytedance/Elkeid-HUB/blob/main/LICENSE)
## 404StarLink 2.0 - Galaxy
Elkeid 已加入 404Team [404StarLink 2.0 - Galaxy](https://github.com/knownsec/404StarLink2.0-Galaxy)标签:AMSI绕过, Chrome Headless, CISA项目, CWPP, DNS 反向解析, EDR, Elkeid HUB, EVTX分析, HIDS, Kubernetes安全, RASP, SOAR, TCP/UDP协议, Web截图, 云工作负载保护平台, 云计算, 入侵检测系统, 内核级数据采集, 可视化界面, 威胁检测, 子域名突变, 字节跳动, 安全合规, 安全数据湖, 安全渗透, 审计日志, 容器安全, 恶意文件识别, 搜索引擎查询, 数据集, 无服务器安全, 日志审计, 端点检测与响应, 网络代理, 网络信息收集, 脆弱性评估, 脱壳工具, 规则引擎, 请求拦截, 运行时应用自我保护, 逆向工具