KEYnote 45 Deutsch - Frühjahr-/Sommerausgabe 2023 | Page 4

PROTECTION

AxProtector mit Obfuskation

Wibu-Systems hat im letzten Jahr eine neue Variante seines bewährten AxProtector für native Anwendungen unter Windows , Linux und macOS entwickelt .
AxProtector Compile Time Protection ( CTP )
AxProtector CTP ist verfügbar für Windows , Linux und macOS . Er unterscheidet sich in der Anwendung und in der Schutztechnologie vom herkömmlichen AxProtector für diese Betriebssysteme .
AxProtector CTP steht mit dem Release von AxProtector 11.20 im Februar 2023 separat zum Download bereit . AxProtector CTP kann mit den vorhandenen Lizenzen für AxProtector Windows , Linux oder macOS verwendet werden . Die Features Automatischer Schutz , Modular Licensing , License Free ( IP Protection ), File Encryption und das neue Feature Compile Time Obfuscation sind für native Anwendungen für alle drei Betriebssysteme einsetzbar .
AxProtector CTP integriert sich dabei bei der Schutzerstellung in den Compile-Prozess des Build-Systems .
Warum AxProtector CTP ? Apple führte Änderungen am Betriebssystem macOS unter der ARM-Plattform ein , die zu einer Verstärkung der Code-Signing-Richtlinien ab macOS Version 12.3 führten . Dies erschwert die Ausführung von geschützter und zur Laufzeit zu entschlüsselnder Software , speziell Plugins , auf macOS ARM .
Bisher ist eine Ausführung geschützter Software unter Intel oder auf der Intel-Emulation ( Rosetta ) nicht beeinträchtigt .
Ein weiterer Anlass für die Entwicklung von AxProtector CTP ist die Steigerung des Schutzes von geistigem Eigentum ( Intellectual Property ), vor allem bei Software , die nur gegen Reverse Engineering , aber ohne Lizenzierung geschützt ist ( License Free oder IP Protection ). Der klassische Schutz von Intellectual Property durch Wibu-Systems basiert auf der Verschlüsselung und temporären Entschlüsselung des ausführbaren Codes im Arbeitsspeicher des Nutzers . Der ausführbare Code liegt notwendigerweise kurzzeitig in seiner ursprünglichen lesbaren Form vor .
Wie funktioniert es ? Unsere neueste Entwicklung basiert auf der Obfuskation des Codes nativer Anwendungen . Das neue Obfuskations-Feature für nativen Code lehnt sich an bekannte Obfuskations- Methoden an . Während des Compile-Vorgangs mit einem angepassten LLVM-Compiler werden die Funktionen in drei Schritten geschützt .
Zunächst werden Funktionsnamen und Texte durch Verschlüsselung unkenntlich gemacht ( Bild 1 ). Im zweiten Schritt werden Codeblöcke obfuskiert . Durch zusätzliche Codeblöcke und Ablaufverzweigungen wird der Code weiter verschleiert ( Bild 2 ). Dies ist mit einer Vergrößerung der ausführbaren Datei verbunden .
Und schließlich werden im dritten Schritt die logischen Verbindungen zwischen Codeblöcken durch indirekte Aufrufe ersetzt ( Bild 3 ).
Der logische Zusammenhang des ausführbaren Codes im auslieferbaren Binary ist mit den aufgebrochenen Ablaufverbindungen nicht mehr erkennbar und ist somit effektiv gegen Reverse Engineering geschützt .
Basic Block
Encrypted string
Jump
T
Bild 1
4