Deep Learning for Malware Detection

building a vision-only model to predict robot arm joint configuration

My final project for the high-performance machine learning class focused on model optimization. Specifically, we wanted to reduce the inference time of a CNN by using a combination of quantization and pruning.

The specific model we wanted to work with was MalConv (see original MalConv model paper here), a CNN which classifies EXE files as benign or malicious. We figured that any malware detection tool needed to be fast and also lightweight so that is can be run frequently without jeopardizing the host machine’s performance.

While the primary objective of the project was to significantly decrease inference time of MalConv, the data used in the paper was not easy to access to a large portion of the project was actually spent scraping the internet for both benign and malicious EXE files to use to train and test the model. It was important to build a training/testing dataset because we needed to ensure optimizations wouldn’t reduce the model’s accuracy.