The project's goal is to develop solution to detect malicious image attacks, through the Machine Learning tool.
The project consists two main stages:
- The first stage consists of learning Web weaknesses. We investigated the XSS and CSRF attacks. We developed vulnerable sites to the different types of weaknesses. Implements of an attack site and an illustration of the attack of XSS and CSRF attacks.
- The second stage consists of the construction of stenography images, and the identification of stenography images using machine learning.
Accuracy : 85.56 %
- Choosing CIFAR-10 dataset.
- Consists 50K 32x32 color images in 5 classes, with 10K images per class.
- Select 25K images, and inject 384B malicious JS code to each image.
- x.cvs and y.csv.
- x.csv - each row contain the pixels' data in RGB format of each image.
- y.csv - each row contain tag of each image, 1 - malicious image and 0 - clear image.
- Using XGBoost.
- Implement XGBoost model with depth of 256.
- Features: pixels of the image.
- Labels: 1 - malicious image and 0 - clear image
-
Anaconda 3 (recomended) https://conda.io/docs/user-guide/install/download.html
-
python 3 (anthor option) https://www.python.org/downloads/
-
the following packages:
- xgboost
conda install -c conda-forge xgboost - opencv-python
conda install -c menpo opencv - sklearn
conda install -c anaconda scikit-learn - cPickle
- mxnet
- xgboost
-
CIFAR-10 dataset (optinal) The cifar-10 will be installed automatically on cloning. Download Manually From : https://www.cs.toronto.edu/~kriz/cifar.html
- cloning the repository.
- run the "createData.py" file. create the images and convert them to csv files.
- run the "xgboost_model.py" file. run and train the model on the dataset.
- Noam Simon - [email protected]
- Chen Eliyahou - [email protected]
- Alon Shats - [email protected]