Performance and stability
Does Application Security affect application performance?
The overhead is negligible. Benchmark tests show the following impact:
| Metric | Impact |
|---|---|
| CPU | Less than 1% |
| Memory | Less than 30 MB |
| Response time (RT) | Less than 1 ms per request |
Two built-in safeguards prevent interference with your application:
Observation mode -- Detects threats without blocking requests, so you can verify stability before enabling active protection.
Soft fuse escape mechanism -- Minimizes interference to your application by providing an automatic escape mechanism.
Which languages are supported?
Application Security supports Java applications only. The following table lists the minimum agent versions required:
| Upgrade method | Minimum version |
|---|---|
| Automatic upgrade (container and EDAS applications) | v2.7.1.2 |
| Manual upgrade | v2.7.1.3 |
No code changes are required.
Automatic upgrade means agent versions update when you restart applications or pods. For details, see Update the ARMS agent for Java applications.
Setup
How do I enable Application Security for an application?
Enable Application Security in the ARMS console.
Restart all instances that run your application.
No application code changes are needed. For detailed steps, see Access application security.
How does protection work after I enable it?
Application Security defaults to Monitor mode, which detects and records attacks without blocking them.
After the application runs stably in Monitor mode, switch to Monitor and Block to actively block attacks.
How this differs from a traditional firewall:
A firewall matches traffic against known patterns and flags requests that _look_ malicious -- even if they pose no real threat. For example, a PHP exploit targeting a Java application triggers a firewall alert but cannot actually harm the application. Application Security takes a different approach: it only records real attacks, resulting in a significantly lower false positive rate. When Application Security does report an attack, treat it as a high-priority security event because it means an attacker has broken through the outer defense and can enter the internal environment of the application.
Troubleshooting
Why is the Attack Statistics page empty?
Check these causes in order:
Instances not restarted. After you click Add in the ARMS console, restart _all_ instances for the application. Restarting only some instances leaves the others unprotected.
Java agent version too old. Application Security requires Java agent v2.7.1.2 or later for automatic upgrades (container and EDAS applications), or v2.7.1.3 or later for manual upgrades.
No real attacks have occurred. Unlike a traditional firewall that reports attacks when it detects malicious characteristics in packets, Application Security only records real attacks. For example, attack requests that exploit PHP vulnerabilities are ineffective in the Java environment. An application may not have a large number of real attacks. However, when an attack does appear, treat it as high-priority -- it means an attacker has broken through the outer defense and can enter the internal environment of the application and perform risky actions. You must intercept attacks or fix security vulnerabilities in a timely manner.
Vulnerability remediation
How do I handle vulnerabilities on the Risky Component Detection page?
Vulnerabilities listed on this page are common vulnerabilities. Even if not actively exploited today, they may be exploited in the future after attackers modify application code.
Immediate mitigation: Switch the protection mode to Monitor and Block. This defends against exploitation of known vulnerabilities.
Permanent fix: Upgrade or patch the affected components:
In the ARMS console, go to .
Find the vulnerability and click View in the Details column.
On the Details tab, check the Fix Reference section for official upgrade instructions or patches.
If no fix is listed, search for the CVE ID of the vulnerability in a search engine to find community-provided remediation guidance.