Common use casesTo simplify the problem, below are the most common use cases in support of vulnerability assessment agents:
- Platform support for agent technologies (Windows, Linux, and MacOS) that are air-gapped, hardened, short time-to-live, cloud, virtual, etc. In other words, you need to scan this asset, and accessing it with a network scanner may not be possible due to routing, location, hardening, or even credentials. A local agent accomplishes the task even if the instance will be short-lived. Think containers.
- Immediate assessment results via API, Scripts, or CLI to support context-aware integration initiatives such as NAC and Adaptive Response.
- Deployment architectures that do not easily support network scans – remote devices, cloud, and mobile (notebooks and tablets) and mobile employees.
- DevOps certification of assets before deployment. If it can be assessed rapidly, automated, and without increasing the risk surface, it should be a part of every Secure DevOps
- Standalone assets, like point of sales systems, ATMs, or embedded devices that require assessments for security best practices or regulatory compliance and may not be routable, have collision domains, or do not permit remote authenticated scans.
Two types of agentsWith these use cases in mind, there are two types of vulnerability assessment agents:
- Local – Agents are installed persistent on the asset and managed. Key management features include:
- Binary version updates
- Signature or audit database updates
- Job scheduling
- Ad-hoc assessments via the management console, API, or CLI
- Store and forward of scan results
- Scriptable installation and minimal resource consumption
- Dissolvable – Agents are installed on-demand via a script or trigger. Once the assessment is complete, the agent automatically uninstalls. Key management features include:
- Installation is complete with latest versions. No need to update before an assessment
- Minimal resource consumption
- Uninstall does not leave any files or fingerprints behind
- Installation, operation, results, uninstall, and fault analysis is available via API or CLI