Kayzaks / HackingNeuralNetworks

A small course on exploiting and defending neural networks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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


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.

About

A small course on exploiting and defending neural networks

License:MIT License


Languages

Language:Python 100.0%