安全领域的EDR是什么

有时面试题会问的。

EDR(终端检测与响应)其实我觉得可以视为传统杀软的加强版。

Gartner 于 2013 年定义了这一术语,被认为是一种面向未来的终端解决方案,以端点为基础,结合终端安全大数据对未知威胁和异常行为进行分析,并作出快速响应,后来被业界通称为端点检测和响应 (EDR)。

端点威胁检测和响应 (ETDR) 一词是由 Gartner 分析师于 2013 年创造的,他写道:“这个名称反映了端点(相对于网络)、威胁(相对于恶意软件和官方宣布的事件)和工具“主要用于检测和事件响应”该术语于 2015 年更改为 EDR。

什么是端点?端点包括笔记本电脑、移动设备、工作站、服务器和任何网络入口点,几乎任何连接到组织网络的东西都应该被视为端点。

端点检测和响应平台执行以下关键功能:

收集有关流量、磁盘和内存信息、登录以及帐户活动的端点和网络数据

为安全团队提供文件和事件日志

当系统检测到异常或攻击时向安全运营中心 (SOC) 和安全分析师发出警报

分析收集的端点和网络数据,以便企业可以查看异常和正常流量的模式

执行补救任务,例如终止进程、阻止应用程序或运行脚本来阻止恶意行为

允许安全团队查看文件、事件日志、网络连接和配置

总之,EDR是一种主动式端点安全解决方案。EDR能够实时监控端点设备的活动,包括文件访问、进程执行、网络连接等,以便识别异常行为。同时,它使用行为分析、签名匹配、机器学习等技术来检测潜在的威胁和攻击模式,并快速响应检测到的威胁,如隔离感染设备、阻止攻击传播、修复漏洞等。EDR解决方案通常提供威胁搜寻、检测、分析和响应功能,旨在提高组织的安全性和降低风险。

EDR和传统杀毒软件之间其实存在一些重叠和交叉。甚至现在不少传统杀软都有EDR的特征。只不过理解起来EDR应该还是更加全面一些。。。EDR一般会利用大数据、人工智能等新技术来对对攻击者行为进行分析,但是其实不少传统杀软都能做到这些了。。。

EDR和传统杀软的不同我觉得主要有以下两点:

1.EDR要更加依赖于对端点上发生的事情的行为分析。他不严重依赖于签名。传统杀软往往见到你有微软、腾讯什甚至一些可信第三方么的签名就一般不会管你了。

例如,如果一个 正常的有签名的exe程序突然产生一个 PowerShell 进程并执行一个未知的脚本,这种行为是非常可疑的。那么,该文件就将被标记和隔离,直到确认该过程的安全性。但是在很多杀软里面,本身powershell的执行就是白名单。他不会管的。

2.EDR更加全面和体系化,统一管理做得好,有微隔离,有远程协助,有统一的病毒扫描和漏洞修复功能。甚至还能自动修复漏洞。总之这么一看就完全是传统杀软的升级版。

我们可以如此模拟一个EDR的使用。

假设场景:一个简单的EDR系统,用于监控Windows系统上的文件访问行为,并检测可疑的文件访问。

核心组件

  1. 数据收集器:负责收集端点设备上的文件访问事件。
  2. 分析引擎:对收集到的数据进行分析,检测可疑行为。
  3. 响应模块:根据分析引擎的指示,执行相应的响应操作。

代码示例

# 假设我们有一个函数来模拟数据收集器,它返回文件访问事件  
def collect_file_access_events():  
    # 这里只是模拟,实际情况下会从系统日志、文件监控工具等获取数据  
    return [  
        {"filename": "C:\\example\\normal_file.txt", "user": "Alice", "time": "2023-10-23 10:00:00"},  
        {"filename": "C:\\example\\suspicious_file.exe", "user": "Bob", "time": "2023-10-23 10:10:00"},  
        # ... 其他事件  
    ]  
  
# 分析引擎函数,用于检测可疑行为  
def analyze_events(events):  
    suspicious_events = []  
    for event in events:  
        if event["filename"].endswith(".exe") and event["user"] == "Bob":  
            # 假设Bob用户访问.exe文件是可疑的  
            suspicious_events.append(event)  
    return suspicious_events  
  
# 响应模块函数,根据可疑行为执行相应操作  
def respond_to_suspicious_events(suspicious_events):  
    for event in suspicious_events:  
        print(f"Detected suspicious file access: {event['filename']} by user {event['user']}")  
        # 在这里可以添加更复杂的响应操作,如隔离设备、发送警报等  
  
# 主程序  
def main():  
    events = collect_file_access_events()  
    suspicious_events = analyze_events(events)  
    respond_to_suspicious_events(suspicious_events)  
  
# 运行主程序  
if __name__ == "__main__":  
    main()

  • 33
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值