Giter Site home page Giter Site logo

malware_evasion_competition's Introduction

UPDATE

The competition concluded 24 Oct 2019. While this repo will persist, the competition website has been taken offline.

Machine Learning Static Evasion Competition

This repo contains code to be used in conjunction with the Machine Learning Static Evasion Competition. To participate, you must register here. This repo is intended to assist contestants in constructing a white-box attack, by providing model weights and inference code.

Models

This competition contains three trained models

  1. MalConv trained on EMBER 2018 binaries
  2. Non-negative MalConv trained on EMBER 2018 binaries.
  3. A LightGBM model trained on the EMBER 2018 features dataset

Getting Started

Pre-requisites

The model evaluation code requires Python 3.6. (LIEF is not easily installed with Python 3.7, so Python 3.6 is recommended.) A Miniconda or Anaconda environment is recommended.

  1. Follow the installation instructions for EMBER.
  2. Install pytorch for Python 3.6 on your platform

Predicting with models

  1. Checkout this repository and unzip compressed LightGBM model
cd malware_evasion_competition
pushd models/ember && unzip ember_model.txt.zip && popd
  1. Evaluate the models on a sample via the command-line python3 models.py some.exe

White-box attack

It is up to each contestant to devise a white-box attack against the models. Weights and parameters for each model are located in individual subfolders in the models/ folder.

For MalConv and Non-Negative MalConv, a differentiable white-box attack (for example, the FSGM attack) may be possible, although care must be taken to ensure the modified binary is still functional. As noted in the MalConv.py, the objective function (required for differentiable attacks) used to train the models was criterion = nn.CrossEntropyLoss().

Communicate with other participants

Follow the competition in github issues here and in the MLSEC Slack channel.

malware_evasion_competition's People

Contributors

drhyrum avatar egsgithubweb avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.