AbishekPonmudi/PlanqX_EDR-Endpoint-Detection-and-Response
GitHub: AbishekPonmudi/PlanqX_EDR-Endpoint-Detection-and-Response
一款开源的 Windows 端点检测与响应(EDR)安全解决方案,通过客户端-服务器架构实时监控系统、网络和文件活动并检测恶意威胁。
Stars: 28 | Forks: 18
# 针对 windows 环境的端点检测与响应 (EDR) 解决方案
注意:相关文档已在下方列出,如需下载或测试,请访问[安装过程](#installation)
## 观看演示(安装和配置部分)
[观看演示视频](https://drive.google.com/file/d/1d40pjPEzXpGWIg8lgeoD5Ntx7Mpk25s4/view?usp=sharing)
## 目录
- [概述](#overview)
- [项目目标](#project-objectives)
- [系统架构](#system-architecture)
- [项目工作流](#project-workflow)
- [组件详情](#component-details)
- [网络分析模块](#1-network-analysis-module)
- [恶意软件分析与检测](#2-malware-analysis-and-detection)
- [系统级分析](#3-system-level-analysis)
- [转发机制](#4-forwarder-mechanism)
- [数据收集与分析](#data-collection-and-analysis)
- [恶意软件分析研究](#malware-analysis-research)
- [高级静态分析技术](#advanced-static-analysis-techniques)
- [动态分析方法](#dynamic-analysis-methods)
- [实现细节](#implementation-details)
- [GitHub 仓库](#github-repository)
- [总结与未来工作](#conclusion-and-future-work)
## 概述
**自定义端点检测与响应 (EDR) 解决方案**是一款网络安全工具,旨在保护企业环境免受各种网络威胁。它提供对端点设备(如台式机、笔记本电脑和服务器)上恶意活动的实时检测、分析和响应能力。该解决方案集成了多种高级检测方法,包括网络流量监控、恶意软件检测和系统行为分析,使其成为现代组织保持网络安全性及抵御网络攻击韧性的必备工具。
## 项目目标
此 EDR 解决方案的主要目标是:
- **实时威胁检测:** 实施监控机制,实时识别任何恶意活动的迹象,如恶意软件执行、进程注入、未经授权的访问尝试和网络异常。
- **高级分析与报告:** 开发一个用于全面数据收集的框架,将收集的数据转发到集中式服务器进行深入分析,并生成详细的报告以提供对潜在威胁的洞察。
- **模块化与可扩展设计:** 创建一种模块化架构,可轻松扩展以包含其他安全功能,并能扩展以支持大量端点,而不会显著降低性能。
- **利用恶意软件分析研究:** 利用最新的恶意软件分析研究和技术来提高威胁检测的准确性,减少误报,并提供可操作的情报。
## 系统架构
系统采用客户端-服务器架构,以高效处理数据收集、传输、分析和响应的过程。这种架构允许集中管理和扩展,使其适用于大型和复杂的网络。
### 架构组件
- **客户端模块:** 每个端点设备上都部署有轻量级客户端模块。该模块持续监控系统活动,如运行的进程、文件操作、网络连接和系统配置更改。它收集相关数据并将其安全地传输到集中式服务器以进行进一步分析。
- **转发机制:** 一种健壮的机制,确保将收集的数据从客户端模块安全高效地传输到服务器。它负责处理数据加密、压缩和批处理,以优化网络资源的使用。
- **服务器模块:** 接收和处理来自多个客户端数据的集中式服务器。它运行各种分析技术来检测威胁,并将结果存储在安全的数据库中以供进一步调查。
- **分析引擎:** 服务器模块的核心组件,负责对收集的数据进行深入分析。它使用多种技术,包括静态和动态恶意软件分析、异常检测和行为分析,以识别潜在威胁并生成警报。
### 架构图
## 项目工作流
### 1. 数据收集
客户端模块启动数据收集过程,从端点收集信息。这包括:
- **系统信息:** 有关操作系统、硬件、已安装的应用程序、正在运行的进程和系统配置的详细信息。
- **网络数据:** 有关活动网络连接、流量模式以及任何异常或可疑网络活动的信息。
- **文件活动日志:** 有关文件创建、修改、删除和可能表明存在恶意活动的未经授权访问尝试的记录。
### 2. 数据转发
**转发机制**负责将收集的数据安全地传输到服务器。它执行以下任务:
- **数据加密:** 使用高级加密标准对数据进行加密,以确保传输过程中的机密性。
- **压缩:** 减小数据大小,以优化带宽使用并提高传输速度。
- **批处理:** 将较小的数据块分组为较大的批次,以最大程度地减少传输频率并降低网络开销。
### 3. 数据分析
服务器上的**分析引擎**分几个阶段处理传入的数据:
- **预处理:** 清理和组织数据以准备进行分析,删除任何不相关或冗余的信息。
- **静态分析:** 检查文件和进程是否存在已知的恶意软件特征码、可疑字符串或异常属性。这包括根据已知的恶意软件数据库进行检查以及使用 YARA 规则。
- **动态分析:** 在受控环境(沙箱)中观察文件和进程的行为,以检测可能通过静态分析无法发现的任何恶意操作。
- **异常检测:** 利用机器学习算法来识别偏离正常行为模式的异常,这些异常可能表明存在潜在威胁。
- **基于规则的检测:** 应用自定义检测规则和特征码来识别已知威胁和新出现的攻击技术。
### 4. 警报生成
如果检测到恶意活动,系统将生成包含详细信息的警报,例如:
- **威胁类型:** 对检测到的威胁进行分类(例如,恶意软件、入侵、数据泄露)。
- **严重级别:** 评估威胁对系统或网络的潜在影响。
- **建议操作:** 有关如何响应检测到的威胁的指导,例如隔离受影响的端点或阻止特定 IP 地址。
### 5. 报告与响应
生成警报后,系统会创建安全团队可以访问的详细报告。这些报告包括:
- **事件摘要:** 检测到的威胁的概述,包括其来源、类型和潜在影响。
- **详细分析:** 有关威胁的深入信息,包括受影响的系统、文件和进程,以及观察到的任何行为模式。
- **响应操作:** 系统为减轻威胁而采取的的建议或自动化操作,例如隔离文件、终止恶意进程或阻止网络连接。
## 组件详情
### 1. 网络分析模块
**网络分析模块**负责监控网络活动以检测基于网络的威胁。它专注于识别恶意行为模式,例如:
- **命令与控制 (C2) 通信:** 检测到与已知 C2 服务器的连接,攻击者通常使用这些服务器远程控制受损系统。
- **数据泄露:** 识别可能表明存在从网络进行未经授权的数据传输的异常出站流量。
- **横向移动:** 监控内部网络流量,以检测攻击者试图在网络内横向移动并危害其他系统的尝试。
**使用的技术:**
- **数据包捕获与分析:** 持续捕获和分析网络数据包以识别潜在威胁。
- **协议异常检测:** 监控网络流量以发现偏离正常协议行为的现象,这可能表明存在恶意活动。
- **机器学习模型:** 使用机器学习算法来识别传统基于特征码的方法可能无法检测到的恶意网络行为模式。
### 2. 恶意软件分析与检测
该模块旨在使用静态、动态和行为分析技术的组合来检测端点设备上的恶意软件:
- **静态分析:** 在不运行可执行文件的情况下对其进行分析,寻找已知的恶意软件特征码、可疑字符串和异常文件属性。
- **动态分析:** 在受控的沙箱环境中执行文件,以观察其行为并检测任何恶意操作,例如文件修改、注册表更改或与 C2 服务器的网络通信。
- **行为分析:** 实时监控运行进程的行为,以检测可疑活动,例如尝试提权、修改系统设置或与外部服务器通信。
**主要特性:**
- **集成 YARA 规则:** 使用 YARA 规则根据恶意软件的特征和行为模式来识别已知和新出现的威胁。
- **PE 分析:** 分析可移植可执行 (PE) 文件中的恶意指标,例如可疑导入、混淆代码或不寻常的节头。
- **DLL 注入检测:** 检测将恶意动态链接库 (DLL) 注入到合法进程中的尝试,这是攻击者常用的一种逃避检测的技术。
### 3. 系统级分析
**系统级分析**模块在系统级监控端点的可疑活动,提供针对各种类型攻击的全面保护:
- **进程监控:** 跟踪进程的创建、修改和终止,以检测任何可疑行为,例如未经授权的脚本或恶意软件执行。
- **注册表监控:** 观察 Windows 注册表的更改,这可能表明存在修改系统设置或建立持久性的尝试。
- **文件系统监控:** 监控文件活动(例如文件的创建、修改和删除),以检测潜在威胁,如勒索软件或数据泄露。
**使用的技术:**
- **Hook 和 API 监控:** 拦截和监控应用程序发出的 API 调用,以检测可疑行为,例如绕过安全控制或访问敏感数据的尝试。
- **行为分析:** 实时分析应用程序和进程的行为,以识别偏离正常模式的现象,这可能表明存在恶意活动。
### 4. 转发机制
**转发机制**旨在确保 EDR 解决方案的客户端和服务器组件之间可靠的数据传输。它负责:
- **高效的数据传输:** 优化数据传输,以最大程度地减少对网络性能的影响,并缩短从客户端向服务器发送数据所需的时间。
- **安全通信:** 使用强加密算法确保数据在传输过程中的机密性和完整性。
- **数据批处理与压缩:** 将较小的数据块分组为较大的批次并进行压缩,以减少网络开销并提高传输速度。
## 数据收集与分析
该解决方案的**数据收集与分析**框架负责从端点设备收集相关信息并对其进行分析以检测潜在威胁。该框架旨在:
- **收集全面数据:** 从各种来源(包括系统日志、网络流量、进程活动和文件操作)收集信息,以提供端点安全状况的全局视图。
- **利用多种分析技术:** 结合静态、动态和行为分析方法来检测从已知恶意软件到零日攻击的广泛威胁。
- **生成可操作的情报:** 为安全团队提供对潜在威胁的详细洞察,使他们能够快速有效地做出响应。
## 恶意软件分析研究
### 高级静态分析技术
- **基于特征码的检测:** 使用已知恶意软件的预定义特征码来检测威胁。
- **YARA 规则:** 允许根据文件中的特定字符串或指令序列进行灵活的模式匹配。
- **熵分析:** 通过分析文件的熵级别来检测加壳或混淆的文件。
- **PE 文件结构分析:** 检查 PE 文件的头部、导入、导出和其他特征以识别异常。
### 动态分析方法
- **沙箱:** 在受控环境中执行可疑文件,以观察其行为,而不会危及端点或网络的安全。
- **API 调用监控:** 监控应用程序发出的 API 调用,以检测提权或未经授权的数据访问等恶意操作。
- **内存分析:** 检查正在运行的进程的内存中是否存在恶意软件的迹象,例如注入的代码或可疑字符串。
- **行为分析:** 使用机器学习模型来识别可能无法通过传统静态分析方法检测到的恶意行为模式。
## 实现细节
该解决方案是使用适用于实时数据收集、分析和报告的编程语言、工具和框架的组合来实现的:
- **Python:** 用于开发该解决方案的核心组件,包括客户端模块、服务器模块和分析引擎。
- **C++:** 用于执行对性能要求极高的任务,例如监控低级系统活动和网络流量。
- **SQL:** 用于管理和查询存储收集的数据、分析结果和威胁情报的数据库。
- **REST API:** 实现客户端和服务器组件之间的安全通信,支持数据传输、分析请求和警报生成。
## 安装
您可以在 windows 上手动安装服务器组件!!(FOR LINUX SERVER 将尽快发布!!)
```
PlanqxSetup.exe
```
这将在服务器端进行初始设置,并且可以访问 Planqx-CLI 服务器
## 目前这仅处于手动配置客户端和服务器之间以使其运行的阶段,因此很快就会更新!!!
好的,让我们深入了解一下上面的部分。这是 windows 漏洞利用建议器,用于检测 windows 系统上尚未修补的漏洞,所有这些都通过名为 CVE (常见漏洞和暴露) 的漏洞数据库 https://cve.mitre.org/ 进行处理,该数据库包含常见漏洞以及有关近期漏洞的更多 TTP,通过使用 windows 漏洞利用建议器,我们还可以找到补丁信息和暴露情况。
### 自定义恶意软件分析
接下来是一个使用基于特征码的分析、YARA、PE Header 分析构建的恶意软件分析器,集成了 API(Virustotal、ClamAV、binwalk),这些是静态分析的一部分,还有一些研究工作正在集成基于沙箱和机器学习的动态恶意软件分析。如需了解,请参阅此 [research_work](https://midi-fox-ef1.notion.site/Malware-analysis-using-ML-model-Research-68ec135c6aa64754929e869262325ba9)。让我们看看我们做了什么!
#### 基于特征码的分析:
这是分析恶意软件的传统方法,此方法包含恶意软件特征码的 IOC,我们使用 python 开发了恶意软件分析器,将系统文件转换为哈希值并与现有的 IOC 进行匹配,如果特征码匹配,它将其标记为警告并进行处理(严重、、删除、隔离)。这在分析未知恶意软件时会遇到困难,因此我们实现了新的方法,见下文!
#### 基于 YARA 规则的分析:
这也是另一种与恶意软件分析、流量分析、特征码分析等相结合的分析方法……好的,在这里我们讨论恶意软件分析。
## 它的内部工作原理:
首先,它使用名为 systeminfo 的 windows API 从 windows 生成系统信息,然后使用 wes 模块对其进一步分析。
## GitHub 仓库
该项目的源代码可在 GitHub 上获取。访问该仓库以探索代码库、为项目做出贡献或报告问题:
- **GitHub 仓库:** [链接到您的仓库](https://github.com/abishekponmudi/threat-intelligence-platform)
## 总结与未来工作
自定义 EDR 解决方案是一款功能强大的工具,旨在提供针对各种网络威胁的全面保护。通过集成高级检测技术、利用恶意软件分析研究以及采用模块化和可扩展的设计,该解决方案能够很好地满足现代组织的安全需求。
### 未来增强功能:
- **集成威胁情报源:** 通过整合来自外部来源的实时威胁情报来增强检测能力。
- **用于异常检测的机器学习模型:** 开发和部署高级机器学习模型以提高检测准确率并减少误报。
- **支持其他操作系统:** 扩展解决方案以支持其他操作系统,例如 Linux 和 macOS。
- **用户友好的仪表盘:** 创建一个基于 Web 的仪表盘,用于监控和管理端点、查看警报和生成报告。
欢迎贡献和合作!如果您对模块或代码有任何疑问,或者想了解程序的运行原理,请在 [X.com](https://x.com/Havox03) 上联系我。
标签:C++, EDR, 内核驱动, 客户端加密, 数据擦除, 终端安全, 网络协议, 脆弱性评估