Skip to main content

Robustness evaluation framework for ML-Based Windows malware detectors

Project description

ML - Pentest | Are malware detector robust?

This is a software framework that can be used for the evaluation of the robustness of Malware Detection methods with respect to adversarial attacks. Currently, there is a focus on black-box adversarial attacks on PE malware detector.

The high level architecture of the software framework is shown in the following figure.

arch

Attacks included

  • GAMMA, formulated by Demetrio et al., with section injection and API injection manipulations. This implementation of the attack is easily used against any target model by implementing only the specific wrapper. Some code is reused from the open-source repository secml-malware.
  • GAMMA V2, introducted in this framework. Is an augmented version of GAMMA that optimize the section injection position, the section characteristics and the section names.

Models included

Some of the known malware detectors in the literature have already been included by default within the library.

Specifically, the models included include:

  • MalConv (link) in its original formulation. The PyTorch implementation of MalConv was taken from this open source repository.
  • MalConv2 (link), an improved version of MalConv that requires less memory and time to train the model. The PyTorch implementation of MalConv was taken from this open source repository. A pre-trained version of the model is available into the library.
  • EMBER Gradient-Boosted Decision Tree (GBDT) (link): a gradient-boosted decision tree that use EMBER features for classification. A pre-trained version of the model on the EMBER dataset (taken from this repository is available into the library.

It should be noted that any requirements needed to run the models must already be available in the software environment used for execution. The library offers support for any type of model upon implementation of a specific wrapper, with no software dependencies statically encoded in the library.

Therefore, PyTorch must be installed to use the MalConv and MalConv2 models, lgbm for the GBDT model.

Any other model can be used after implementing the specific wrapper and installing the necessary dependencies on the used environment.

Table of Contents

Installation

The library is tested with Python 3.8. The library can be used with later versions of Python as long as they are compatible with LIEF version 0.12.0.

You can install the library by using the following command.

pip install -i https://test.pypi.org/simple/ ml_pentest 

License

This system uses the GNU General Public License v3.0 (GPL-3.0) to ensure that the software remains open-source and free for everyone to use, modify and distribute. The license allows users to use the system for personal or commercial use, modify the code, and distribute the modified code as long as they maintain the same license. The GPL-3.0 ensures that the system's source code remains open and accessible, fostering a collaborative development environment.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ml_pentest-0.0.1.tar.gz (57.9 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page