Title (deu): Entwicklung eines flexiblen Systems für neuronale Netze zur Klassifkation von Malware

Author: Boubela, S. (Stefan)

Description (deu): Masterarbeit, Fachhochschule St. Pölten, Masterstudiengang Information Security, 2018

Description (deu): Neuronale Netze sind eine vielversprechende Technologie im Bereich künstlicher Intelligenz, um damit automatisch Klassifizierungen und Regressionen durchzuführen. In diversen Versuchen konnten diese Netze bereits beeindruckende Ergebnisse erzielen und dabei die Fähigkeiten des Menschen übertreffen. Auch in der Malware Erkennung gelten neuronale Netze als zukunftsträchtige Technologie und sollen die klassischen signatur-basierten Verfahren, welche gegen die heutigen Mengen und Methoden von Malware kaum eine Chance haben, ablösen. Während bereits Systeme existieren, die unter Laborbedingungen nahezu perfekte Ergebnisse erzielen fehlt es noch an gemeinsamen Grundlagen, sowie Verfahren für mehr Flexibilität und Alltagstauglichkeit. Diese Arbeit beschreibt daher umfassende Grundlagen zu neuronalen Netzen und häufigen Verfahren und Algorithmen, um eine einheitliche Ausgangslage zu schaffen und Entwicklungen in diesem Bereich zu fördern. Die Grundlagen reichen dabei von einfachen Fragen wie: „Was sind neuronale Netze?“, bis zu modernen Optimierungsverfahren wie Adaptive Moment Estimation und möglichen Problemen wie Overfitting und Covariate Shift, um das Thema möglichst vollständig abzudecken. Danach werden aufgrund der Vielzahl an verfügbaren Netzen und Frameworks einerseits passende Netze zur Erreichung der Zielsetzung dieser Arbeit und andererseits verschiedenste Frameworks zur Implementierung evaluiert. In späteren Kapiteln werden darauf basierend zuerst zwei Systeme theoretisch modelliert, verbessert und zuletzt praktisch in Keras implementiert. Entscheidungen und neue Verfahren werden dabei in simplen Versuchen praktisch untermauert. So werden beispielsweise Versuche zum Vergleich der Leistung von Feed-forward Neural Networks und Deep Belief Networks angestellt, aber auch eine Hyperparameter Optimierung durch automatisierte Tests mit über 2.000 Konfigurationen durchgeführt. Bei der praktischen Umsetzung des Systems wurde der Schwerpunkt auf konsistente Programmierung und ausführliche Kommentierung gelegt, um die möglichst einfache Weiterverwendung des Programmcodes zu ermöglichen. Begleitend dazu werden der Aufbau, die Funktionsweisen und die Bedienung des Programms ausführlich beschrieben. Das resultierende System besteht aus einem Recurrent Neural Network, welches die Daten zu einem kurzen Output verarbeitet, und zwei parallelen Classifiern, welche beide denselben Input erhalten und deren Ergebnis verglichen wird um das endgültige Resultat zu erhalten. Während das Recurrent Neural Network nicht trainiert wird, werden die Classifier mit supervised Learning auf die bestmögliche Rekonstruktion des Inputs trainiert, weshalb sie in dieser Arbeit als Rekonstruktionsnetze bezeichnet werden. Dieses System bietet die Funktionalität eines herkömmlichen Classifiers, während es außerdem mehr Flexibilität bei Training und Implementierung bietet. Zusätzlich besitzt es einen Mechanismus zur Steuerung von False-Positive Rate und Erkennungsrate. Des Weiteren ist das System durch das implementierte One-Hot Encoding Verfahren in der Lage, nahezu jeden Input ohne größere Anpassungen zu verarbeiten. Während die Vorversuche durchgängig positive Ergebnisse liefern, fallen die Ergebnisse des Hauptversuchs negativ aus. Abschließend werden die Ergebnisse zusammengefasst, mögliche Gründe für das negative Ergebnis diskutiert und eine substantielle Anzahl weiterer Möglichkeiten und Ansätze für zukünftige Arbeiten beschrieben.

Description (eng): Neural networks are a promising technique in the field of artificial intelligence used for automated classification
and regression. In various experiments, they have already achieved impressive results, surpassing human
capabilities and performance. Neural networks are also regarded as promising technology in malware detection
and should replace the classic signature-based approach, which has little chance against the current quantities
and methods of malware. While systems still exist that achieve near-perfect results under laboratory conditions,
there is still a lack of common foundations, as well as methods for more flexibility and everyday usability.
Therefore, this paper begins by describing the basic principles of neural networks and common procedures and
algorithms to create a consistent starting point and promote developments in this area. The basics range from
simple questions such as, “What are neural networks?”, to modern optimization methods such as adaptive
momentum estimation, as well as problems like overfitting and covariate shift, to cover the topic as completely
as possible. Afterwards, due to the large number of available network architectures and frameworks, on the one
hand suitable networks for achieving the set goal of this work, but also different frameworks for implementation
are evaluated. In later chapters, two systems will be modelled theoretically and improved as to finally be
implemented practically in Keras. Decisions and new procedures are practically substantiated in simple
experiments. For example, attempts are being made to compare the performance of feed-forward neural
networks and deep belief networks, as well as hyperparameter optimization is performed through automated
testing with over 2,000 configurations. In the practical implementation of the system, a lot of emphasis was put
on proper programming and detailed comments to ensure easy reuse of the program code. Accompanying this,
the structure, the functions and the operation of the program are described in detail in this work. The resulting
system consists of a recurrent neural network, which processes the data into a short output, and two parallel
classifiers, both receiving the same input. By comparing the output of the two classifiers, the final result is
determined. While the recurrent neural network is not trained, the classifiers are trained using supervised
learning on the best possible reconstruction of the input; thus being, called reconstruction networks in this work.
This system provides the same functionality as a traditional classifier, while providing more flexibility in training
and implementation as well as having a mechanism for controlling false-positive rate and recognition rate.
Additionally, due to the implemented one-hot encoding procedure, it is able to process virtually any input without
costly adjustments. While the initial experiments yield consistent positive results, the results of the main
experiment are negative. Finally, the results are summarized and possible reasons for the negative results
discussed, concluding with descriptions of many other possibilities and experiments for future work.

Object languages: German

Date: 2018

Rights: © All rights reserved

Classification: Neuronales Netz ; Künstliche Intelligenz ; Malware

Permanent Identifier