Detecting Image Steganography Using Neural Networks
This project focuses on utilizing neural networks to detect image steganography, specifically targeting the F5 algorithm. The team aims to develop a model that is capable of detecting and cleaning hidden messages in images without relying on hand-extracted features. They use a dataset from Kaggle containing cover and stego images for training and validation. The project emphasizes the importance of machine learning techniques for steganalysis, showcasing the evolution from statistical analysis to convolutional neural networks.
Download Presentation
![](/assets/img/so-down.gif)
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
Neural Networks for Detecting Image Steganography Group 25 - Arpan Dutta Tanmay Patil Zhouyang Li
Background What is Steganography? Steganography is the technique of hiding secret data within an ordinary, non-secret, file or message in order to avoid detection. We will be focusing on image steganography and how to detect them. Different types of image steganography algorithms: LSB, Jsteg, F3, F4, F5 ...etc
Background - Image Steganography Secret Message Cover Image Stego Image
Literature Survey The work in [5] is a traditional approach for steganalysis. This does not use any machine learning technique, rather relies on statistical analysis. The accuracy (53.33%) is very low leading to many false positives and negatives. [1] builds on [5] to perform steganalysis using Machine Learning algorithms. They use decision trees, naive bayes and dense neural networks for classification. Decision tree and NN have average accuracies of 63% and 69.33% respectively. [4] builds further on this and uses convolutional neural networks for steganalysis. They also incorporate feature engineering to extract JPEG specific features. The get 80.24% accuracy.
Aim of the Project The primary aim of the project is to detect F5 stego images. A secondary goal that we were able to achieve was to clean F5 stego images (remove the hidden message). We want our model to be generic and not rely on any hand extracted features, so that the same model can be used to detect other image steganography algorithms.
Dataset Source - stego_dataset | Kaggle Contents- 4000 - Cover images for training 1000 - Cover images for validation 4000 - Stego images for training 1000 - Stego images for validation Each image is 224 x 224 pixels and has 3 channels - RGB Cover Images Stego Images
Dataset Preprocessing Can t Do We cannot resize any image for steganography detection. When resizing images the artifacts that the hidden message adds to the stego image gets filtered out due to interpolation. Can do Any linear operation that does not remove the artifacts generated from steganography. The secret message is hidden in DCT coefficients. The DCT coefficients carry frequency information. So in-order to highlight this frequency information we can use a High Pass Filter (HPF) on the images. And this HPF can be used for any type of JPEG steganography. The HPF can be implemented just by using 2D convolution with the matrix W.
Model - A Model Source - Xu, G. (2017, Fall). Machine learning based digital image forensics and steganalysis. This Model was originally intended for other types of JPEG Steganography (not F5). We used the same model for detecting F5 Steganography. It uses 6 stages of CNN and a final Dense layer for classification. It uses Batch-Normalization in each group so that the model doesn t get stuck in a local minima. ABS layer right after this convolutional layer to discard the signs of the elements in the feature maps, So that the network trains symmetrically for both +(ve) and -(ve) signs. Total Number of Parameters - 47,665
Model - A - Results With HPF Without HPF
Model - B 1*1 Dense Model A was too deep for this problem and was overfitting (even with dropout layers). 1*128 Dense So we used a model with lesser depth. 1*401408 Flatten Total Number of Parameters - 51,381,377 32*(112*112) Max-Pool 32*(224*224) Convolutional 3*(224*224) HPF 3*(224*224) Input Image
Model - B (without HPF) - Results Without HPF With HPF
Model - B (Lower LR) - Results Without HPF With HPF
Model - B - Results (Summary) Model B - Accuracy Default Learning Rate and without HPF = 99.5% Default Learning Rate and with HPF = 99.85% Learning Rate = 0.0001 and without HPF = 98.55% Learning Rate = 0.0001 and with HPF = 99.60%
Model - C - Autoencoder We build an Autoencoder that can clean stego images. 3*(224*224) Convolutional Max-Pool We trained this model using Stego images as input and cover images as target output. 48*(224*224) 48*(224*224) Total Number of Parameters - 23,427 Convolutional UpSampling 3*(224*224) 48*(112*112) Input Image Convolutional 48*(112*112)
Model - C - Result Training Loss = 0.0009 Validation Loss = 0.0011
Model - C - Verification 1000 Stego images and 1000 cover images were cleaned using the Autoencoder (Model - C) and detected using Model - B. Not Cleaned Cleaned Stego Images 992 Detected - Stego images 4 Detected - Stego images Cover Images 2 Detected - Stego images 1 Detected - Stego images
Further items to be completed 1. 2. 3. Collect more dataset to test the accuracy of our model. Train and Test model to detect other steganography algorithms. Test model for blind Steganography detection.
Reference [1] Searching For Hidden Messages: Automatic Detection of Steganography, G. Berg, I. Davidson, M.-Y. Duan, and G. Paul, IAAI, 2003, pp. 51 56. [2] Steganography Detection Using Neural Networks, T. R. Benala, S. Dehuri, A. Pagadala, and A. Palakonda, International Conference on Systemics, Cybernetics and Informatics, pp. 55 59. [3] Oplatkova, Z., Holoska, J., Zelinka, I., & Senkerik, R. (2008, September). Steganography Detection by Means of Neural Networks. 2008 19th International Conference on Database and Expert Systems Applications. https://doi.org/10.1109/dexa.2008.82 [4] Xu, G. (2017, Fall). Machine learning based digital image forensics and steganalysis. Retrieved from https://digitalcommons.njit.edu/cgi/viewcontent.cgi?article=1009&context=dissertation [5] Westfeld, A. 1999. F5 - A Steganographic Algorithm. In Third International Workshop on Information Hiding, (Dresden, Germany), Springer Verlag, 289-302.