Giter Club home page Giter Club logo

hackingneuralnetworks's Introduction

Hacking Neural Networks: A Short Introduction

Disclaimer: This article and all the associated exercises are for educational purposes only.

This is a short introduction on methods that use neural networks in an offensive manner (bug hunting, shellcode obfuscation, etc.) and how to exploit neural networks found in the wild (information extraction, malware injection, backdooring, etc.).

Most of the methods presented are accompanied by an exercise found in this repo. The full article can be found here in 'Article.pdf' or on arXiv (arXiv:1911.07658).


Setup

Python and pip

Download and install Python3 and its package installer pip using a package manager or directly from the website https://www.python.org/downloads/.

Editor

An editor is required to work with the code, preferably one that allows code highlighting for Python. Vim/Emacs will do. As a reference, all exercises were prepared using Visual Studio Code https://code.visualstudio.com/docs/python/python-tutorial.

Packages

  • Keras: Installing Keras can be tricky. We refer to the official installation guide at https://keras.io/#installation and suggest TensorFlow as a backend (using the GPU-enabled version, if one is available on the machine).
  • NumPy and SciPy: NumPy and SciPy are excellent helper packages, which are used throughout all exercises. Following the official SciPy instructions should also install NumPy https://www.scipy.org/install.html.
  • PyCuda: PyCuda is required for the GPU-based attack exercise. If no nVidia GPU is available on the machine, this can be skipped. https://wiki.tiker.net/PyCuda/Installation
  • NLTK: NLTK provides functionalities for natural language processing and is very helpful for some of the exercises. https://www.nltk.org/install.html

The exercises

  • 0 - Last Layer Attack
  • 1 - Backdooring
  • 2 - Extracting Information
  • 3 - Brute Forcing
  • 4 - Neural Overflow
  • 5 - Malware Injection
  • 6 - Neural Obfuscation
  • 7 - Bug Hunting
  • 8 - GPU Attack

For instructions, please read the 'README.md' file in each of the exercise directories.


Further Reading / Watching

Check out:


What else?

The neural networks found in the exercises are based on the examples provided by keras.

If you find that there are errors or missing references, feel free to make a PR or contact me.

hackingneuralnetworks's People

Contributors

kayzaks avatar

Watchers

 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.