Wertvolles Knowhow schützen und lizenzieren

Das Tool AxProtector von Wibu-Systems schützt über einen Zwischenschritt eine zuvor kompilierte Python-Anwendung.
Das Tool AxProtector von Wibu-Systems schützt über einen Zwischenschritt eine zuvor kompilierte Python-Anwendung.
Das Tool AxProtector von Wibu-Systems schützt über einen Zwischenschritt eine zuvor kompilierte Python-Anwendung.
Das Tool AxProtector von Wibu-Systems schützt über einen Zwischenschritt eine zuvor kompilierte Python-Anwendung.Bild: WIBU-Systems AG

In Robotersoftware stecken besondere Algorithmen, z.B. wie ein Roboterarm effizient für einen bestimmten Produktionsablauf bewegt wird. Das zählt zum besonderen Knowhow eines Anbieters, das vor den Augen unberechtigter Personen verborgen bleiben soll. Darüber hinaus wollen Hersteller sicher sein, dass ihre Software nur so eingesetzt wird, wie sie vom Kunden gekauft wurde, insbesondere wenn die Software aus unterschiedlichen Modulen besteht, die einzeln aktiviert werden.

Generell sind Schwachstellen das Einfallstor für Hacker. Aber nicht nur IT-Systeme, auch Software steht im Fokus der Angreifer. Wenn es um KI- und ML-Anwendungen oder um Software im Bereich Robotik geht, werden Hacker mit Python-Kenntnissen aktiv. Ihr Ziel ist es, mit möglichst geringem Aufwand an das wertvolle Knowhow des Softwareherstellers, dazu zählen auch Anbieter von Robotiklösungen, zu gelangen. Sie analysieren die Software und manipulieren diese. Bei Python ist der Quellcode offen und kann von jedem gelesen werden, was dazu führt, dass auch die Hacker einfach die Software analysieren, kopieren oder manipulieren können. Dann besteht die Gefahr vom unberechtigten Nachbau der Software (Reverse Engineering) oder von Manipulation, das heißt Schadfunktionen könnten zur Sabotage oder Spionage eingebaut werden.

Bild: WIBU-Systems AG

Verschlüsselung der Python-Software

Seit über drei Jahrzehnten bietet das Karlsruher Unternehmen Wibu-Systems seine Lösungen zum Softwareschutz und zur Lizenzierung von Softwarefunktionen an. Zu den Kunden zählen Hersteller von Software und von intelligenten Geräten, die mit der CodeMeter-Lösung ihre Software verschlüsseln und lizenzieren. Anfangs hat CodeMeter die klassische Software geschützt und danach auch die Software im industriellen Bereich. Bei letzterem gelten besondere Anforderungen, z.B. der Einsatz der Schutzhardware in widrigen Umgebungen oder die Software läuft auf schlanken industriellen Betriebssystemen. CodeMeter erlaubt den Herstellern, flexibel und feingranular die benötigten Lizenzierungsmöglichkeiten für die unterschiedlichen Märkte und Regionen abzubilden; dazu zählen automatisiert ablaufende zeit-, nutzungs- oder funktionsbasierte Lizenzmodelle für Einzelplätze und innerhalb eines Netzwerks (Floating-Lizenzen).

Wibu-Systems hat speziell für den Schutz von Python-Anwendungen das Tool AxProtector Python entwickelt. Damit können Hersteller ihre Software automatisch verschlüsseln, ohne Anpassungen im Quellcode vornehmen zu müssen. Mit AxProtector Python können ebenfalls der komplette KI-Lebenszyklus von der Datenbasis, mit der künstliche Intelligenzen trainiert werden, bis zur Verbreitung, Integration und Anwendung fertiger Datenmodelle geschützt werden. Über Zusatzschritte konnten Hersteller schon vor der Markteinführung von AxProtector Python ihre in Python geschriebene Software schützen. Mithilfe des Tools geht es aber jetzt einfacher. Inzwischen gibt es verschiedene AxProtector-Varianten, die in der CodeMeter Protection Suite zusammengefasst sind. Die Hersteller arbeiten mit dem passenden Tool, um ihre komplette Software oder nur Teile davon automatisch zu verschlüsseln oder zu lizenzieren. Beim Kauf liefert der Hersteller sowohl die geschützte Software als auch die dazugehörigen Lizenzschlüssel aus – auch bei einem späteren Kauf von Lizenzen oder Zusatzfunktionen. Die Lizenzschlüssel enthalten die Berechtigungen des Anwenders. Als Schlüsselspeicher dienen die Schutzhardware CmDongle, die softwarebasierte Aktivierungsdatei CmActLicense oder CmCloudContainer für den Einsatz in der Cloud.

Bevor es AxProtector Python gab, war der Schutz von Python-Software mit CodeMeter möglich, aber aufwendiger: Zuerst erfolgte die Vorkompilierung mittels Cython-Compiler in ein ausführbares Programm und danach wurde dieses Programm mittels AxProtector Windows verschlüsselt. Nachteilig war, dass der Hersteller dabei für jede einzelne Plattform die jeweils zugehörige ausführbare Datei aufwendig erzeugen und ausliefern musste.

Hohes Schutzniveau

Die Voraussetzungen für AxProtector Python sind mindestens Python 3 und CodeMeter 7.30. Das Tool erzeugt keinen nativen Code, sondern verschlüsselt Python-Anwendungen direkt und ohne Vorkompilierung, und zwar plattformunabhängig. Im Gegensatz zur Vorkompilierung mit Cython erzeugt der Hersteller nur eine einzige geschützte Anwendung, die auf allen gängigen Plattformen, wie Windows, Linux und MacOS, lauffähig ist. Auch beim Einsatz von AxProtector Python kann der Hersteller alle CodeMeter-Funktionen mit einem hohen Schutzniveau nutzen. Während der Laufzeit wird nur der gerade benötigte Teil kurzzeitig entschlüsselt und der Großteil der Software bleibt weiterhin geschützt. Sollen einzelne Softwarefunktionen verkauft werden, werden diese Funktionen unterschiedlich verschlüsselt und mit den dazugehörigen Lizenzschlüsseln ausgeliefert. 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.

Veröffentlicht am
Kategorisiert in Robotik

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert