Title (de)
Code Obfuscation im Test
Subtitle (de)
Erzeugung von Testdaten mittels LLVM zum Analysieren, Trainieren und Auswerten von Software zur Erkennung von Obfuscation
Language
German
Description (de)
Masterarbeit, Fachhochschule St. Pölten, Masterstudiengang Information Security, 2019
Description (de)
Wenn es nicht gerade um Open-Source-Software geht, wollen Autoren von Computerprogrammen oft ihren
Code schützen. Da Software in den meisten Ländern nicht patentierbar ist, greifen die Programmierer
zu anderen technischen Methoden. Code-Obfuscation ist eine gebräuchliche Methode, um Code mittelfristig
vor ungewollter Analyse zu schützen. Diese Technik verwenden Programme, wie zum Beispiel
der VoIP Client Skype, aber auch Malware versucht deren Funktion so zu verstecken. Um zu erkennen
ob eine Software verschleiert ist, werden aktuell verschiedene Techniken, wie statistische Methoden,
aber auch maschinelles Lernen getestet. Dafür werden Testdaten in größerem Umfang benötigt. Diese
Arbeit sucht Wege, um diese Testdaten einfach und effizient zu erzeugen. Dazu werden vorhandene
Tools für Verschleierung evaluiert und getestet. Dabei werden die, auf der Compiler-Suite LLVM basierenden
Verschleierung-Suites „Obfuscator-LLVM“ und „Hikari“ genauer betrachtet. Als Quelle für
die Eingangsdaten werden die Quellpakete einer Linux Distribution verwendet. Nach der Übersetzung
dieser Pakete ist es erforderlich, eine Nachverarbeitung der entstandenen binären Dateien vorzunehmen.
Als Ergebnis dieser Arbeit stehen rund 700 aus Quellpaketen kompilierte Programme in verschiedenen
Verschleierungstechniken zur Verfügung. Diese werden für die Entwicklung von Software für die
Erkennung von Code Obfuscation eingesetzt.
Description (en)
When it comes to open source software, computer program authors often want to protect their code. Since
software is not patentable in most countries, the programmers use other technical methods. Code obfuscation
is a common way to protect code from unwanted analysis in the medium term. This technique is
used by programs, such as the VoIP client Skype, but also malware tries to hide their functionality by
this technique. In order to detect whether a software is obfuscated or not, currently various techniques,
such as statistical methods or machine learning are under evaluation. Therefore, test data is needed on
a larger scale. This work tries to find ways to generate test data easy and efficient. Therefore, existing
tools for obfuscation are evaluated and tested. It looks more closely to "obfuscator-LLVM" and "Hikari"
obfuscator suites based on the LLVM compiler suite. The sources of a Linux distribution are taken as
input data for the obfuscator suites. After the translation of these packages, it was necessary to post
process the resulting binary files. As a result of this work, around 700 programs in various obfuscation
techniques are available. These are used for the development of software to detect code obfuscation.
Keywords (de)
Computersicherheit; Softwareentwicklung; Programmanalyse
AC-Number
AC15493314
Author of the digital object
Michael Kraftl
Date
01.01.2019
Adviser
Sebastian Schrittwieser
Date
01.01.2019
Licence Selected
Type of publication
Master's Dissertation
Date of approbation period
2019
- Citable links
Persistent identifier
https://phaidra.ustp.at/o:4266 - Other links
AC-Number
AC15493314https
//phaidra.fhstp.ac.at/o:4266 - Content
- RightsLicense
- DetailsUploaderResource typeText (PDF)Formatapplication/pdfCreated29.10.2020 11:37:09 UTC
- Usage statistics--
- Metadata
- Export formats