Safety

AxProtector Python schützt fertige Python-Anwendungen

02.01.2023 - Mit dem Tool „AxProtector Python” von Wibu-Systems können Hersteller ihre Python-Anwendungen automatisch verschlüsseln, ohne Anpassungen am Quellcode.

Gerade in den Bereichen Künstliche Intelligenz (KI) und Machine Learning (ML) wird die Programmiersprache Python eingesetzt, aber auch in der industriellen Fertigung, der Bildung, dem Finanz- und Gesundheitswesen oder im juristischen Bereich. Ein Blick in den Tiobe-Index, der die bei den Entwicklern beliebtesten Programmiersprachen auflistet, zeigt Python (Stand August 2022) auf dem ersten Platz. Aber nicht nur Entwickler befassen sich mit Python, auch Angreifer tun es. Diese versuchen, mögliche Schwachstellen zu finden und auszunutzen, um unberechtigt an die Innovationen anderer Hersteller zu gelangen und davon zu profitieren. Im Allgemeinen liegen Python-Programme offen und lesbar im Quellcode vor, was es Angreifern leicht macht, die Software zu analysieren, zu kopieren oder zu manipulieren. Zielen ist dabei häufig der Nachbau der Software (Reverse Engineering) oder der Einbau von Schadfunktionen zum Zwecke von Sabotage bzw. Spionage. Mit dem Tool „AxProtector Python” von Wibu-Systems können Hersteller ihre Python-Anwendungen automatisch verschlüsseln, ohne Anpassungen am Quellcode.
 

WinDays 2023

Seit über drei Jahrzehnten bietet das Karlsruher Unternehmen Wibu-Systems den Herstellern von Software und intelligenten Geräten seine Lösungen zum Schutz ihrer Software und ihres geistigen Eigentums (Know-how-Schutz) und zur Lizenzierung von Softwarefunktionen (Monetarisierung) an. Die CodeMeter-Technologie wurde zuerst für klassische Software eingesetzt und dann entsprechend für Software im industriellen Bereich erweitert.

So werden die industriellen Anforderungen erfüllt, wie der Einsatz der Schutzhardware in widrigen Umgebungen. Ebenfalls erlauben die flexiblen und feingranularen Lizenzierungsmöglichkeiten den Herstellern, automatisiert ablaufende zeit-, nutzungs- oder funktionsbasierte Lizenzmodelle für Einzelplätze und innerhalb eines Netzwerks (Floating-Lizenzen) anzubieten, passend zu den besonderen Anforderungen unterschiedlicher Märkte und Regionen.

Mit dem Tool „AxProtector Python” können Hersteller ihre Python-Anwendungen automatisch verschlüsseln, ohne Anpassungen am Quellcode. Schon vor der Markteinführung von AxProtector Python konnten Hersteller ihre Python-Software schützen, wofür einige Zusatzschritte notwendig waren, die dank AxProtector Python jetzt entfallen.

Neben AxProtector Python gibt es weitere AxProtector-Varianten für zusätzliche Programmiersprachen, die unter CodeMeter Protection Suite zusammengefasst sind. Wie in einen Werkzeugkasten können viele Hersteller die passenden Tools nutzen, um ihre Software komplett oder Teile davon automatisch zu verschlüsseln bzw. zu lizenzieren.

Der Hersteller liefert seinen Kunden, den Anwendern, die geschützte Software und die dazugehörigen Lizenzschlüssel. Dies passiert auch, wenn der Anwender zu einem späteren Zeitpunkt einen weiteren Softwarekauf tätigt. Die Berechtigungen des Anwenders werden im Lizenzschlüssel gespeichert. Als sicherer Speicher dienen die Schutzhardware CmDongle, die softwarebasierte Aktivierungsdatei CmActLicense oder CmContainer für den Einsatz in der Cloud.
 

Verschlüsseln von Python-Software ohne Vorkompilierung

Ohne AxProtector Python war der Schutz von Python-Software aufwendiger: Zuerst erfolgte die Vorkompilierung mittels Cython-Compiler in ein ausführbares Programm und danach wurde dieses Programm mittels AxProtector Windows verschlüsselt. Bei diesem Weg muss der Hersteller für jede einzelne Plattform die jeweils zugehörige ausführbare Datei erzeugen und ausliefern – ein sehr umfangreicherer Prozess.

Die Mindestvoraussetzungen für AxProtector Python sind Python 3 und CodeMeter 7.30. AxProtector Python verschlüsselt Python-Programme direkt und ohne Vorkompilierung, wobei kein nativer Code erzeugt wird. Die Plattformunabhängigkeit von AxProtector Python überzeugt sofort: Anders als beim Weg über Cython erzeugt der Hersteller nur eine einzige geschützte Anwendung, die auf allen gängigen Plattformen wie Windows, Linux und macOS lauffähig ist. Wie gewohnt kann der Hersteller alle CodeMeter-Funktionen auf einem hohen Schutzniveau nutzen. Der Großteil der Software bleibt verschlüsselt, denn während der Laufzeit wird nur der gerade benötigte Teil entschlüsselt.

Hersteller können zusätzlich einzelne Funktionen der Python-Anwendung separat verschlüsseln, sodass ihre Kunden genau die gekauften Funktionen nutzen können. Eine weitere Möglichkeit ist, dass Hersteller durch Annotationen im Programmcode oder Einträge in der Schutzdefinition gewisse Funktionen und Dateien von der Verschlüsselung ausschließen, z. B. für Trial-Versionen. Der Schutz mit AxProtector Python ist im Vergleich zum Weg über den Cython-Compiler deutlich einfacher, denn der Schritt der Vorkompilierung entfällt.
 

Werkzeugkasten „CodeMeter ­Protection Suite“

Für die entsprechenden Programmiersprachen und Zielsysteme gibt es die Basisfunktion für die folgenden Varianten: Neben AxProtector Python können die Hersteller AxProtector Windows, AxProtector Linux, AxProtector macOS, AxProtector Java, AxProtector JavaScript, AxProtector .NET, AxProtector Android und AxProtector CmE für Embedded-Software wählen. Zusätzlich zur Basisfunktion können Hersteller Modular Licensing, IP Protection, CodeMoving oder File Encryption einsetzen. Modular Licensing bedeutet, dass einzelne Methoden individuell lizenziert werden. Beim IP Protection-Modus wird der Schlüssel zur Entschlüsselung sicher in der Anwendung versteckt und die Verschlüsselung ist nicht an eine CodeMeter-Lizenz gebunden, z. B. für Freemium-Lizenzmodelle. CodeMoving sorgt durch Ausführung des Maschinencodes im CmDongle oder im CmCloudContainer für ein höheres Schutzniveau. Mit File En-cryption werden beliebige digitale Daten geschützt.

Aufgrund der zunehmenden Verbreitung von KI- und ML-Anwendungen wird Python als beliebte Programmiersprache in diesen und anderen Bereichen ebenfalls weiter wachsen. Damit die besonders schutzbedürftigen Python-Anwendungen wirksam vor Angreifern und somit vor Know-how-Verlust geschützt werden und die Einhaltung der Lizenzierung gewährleistet ist, können Hersteller eine Schutz- und Lizenzierungslösung wie CodeMeter wählen, die flexibel eingesetzt werden kann und viele Programmiersprachen unterstützt.

 

Kontakt

*Wibu-Systems AG

Rüppurrer Str. 54
76137 Karlsruhe
Deutschland

+49 721 93172 0
+49 721 93172 22