AxProtector .NET

Teilen:

Automatischer Schutz von .NET-Software

Wenn Sie Zeit und Aufwand bei der Integration des Softwareschutzes in Ihre .NET-Anwendung sparen möchten, dann bietet Ihnen AxProtector .NET die optimale Lösung. Mit AxProtector .NET schützen Sie Ihre .NET-Anwendung automatisch, sodass diese sicher vor Raubkopien und Reverse Engineering ist. Es stehen Ihnen die folgenden Optionen zur Verfügung:

  • Sie verschlüsseln die komplette .NET-Anwendung und fügen dabei automatisch eine Lizenzprüfung hinzu (Basisfunktion).
  • Sie verschlüsseln Ihre .NET-Anwendung modular, so dass Sie einzelnen Features individuell für Ihre Anwender freischalten können (individuelle Lizenzierung). Durch das Wibu Universal Protection Interface (WUPI) können dabei diese individuellen Lizenzen abfragen und den Ablauf Ihrer Anwendung entsprechend steuern.
  • Sie nutzen AxProtector .NET als Schutz gegen Reverse Engineering, ohne dass eine Lizenz beim Anwender benötigt wird (IP Protection Modus).

Ihre zu schützende Anwendung wird auf Klassen- und Methodenebene verschlüsselt und mit einer Sicherheitsschale, der AxEngine, versehen. Dabei werden automatisch modernste Anti-Debug- und Anti-Disassemblierungsmethoden in Ihre Anwendung eingefügt.

Die einzelnen Methoden werden verschlüsselt in den Speicher geladen und bleiben verschlüsselt, bis sie benutzt werden. Die Entschlüsselung erfolgt komplett automatisch im Hintergrund. Nach der Übersetzung durch den JIT-Compiler werden die Methoden wieder aus dem Speicher entfernt. Somit liegt der IL-Code nur für eine kurze Zeit unverschlüsselt im Speicher vor. Dies wirkt sich nur minimal auf die Performance der Anwendung aus und bietet den höchsten möglichen Schutzlevel.

Im Vergleich zur Integration mit CodeMeter Core-API erhalten Sie einen sehr hohen Schutzlevel mit geringem Aufwand. Eine zusätzliche Verwendung von CodeMeter Core-API ist möglich.

Basisfunktion

Um AxProtector .NET einzusetzen, ist prinzipiell keine Änderung Ihres Quellcodes erforderlich. Sie integrieren AxProtector .NET als einen Post-Build Prozess. Der Verschlüsselungsprozess durch AxProtector .NET erfolgt nach dem Kompilieren und vor der Erstellung des Setups. AxProtector .NET ist als grafische Oberfläche und als Kommandozeilenwerkzeug verfügbar. Als Kommandozeilenwerkzeug ist AxProtector .NET im Rahmen der Continuous Integration in ein automatisches Build-System integrierbar.

AxProtector .NET wählt automatisch Methoden aus und verschlüsselt diese mit einer von Ihnen als Hersteller definierten Lizenz. Dabei werden kleine Methoden und Methoden, die aus technischen Gründen nicht verschlüsselt werden können, ausgeschlossen. Die dynamische Entschlüsselung zur Laufzeit hat nur einen geringen Einfluss auf die Performance der Anwendung. Für eine Optimierung zwischen Performance und Sicherheit können Sie zusätzlich die auszunehmenden bzw. die zu inkludierenden Funktionen selbst definieren.

Beim Start der geschützten Anwendung beim Anwender wird automatisch geprüft, ob die definierte Lizenz vorhanden ist. Ist die Lizenz vorhanden, werden die einzelnen Methoden dynamisch zur Laufzeit entschlüsselt und die Anwendung wird ausgeführt. Ist die Lizenz nicht vorhanden, wird je nach gewählter Einstellung ein Fehler angezeigt, die Anwendung beendet oder eine Exception geworfen. Sie können diese Fehlermeldung beliebig anpassen oder die Exception in einer unverschlüsselten Methode abfangen.

Individuelle Lizenzierung

Um einen modularen Schutz zu realisieren, definieren Sie verschiedene Lizenzen (Product Codes), welche Sie einzelnen Methoden oder ganzen Klassen zuweisen. In diesem Fall können Sie zusätzlich mit WUPI die verschiedenen Lizenzen innerhalb Ihrer Software im Quellcode abfragen und entsprechend in Ihrer Software auf fehlende Lizenzen reagieren. So können Sie zum Beispiel Menüs ausblenden oder eigene Fehlermeldungen anzeigen. Durch die Verschlüsselung mit einer anderen Lizenz (Product Code) erreichen Sie die höchste mögliche Sicherheit: durch eine Abfrage mittels WUPI erreichen Sie ein von Ihnen gesteuertes Verhalten Ihrer Software. Daher ist eine Kombination aus Verschlüsselung und Abfrage per API die optimale Lösung.

IP Protection Modus

Der IP Protection Modus wurde geschaffen für Freeware, Fremium-Modelle oder der Kombination mit einer eigenen Lizenzierung. Im Gegensatz zur Basisfunktion wird die Verschlüsselung nicht an eine CodeMeter-Lizenz gebunden. Der Schlüssel zum Entschlüsseln wird sicher und versteckt in die Anwendung integriert. Die Anwendung startet damit immer.

Im Falle eines Freemium-Modells wird diese Funktionalität mit der individuellen Lizenzierung gemeinsam verwendet. Teile der Anwendung werden mit dem IP Protection Modus verschlüsselt und können somit immer ausgeführt werden. Andere Teile sind mit einer Lizenz gekoppelt und können erst nach dem Erwerb der Lizenz durch den Anwender ausgeführt wurden. Über WUPI kann abgefragt werden, ob eine Funktionalität zur Verfügung steht oder nicht.

Unterstützte Betriebssysteme

AxProtector.NET ist in zwei Varianten verfügbar. AxProtector .NET und AxProtector .NET Standard.

AxProtector .NET schützt Anwendungen (Executables) und Bibliotheken (Libraries), die mit dem .NET Framework 2.0 oder höher erstellt wurden.

Bei der Verwendung eines .NET Frameworks vor 4.7.2 erfolgt das Entfernen der Methoden aus dem Speicher nach einer konfigurierbaren Zeit. Durch ein intelligentes zweistufiges Caching ist der Einfluss des Schutzes auf die Performance auch in diesem Fall nur gering und bietet auch hier einen sehr hohen Schutzlevel.

Der IP Protection Modus benötigt .NET Framework 4.0 oder höher.

AxProtector .NET Standard schützt .NET Standard 2.0 Anwendungen, zum Beispiel .NET Core 2.0-Anwendungen oder Mono 5.4-Anwendungen.

Sicherheitsmechanismen von AxProtector .NET

Beim ersten Aufruf einer verschlüsselten Methode wird AxEngine ausgeführt. AxEngine überprüft, ob eine entsprechende Lizenz verfügbar ist. Falls eine Lizenz verfügbar ist, wird diese automatisch belegt und zum Entschlüsseln der geschützten Methode verwendet. Zusätzlich überprüft AxEngine im Rahmen des Integritätschecks, ob Ihre Software verändert wurde. AxEngine verwendet modernste Anti-Debug- und Anti-Reverse-Engineering-Methoden, um Gefahren für Ihre Software zu erkennen und unterbricht die Ausführung Ihrer Software, falls Gefahren erkannt werden. Als Hersteller können Sie festlegen, ob in diesen Fällen die Lizenz gesperrt wird.

Ein Wächter in AxEngine überprüft im Hintergrund die Lizenz, die Integrität und vorhandene Gefahren in regelmäßigen Abständen.

AxProtector .NET fügt optional versteckte Kommandos für CodeMeter als Fallen (Honig-Topf) in Form zusätzlicher Methoden in Ihre Software ein. Ein Cracker, der versucht, alle verschlüsselten Funktionen zu entschlüsseln, tappt zwangsläufig in eine Falle. Das versteckte Kommando führt dazu, dass die Lizenz gesperrt wird und nicht mehr für die Entschlüsselung weiterer Funktionen verwendet werden kann. AxProtector .NET erreicht durch dieses Vorgehen einen extrem hohen Schutzlevel gegen systematische Analyse Ihrer Software.

Im Vergleich zu marktüblichen Obfuskatoren bietet AxProtector .NET eine deutlich höhere Sicherheit. Während bei einer Obfuskierung Namen verändert und der Code als Spaghetti-Code durcheinandergewürfelt werden, wird der ausführbare Code mit AxProtector .NET sicher mit 256-Bit AES verschlüsselt. Damit ist ein Dekompilieren des Assemblies auf der Festplatte selbst mit den entsprechenden Tools nicht mehr möglich. Die Entschlüsselung des Codes erfolgt in einem Dongle oder in einem Windows-System-Dienst und ist damit schwerer angreifbar als eine Obfuskation rein auf .NET-Ebene. Ein Angreifer, welcher keine passende Lizenz – und damit keinen passenden Schlüssel – besitzt, kann den Code somit auch nicht aus dem Arbeitsspeicher extrahieren. Durch eingebaute Fallen sind das systematische Entschlüsseln aller Methoden und das Extrahieren aus dem Arbeitsspeicher in der Praxis unlösbare Aufgaben. Beim Auslösen einer Falle wird die Lizenz gesperrt und der entsprechende Schlüssel steht nicht mehr für weitere Angriffe zur Verfügung. Neben der Sicherheit besitzt AxProtector .NET einen weiteren Vorteil gegenüber Obfuskatoren: Da Namen von Funktionen nicht umbenannt werden müssen, stehen Features wie Reflection, Remoting und WCF ohne Probleme und ohne Einschränkungen des Sicherheitslevel zur Verfügung.

Interessieren Sie sich für ein individuelles Angebot zu unserer CodeMeter-Technologie? Wenn Sie uns ein paar Fragen beantworten, wird unser Team Sie mit allen notwendigen Informationen unterstützen.

Absenden

Nach oben