以下这份安全测试清单旨在帮助政企全面评估EDR的防御能力,发现潜在的薄弱环节,并进行针对性的改进,从而最大限度地发挥 EDR 的安全价值。
目的: 评估EDR是否能够准确识别已知的恶意软件和攻击技术,这是EDR的基本功能,也是最重要的功能之一。测试原理: 使用已知恶意软件样本或模拟攻击行为,故意触发 EDR 的检测机制,观察其是否能够识别并阻止恶意行为。这就好比演习,我们预设一些“攻击”,看看EDR是否能有效“拦截”。-
测试实践过程: 准备工作:选择具有代表性的恶意软件样本,或者使用Metasploit等工具生成恶意Payload。这些样本和Payload需要是EDR理论上应该能检测出来的。 模拟攻击:在受EDR保护的测试环境中执行恶意软件或模拟攻击行为,例如尝试运行恶意软件、发起网络连接等。 观察结果:观察EDR是否能够检测到恶意行为,并采取相应的措施,例如拦截恶意文件、终止恶意进程、隔离受感染主机等。同时也要关注误报情况,即EDR将合法程序或行为识别为恶意。 -
测试示例: 样本测试: 在测试主机上运行WannaCry勒索软件样本,观察EDR是否能够阻止勒索软件加密文件。-
模拟攻击: 使用Metasploit生成一个反向Shell Payload,并尝试在测试主机上执行该 Payload,观察EDR是否能够检测并阻止反向Shell连接。
目的: 评估EDR是否能够有效防御针对特定目标的复杂攻击,例如APT攻击。现在的攻击越来越狡猾,简单的扫描查杀已经不够,我们需要测试EDR 对复杂攻击的防御能力。测试原理: 模拟APT攻击的各个阶段,例如侦察、入侵、横向移动、权限提升、数据窃取等,观察EDR是否能够识别并阻止攻击者的行为。-
测试实践过程: 构建攻击链:使用Caldera或Atomic Red Team等工具,根据真实的 APT攻击案例,构建模拟攻击场景,包括各种攻击技巧和工具。 模拟攻击:在受EDR保护的测试环境中,逐步执行攻击场景中的各个步骤,就像真正的攻击者那样行动。 观察防御效果:观察EDR是否能够检测到攻击行为,并采取相应的措施,例如阻止恶意脚本执行、隔离受感染主机、阻断C2连接等。 -
测试示例: -
模拟 APT 攻击: 使用 Caldera 模拟一个针对特定目标的 APT 攻击,包括使用鱼叉式钓鱼邮件进行初始入侵,利用漏洞进行横向移动,最终窃取敏感数据。观察 EDR 是否能够在攻击的每个阶段进行有效防御,以及它在哪个环节失效。
目的: 评估EDR是否能够识别基于行为的攻击,例如无文件攻击、内存攻击等。 很多攻击已经不再依赖文件了,EDR必须能识别异常行为。测试原理: 模拟攻击者常用的恶意行为,例如执行恶意 PowerShell 脚本、注入进程、修改注册表等,观察EDR是否能够识别这些行为并发出警报。-
测试实践过程: 选择攻击技术:选择具有代表性的恶意行为,例如使用PowerShell下载并执行恶意代码、利用DLL注入技术绕过应用程序白名单等。 执行攻击行为:在受EDR保护的测试环境中执行这些恶意行为。 观察检测结果:观察EDR是否能够识别恶意行为,并采取相应的措施,例如终止恶意进程、阻止恶意脚本执行、隔离受感染主机等。 -
测试示例: -
无文件攻击: 使用 PowerShell 下载并执行 Mimikatz,尝试从内存中 dump 用户凭证,观察 EDR 是否能够检测并阻止该行为。
目的: 评估EDR是否能够有效拦截钓鱼邮件和恶意链接,防止用户点击恶意内容。 钓鱼攻击太常见了,EDR必须能防住这一招。测试原理: 创建真实的钓鱼邮件,并发送给目标用户,观察EDR是否能够识别邮件中的恶意链接或附件,并阻止用户访问或打开。-
测试实践过程: 制作钓鱼邮件:使用 GoPhish 或 King Phisher 等工具创建钓鱼邮件,可以使用社会工程学技巧,例如伪造发件人地址、设计逼真的邮件内容等,提高邮件的迷惑性。 发送邮件:将钓鱼邮件发送给受EDR保护的测试用户。 观察拦截效果: 观察EDR是否能够拦截邮件中的恶意链接或附件,并阻止用户点击或下载。 -
测试示例: 创建一封伪造的 HR 邮件,其中包含一个指向恶意网站的链接,观察 EDR 是否能够识别并阻止该链接。还可以测试附件形式的恶意软件。
目的: 评估EDR是否能够有效检测和阻止勒索软件攻击,防止数据加密和勒索行为。 勒索软件危害巨大、EDR必须能有效防御。测试原理: 在受EDR保护的隔离环境中运行勒索软件样本,观察EDR是否能够识别勒索软件的行为特征,并阻止其加密文件。必须在隔离环境中测试,防止真实损害!-
测试实践过程: 准备样本:选择真实的勒索软件样本,并在隔离的测试环境中执行。 观察行为:观察EDR是否能够检测到勒索软件的行为特征,例如快速大量地加密文件、修改文件扩展名等。 观察阻止效果:观察EDR是否能够阻止勒索软件加密文件,或者是否能够在加密过程中终止勒索软件进程。 -
测试示例: 在隔离环境中运行WannaCry勒索软件样本,观察EDR是否能够阻止其加密文件,以及是否能发出告警。
目的: 评估EDR是否能够实时监控端点行为,及时发现和阻止恶意活动。EDR必须能够实时监控,否则就失去了意义。测试原理: 在测试环境中模拟各种正常的用户行为和恶意行为,观察EDR是否能够实时记录这些行为,并及时生成警报信息。-
测试实践过程: 配置日志收集使用 SIEM收集EDR的事件日志,这样才能方便分析。 模拟各种行为:在测试环境中模拟各种用户行为,例如浏览网页、打开文件、运行程序等,并同时模拟一些恶意行为,例如执行恶意脚本、修改系统文件等。 分析日志:观察SIEM中记录的EDR事件日志,分析EDR是否能够实时记录这些行为,并及时生成警报信息。 -
测试示例: 正常行为: 在测试主机上浏览网页、打开文档、运行程序等,观察EDR 是否能够记录这些行为,以及记录的详细程度。-
恶意行为: 在测试主机上执行一个简单的恶意脚本,例如修改系统时间,观察EDR是否能够及时生成警报,以及警报的准确性。
目的: 评估EDR是否能够有效检测无文件恶意软件,例如使用PowerShell 或 WMI 等系统工具执行的恶意代码。 攻击者越来越喜欢这种方式,EDR 必须跟上!测试原理: 模拟攻击者常用的无文件攻击技术,观察EDR是否能够识别恶意代码的执行行为,并采取相应的措施。-
测试实践过程: 选择攻击技术:选择一种常见的无文件攻击技术,例如使用PowerShell 下载并执行恶意代码、利用WMI进行横向移动等。 执行攻击:在受EDR保护的测试环境中执行该攻击技术。 观察检测结果:观察EDR是否能够检测到恶意代码的执行行为,并采取相应的措施,例如终止恶意进程、阻止恶意脚本执行等。 -
测试示例: -
PowerShell 攻击: 使用PowerShell下载并执行Mimikatz,尝试从内存中 dump用户凭证,观察EDR是否能够检测并阻止该行为。
目的: 评估EDR在检测到威胁后的响应速度和有效性,例如隔离受感染主机、终止恶意进程、阻止网络连接等。 检测到威胁不等于解决问题,EDR必须能快速有效地响应!测试原理: 模拟真实的攻击行为,例如利用漏洞入侵主机、执行恶意代码等,观察EDR的响应时间和采取的措施。-
测试实践过程: 选择攻击方式: 选择一种常见的攻击技术,例如利用 Web 应用程序漏洞上传 Webshell、利用系统漏洞获取远程控制权限等。 执行攻击:在受EDR保护的测试环境中执行该攻击技术。 观察响应:记录EDR的响应时间,并观察EDR采取的措施,例如隔离受感染主机、终止恶意进程、阻止网络连接等。 -
测试示例: -
Webshell 上传: 利用Web应用程序漏洞上传一个Webshell到测试主机,观察EDR是否能够及时检测并阻止该行为,并是否能够隔离受感染主机。还要测试响应时间是否足够快。
目的: 评估EDR对系统性能的影响,例如CPU占用率、内存消耗、磁盘IO 等。 安全不能以牺牲性能为代价,EDR资源占用必须合理。测试原理: 在不同的系统负载情况下,例如空闲、正常运行、高负载等,监控EDR的资源占用情况,评估其对系统性能的影响。-
测试实践过程: 安装监控工具:安装并配置性能监控工具,例如Windows性能监视器或 Linux的top命令。 模拟负载情况:在测试主机上运行不同的应用程序,模拟不同的系统负载情况。 监控资源占用:观察EDR在不同负载情况下的CPU占用率、内存消耗、磁盘IO等指标。记录峰值和平均值,进行对比分析。 -
测试示例: 在测试主机上运行CPU密集型应用程序,例如视频编码软件,观察EDR的 CPU占用率。 -
在测试主机上同时运行多个应用程序,模拟高负载情况,观察EDR的内存消耗。
目的: 评估EDR是否能够有效地清除恶意软件,并恢复受感染的系统。EDR 不能只报警,还要能解决问题!测试原理: 使用真实的恶意软件样本或EICAR测试文件感染测试主机,观察EDR是否能够完全清除恶意软件及其残留文件,并恢复系统正常运行。-
测试实践过程: 感染主机:在受EDR保护的隔离环境中,使用恶意软件样本或EICAR测试文件感染测试主机。 观察清除效果:观察EDR是否能够检测到恶意软件,并采取清除措施。 检查残留: 检查测试主机是否仍然存在恶意软件及其残留文件,例如注册表项、启动项、隐藏文件等。 检查系统恢复: 观察测试主机是否恢复正常运行,例如系统是否稳定、应用程序是否能够正常启动等。 -
测试示例: 使用真实的勒索软件样本感染测试主机,观察EDR是否能够清除勒索软件,并解密被加密的文件。确认系统是否完全恢复正常。
目的: 评估EDR是否能够有效地收集和关联攻击者的活动轨迹,例IP地址、域名、文件哈希等,帮助安全人员进行溯源分析。 攻击溯源对于事后分析至关重要。测试原理: 模拟真实的攻击链,例如利用漏洞入侵主机、横向移动、窃取数据等,观察EDR是否能够记录攻击者的每一步行动,并关联相关信息。-
测试实践过程: 构建攻击链:构建一个模拟的攻击场景,包括多个攻击步骤,例如利用 Web 应用程序漏洞上传Webshell、利用Webshell获取远程控制权限、使用Mimikatz窃取用户凭证、将敏感数据上传到攻击者的服务器等。 模拟攻击:在受EDR保护的测试环境中,逐步执行攻击场景中的各个步骤。 分析日志:收集EDR的事件日志,并分析EDR是否能够记录攻击者的每一步行动,并关联相关信息,例如攻击者的IP地址、使用的工具、访问的文件等。 -
测试示例: 模拟一个简单的攻击链,包括利用 Web 应用程序漏洞上传 Webshell,然后使用Webshell执行系统命令,观察EDR是否能够记录这两个步骤,并关联攻击者的IP地址和Webshell文件的哈希值。
目的: 评估EDR是否能够正确地执行安全策略,例如阻止特定应用程序运行、限制文件访问、阻止恶意网站访问等。 策略是安全防御的基础、EDR必须能严格执行。测试原理: 配置EDR的安全策略,并尝试执行违反策略的行为,观察EDR 是否能够阻止这些行为。-
测试实践过程: 配置策略: 根据安全需求,配置EDR的安全策略,例如阻止特定应用程序运行、限制对特定目录的访问、阻止访问特定类型的网站等。 尝试违规:尝试执行违反安全策略的行为,例如运行被禁止的应用程序、访问受限制的目录、访问被禁止的网站等。 观察执行效果:观察EDR是否能够阻止这些行为,并记录EDR的响应信息,例如阻止原因、阻止时间、阻止用户等。 -
测试示例: 阻止应用程序运行: 配置EDR策略阻止用户运行游戏软件,然后尝试在测试主机上运行游戏软件,观察EDR是否能够阻止该行为。-
限制文件访问: 配置EDR策略限制用户访问特定目录,例如系统目录,然后尝试在测试主机上访问该目录,观察EDR是否能够阻止该行为。
目的: 评估EDR是否能够及时、准确地生成警报信息,并根据事件的严重程度进行优先级排序,帮助安全人员快速识别和处理关键威胁。 告警是安全人员的眼睛,必须准确、及时、有效。测试原理: 在测试环境中模拟各种攻击行为和异常行为,观察EDR是否能够生成相应的警报信息,并评估警报信息的准确性、及时性和优先级。-
测试实践过程: 收集警报信息: 使用SIEM收集EDR的警报信息,方便集中分析。 模拟攻击行为:在测试环境中模拟各种攻击行为和异常行为,例如执行恶意脚本、访问恶意网站、尝试进行提权操作等。 分析警报信息:观察SIEM中记录的EDR警报信息,分析警报信息的准确性、及时性和优先级。 -
测试示例: -
恶意脚本执行: 在测试主机上执行一个恶意脚本,例如修改系统时间,观察 EDR 是否能够生成警报信息,并评估警报信息的准确性、及时性和优先级。同时观察是否产生误报。
目的: 评估EDR是否能够有效地抵御攻击者的绕过技术,例如代码混淆、进程注入、内存隐藏等。 道高一尺,魔高一丈,EDR不能被轻易绕过。-
测试原理: 使用Veil、Shellter、Metasploit等工具模拟攻击者常用的绕过技术,观察EDR是否能够识别和阻止这些技术。 -
测试实践过程: 选择绕过技术:选择一种常见的EDR绕过技术,例如使用Veil对恶意软件进行代码混淆、使用Shellter将恶意代码注入到合法进程中、使用 Metasploit将Payload隐藏在内存中。 执行绕过攻击:在受EDR保护的测试环境中执行使用绕过技术的攻击行为。 观察结果:观察EDR是否能够识别和阻止这些攻击行为,如果 EDR 未能阻止攻击,分析其原因,例如绕过技术成功、EDR 规则配置不当等。 -
测试示例: 使用Veil 对 Meterpreter Payload 进行代码混淆,然后尝试在测试主机上执行该Payload,观察EDR是否能够检测并阻止该 Payload。
目的: 评估EDR是否能够与其他安全工具(例如 SIEM、威胁情报平台)进行有效集成,实现信息共享、协同防御等功能。 安全体系是一个整体,EDR 不能孤立存在。测试原理: 配置EDR与其他安全工具之间的集成,并模拟真实的攻击场景,观察EDR是否能够将事件信息发送给其他安全工具,以及其他安全工具是否能够根据EDR的信息进行联动响应。-
测试实践过程: 选择集成工具:根据安全需求,选择需要与EDR集成的安全工具,例如 SIEM 、威胁情报平台、沙箱等。 配置集成:配置EDR与其他安全工具之间的集成,例如配置Syslog 转发、API接口等。 模拟攻击并观察:模拟真实的攻击场景,例如利用漏洞入侵主机、执行恶意代码等,观察EDR是否能够将事件信息发送给其他安全工具,以及其他安全工具是否能够根据 EDR 的信息进行联动响应,例如隔离受感染主机、阻止恶意 IP 地址等。 -
测试示例: 配置EDR将警报信息发送给SIEM,然后模拟一个攻击行为,例如执行恶意脚本,观察 SIEM是否能够接收到 EDR的警报信息,并进行相应的处理,例如生成事件报告、触发告警通知等。
目的: 模拟真实的攻击场景,全面评估EDR在实战环境中的防御效果。 这是最接近实战的测试方式。测试原理: 组建红蓝对抗团队,红队模拟攻击者,蓝队负责防御,使用真实的攻击工具和技术进行攻防演练,并观察 EDR的整体表现。-
测试实践过程: 组建团队:组建红蓝对抗团队,红队模拟攻击者,蓝队负责防御。 确定规则:确定演练目标、范围、规则和时间。 开始演练:红队使用真实的攻击工具和技术对目标系统进行攻击,蓝队使用EDR和其他安全工具进行防御。 观察记录:观察EDR在演练过程中的表现,例如是否能够及时检测到攻击行为、是否能够有效地阻止攻击、是否能够提供有价值的攻击信息等。 总结分析:演练结束后,红蓝双方进行总结,分析EDR的优缺点,并提出改进建议。 -
测试示例: 红队利用EternalBlue漏洞入侵目标主机,蓝队使用EDR检测到入侵行为,并隔离受感染主机,阻止攻击扩散。整个过程需要详细记录和分析。
如果您觉得文章对您有所帮助,还请您关注我!
原文始发于微信公众号(再说安全):EDR安全测试清单/指南(2024)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论