Elektroniknet Logo

CodeMeter um AxProtector Python ergänzt

Python-Software für KI und ML verschlüsseln

Wibu-Systems
Wibu-Systems hat eine schlanke und dennoch sichere Methode zum Schutz von Python-Anwendungen entwickelt.
© Wibu-Systems

Die Programmiersprache Python wird immer beliebter, auch für KI- und ML-Anwendungen. Doch in Python programmierte Software lässt sich leicht ausspionieren oder manipulieren. Wibu-Systems hat daher ein einfaches und effizientes Verschlüsselungsverfahren auf Basis seiner CodeMeter-Technik entwickelt.

In unserem Alltag nutzen wir direkt oder indirekt ganz unterschiedliche Software: Es unterstützen uns diverse Apps auf dem Handy oder eine Bildverarbeitungssoftware bei der Arbeit, oder wir fahren moderne Autos mit allerlei intelligenten Systemen darin. Für ihre jeweiligen Anwendungen arbeiten Hersteller bei der Software-Entwicklung mit einer geeigneten und ihnen geläufigen Programmiersprache. Bei Software für Künstliche Intelligenz (KI) und speziell für Machine-Learning (ML) hat sich Python als beliebte Programmiersprache direkt hinter C und Java herauskristallisiert, was das aktuelle Beliebtheits-Ranking des TIOBE-Index zeigt. Python zeichnet sich zum einen durch seine Einfachheit und Übersichtlichkeit und zum anderen durch die vorhandenen stabilen und aktuellen Ressourcen für KI- und ML-Anwendungen aus.

Sehr vielfältig sind die möglichen Einsatzgebiete von KI: im Gesundheitswesen, in der Fertigung, in Unternehmen, in der Bildung, im Finanzwesen oder in der Justiz. Besonders sicherheitskritische Bereiche sollten vor Manipulationen geschützt sein. Die wachsende Bedeutung von KI und ML und die Schwäche von Python locken jedoch Angreifer an. Denn alle Anwender, mit oder ohne böse Absichten, können jederzeit den Python-Quellcode, der als einfache Text-Datei ausgeliefert wird, im Klartext sehen – dies ist gängig bei Skriptsprachen. Die Anwender könnten den Quellcode ändern, manipulieren oder kopieren und somit die guten Ideen, etwa einen KI-Lernalgorithmus, analysieren und unberechtigt nutzen (Reverse Engineering).

Anbieter zum Thema

zu Matchmaker+
Wibu-Systems
Schutz der Python-Anwendung über Vorkompilierung.
© Wibu-Systems

Das Karlsruher Unternehmen Wibu-Systems hat sich schon früh mit dem Schutz der Python-Software auseinandergesetzt und bietet Herstellern gleich zwei verschiedene Schutzkonzepte an. Die Schutz- und Lizenzierungstechnologie CodeMeter nutzt den Schritt über die Vorkompilierung der EXE-Datei mittels Cython-Compiler oder die direkte Verschlüsselung mittels des neuen Tools »AxProtector Python«. Das Grundkonzept von CodeMeter beruht darauf, dass die Softwar-Hersteller ihre Software verschlüsseln und lizenzieren und dann die verschlüsselte Datei mit den dazugehörigen Berechtigungen an die Anwender liefern. Die Berechtigungen werden in der Schutz-Hardware CmDongle, software-basiert als Aktivierungsdatei CmActLicense oder in einen CmCloudContainer für die Cloud gespeichert. Sie legen fest, wie die geschützte Software genutzt werden darf.

Der klassische Weg: Vorkompilierung

Die CodeMeter-Technologie bietet eine echte Verschlüsselung, damit Softwarehersteller beim klassischen Weg ihren Python-Code in zwei Schritten schützen können. Zuerst wird der Python-Code über den Cython-Compiler in eine ausführbare, in C geschriebene Datei (EXE) umgewandelt, und danach wird die ausführbare Datei über das Standard-Tool AxProtector verschlüsselt. Die Vorteile dabei sind, dass Hersteller einen starken Kopierschutz bekommen und auch ihr geistiges Eigentum schützen können. Darüber hinaus können sie ihre Software auf sichere Weise lizenzieren und somit monetarisieren. Sie können ihre Software beispielsweise als Einzelplatzlizenz, als Floating-Netzwerklizenz oder als zeitbasiertes Modell anbieten, was sich automatisch mit Hilfe des AxProtectors umsetzen lässt. CodeMeter Core API erlaubt zusätzlich das Verschlüsseln und Signieren der für die Python-Software benötigten wichtigen Daten. Ein wenig aufwändig ist, dass die Hersteller für jede einzelne Plattform eine separate ausführbare Datei erzeugen und ausliefern müssen. Zusätzlich erfordert dieser Vorgang eine gewisse technische Kenntnis.

Wibu-Systems
»AxProtector Python« schützt direkt Python-Anwendungen.
© Wibu-Systems

Neuer Ansatz: Direkte Verschlüsselung des Python-Codes

Das neue Tool AxProtector Python, das ab Python 3 und CodeMeter Runtime 7.30 verfügbar ist, kann direkt und ohne Umweg mit dem Python-Code umgehen, und es wird kein nativer Code erzeugt. Die Hersteller profitieren von der Plattform-unabhängigkeit, denn sie verschlüsseln nur einmal den Python-Code. Das Ergebnis ist eine einzige ausführbare Datei, die auf Windows, Linux oder macOS läuft und an die Anwender ausgeliefert wird, und zwar mit dem gewohnten Schutzniveau von CodeMeter. Die Entschlüsselung erfolgt On-Demand während der Laufzeit, so dass immer nur ein kleiner Teil, der gerade benötigt wird, im Hauptspeicher geladen und dann entschlüsselt wird. Zusätzlich wird jede Funktion im Python-Code einzeln verschlüsselt. Dadurch können Hersteller ihren Kunden modulare Lizenzen anbieten und genau das freischalten, was sie gekauft haben. Die Hersteller können somit ganz flexibel die unterschiedlichsten Lizenzmodelle umsetzen.

Einzelne Dateien, etwa allgemeingültige globale Funktionen, lassen sich aus der Verschlüsselung herausnehmen, indem der Variablentyp auf »False« gesetzt wird. Der Anwender kann diese Dateien immer nutzen, denn sie sind nicht verschlüsselt. Für die Software-Entwickler bedeutet AxProtector Python eine viel einfachere Integration, weil der Zwischenschritt der Vorkompilierung über Cython wegfällt.

Wibu-Systems
Unterschiedliche Nutzungsformen der CodeMeter-Technologie.
© Wibu-Systems

 

CodeMeter Protection Suite

Die CodeMeter Protection Suite ähnelt einem Werkzeugkasten und erlaubt die Verschlüsselung der kompletten Software oder von Teilen davon. Dies erledigen die diversen AxProtector-Varianten für verschiedene Programmiersprachen sowie IxProtector und IP Protection. Neben der neuen Komponente für Python können Software-Entwickler mit dem allgemeinen AxProtector, AxProtector Java, AxProtector .NET und AxProtector CmE arbeiten. Ergänzt werden diese Komponenten um Tools zum automatischen Schutz vor Reverse-Engineering in den entsprechenden Programmiersprachen.

Analysten, etwa bei PwC, rechnen mit Wachstum durch Innovationen auf KI-Basis, was dementsprechend zu einem noch intensiveren Einsatz von Python-Anwendungen führt. Nur mit geeigneten Tools, die einfach einzusetzen und wirkungsvoll sind, können Hersteller ihre Tätigkeiten ausdehnen, was dazu führen wird, dass die Anwender noch mehr Unterstützung durch Software bekommen werden. AxProtector Python übernimmt schon jetzt die Verschlüsselung des Python-Codes für KI und ML und erlaubt Software-Schutz, Lizenzierung und Schutz vor Reverse-Engineering. (ak)


Verwandte Artikel

WIBU-SYSTEMS AG