Emproof Nyx - Binäres Analyse- und Transformations-Framework - V1.0.0 25.02.2026
Emproof Nyx ist ein Binary Analysis- und Transformations-Framework, das für die Analyse und Transformation von Software-Binaries (ausführbare Dateien, Bibliotheken) entwickelt wurde. Es bietet eine universelle, modulare und leistungsfähige Binär-Transformations-Engine, die Use Cases wie den Schutz Intellectual Property, Software-Hardening und Schlüsselschutz unterstützt.
Nyx ist in der Lage, Transformationen auf Eingabe-Binaries anzuwenden, um geschützte Ausgabe-Binaries zu erzeugen, die sich aus funktionaler Sicht identisch verhalten, aber mit Schutzmechanismen gegen Reverse Engineering und Ausbeutung ausgestattet sind.
Um IP Protection- und Exploit-Minderungsmaßnahmen in Kunden-Binaries zu integrieren, arbeitet Emproof Nyx nach dem folgenden Workflow:
Der Kunde stellt Nyx eine zu schützende binäre Eingabedatei und eine Konfigurationsprofildatei zur Verfügung. Die Konfiguration spezifiziert die erforderlichen Transformationen mit Schutzfunktionen und zusätzlichen Informationen (z.B. Code-Teile, die geschützt werden müssen, Code-Teile, die nicht verändert werden sollen).
Nyx analysiert die Binary automatisch, um Code- und Datenbereiche zu erkennen, identifiziert Funktionsgrenzen und Anweisungstypen, wie z. B. Kontrollflussanweisungen, arithmetische Operationen, Speicherladen/Speichern usw.
Nyx analysiert die vom Benutzer bereitgestellte Konfiguration, um vom Benutzer gewählte Transformationen mit Schutzfunktionen zu planen. Wenn die Bedingungen erfüllt sind, werden die Transformationen angewendet und validiert, um ihre Korrektheit zu gewährleisten. Codeteile werden in eine Zwischendarstellung gehoben, transformiert und wieder in Assemblersprache zurückgeführt. Alternativ dazu werden bestimmte Transformationen direkt auf der Binärebene durchgeführt.
Die transformierte Binary wird in das Dateisystem geschrieben. Das Tool konsolidiert viele Abwehrtechniken, um den Schutz des Intellectual Property und die Abschwächung von Vulnerabilities zu realisieren, und ermöglicht es dem Benutzer, Techniken für Teile des geschützten Programms zu aktivieren oder zu deaktivieren und die Konfigurationsparameter zu optimieren.
Emproof Nyx Microcontroller ist eine spezialisierte Variante, die für tief eingebettete, ressourcenbeschränkte Systeme entwickelt wurde. Sie zielt auf Mikrocontroller-basierte Geräte, auf denen entweder Bare-Metal-Firmware oder ein Echtzeitbetriebssystem (RTOS) läuft.
Sie ist für Use Cases gedacht, in denen der Schutz des Intellectual Property, der Widerstand gegen Reverse Engineering, die Gerätebindung (Lizenzierung) und die Robustheit gegen Ausnutzung in sicherheitskritischen oder sicherheitsempfindlichen eingebetteten Umgebungen erforderlich sind.
ARM Cortex-M
ARM Cortex-R
Infineon TriCore
Renesas RH850
RISC-V
Es sind drei Editionen erhältlich, die jeweils auf der vorherigen Stufe aufbauen und zusätzliche Funktionen bieten.
| Merkmal | Essentials | Professional | Enterprise |
|---|---|---|---|
| IP Protection | |||
| Control-flow Protection | ✓ | ✓ | ✓ |
| Nyx-Empfang | ✓ | ✓ | |
| Anti-Debug | ✓* | ✓* | |
| Anti-Emulation | ✓* | ✓* | |
| Anti-Tamper | ✓ | ✓ | |
| Secret Hiding (kryptographische Schlüssel und sensible Daten) | ✓ | ✓ | ✓ |
| Erweiterte Geräteanbindung (HSM, TPM, PUF, PKI)** | ✓ | ||
| Bootloader & Memory Map Control | ✓ | ✓ | ✓ |
| Debug Artifact Removal | ✓ | ✓ | ✓ |
| Feinkörnige Kontrolle von Speicher und Performance Overhead | ✓ | ✓ | ✓ |
| Ausnutzen von Abschwächungen | |||
| Stack Canaries | ✓ | ✓ | ✓ |
| Control-flow Integrity (CFI) | ✓ | ✓ | ✓ |
| Sicherheitsmerkmale | |||
| ISO 26262 ASIL-D | ✓ | ||
| Generierung von Audit-Artefakten | ✓ | ||
| Reproducible Builds | ✓ | ✓ | ✓ |
| Unterstützung von Delta-Tests | ✓ | ✓ | ✓ |
| Transformation Scoping | ✓ | ✓ | ✓ |
| Customizable Actions on Attack Detection | ✓ | ✓ | ✓ |
| Authorized Debugging | ✓ | ✓ | |
* Eine gerätespezifische Implementierung kann durch Emproof Engineering erforderlich sein.
** Die Geräteanbindung erfordert eine gerätespezifische Integration und Konfiguration und ist nicht für alle Geräte verfügbar.
Emproof Nyx Systems ist eine Variante, die für fortschrittliche Embedded Systems und Softwareumgebungen der Desktop-Klasse entwickelt wurde. Sie zielt auf Systeme wie eingebettete Linux-Plattformen (z. B. Raspberry Pi, NVIDIA Jetson) und allgemeine Desktop-Betriebssysteme wie Linux und Windows.
Im Vergleich zu Mikrocontroller-fokussierten Implementierungen ist Nyx Systems für Umgebungen mit mehr Rechen- und Speicherressourcen optimiert und kann Einrichtungen auf Betriebssystemebene nutzen, während es unabhängig von spezifischen Betriebssystemdiensten bleibt.
AArch64
x86_64 / amd64
Nyx Systems-Editionen mit Funktionen, die auf Plattformen der Anwendungsklasse zugeschnitten sind.
| Merkmal | Essentials | Professional | Enterprise |
|---|---|---|---|
| IP Protection | |||
| Control-Flow Protection | ✓ | ✓ | ✓ |
| Nyx Inception | ✓ | ✓ | |
| Anti-Debug | ✓* | ✓* | |
| Anti-Emulation | ✓* | ✓* | |
| Anti-Tamper | ✓ | ✓ | |
| Binary File Protection | ✓ | ✓ | ✓ |
| Binary Compression*** | ✓ | ✓ | ✓ |
| Anti-Memory Dumping*** | ✓ | ✓ | |
| Import Protection | ✓ | ✓ | |
| Virtual-Machine Obfuscation | ✓ | ✓ | |
| Key & Data Protection | ✓ | ✓ | |
| Mixed Boolean Arithmetic (MBAs) | ✓ | ✓ | |
| Erweiterte Geräteanbindung (TPM, PKI)** | ✓ | ||
| Debug Artifact Removal | ✓ | ✓ | ✓ |
| Feinkörnige Kontrolle von Speicher und Performance Overhead | ✓ | ✓ | ✓ |
| AI-Modell-Schutz | ✓ | ✓ | |
| Sicherheitsmerkmale | |||
| Reproducible Builds | ✓ | ✓ | ✓ |
| Transformation Scoping | ✓ | ✓ | ✓ |
| Customizable Actions on Attack Detection | ✓ | ✓ | ✓ |
| Authorized Debugging | ✓ | ✓ | |
* Eine gerätespezifische Implementierung kann durch Emproof Engineering erforderlich sein.
** Die Geräteanbindung erfordert eine gerätespezifische Integration und Konfiguration und ist nicht für alle Systeme verfügbar.
*** Derzeit nur auf Microsoft Windows unterstützt
Optional können verschiedene Exploit-Minderungen (d.h. Stack Canaries und Control-flow Integrity) auf Systemen eingesetzt werden, die von Compilern und/oder Betriebssystemen nicht unterstützt werden.
Codetransformation, die die Programmausführung umstrukturiert, um direkte, strukturierte Kontrollübertragungen durch einen indirekten, Dispatcher-gesteuerten Ausführungsmechanismus zu ersetzen, wobei der ursprüngliche Programmfluss verschleiert wird, während das funktionale Verhalten erhalten bleibt und eine Fine-grained Memory- und Overhead-Steuerung ermöglicht wird.
Codetransformation, die eine vertrauenswürdige Ausführungsumgebung bei Programmstart und Laufzeitprüfpunkten gewährleistet. Ausgestattet mit benutzerdefinierten Maßnahmen gegen dynamische Reverse-Engineering-Analysen wie Anti-Debugging, Anti-Emulation, Anti-Tamper und Device-Binding.
Codetransformation, bei der statische benutzerdefinierte Daten so verschlüsselt werden, dass sie in der Binary nicht mehr in eindeutiger Form vorhanden sind. Die Daten werden zur Laufzeit durch einen stark geschützten Dekodierungsmechanismus rekonstruiert, der durch Anti-Tamper-, Anti-Emulations- und Anti-Debug-Checks geschützt ist.
Codeumwandlung, bei der ausführbarer Code und Daten komprimiert und durch einen kompakten Loader-Stub ersetzt werden, der Programmteile entpackt und zur Laufzeit sicher zwischen ihnen verteilt, wodurch die statische Sichtbarkeit reduziert und das funktionale Verhalten erhalten wird.
Erzeugt eine zufällige und einzigartige virtuelle Maschinenarchitektur, übersetzt ausgewählte Teile des nativen Codes in gehärteten benutzerdefinierten Bytecode, der zur Laufzeit von einer eingebetteten VM ausgeführt wird, und ersetzt die direkte Ausführung durch Interpretation, um Programmlogik und Semantik zu verschleiern.
Bindet die Softwareausführung an bestimmte Hardware, indem die Laufzeitautorisierung von eindeutigen hardwareabhängigen Merkmalen (TPM, HSM, PUF, PKI) abgeleitet wird. Stellt sicher, dass der geschützte Code nur auf zugelassenen Geräten ausgeführt wird und die Funktionalität erhalten bleibt.
Fein abgestufte Konfigurationssteuerungen für benutzerdefinierte Bootloader und mikrocontroller-spezifische Memory Maps. Ermöglicht dem Benutzer, Transformationen innerhalb definierter Systemgrenzen zu steuern und einzuschränken, ohne das beabsichtigte Systemverhalten zu verändern.
Verschleiert Packer-, Inception- und Secret Hiding-Logik, indem sie mit mathematisch äquivalenten Kombinationen von bitweisen und arithmetischen Operatoren übersetzt wird, die einer automatischen Vereinfachung und semantischen Analyse widerstehen.
Verhindert die Extraktion einer sauberen und vollständigen ablauffähigen Kopie einer geschützten Binary aus dem Speicher, einschließlich der Ersetzung von Kontrollflussinformationen, um den ursprünglichen Programmablauf zu verschleiern.
Verbirgt die Funktionalität oder die Beziehungen zu importierten Bibliotheken und Funktionen und erschwert so die Rekonstruktion der ursprünglichen Funktionalität und API-Nutzungsmuster.
Führt zur Laufzeit Stack-Integritätsprüfungen ein, indem Schutzwerte um sensible Stack-Regionen herum eingefügt und vor der Rückgabe der Kontrolle validiert werden. Dies ermöglicht die Erkennung von Stack-basierter Speicherbeschädigung.
Erzwingt Control-flow Integrity durch Instrumentierung des Programms, um indirekte Kontrollübertragungen zur Laufzeit anhand einer vordefinierten Gruppe legitimer Ziele zu validieren und so unerlaubte Abweichungen im Ausführungsfluss zu verhindern.
Geschützte Binaries können auf bereits im Einsatz befindlichen Systemen eingesetzt werden, sofern ein geeigneter Software-Aktualisierungsmechanismus vorhanden ist. Für den Einsatz sind keine zusätzlichen Hardwarekomponenten, Änderungen oder Ersetzungen erforderlich - die Integration erfolgt ausschließlich über Software-Updates.
Nyx wurde für den Einsatz in ISO 26262-Umgebungen bis zu ASIL D entwickelt und folgt einem ASIL-D-fähigen Entwicklungsprozess, der vom TÜV Nord unabhängig geprüft wurde. Emproof bietet ein optionales Nyx Safety Bundle an, das ein Sicherheitshandbuch, eine Integrationsanleitung, Materialien für Sicherheitsfälle und rückverfolgbare Verifikationsnachweise enthält.
Unterstützt die Generierung von Audit-Artefakten für die funktionale Sicherheit, einschließlich detaillierter Transformationsprotokolle und binär-genauer Änderungsaufzeichnungen. Bietet nachvollziehbare Nachweise für Codeänderungen zur Verifizierung, Auswirkungsanalyse und Konformität.
Gewährleistet ein deterministisches Transformationsverhalten über Schutzläufe hinweg. Alle randomisierten Transformationen verwenden einen deterministischen PRNG, der von einem vom Benutzer bereitgestellten Seed abgeleitet ist, und gewährleisten identische Binaries für dieselben Eingaben.
Bewahrt die Stabilität der Transformation über verwandte Builds hinweg. Änderungen in bestimmten Coderegionen führen zu minimalen und lokalisierten Binärabweichungen, was eine kontrollierte Validierung und sicherheitsrelevante Rückverfolgbarkeit erleichtert.
Konfigurierbarer Ein- und Ausschluss bestimmter Funktionen, so dass echtzeitkritische oder eingeschränkte Routinen unverändert bleiben, während die Transformationen selektiv auf die entsprechenden Teile angewendet werden.
Konfigurierbare Reaktionsmaßnahmen bei Erkennung eines Angriffs oder einer Integritätsverletzung: Übergang in einen sicheren Zustand, Eintritt in eine kontrollierte Schleife oder Setzen eines Sicherheitsstatus-Flags für die übergeordnete Behandlung.
Ermöglicht den kontrollierten Debugging-Zugriff auf geschützte Systeme im Feld, ohne die angewandten Schutzmaßnahmen aufzuheben. Unterstützt Wartung und Fehleranalyse unter definierten Autorisierungsbedingungen, die für die funktionale Sicherheit relevant sind.
Emproof Nyx Python ist ein Schutz-Framework, das entwickelt wurde, um Python-Anwendungen gegen Reverse Engineering, Manipulationen und unautorisierte Analysen zu schützen. Es erweitert die Emproof Nyx-Plattform um spezielle Schutzmechanismen, indem es fortschrittliche Python-Bytecode-Transformation mit Hardening auf Interpreter-Ebene kombiniert.
Im Gegensatz zu Obfuskation auf Quellcode-Ebene oder verschlüsselungsbasierten Ansätzen wirkt Nyx Python direkt auf Python-Bytecode und den Python-Interpreter selbst. Die daraus resultierenden geschützten Anwendungen behalten ein identisches Funktionsverhalten bei, während die Widerstandsfähigkeit gegen Disassemblierung, Dekompilierung, Debugging und Codeextraktion zur Laufzeit deutlich erhöht wird.
Schützt Python-Codeobjekte vor Disassemblierung und Dekompilierung, indem der interne Befehlsstrom transformiert wird. Jedes Codeobjekt erhält eine eindeutige und dynamisch generierte Opcode-Zuordnung, die sicherstellt, dass geschützte Dateien nicht von Standardwerkzeugen interpretiert werden können.
Integriert die Schutzfunktionen von Emproof Nyx Systems direkt in den Python-Interpreter und bietet so zusätzlichen Schutz vor Debugging, Rückverfolgung, Laufzeitmanipulation, Speicherinspektion, Code-Extraktion und unbefugter Änderung des Ausführungsflusses.
x86_64
AArch64
Unterstützt für Python 3.12. Andere Python-Versionen können angefordert werden. BETRIEBSSYSTEME: Eingebettetes und Desktop-Linux, Microsoft Windows.
| Merkmal | Essential | Professional | Enterprise |
|---|---|---|---|
| Dynamisches Opcode Mapping | ✓ | ✓ | ✓ |
| Interpreter Protection | ✓ | ✓ | ✓ |
| Anti-Debug | ✓* | ✓* | |
| Anti-Emulation | ✓* | ✓* | |
| Anti-Tamper | ✓ | ✓ | |
| Function & Variable Name Encryption | ✓ | ✓ | |
| Konstante und Datenverschlüsselung | ✓ | ✓ | |
| Vollständiger Lockdown-Modus | ✓ | ✓ | |
| Bundling Support | ✓ | ✓ | |
| KI-Modellschutz | ✓ (On Roadmap) |
* Gerätespezifische Implementierung kann durch Emproof Engineering erforderlich sein.
Emproof Nyx ist als Vor-Ort-Installation verfügbar, die als Docker-Container bereitgestellt wird, um eine unkomplizierte Integration zu ermöglichen.
Beim On-Premise-Deployment-Modell wird Emproof Nyx als containerisierte Lösung bereitgestellt, die in der eigenen Infrastruktur des Kunden eingesetzt wird. Alle Analyse- und Transformationsschritte werden vollständig innerhalb der vom Kunden kontrollierten Umgebung durchgeführt.
Das Setup & Onboarding-Paket ist ein obligatorischer Service, der mit jeder Emproof Nyx-Produktlizenz erworben werden muss. Im Rahmen dieser Dienstleistung bietet Emproof:
Die folgenden Bedingungen gelten für die im Rahmen des Abonnements bereitgestellten Supportleistungen:
| Schweregrad | Beschreibung | Standard SLA | Premium SLA |
|---|---|---|---|
| Stufe 1 - Kritisch | Die geschützte Binary verursacht ein unerwartetes Verhalten, während die ursprüngliche Binary korrekt funktioniert (z. B. fehlerhafte Transformationen, die zu Laufzeitfehlern führen) | Innerhalb von 8 Stunden | Innerhalb von 4 Stunden |
| Stufe 2 - Mittel | Die Build-Pipeline des Kunden ist blockiert; Nyx verhindert die Bereitstellung der geschützten Software (z. B. Schutz- oder Tooling-Fehler, Framework-Probleme) | Innerhalb von 24 Stunden | Innerhalb von 8 Stunden |
| Stufe 3 - Gering | Vereinzelte Probleme oder allgemeine Anfragen, einschließlich kleinerer Unstimmigkeiten in der Dokumentation oder nutzungsbezogener Probleme ohne Auswirkungen auf die Sicherheit oder korrekte Funktionalität | Innerhalb von 48 Stunden | Innerhalb von 24 Stunden |
Die Reaktionszeiten sind Zielzeiten für die Bearbeitung von Vorfällen und stellen keine garantierten Lösungszeiten dar. Die Klassifizierung des Schweregrads wird von Emproof festgelegt.
Emproof Nyx wird kontinuierlich weiterentwickelt und gepflegt, um Stabilität, Sicherheit, Leistung und Funktionalität zu verbessern.
Updates werden in Form von aktualisierten Container-Images oder Softwarepaketen bereitgestellt, einschließlich einer Lizenzdatei. Updates werden regelmäßig veröffentlicht (2 Versionen pro Jahr, eine in H1 und eine in H2) und können Sicherheitsupdates, Fehlerbehebungen und Stabilitätsverbesserungen enthalten.
Setzen Sie sich mit unserem Team in Verbindung, um die richtige Nyx-Edition für Ihren Use Case zu finden.
Demo anfordern