About Vulnerability Management (VM)
Vulnerability Management is a tool for centralized management of container image and endpoint vulnerability scanning and for viewing scan results within your workspace.
It detects vulnerabilities in container images stored in Container Registry and Cloud Registry, in images run in Managed Service for Kubernetes clusters, and in endpoints of your applications and services.
Image scanning
Vulnerability Management supports scanning container images from the following sources:
- Yandex Container Registry, the Docker image storage and distribution service.
- Yandex Cloud Registry, the artifact storage and distribution service for artifacts of different types, including container images.
- Kubernetes clusters monitored by Kubernetes® Security Posture Management (KSPM).
Scan triggers
Image scanning can start automatically on one of the following triggers:
-
Image push: Scanning starts automatically when you push a new image to Container Registry or Cloud Registry.
-
Scheduled run: Scanning starts from time to time according to a schedule. Depending on your settings, the following is scanned:
-
All images in the registries, including those added since the previous scan.
-
Only images with the
latesttag or those added since the previous scan.For more on image tags, see Docker image version control.
-
-
Image use: Scanning starts automatically when you create a new Managed Service for Kubernetes cluster or container with an image in an existing cluster.
You can combine the triggers for maximum scan coverage.
Scanning images in Kubernetes clusters
When integrated with KSPM, Vulnerability Management automatically detects images running in Managed Service for Kubernetes clusters assigned to the workspace.
With the scheduled scan trigger on, the scanning of Kubernetes cluster images works like a filter: each run generates a list of images which are then scanned.
Scanning application and service endpoints
Vulnerabilities in endpoints pose a serious threat to data security and to the stable operation of applications and services. The Vulnerability Management module enables you to discover external endpoints of applications and services and check them for vulnerabilities by sending test requests and analyzing the responses.
Security Deck implements endpoint vulnerability scanning and analysis utilizing SolidPoint DAST
To work with endpoint scanning, you need the following roles:
vulnerability-manager.editoror higher to create, update, and delete scan schedules, as well as to run scan jobs.vulnerability-manager.vieweror higher to view scan results.
Scan targets
A scan target is a service or application within the scope of Vulnerability Management that has a known IP or URL address along with defined properties such as its hosting resource, technology, etc.
Currently, Vulnerability Management can discover scan targets deployed within the selected scope across these resources:
- Yandex Compute Cloud VM instances.
- L7 load balancers from Yandex Application Load Balancer.
- Network load balancers from Yandex Network Load Balancer.
Scan schedules
Scans in basic attack surface analysis mode run automatically and discover all targets within your selected Vulnerability Management scope.
Scans in advanced attack surface analysis and deep vulnerability scanning modes run according to a scan schedule. A scan schedule is a Vulnerability Management resource that specifies the target groups, scanning mode, modules to apply, and scanning frequency.
Scan target groups
When configuring a scan schedule, you can restrict the scan scope by creating a target group with the following settings:
- Resources to scan. In the schedule settings, you can select to discover and analyze targets within the entire Vulnerability Management scope defined in the workspace, or narrow it down to specific clouds and/or folders.
- Addresses to scan. In the schedule settings, you can exclude specific URLs from the scan by specifying them as a list of strings with path segments and/or regular expressions.
Endpoint scanning modes
Currently, Vulnerability Management provides three endpoint scanning modes: basic attack surface analysis, advanced attack surface analysis, and deep vulnerability scanning.
Basic attack surface analysis runs automatically at the interval defined in the Vulnerability Management workspace settings.
To perform an advanced attack surface analysis or deep vulnerability scanning, you need to create and configure a scan schedule first. The scan schedule will run regular scan jobs as often as specified in its settings. Additionally, a user can manually trigger a scan job within a schedule.
Basic attack surface analysis
Basic attack surface analysis starts automatically after you enable regular vulnerability scanning in the workspace's vulnerability management settings. This mode runs regular scan jobs within the selected scope, which include the following operations:
- Resource type detection.
- IP addresses inventory.
- Inventory of open ports.
- Identification of applications and services.
- For web applications, discovery of endpoints and application fingerprinting.
Basic attack surface analysis relies on the following modules (analysis methods):
|
Module name |
Analysis method |
Description |
|
|
Static web crawling and dirbusting |
The crawler explores web resources to analyze HTML markups without page rendering, with optional dirbusting. |
|
|
Dynamic web crawling |
The crawler identifies endpoints through dynamic interaction with web app interfaces using a managed browser. |
|
|
Signature-based resource analysis and technology detection |
Based on the |
|
|
GraphQL |
Sends GraphQL-specific HTTP requests to identify GraphQL endpoints. |
Basic analysis does not detect vulnerabilities. However, the targets it discovers can be used for deep scanning.
Advanced attack surface analysis
Advanced attack surface analysis identifies additional targets that may have been missed during the basic analysis. While it also does not detect vulnerabilities, its results can be used for deep scanning.
You can trigger advanced attack surface analysis manually or run it on a schedule, the analysis includes the following operations:
- All basic analysis operations.
- Configuration analysis for TLS, CORS, and SSH.
- Detection of known vulnerabilities.
Advanced attack surface analysis scans a target group using all basic analysis modules, plus the following additional modules (analysis methods):
|
Module name |
Analysis method |
Description |
|
|
Client-side JavaScript |
Identifies server endpoints by analyzing client-side JavaScript code. |
|
|
Controlled serialized data |
Searches for serialized objects in server responses and supports PHP |
|
|
Flaws in advanced Nuclei |
Performs active endpoint scanning using advanced Nuclei templates. |
|
|
Flaws in Nuclei signatures |
Performs active scanning of various protocols using Nuclei YAML signatures. |
|
|
Incorrect CORS configuration |
Identifies CORS configuration flaws that allow unauthorized web pages to access application resources. Flaws are identified by sending requests with various |
Deep vulnerability scanning
Beyond advanced attack surface analysis, deep vulnerability scanning combines signature scanning and attack simulation to detect various threats: from insecure data serialization to SQL and NoSQL injections, XSS attacks, Path Traversal, and more.
Deep vulnerability scanning can be either run manually or on a schedule, and includes the following operations:
- All advanced analysis operations.
- Fuzzing
. - Cross-referencing with the CVE
database. - Detailed object analysis.
Deep vulnerability scanning examines a target group using all basic and advanced analysis modules, plus the following additional modules (analysis methods):
|
Module name |
Analysis method |
Description |
|
|
Client-Side Prototype Pollution |
Performs dynamic checking of JavaScript code execution on the application page in a web browser. |
|
|
Client-Side Prototype Pollution |
Performs dynamic analysis of data flows that may lead to CSPP. |
|
|
DOM XSS |
Performs dynamic analysis of data flows that may lead to DOM XSS. |
|
|
Stored XSS |
Performs a two-step crawl of the application with dynamic checking of JavaScript code execution. |
|
|
Accounts with weak credentials |
Performs dictionary-based brute-forcing to expose accounts with weak login credentials. |
|
|
File upload vulnerabilities |
Identifies flaws related to PHP code execution, ImageMagick |
|
|
This experimental module isolates potentially unsafe parameters and sends requests with substituted values. |
|
|
|
Insecure deserialization in Java |
Identifies flaws in Java web applications using objects found by |
|
|
NoSQL injections |
Identifies flaws when user data leak into the context of NoSQL |
|
|
Exposes access to files and directories by searching for standard system files. |
|
|
|
Reflected XSS |
Identifies Reflected XSS based on the |
|
|
Reflected XSS |
Performs dynamic checking of JavaScript code execution on the application page in a web browser. |
|
|
Performs shell command injections, validating results in HTTP responses and via blind time-based checks. |
|
|
|
Detects SQL injections through |
|
|
|
Detects server-side template injections through |
|
|
|
Detects XML External Entity through |
|
|
|
Insecure deserialization in PHP |
Exposes flaws in PHP applications using objects discovered by |
When configuring a scan, you can disable checks for specific modules.
Warning
Deep scanning may have the following negative efffects:
- Scanning generates extra load that can exceed the estimated capacity of your application or service.
- Scanning can slow down your applications or services or even cause their downtime.
- Requests sent to API components of the scanned applications and services can trigger unwanted external actions such as sending emails, text messages, or requests to adjacent systems.
Scan results
Information about discovered targets is displayed on the Endpoints tab of the Vulnerability Management module and includes:
- Endpoint address of the target and the ports it uses.
- Name and type of the resource housing the target.
- Service or protocol handling requests to the target.
- Technologies used to process requests to the target.
- Number of paths discovered at the target.
- Number and severity of discovered vulnerabilities.
For general information about the number and severity of discovered vulnerabilities, see the Vulnerability Management dashboard and global workspace dashboard. Additionally, when a vulnerability is detected, Vulnerability Management generates an alert.
For detailed information on scan results and discovered vulnerabilities, see the Scans tab of the Vulnerability Management module. For more information, see Viewing endpoint scan results in Vulnerability Management (VM).
Useful links
- Activating the module Vulnerability Management (VM)
- Creating an endpoint scan schedule in the Vulnerability Management module (VM)
- Running an endpoint scan in Vulnerability Management (VM)
- Viewing endpoint scan results in Vulnerability Management (VM)
- Working with the Vulnerability Management (VM) dashboard
- Security Deck workspaces
- Kubernetes® Security Posture Management (KSPM)
- About Alerts
An endpoint is an application component's URL address open to HTTP requests and returning a response. Endpoints are all points of interaction with an application: from public pages to internal API methods.
A fingerprint is an identifiable set of technical characteristics of a web service (HTTP headers, response patterns, URL structure, error-triggered behavior, and so on) that allows you to determine the service type, version, and configuration.
Web crawling is the sequential traversal of web pages to analyze their content and collect data for further processing.
Dirbusting refers to dictionary-based brute-forcing of endpoints.