-
Notifications
You must be signed in to change notification settings - Fork 301
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
49 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,50 @@ | ||
# HackingNeuralNetworks | ||
# Hacking with and into Neural Networks | ||
|
||
<span style="color:red">**Disclaimer: This article and all the associated exercises are for educational purposes only.**</span> | ||
|
||
|
||
This is a short introduction on methods to 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 as well in the 'Article.pdf' file here or on arXiv at | ||
|
||
|
||
--- | ||
|
||
## 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. | ||
|
||
--- | ||
## What else? | ||
|
||
The neural networks found in the exercises are based on the examples provided by [keras](https://keras.io/). | ||
|
||
If you find that there are errors or missing references, feel free to make a PR or contact me. |