ARSENAL#
arsenal is a Machine Learning (ML) plugin to CALDERA, that implements Tactics, Techniques, and Procedures (TTPs) specific to ML operations described in MITRE ATLAS.#
Included ML Libraries#
Arsenal implements the following libraries for emulating AI/ML adversarial behavior:#
Counterfit- which wrapsAdversarial Robustness Toolbox (ART),TextAttack, andAuglyVulhubin conjunction withML-Vulhub- deploy vulnerable environments via dockertorch-serve- serve any type of model to emulate / red-teamMinIO- deploy object stores and S3 buckets to immitate a victim system hosting data and/or modelsAlmanac- generate adversary layers (sequences of operations) based on MITRE ATLAS TTPs.
Implemented Abilities#
Reconnaissance: Remote ServicesThis ability enables users to first scan a vicitm’s system and collect information about IP addresses that are in use
Reconnaissance: List Network InterfacesThis ability allows users to list available (physical or virtual) network interfaces
Reconnaissance: Gather Information for Protocol AddressesThis ability allows users gather the IP address and netmask (in CIDR notation) for each IP address available on the machine. Only IPs with “scope global” (valid everywhere) are considered.
Reconnaissance: Gather Information for TCP SocketsShow TCP connections in listening state, without resolving the IP addresses and the port number.
Collection: Find Tensorflow model checkpoint filesLocate Tensorflow model checkpoint files
Collection: Search and Stage Tensorflow model filesSearches for Tensorflow directories and checkpoint files, and then stages
Collection: CNN Image ClassifierSearches for images and applies an image classifier
Discovery: Discover TorchServe APIThis ability allows a user to discover IP address that host ML services (PyTorchServe) and the model file(s) they are serving.
ML Model Access: Inference API AccessGain access to TorchServe prediction endpoint
ML Attack Staging: Build and Attack a Custom CFTargetCreates an interface between a target model and the attacks included in a framework. This is done by creating a sub-class of counterfit.core.targets.CFTarget, where the collected target.model_server.prediction_endpoint fact will be used to specify the target_endpoint. Once the respective target is built, the attack is executed against the target.
Implemented Autonoumous Adversaries#
For implemented autonomous adversaries, navigate to our page for more details!
Developers#
If you are a developer and looking to contribute to arsenal or modify it for your needs, please navigate to the developers page.
Currently, arsenal is not a default plugin within caldera, and therefore additional setup to integrate with the app is required.