杀毒软件与EDR原理
背景
如今,渗透测试人员和红队操作员在红队行动中面临着重大挑战,因为杀毒软件和 EDR (终端检测与相应) 等安全产品会阻止许多载荷与工具的执行。在本章节中,我们将讨论攻击者用来规避检测的一些技术。
恶意软件检测
反恶意软件解决方案采用多种技术组合来检测恶意软件。 这些技术包括静态分析、动态分析、基于签名的检测、启发式分析、行为分析以及机器学习。
静态分析
静态分析是在不实际运行代码的情况下分析恶意软件二进制代码的过程。它涉及文件指纹 (例如哈希)、病毒扫描、二进制逆向工程、分析内存中的 IoC 和加壳检测。
动态分析
动态分析涉及在严密监控的虚拟环境中执行程序。它使用基于行为的方法进行恶意软件检测,涉及 API Hooking、对注册表更改的监控、对网络连接与流量的监控、对内存操作的监控等。
基于签名的检测
基于签名的检测依赖于识别恶意软件代码中的已知模式或“签名。杀毒软件使用已知恶意软件签名的数据库来扫描文件并将其与这些模式进行比较。如果找到匹配项,该文件将被标记为恶意文件。基于签名的检测可有效对抗已知的恶意软件,但难以识别新的或未知的威胁。
启发式分析
启发式分析检查文件的特征和结构,以确定它们是否表现出通常与恶意软件相关的特征。该技术不依赖于已知的签名,因此可以检测之前未知或修改过的恶意软件。然而,启发式分析有时会导致误报,将良性文件标记为恶意文件,因为它们与恶意软件相似。
行为分析
行为分析侧重于监视文件或程序执行时的操作和活动,而不是检查文件本身。此方法可以识别恶意行为,例如对敏感数据的未授权访问、与已知恶意服务器的通信,或尝试禁用安全产品。行为分析可以更有效地检测以前未知的恶意软件,但在威胁已经在系统上处于活动状态之前,它可能无法识别威胁。
机器学习
机器学习涉及使用算法来分析大量数据并识别可能表明恶意软件存在的模式或趋势。通过训练机器学习模型来识别已知恶意软件的特征并适应新威胁的出现。这种方法可以提高检测率并减少误报,但它仍然可能难以应对全新或独特的威胁。