Overview
The Security Flow VirusTotal Plugin provides Incident enrichment with threat intelligence from the VirusTotal API. To use this plugin, please ensure to obtain a production API key.
Functionality
The plugin provides the following functionality.
- Create nodes for domain, file, IP address or URL reports.
- Generate a positives confidence value for the given action.
- Customize the output of the positives value using a heuristic.
Instance Configuration Parameters
Name for the VirusTotal instance.
API Key used by the plugin instance to access the information generated by VirusTotal.
Schedule queries such that the VirusTotal API’s rate limits for the API Key license are honored.
Milliseconds to wait between making API requests to VirusTotal.
Enables caching of VirusTotal API responses.
The maximum capacity of the response cache. The maximum value 500.
The maximum age of cached responses, in seconds, before they are removed from the cache.
Flow Nodes
The display name of the node within the flows.
The desired operation with VirusTotal for the node.
- Search Within: Determines the report(s) to run based on a search of the contents within the
Search Within
field. For example, if the supplied value ispayload.ioc
and the contents at that location are as follows,{ "domain": "baddomain.com", "url": "https://baddomain.com/path/to/file" }
a domain report and url report will be run.
- Domain Report: Used to request a report on the supplied Domain.
- File Report: Used to request a report on the supplied file hash. The file hash can be any of the following hashes: MD5, SHA-1, or SHA-256
- IP Address Report: Used to request a report on the supplied IP Address.
- URL Report: Used to request a report on the supplied URL.
This field defines the location from the message, flow, global, or JavaScript expression to use as the data source for the action. Additionally, the node context can also be changed. The following contexts are supported.
- msg.: This selects part of the incoming message as the source of the data. This is typical choice.
- flow.: This selects part of the flow context’s saved data as the source. This information is shared with only the nodes on a given tab.
- global.: This selects part of the global context’s saved data as the source. This information is shared by all nodes regardless of tab.
- J: expression: JSONata expression language to perform query and transform operations on the payload.
NL-Message-Analysis
node instead.
Helper node used to classify an Indicator of Compromise (IoC)
from an VirusTotal report as trusted or malicious based on the
report.
This node takes as input the successful response from
the NL VirusTotal
node or the
NL Broadcast Gather Threat Intelligence
node.
Report analysis nodes have five (5) outputs.
- Malicious: The
Malicious Positives
matched the Indicator of Compromise'spositives
and theresponse_code
== 1. - Trusted: The
Trusted Positives
matched the Indicator of Compromise'spositives
and theresponse_code
== 1. - No Match: The rules did not match the IoC as either trusted or malicious
or the
response_code
== 0. - Report Missing: The incoming message did not include a report for VirusTotal.
- Report Error: A report exists with an error message of some type.
The response_code
returned in a VirusTotal report is inspected to determine behavior.
- -2: Still queued for analysis
- -1: Some unexpected error
- 0: Item is not present
- 1: Item is present and was retrieved
Only a response_code
value
of 1 indicates a currently actionable value.
A value of 0 goes out the Unmatched Item
output.
A value less than zero goes out the Report Error
output.
For URL and file hash reports, the positives
value used for
determining whether to classify an IoC as trusted or malicious is found
directly within the response.
For IP addresses and domains, no positives
value is directly returned.
These are not classified by this analysis node.
However, the following heuristics could be applied in a switch
node. Be aware, that typically trusted domains and IP addresses, such as google.com and microsoft.com,
will report detections through the following heuristics.
For a domain report,
when the total number of elements in the detected_urls
, detected_downloaded_samples
, and detected_referrer_samples
arrays exceeding a certain threshold classify the domain as untrusted.
For an IP report,
when the total number of elements in the detected_urls
, detected_downloaded_samples
, and detected_communicating_samples
arrays exceeding a certain threshold classify the IP address as unstrusted.
The display name of the node within the flows.
Any positives
value matching the defined Malicious Positives
level is considered a malicious IoC. Malicious positive value checks are done against one of the selected ranges.
- >= 1
- >= 2
- >= 3
- >= 4
- >= 5
- >= 10
- >= 15
- >= 20
- >= 25
Any positives
value matching the defined Trusted Positives
level is considered a trusted IoC. This field can be set to Never
to never consider an IoC trusted. Trusted positive value checks are done against one of the selected ranges.
- Never
- < 1
- < 2
- < 3
- < 4
- < 5
- < 10
Metro Office Park
2950 Metro Drive, Suite 104
Bloomington, MN 55425
Phone: +1 952-500-8921
©Nevelex Labs, LLC. 2018-2024, All Rights Reserved.
EULA