Mobile Anwendungen erfordern einen robusten Schutz, um die Kosten für Reverse Engineering zu maximieren und die Wahrscheinlichkeit erfolgreicher Angriffe zu verringern.Traditionelle Verschleierungsmethoden wie Identifier Renaming ermöglichen weiterhin eine statische Analyse der Bytecode-Struktur.Die Virtualisierung auf Anwendungsebene verschleiert den Kontrollfluss zwar effektiv, beeinträchtigt jedoch die Leistung aufgrund häufiger Kontextwechsel über das Java Native Interface (JNI).Wir schlagen daher ein Virtualisierungsframework auf Systemebene vor, das Instruction Set Randomization (ISR) direkt in die Android Runtime (ART) integriert.Wir stellen das Android Opcode Permutation Tool (AOPT) vor, mit dem Standard-Dalvik-Bytecodes von Android-Anwendungen in einen randomisierten Befehlssatz transformiert werden. Das Tool permutiert Opcode-Werte bijektiv, fügt ein Metadaten-Flag in das Android-Manifest ein und generiert eine Opcode-Zuordnung, die als symmetrischer Schlüssel dient.Um die Ausführung dieser permutierten Anwendungen zu ermöglichen, erstellen wir eine angepasste Version des Android 15-Betriebssystems.Das Betriebssystem erkennt das Metadaten-Flag und leitet es an die ART weiter.Wir gewährleisten Abwärtskompatibilität, indem wir den Fallback-Switch-Interpreter erweitern und mehrere Befehlssatzarchitekturen unterstützen. Der Interpreter verwendet die Opcode-Zuordnung für die dynamische Suche, um die gleichzeitige Ausführung von Standard- und verschleierten Anwendungen zu ermöglichen.Wir evaluieren die Robustheit des Frameworks anhand von 20 realen Anwendungen.Der Testkorpus umfasst komplexe Software wie z.B. Webbrowser, Medieneditoren und kryptografische Finanztools. Die Verschleierungstechnik erreicht eine Kompatibilitätsrate von 85% bei vernachlässigbaren Auswirkungen auf die Startlatenz.Algorithmische Benchmarks zeigen einen erhöhten Ausführungsaufwand zwischen 11% und 30% aufgrund der Opcode-Suche. Dieser Kompromiss bei der Leistung führt zu einer erheblichen Widerstandsfähigkeit gegen Reverse Engineering.Standard-Decompiler wie JADX generieren semantisch falschen Code.Ebenso können dynamische Instrumentierungstools wie Frida keine Methoden hooken, da sie auf Standard-Laufzeitstrukturen angewiesen sind. Folglich zielt das Framework auf Hochsicherheitsumgebungen ab, in denen die organisatorische Firmware-Kontrolle und der robuste Schutz den Verlust der Portabilität rechtfertigen.
de
Mobile applications require robust protection to maximize the cost of reverse engineering and reduce the likelihood of successful attacks.Traditional obfuscation techniques, such as identifier renaming, leave the bytecode structure exposed to static analysis.Application-level virtualization effectively obfuscates control flow but degrades performance through frequent context switching via the Java Native Interface (JNI). Therefore, this thesis proposes a system-level virtualization framework that integrates Instruction Set Randomization (ISR) directly into the Android Runtime (ART).We introduce the Android Opcode Permutation Tool (AOPT) to transform Android applications by converting standard Dalvik bytecode into a randomized instruction set. The tool permutes opcode values bijectively, injects a metadata flag into the Android manifest, and generates an opcode mapping that serves as a symmetric key.To enable the execution of these permuted applications, we create a custom version of the Android 15 operating system.The operating system detects the metadata flag and propagates it to the ART.We ensure backwards compatibility by extending the fallback switch interpreter to support multiple instruction set architectures. The interpreter uses the opcode mapping for dynamic lookup to enable the simultaneous execution of standard and obfuscated applications.We validate the framework’s robustness using a suite of 20 complex, real-world applications.The test corpus includes computationally demanding software such as full-featured web browsers, media editors, and cryptographic financial tools. The solution achieves an 85% compatibility rate with negligible impact on launch latency.Algorithmic benchmarks reveal an execution overhead between 11% and 30% due to mandatory opcode lookup. However, this performance trade-off yields substantial resilience against reverse engineering.Standard decompilers such as JADX generate semantically incorrect code.Similarly, dynamic instrumentation tools such as Frida fail to hook methods because they rely on standard runtime structures.Consequently, the framework targets high-security environments where the organization retains firmware control. In such contexts, the robust protection justifies the loss of portability.
en
Additional information:
Arbeit an der Bibliothek noch nicht eingelangt - Daten nicht geprüft