1.2 Deep Learning
(Epelbaum, 2017) Deep learning methods are used
to learn data representations(features) at multiple ab-
straction levels by composing many layers of artifi-
cial neural network units. The feature learning is hier-
archical where the starting layer represents low-level
features and the abstraction level increases with each
further layer. The major advantage of the deep learn-
ing methods is automatic learning of features by train-
ing on large amount of data without any human fea-
ture engineering. Our work uses convolutional neural
network, a kind of deep neural network specifically
used for computer vision applications.
1.2.1 Convolutional Neural Network (CNN)
(O’Shea and Nash, 2015), (Tutorial, 2017) The CNN
architecture consists of three major building blocks.
1. CONVOLUTIONAL LAYERS. These layers con-
sist of a number of filters. The convolution opera-
tion is expressed in terms of neural network oper-
ations where the filters represent the neurons. The
output of filter applied on previous layer is called
as a feature map.
2. POOLING LAYERS. These layers are used to
down sampling of the feature map. These lay-
ers are inserted after one or more convolutional
layers. The pooling layer reduces the over-fitting
by generalizing the feature representations. It re-
duces the number of parameters in the following
layers leading to reduction in computation time.
3. FULLY CONNECTED LAYERS. These are gen-
eral feed forward neural network layers applied at
the end of convolution and pooling layers to com-
bine the features and make predictions of the net-
work.
The CNN also has operations like padding for proper
adjustment of filters at the image boundaries, normal-
ization for stable learning and regularization to reduce
the over-fitting.
The Malware analysis procedures(Static analysis,
Dynamic analysis) have some disadvantages. Static
code analysis takes a long time and requires a do-
main expert to do the analysis. Code obfuscation
techniques hinder this process sometimes. Dynamic
analysis requires detection of the target execution en-
vironment which is complex. It also generates huge
logs and requires a domain expert to carry out the re-
view. Modern malware authors use techniques like
anti-debugging, anti-monitoring, virtual environment
detection, analysis environment detection which hin-
ders both the analysis techniques. Our approach is not
dependent on static and dynamic analysis. It directly
operates on raw binary thereby avoiding these diffi-
culties. The time required for deciding whether the
binary is malicious or not is minimal, once the deep
neural network training is completed.
The Malware detection process presented in this
paper has two major steps 1. Transforming the bi-
naries into images and 2. Training a deep convolu-
tional neural network on these images. The present
system design is focused on detecting 32-bit portable
executable binaries of Microsoft Windows Operat-
ing System. The Portable Executable (PE)(Goppit,
2006) format is a file format for executable, object
code, DLLs etc. used in 32-bit and 64-bit versions
of Windows operating systems. The proposed sys-
tem architecture is file format and operating system
independent. So the system can be easily extended to
other file formats and operating systems by training
the neural network on appropriate datasets.
The rest of this paper is organized as follows. Sec-
tion 2 describes the related work, Section 3 describes
the proposed malware detection system architecture ,
Section 4 describes results, Section 5 describes con-
clusion and Section 6 describes future work.
2 RELATED WORK
Recently machine learning methods especially deep
learning techniques are helping to solve some of
the complex problems in different problem domains.
Some authors used these techniques to detect mal-
ware and cluster malware into families. Joshua Saxe
and Konstantin Berlin (Saxe and Berlin, 2015) have
proposed a four layer deep feed-forward neural net-
work with feature vectors constructed by aggregation
of byte entropy, PE Imports and PE meta-data fea-
tures. Edward Raff et al.(Raff et al., 2017) have used
convolution neural networks with raw byte embed-
dings to detect the malware.
In earlier work we have used machine learning
models on feature sets like file meta information,
import functions, opcode sequences, API sequences,
API Normal and custom flags to classify the binary
as malware or benign. We created different meta
datasets by combining the predictions of multiple ma-
chine learning models on individual feature sets to im-
prove the classification accuracy. This system is de-
pendent on static and dynamic malware analysis. So
it encounters the same problems like execution envi-
ronment detection, anti-debugging etc. as discussed
in Section 1.
Lakshmanan Nataraj et al.(Nataraj et al., 2011)
have used visualization and automatic classification
Detection of Malicious Binaries by Deep Learning Methods
133