To top
Resources Resources

Schutz von Java-Anwendungen

Share:
Zu den Aufzeichnungen
Deutsch Zugriff
Englisch Zugriff

Java ist überall – in Embedded-Geräten, auf Servern in der Cloud, in Unternehmensanwendungen oder kleinen Browser-Spielen, mit denen jeder gerne seine Zeit verbringt. Da Java allgegenwärtig ist, gibt es jedoch Risiken und Bedrohungen für die vielseitige Multiplattform-Technologie. Und diese Risiken lauern bei Java an jeder Ecke.

Beim Kompilieren von Java Source Code wird dieser zunächst in eine Zwischensprache, den so genannten Java Byte Code, übersetzt. Auf der jeweiligen Zielplattform kann dieser Code von der Java Virtual Machine (JVM) interpretiert und ausgeführt werden. Dieses Prinzip stellt die  Plattformunabhängigkeit Javas sicher, allerdings birgt die Verwendung von Java Byte Code aus sicherheitstechnischer Sicht auch Gefahren:

Bereits mit einfachen, frei verfügbaren Tools lässt sich der Java Byte Code nicht nur beliebig manipulieren, sondern auch in Java Source Code rückübersetzten. Auch ungeübte Hacker sind somit in der Lage, die Programmlogik nachzuvollziehen, Kopien der Applikation anzufertigen oder einfache Lizenzabfragen in der Applikation zu entfernen.

Um solchen Missbrauch zu verhindern, bietet AxProtector Java die Möglichkeit, den Java Byte Code automatisch zu verschlüsseln. Nur mit der passenden Lizenz  wird der verschlüsselte Byte Code dynamisch während des Ladevorgangs entschlüsselt und anschließend von der JVM interpretiert. Beim gesamten Vorgang befindet sich somit zu keiner Zeit unverschlüsselter Byte Code auf der Festplatte.

Für einfache Anwendungen werden alle Funktionen mit der gleichen Lizenz geschützt, d.h. durch AxProtector Java mit der zu dieser Lizenz zugehörigen Schlüssel verschlüsselt. Dies macht die Lizenzierung besonders sicher, da sie kryptographisch an das Vorhandensein eines Schlüssels gebunden ist. Für modulare Anwendungen können unterschiedliche Schlüssel für unterschiedliche Funktionen verwendet werden: Ein Anwender ist dann nur in der Lage, bestimmte Funktionen in der Applikation zu verwenden, wenn er über die entsprechende Lizenz verfügt, welche zur Entschlüsselung benötigt wird.

Es werden dabei alle sicheren Lizenz-Container von CodeMeter unterstützt: die sichere Hardware CmDongle (USB-Stick, sichere Speicherkarte oder ASIC) als auch die softwarebasierte CmActLicense, bei der die Lizenz an einen Rechner gebunden wird.

Mit AxProtector Java können flexible Lizenzierungsmodelle auf Klassen- oder Methodenebene einfach und schnell umgesetzt werden. Die Lizenzierungskonfiguration kann sowohl über eine graphische Benutzeroberfläche, eine xml-Datei oder direkt im Java Source Code per Annotation gesteuert werden, wodurch eine einfache Integration in die Build- und Auslieferungsprozesse ermöglicht wird.

Erleben Sie im Webinar, wie AxProtector Java zum Schutz von Java-Anwendungen verwendet wird.

Agenda

  • Funktionsprinzip von Java
  • Sicherheit in Java
  • AxProtector Java auf einen Blick
    • Flexible Lizenzierung und Schutzmöglichkeiten
    • Verschlüsselung auf Klassenebene
    • Verschlüsselung auf Methodenebene
    • Demo
  • Erweiterte Sicherheitsfeatures
    • Integration von Fallen
    • Verschlüsselung des Konstanten-Pools
    • Verschlüsslung des Methodenkontrollflusses
    • Obfuskierung
    • Integritätsprüfung
    • Aktueller Stand CodeMoving
  • Unterstützung von Java 9
    • Verschlüsselung modularer JARs
  • Zusammenfassung und Ausblick

AxProtector Java schützt einfach und sicher eine Vielzahl von Java-Anwendungen: Unabhängig davon, ob Sie eine Desktop-Anwendung oder eine Server-Anwendungen erstellen, ob diese als Einzelplatz- oder Netzwerkanwendung läuft oder ob Ihre Anwendung auf eine Plattform optimiert wurde oder nach dem Prinzip „Write Once, Run Anywhere“ multiplattformfähig ist. AxProtector Java ist Ihre erste Wahl für effektiven Softwareschutz und Lizenzierung: Zeitsparend, robust, sicher und Sie haben jeden Parameter unter Ihrer Kontrolle.