Sie sind auf Seite 1von 13

Lorenz Sigrist, 3b

Wiss Schreiben 24

1. Reverse Engineering: Chancen und Gefahren

Vorprojekt Maturaarbeit: Zitieren und paraphrasieren März 2024

Im Rahmen meiner Maturarbeit mit dem Hauptziel «…eine Prüfungsumgebung zu


entwickeln, die auch den modernsten Techniken im Bereich des Reverse Engineering
standhält…» (Sigrist, 2024, S. 2) ist es Wichtig, dass die Prüfungsumgebung zugleich
möglichst sicher vor Betrugsversuchen ist, aber auch möglichst benutzerfreundlich für
SchülerInnen und Lehrpersonen ist. Laut AL-HAKIMI et all. ist Obfuskation bekanntlich die
gängigste und effektivste Technik, um verbotenes Reverse Engineering zu verhindern, jedoch
erfülle keine der derzeitigen Obfuskationstechniken alle Obfuskationskriterien um Reverse
Engineering zu Widerstehen (AL-HAKIMI, SULTAN, GHANI, ALI, & ADMODISASTRO, 2020, p. 2)
deshalb stellt sich die Frage

Inwiefern können EntwicklerInnen die Sicherheit von Software mithilfe von Obfuskation
verbessern, um Reverse Engineering zu erschweren?

Gemäss dem Entwickler Eliot Chikofsky ist Reverse


Engineering ein wichtiger Satz von Techniken und
Werkzeugen, um zu verstehen, worum es bei Software
wirklich geht. (Eliam & Chikofsky, 2005, p. 8) Das Ziel
dabei ist es Code zu verstehen und rekonstruieren, der
möglichst nahe am Quellencode ist. Chikofsky fasst dies
Abbildung 1: DnSpy .Net Debugger Reverse Engineering tool
wie folgt zusammen: (Quelle: Dnspy Github)

«Der Prozess des konzeptionellen Reverse Engineering findet jedes Mal statt, wenn sich jemand den
Code eines anderen ansieht. Aber, er aber auch, wenn ein Entwickler seinen eigenen Code einige Tage
nach dem Schreiben ansieht. Reverse Engineering ist ein Entdeckungsprozess. Wenn wir einen neuen
Blick auf den Code werfen, egal ob er von uns selbst oder von anderen entwickelt wurde, untersuchen
wir und lernen und sehen Dinge, die wir vielleicht nicht erwartet haben.» (Eliam & Chikofsky, 2005, p. 8)

Einerseits ist es gemäss Chikofsky sehr wichtig das es möglich ist Software zu Reverse
Engineeren beispielweise, um unerwartete Schwachstellen und Fehler zu finden und
beheben, von anderen zu lernen und somit verhindern, dass das Rad neuerfunden werden
muss. Zudem benötigen beispielsweisse gute Vieren Scanner Reverse Engineering um
Malware erkennen zu können. (Eliam & Chikofsky, 2005, p. 9) anderseits ist gemäss AL-
Lorenz Sigrist, 3b
Wiss Schreiben 24

HAKIMI et all. Der Diebstahl, insbesondere von Software, ein grosses Probleme des
technologischen Zeitalters. Softwarehersteller haben verschiedene Sicherheitsalgorithmen
und -techniken entwickelt, um ihre Software zu schützen. Allerdings sind Reverse
Engineering-Experten in der Lage, diese Sicherheitsalgorithmen zu umgehen und den
ursprünglichen Code aus der Quelldatei zu extrahieren. Diese Sicherheitsangriffe, wie das
Reverse Engineering, verursachen in der IT-Branche einen Verlust von mehreren Milliarden
Dollar pro Jahr. (AL-HAKIMI, SULTAN, GHANI, ALI, & ADMODISASTRO, 2020, p. 1) Um
Software vor unbefugten Reverse Engineering zu schützen, können EntwicklerInnen
beispielsweise Obfuskation Techniken verwenden, welche den Code schwerer lesbar machen
oder Lizenzmanagement-, Authentifizierungs- und Verschlüsselungstechnologien hinzufügen.
Doch leider sind die meistverwendeten Techniken nicht besonders wirksam, um Reverse
Engineering Komplet zu verhindern. Wie AL-HAKIMI et all zusammenfasst: «Reversing-Tools
sind derzeit sehr fortschrittlich, da sie aus dem obfuskierten Code einen neuen Code
erstellen können, der die gleiche Funktion erfüllt obwohl der ursprüngliche Code obfuskiert
ist [...]Eine gewöhnliche Obfuskationstechnik zu haben, ist gleichwertig wie gar keine zu
haben» (Hybrid Obfuscation Technique to Protect Source Code From Prohibited Software
Reverse Engineering, 2020, p. 2) Obfuskation kann also gemäss Will Reverse Engineering nur
den Aufwand des Angreifers steigern. Aber nicht komplett verhindert werden. (Will, S. 7-8)
«So muss z.B. gemäss Eldad Eliam in den meisten Fällen alles, was für die Entschlüsselung
des Programms erforderlich ist, sich in der ausführbaren Datei befinden. Dazu gehören die
Entschlüsselungslogik und, was noch wichtiger sei, der Entschlüsselungsschlüssel. Ausserdem
müsse das Programm den Code zur Laufzeit entschlüsseln, bevor es ausgeführt wird, was
bedeutet, dass eine entschlüsselte Kopie des Programmes oder Teile davon während der
Laufzeit im Speicher liegen müsse (andernfalls könne das Programm einfach nicht laufen).
(Reversing: Secrets of Reverse Engineering, 2005, p. 330) Zudem können Obfuskation
Techniken gemäss Jagsir & Jaswinder Singh falsche Erkennungen bei Virenscannern auslösen
da auch Malware vermehrt auf Obfuskation setzt. (Singh & Singh, S. 107)

.
Lorenz Sigrist, 3b
Wiss Schreiben 24

2. Quellenverzeichnis

2.1 Literaturverzeichnis
AL-HAKIMI, A. M., SULTAN, A. M., GHANI, A. A., ALI, N. M., & ADMODISASTRO, N. I. (2020). Hybrid
Obfuscation Technique to Protect Source Code From Prohibited Software Reverse Engineering.
ieee. Retrieved März 3, 2024, from
https://ieeexplore.ieee.org/ielx7/6287639/8948470/09211395.pdf

Eliam, E., & Chikofsky, E. (2005). Reversing: Secrets of Reverse Engineering. Wiley Publishing, Inc.
Retrieved März 3, 2024

Sigrist, L. L. (2024). Vorkonzept. Abgerufen am 3. März 2024 von https://muristalden-


my.sharepoint.com/:w:/r/personal/lorenz_sigrist_stud_muristalden_ch/_layouts/15/Doc.asp
x?sourcedoc=%7B1d359927-01b4-4ad6-8b08-4f384c47a49c%7D&action=view

Singh, J., & Singh, J. (kein Datum). Challenges of Malware Analysis: Obfuscation. Abgerufen am 4.
März 2024 von https://dergipark.org.tr/en/download/article-file/2160186

Will, F. (kein Datum). Maschinencode-Obfuskation als Schutz vor Reverse Engineering. Abgerufen am
4. März 2024 von docplayer.org/34626186-Maschinencode-obfuscation-als-schutz-vor-
reverse-engineering.html

2.2 Bildnachweis
Seite 1 GPLv3 General Public License, Dnspy (dnSpy/dnSpy: .NET debugger and assembly
editor (github.com))

2.3 Hilfsmittel
https://Deepl.com : Verwendet für das übersetzen von Zitaten und texten
word Rechtschreibkorrektur: Verwendet als Hilfe um Rechtschreibfehler zu erkennen
https://scholar.google.com/ , https://swisscovery.slsp.ch/: verwendet um wissenschaftliche
Quellen zu finden
Lorenz Sigrist, 3b
Wiss Schreiben 24

3. Anhang
Lorenz Sigrist, 3b
Wiss Schreiben 24
Lorenz Sigrist, 3b
Wiss Schreiben 24
Lorenz Sigrist, 3b
Wiss Schreiben 24
Lorenz Sigrist, 3b
Wiss Schreiben 24
Lorenz Sigrist, 3b
Wiss Schreiben 24
Lorenz Sigrist, 3b
Wiss Schreiben 24
Lorenz Sigrist, 3b
Wiss Schreiben 24
Lorenz Sigrist, 3b
Wiss Schreiben 24
Lorenz Sigrist, 3b
Wiss Schreiben 24

Das könnte Ihnen auch gefallen