Coder Social home page Coder Social logo

rhr407 / evagan Goto Github PK

View Code? Open in Web Editor NEW
12.0 3.0 4.0 257 KB

The repository is dedicated to Evasion Generative Adversarial Network source code.

License: MIT License

Jupyter Notebook 60.32% Python 39.68%
generative-adversarial-network botnet-detection mnist-dataset evasion-attacks blackbox

evagan's Introduction

Evasion Generative Adversarial Network for Low Data Regimes

A myriad of recent literary works has leveraged generative adversarial networks (GANs) to spawn unseen evasion samples. The purpose is to annex the generated data with the original train set for adversarial training to improve the detection performance of machine learning (ML) classifiers. The quality of generating adversarial samples relies on the adequacy of training data samples. However, in low data regimes like medical diagnostic imaging and cybersecurity, the anomaly samples are scarce in number. This paper proposes a novel GAN design called Evasion Generative Adversarial Network (EVAGAN) that is more suitable for low data regime problems that use oversampling for detection improvement of ML classifiers. EVAGAN not only can generate evasion samples, but its discriminator can act as an evasion aware classifier. We have considered Auxiliary Classifier GAN (ACGAN) as a benchmark to evaluate the performance of EVAGAN on cybersecurity (ISCX-2014, CIC-2017 and CIC2018) botnet and computer vision (MNIST) datasets. We demonstrate that EVAGAN outperforms ACGAN for unbalanced datasets with respect to detection performance, training stability and time complexity. EVAGAN's generator quickly learns to generate the low sample class and hardens its discriminator simultaneously. In contrast to ML classifiers that require security hardening after being adversarially trained by GAN generated data, EVAGAN renders it needless. The experimental analysis proves that EVAGAN is an efficient evasion hardened model for low data regimes for the selected cybersecurity and computer vision datasets.

Prerequisites

Following main libraries were used in the development. However, some other libraries being imported in the header.py file may need to be installed.

  • Tensorflow
  • Keras
  • Numpy
  • For the rest of the packages please refer to header.py file.

Manuscript

Full text manuscript can be found here.

Dataset

The preprocessed datasets can be downloaded from here.

Cite this Work

Randhawa, R. H., Aslam, N., Alauthman, M., & Rafiq, H. (2021). EVAGAN: Evasion Generative Adversarial Network for Low Data Regimes. arXiv preprint arXiv:2109.08026.
@misc{randhawa2022evagan,
      title={EVAGAN: Evasion Generative Adversarial Network for Low Data Regimes},
      author={Rizwan Hamid Randhawa and Nauman Aslam and Mohammad Alauthman and Husnain Rafiq},
      year={2022},
      eprint={2109.08026},
      archivePrefix={arXiv},
      primaryClass={cs.CR}
}

To Do

The user will need to manually create the cache and figs folders inside the project directory. Within both folders, there will need to create subfolders as ACGAN_CV ACGAN_CC EVAGAN_CV and EVAGAN_CC. The code will be patched for the automatic creation of these folder/subfolders soon.

evagan's People

Contributors

rhr407 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

evagan's Issues

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.