内存马防御

内存马是一种仅在内存中执行,由于它不在硬盘上留下痕迹,因此能够隐蔽地进行攻击,同时有效地躲避常规的病毒检测手段,如传统的防病毒软件扫描。应用防护的RASP(Runtime Application Self-Protection)技术通过分析内存数据可以实时检测内存马,并支持对内存马注入和内存马执行过程进行拦截。本文介绍如何使用内存马防御功能。

前提条件

已将Java应用及相关中间件接入应用防护,且应用实例状态为已授权。具体操作,请参见应用配置

内存马检测和拦截逻辑

内存马防御功能支持检测应用分组已授权实例中是否存在内存马、内存马注入和执行调用等行为。该功能通过以下检测引擎实现防御能力:

  • 内存马检测:通过扫描内存分析是否存在恶意代码,帮助用户发现隐藏在内存中的威胁,并在控制台展示内存马检测告警。通过为应用分组打开内存马检测开关,可以激活该引擎。

    image

  • 内存马注入:实时监测与拦截内存马攻击的动态,包括检测内存马的注入和执行行为。当应用分组的检测类型包括内存马注入时,可以激活该检测引擎。应用分组的防护模式设为监控时,引擎将仅对检测到的威胁上报告警而不执行阻断。而在防护模式防护时,该引擎将主动阻断可疑的调用行为,并提供相应的告警信息。面对种类繁多的中间件,该引擎提供了两种内存马攻击拦截方式。

    • 内存马注入过程拦截:RASP通过监控敏感API函数,能够实时监控攻击者通过执行表达式、反序列化等方式注入内存马的行为,在攻击执行注入内存马过程中即可进行阻断,内存马无法注入应用上下文。

    • 内存马执行拦截:当内存马成功注入并尝试在系统内存中运行时,RASP通过结合深度学习与行为识别技术来检测程序的执行过程。该技术通过与已知恶意特征数据库进行对比,能够准确识别并阻止内存马的激活和执行,同时确保不干扰正常的业务操作。因此,即便内存马被植入系统,攻击者也无法通过它达成恶意目的。

查看并处理内存马告警

应用防护功能默认为所有应用分组开启内存马检测。将应用接入应用防护后,您可以参考下述步骤查看并处理内存马告警。

  1. 登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地非中国内地)。

  2. 在左侧导航栏,选择防护配置 > 应用防护

  3. 应用防护页面的内存马防御页签下,设置需查看的应用分组和时间范围。

  4. 查看内存马告警趋势内存马类型分布和内存马告警列表。

    • 内存马检测告警:展示内存马检测引擎检测出的静态内存马文件。以下是内存马检测告警处理状态的说明:

      • 未处理:表示内存马检测引擎已检测到该内存马文件,您需要尽快手动处理该告警。

      • 自动处理已阻断:表示内存马注入引擎已检测到导致告警的内存马文件的运行,并阻断了对应内存马的运行行为。RASP可精准防御该内存马,后续该内存马的运行行为也会被阻断,您可以稍后再通过重启应用清除内存马文件。

      • 未处理已监控:表示内存马注入引擎已检测到导致告警的内存马文件的运行,根据应用分组的防护模式设置未阻断对应内存马的运行行为。您可以通过一键开启防护,为对应的应用分组开启内存马防护能力。

      下述内容是对告警活跃和失活状态的说明:

      • 活跃:触发告警的应用实例状态为在线。

      • 失活:触发告警的应用实例状态为离线。

    • 内存马注入告警:展示内存马注入模型检测出的告警事件。

  5. 单击目标告警操作列的详情,查看检测出的内存马告警的详细信息告警分析,分析是否需要处理内存马告警。

    • 详细信息页签,如需查看内存中运行的Java程序的源代码,您需要打开反编译Java开关。关闭该开关后,云安全中心不会展示反编译代码。

    • 告警分析页签通过使用AI大模型为您提供了内存中运行的代码的解析结果,以及被认定存在内存马的确切依据等信息,使您更精准地评估当前检测到的内存马是否确实构成实质性威胁,从而提升您的安全判断力与响应效率。

      重要

      您需要打开反编译Java开关,才能查看告警分析页签中的内容。告警分析功能会分析反编译后的Java文件。

    image

  6. 处理内存马告警。

    • 手动处理内存马:在业务低峰期,重启应用清除内存马。处理完成后,在控制台将处理方式设置为标记已处理

    • 一键开启防护:将告警服务器所在的应用分组的防护模式切换为防护。切换为防护后,后续该应用分组中检测出的内存马注入或执行行为均会被自动拦截。

    • 忽略:如果无需处理当前告警,您可以在控制台将处理方式设置为忽略

    • 加白名单:前往攻击告警页签,单击目标内存马注入告警操作列的处理,将该告警加入白名单。具体操作,请参见将告警加入白名单

      说明

      内存马检测告警不支持加入白名单。

开启或关闭内存马防御

应用防护以应用分组为单位控制内存马防御的开启或关闭。您可以参考下文开启或关闭应用分组的内存马防御。

  1. 登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地非中国内地)。

  2. 在左侧导航栏,选择防护配置 > 应用防护

  3. 应用防护页面的应用配置页签,单击目标应用分组操作列的防护策略

  4. 防护策略面板的防护策略页签下,选择或取消选择检测类型包含内存马注入的防护策略组。

    选择包含检测类型内存马注入的防护策略后,会开启内存马注入引擎的检测。防护模式监控时,只上报告警不执行阻断操作。防护模式防护时,上报告警并阻断内存马注入或调用行为。

    image

  5. 防护策略面板的检测策略页签下,打开或关闭内存马检测开关,并单击确定

    打开内存马检测开关后,会为该应用分组开启内存马检测。

    image