应用安全常见问题

本文介绍使用应用安全过程中可能会遇见的常见问题。

应用安全对应用运行是否存在影响?

应用安全自身对性能、兼容性和稳定性有良好的控制,对应用运行的影响几乎可以忽略不计。实际测试中,CPU的额外开销小于1%,内存开销小于30 MB,应用延迟(RT)小于1 ms。此外,应用安全还提供观察模式、软熔断逃生机制等功能,最大限度降低对应用运行的干扰。

如何接入应用安全?

您可通过ARMS控制台一键接入应用安全,接入后重启目标应用对应的实例即可,无需修改任何应用代码。应用安全目前仅支持Java应用接入。具体操作,请参见接入应用安全

接入应用安全后应如何进行应用防护?

理论上来说,应用安全检测到的攻击是能够实际产生安全威胁的行为,相比基于流量特征的传统检测技术而言,误报率较低,所以对应用安全功能所检测到的攻击,必须引起重视。在接入应用安全后,应用安全对攻击的默认防护模式为“监控”。在应用稳定运行后,您可切换为“监控并阻断”模式。

为什么攻击统计中没有攻击数据?

没有攻击数据可能存在以下三种原因:

  1. 目标应用没有完成接入。在控制台单击接入后没有重启目标应用对应的实例(或只重启了部分实例)。

  2. 目标应用的Java探针版本较低。应用安全对探针版本要求如下。更多信息,请参见接入应用安全

    • 容器服务应用、EDAS应用等自动升级场景要求版本需为v2.7.1.2或以上。

      说明

      自动升级场景是指可以通过重启应用或Pod等操作自动升级探针版本的场景。更多信息,请参见升级ARMS探针

    • 其他手动升级场景要求版本需为v2.7.1.3或以上。

  3. 没有产生真实有效的攻击行为。与传统防火墙不同,应用安全仅记录真实有效的攻击。传统防火墙会在检测到报文中存在恶意攻击特征时进行上报,但存在恶意特征不代表攻击有效,例如利用PHP漏洞的攻击请求在Java环境中则没有意义。若产生真实有效的攻击,往往表明攻击者已成功突破外层防御,可以打入应用内部环境并执行危险动作。您的应用可能不会存在大量真实有效的攻击,但发生时请务必引起重视,及时拦截或者修复相关安全漏洞。

危险组件检测中的漏洞应该如何处理?

危险组件检测中关联到的漏洞均为已被公开的漏洞,这些漏洞可能会被攻击者利用进行入侵(即使当前无法被利用,未来应用代码改动后也存在被利用的风险)。通常情况下,这些漏洞可以被应用安全防御,前提是相关应用的防护模式已经切换到监控并阻断而不是默认的监控模式。

同时,建议您及时修复这些漏洞。您可以登录ARMS控制台,在应用安全 > 危险组件检测页面单击列表中目标漏洞详情列的查看,在漏洞详情页签的修复参考区域查看相关修复建议。这些建议多数为相关组件官方提供的升级或修复方案。您也可以通过在搜索引擎中搜索漏洞的CVE编号检索相关修复方案。