Rüdiger Kügler, VP Sales & Security Expert bei Wibu-Systems AG in Karlsruhe
Da mit Python vermehrt Software entwickelt wird, befassen sich auch potenzielle Angreifer mit dieser Programmiersprache, um Schwachstellen zu finden. Sie versuchen darüber hinaus, die Innovationen von Herstellern zu kopieren, um mit geringem Aufwand davon zu profitieren. Von Natur aus ist Python eine Skriptsprache, was dazu führt, dass Angreifer auf einfache Weise an den Python-Quellcode kommen können. Dieser Quellcode wird als Text-Datei ausgeliefert und kann im Klartext gelesen werden, d.h. der Quellcode liegt offen. Die Angreifer können alles lesen und die elementare Idee in der Software nachbauen (Reverse Engineering) oder den Quellcode absichtlich oder unabsichtlich ändern, manipulieren oder kopieren.
Das Karlsruher Unternehmen Wibu-Systems bietet Softwareherstellern Schutz- und Lizenzierungslösungen und hat speziell für in Python geschriebene Anwendungen seine CodeMeter-Lösung erweitert. Mit dem Tool AxProtector Python können Hersteller ihre Python-Software einfach automatisch verschlüsseln. Schon vor der Markteinführung von AxProtector Python konnten Hersteller ihre Python-Software schützen, indem die EXE-Datei über den Cython-Compiler vorkompiliert und dann verschlüsselt wurde. AxProtector Python ist Bestandteil der CodeMeter Protection Suite und erlaubt die direkte und automatische Verschlüsselung. In der CodeMeter Protection Suite sind weitere AxProtector-Varianten enthalten, die alle Verschlüsselung und Lizenzierung bieten, optimiert auf die entsprechende Programmiersprache. Hersteller verschlüsseln die zu schützende Software und liefern dem Anwender neben der Software beim Kauf auch den dazugehörigen Lizenzschlüssel mit, der auch nachträglich aktualisiert werden kann. Die Berechtigungen des Anwenders werden im Lizenzschlüssel gespeichert, und zwar dienen als sichere Speichermedien die Schutzhardware CmDongle, die softwarebasierte Aktivierungsdatei CmActLicense oder der CmCloudContainer in der Cloud.
Erster Ansatz: Vorkompilierung
Als es AxProtector Python noch nicht gab, führten die Hersteller zwei Schritte aus: die Vorkompilierung und danach die Verschlüsselung der Python-Software. Mit dem Cython-Compiler wird die Python-Software in eine ausführbare, in C geschriebene Datei (EXE) umgewandelt, und danach verschlüsselt AxProtector Windows die umgewandelte Software. Bei diesem klassischen Weg muss der Hersteller für jede einzelne Plattform die jeweils dazugehörige ausführbare Datei erzeugen und ausliefern und dafür die entsprechenden technischen Kenntnisse mitbringen.
Hersteller können mit den unterschiedlichen Verschlüsselungstools sowohl ihre Software und somit ihr geistiges Eigentum schützen als auch lizenzieren. Die granulare Lizenzierung erlaubt es, ganz unterschiedliche Modelle zur Software-Monetarisierung abzubilden, um spezifische Anforderungen von Märkten und Regionen zu berücksichtigen und dadurch Umsatzsteigerungen zu erzielen. Die verschiedene Lizenzmodelle können auch automatisiert ablaufen, beispielsweise über zeitbasierte, nutzungsbasierte oder funktionsbasierte Modelle, sie ermöglichen aber auch Einzelplatzlizenzen oder Floating-Lizenzen innerhalb eines Netzwerks. Die für die Python-Software wichtigen Daten können über das CodeMeter Core API zusätzlich verschlüsselt und auch signiert werden.





