Kategorien: Software-Schutz
CodeMeter Protection Suite – Das umfassende Werkzeug für den Softwareschutz
Softwareherstellern ist intuitiv klar, dass die Monetarisierung einer Software über die Ausgabe eigener Lizenzen funktioniert. Aber wie steht es um den Schutz des wertvollen Know-hows, das in der Software steckt? Oft ist in die Entwicklung von Algorithmen, Parametern und Daten viel Aufwand und Geld investiert worden. Der folgende Artikel zeigt, wie mit Unterstützung von CodeMeter Protection Suite die Themen Schutz und Lizenzierung mit einer einheitlichen Lösung umgesetzt werden können.
Heute schon gehackt worden?
Viele Unternehmen trifft es unerwartet. Der Umsatz bricht regional oder im schlechtesten Falle komplett ein oder man erhält Supportanrufe von Kunden, denen man die Software niemals verkauft hat. Beides sind recht eindeutige Indizien für Produktpiraterie. Sei es ein plötzlich auftauchendes Wettbewerbsprodukt, das mit gleichen Funktionen auf dem Markt auftaucht, oder schlimmer noch die eigene Software, die ohne die Originallizenzierung, aber mit einer anderen Lizenzierung auf dem Markt angeboten wird – beides kann dem eigentlichen Rechteinhaber enorm schaden. Der Arm der Justitia ist oft auch nicht lang genug, um die eigenen Rechte in allen Ländern der Erde erfolgreich durchzusetzen.
Verschlüsseln und Signieren hilft
Beim Thema Kontrolle kommt nun CodeMeter Protection Suite ins Spiel. Vereinfacht gesagt handelt es sich hier um ein Verschlüsselungsund Lizenzierungstool für unterschiedliche Zielplattformen. Die Integration von Schutz- und Lizenzierung ist dabei in kürzester Zeit mit minimalem Aufwand möglich. Grundlage für ein hohes Schutzniveau bieten dabei neben der eigentlichen Verschlüsselung modernste Anti-Debugging-und Anti-Reverse-Engineering-Maßnahmen, die in Ihre Anwendung eingebettet werden.
Zusätzlich erlaubt CodeMeter Protection Suite durch Anwendung von Signaturen, die Unversehrtheit einer Anwendung (Code-Integrität) zweifelsfrei zu überprüfen.
Maximale Sicherheit durch dynamische Entschlüsselung
Um eine maximale Sicherheit vor typischen Angriffen wie Memory-Dumping zu erhalten, werden bei einer mit CodeMeter Protection Suite geschützten Anwendung einzelne Funktionen und Methoden erst bei Benutzung dynamisch zur Laufzeit entschlüsselt. Je nach verwendeter Programmiersprache erfolgt dies automatisch (.NET, Java, JavaScript und Python) oder Sie kennzeichnen die Methoden, die dynamisch entschlüsselt werden sollen, in Ihrem Code.
Zusammenspiel von Schutz und Lizenzierung
In den meisten Fällen möchte man den Schutz und die Lizenzierung miteinander verbinden. Dies ist mit CodeMeter Protection Suite einfach zu realisieren, denn die zur Verschlüsselung erforderlichen kryptografischen Schlüssel sind bei CodeMeter bereits sicherer Bestandteil einer Lizenz, die durch Firm Code und Product Code gekennzeichnet wird. Beim Verschlüsseln Ihrer Anwendung (Programme und Bibliotheken) geben Sie den Firm Code und Product Code an und erhalten als Ergebnis die verschlüsselte Anwendung, die nur mit diesem kryptografischen Schlüssel entschlüsselt werden kann. Eine Änderung am Quellcode ist in der Regel nicht notwendig.
Auf der Endkundenseite wird eine Lizenz benötigt, um die Anwendung zu verwenden. Diese Lizenz können Sie individuell für jeden Benutzer wahlweise in eine mobile Hardware (CmDongle), eine verschlüsselte Lizenzdatei (CmActLicense) oder einen benutzergebundenen Container in der Cloud (CmCloudContainer) speichern.
AxProtector Grundversion
AxProtector ist für verschiedene Programmiersprachen verfügbar. Diese ermöglicht es Ihnen, Ihre Anwendung mit einer Lizenz zu versehen und zu verschlüsseln. Ihre Anwendung kann dabei auch aus mehreren Programmen und Bibliotheken bestehen.
AxProtector Grundversion
AxProtector ist für verschiedene Programmiersprachen verfügbar. Diese ermöglicht es Ihnen, Ihre Anwendung mit einer Lizenz zu versehen und zu verschlüsseln. Ihre Anwendung kann dabei auch aus mehreren Programmen und Bibliotheken bestehen.
Zusatzoption „Modular Licensing“
Wenn Sie Ihre Anwendung in einzelnen Funktionen verkaufen wollen, ist die Option Modular Licensing“ Ihre beste Wahl. Sie definieren mehrere verschiedene Lizenzen (Product Codes), die jeweils einzeln verkauften Funktionen entsprechen. Je nach lizenziertem Funktionsumfang erhält Ihr Anwender eine Kombination aus diesen verschiedenen Product Codes.
In Ihrer Anwendung können Sie diese Lizenzen durch das WUPI-API abfragen und so auf fehlende Lizenzen durch Ausblenden von entsprechenden Funktionalitäten reagieren. Bei der dynamischen Entschlüsselung zur Laufzeit können Sie diesen Teilen in Ihrer Anwendung die entsprechenden Lizenzen zuweisen. Diese werden dann mit anderen kryptografischen Schlüsseln verschlüsselt, mindestens einem weiteren pro verwendeten Product Code. Ein Angreifer kann diese Teile der Anwendung ohne diese Lizenzen auf keinen Fall entschlüsseln, da ihm die dafür benötigten Schlüssel fehlen.
Zusatzoption „IP Protection Modus“
Verteilen Sie eine kostenfreie Version Ihrer Software oder möchten Sie in einem Freemium-Modell nur einzelne Funktionen in der Software lizenzieren oder soll eine in der Produktion eingesetzte Software tolerant auf fehlende Lizenzen reagieren? Aber Sie wollen nicht auf den Schutz Ihres Know-hows verzichten?
Im Gegensatz zur Grundfunktion wird die Verschlüsselung nicht an eine CodeMeter-Lizenz gebunden. Der Schlüssel zum Entschlüsseln wird sicher in der Anwendung selbst versteckt. Die Anwendung startet immer, da kein Lizenzcontainer vorhanden sein muss. Diese Option kann mit der modularen Lizenzierung kombiniert werden, was vor allem bei Freemium-Modellen für den Schutz der kostenpflichtigen Funktionen auf der Hand liegt.
Zusatzoption „CodeMoving“
Zur weiteren Erhöhung der Sicherheit kann Maschinencode im CmDongle oder CmCloud-Container ausgeführt werden. Dabei werden sicherheitsrelevante Teile in Form einer C-Quelldatei implementiert. Diese wird beim Verschlüsselungsprozess kompiliert und als binärer und verschlüsselter Blob in der geschützten Anwendung abgespeichert.
Zur Laufzeit werden diese Teile per API aufgerufen. Der verschlüsselte Code wird an den CmDongle oder den CmCloudContainer übertragen, dort entschlüsselt und mit den ebenfalls übertragenen Eingabeparametern ausgeführt. Das Ergebnis der Berechnung wird als Antwort auf den API-Aufruf zurückgesendet.
Zusatzoption „File Encryption“
Dieses Modul erlaubt es, Daten in Form von Dateien einfach und schnell zu schützen. Dazu wird eine Datei separat mit CodeMeter Protection Suite verschlüsselt und kann später mit Anwendungen, die über die gleichen Parameter verschlüsselt wurden, geöffnet und gelesen werden.
Unterstützte Zielplattformen
Für Standard-PCs sind die entsprechend sinnvollen Zielplattformen bereits in der Grundversion des AxProtectors enthalten
Falls Sie Ihre Software für Embedded-Geräte entwickeln, benötigen Sie je nach Zielplattform (Target) gegebenenfalls eine zusätzliche Lizenz für Ihren AxProtector. Eine Zielplattform besteht aus dem Betriebssystem, dem Prozessortyp und bei Linux der verwendeten Standardbibliothek.
Unterstützte Entwicklungsumgebungen
Alle AxProtectoren können in Windows- und Linux-basierten Entwicklungsumgebungen eingesetzt werden. AxProtector macOS kann zusätzlich auch auf macOS direkt verwendet werden.
Aktualitätsgarantie durch Abonnement-Modell
Alle AxProtectoren sind seit Anfang 2022 im Abonnement-Modell verfügbar. Sie profitieren somit davon, dass Sie immer die aktuelle Version einsetzen und somit die Stand-der-Technik-Sicherheitsfunktionen nutzen können.
Das Abonnement läuft immer bis zum Ende des Kalenderjahres und verlängert sich automatisch, wenn Sie es nicht kündigen. Mit der automatischen Verlängerung stehen die aktualisierten Lizenzen für Ihre AxProtectoren und Optionen sofort im Lizenzportal zur Abholung bereit.
KEYnote 43 – Frühjahr-/Sommerausgabe 2022