Static malware detection using recurrent neural networks
Statická detekce malware využívající rekurentní neuronové sítě
Authors
Supervisors
Reviewers
Editors
Other contributors
Journal Title
Journal ISSN
Volume Title
Publisher
České vysoké učení technické v Praze
Czech Technical University in Prague
Czech Technical University in Prague
Date
Abstract
Neustále rostoucí počty útoků škodlivých programů na naši IT infrastrukturu si žádají nové a lepší metody ochrany. V této bakalářské práci se věnujeme využití rekurentních neuronových sítí pro rychlou a přesnou detekci malwaru. Pro reprezentaci podezřelých programů jsme využili pouze data extrahovaná ze souborů v PE formátu. Tato data jsme dále použili pro trénink různých druhů rekurentních neuronových sítí. V práci představujeme speciální architekturu neuronové sítě, kombinující husté a LSTM vrstvy, ke klasifikaci PE souborů. Pracovali jsme s naším vlastním datasetem obsahující 30154 souborů stažených z dostupných zdrojů. S tímto datasetem, který je rovnoměrně rozdělen mezi čisté a škodlivé soubory, jsme dosáhli přesnosti 98,41 % s pouze 0,5 % legitimních programů mylně klasifikovaných jako malware. K těmto výsledkům nám stačilo pouhých 250 iterací přes treninkový soubor vzorků k naučení naší sítě. Výsledky dokazují, že algoritmy strojového učení, hlavně LSTM sítě, mohou být využity jako rychlý a spolehlivý nástroj pro detekci škodlivých souborů.
An ever-growing number of malicious attacks on our IT infrastructure calls for new and better methods of protection. In this thesis, we focus on the use of recurrent neural networks as an agile and accurate way of detecting malware. We only used features extracted from files in the PE file format to represent the suspicious programs which we used to train various types of recurrent neural networks. In this work, we present unique neural network architecture combining dense and stacked LSTM layers to classify PE files. We worked with our dataset of 30,154 files collected from available resources with which we achieved an accuracy of 98.41%, while only 0.5% of benign samples were misclassified as malware on our balanced dataset. All this was accomplished with only 250 epochs of training. These results prove that machine-learning algorithms, especially LSTM networks, can be used as a quick and reliable tool for malware detection.
An ever-growing number of malicious attacks on our IT infrastructure calls for new and better methods of protection. In this thesis, we focus on the use of recurrent neural networks as an agile and accurate way of detecting malware. We only used features extracted from files in the PE file format to represent the suspicious programs which we used to train various types of recurrent neural networks. In this work, we present unique neural network architecture combining dense and stacked LSTM layers to classify PE files. We worked with our dataset of 30,154 files collected from available resources with which we achieved an accuracy of 98.41%, while only 0.5% of benign samples were misclassified as malware on our balanced dataset. All this was accomplished with only 250 epochs of training. These results prove that machine-learning algorithms, especially LSTM networks, can be used as a quick and reliable tool for malware detection.