Was versteht man unter Software-Schutz?
Der Begriff Software-Schutz bezieht sich auf Maßnahmen, die ein Softwareentwickler ergreifen kann, um die unbefugte Nutzung seiner Software zu verhindern, seinen Lizenzvertrag durchzusetzen und Anti-Debugging- und Anti-Reverse-Engineering-Techniken einzusetzen, um sein geistiges Eigentum (IP) vor Diebstahl zu schützen.
Nach Angaben des BSA handelt es sich bei mindestens 37 % der weltweit eingesetzten Software um Raubkopien. Deutlich höher fällt dieser Wert in Asien, Lateinamerika und in den BRIC-Staaten (Brasilien, Russland, Indien und China) aus. Dies stellt einen enormen Umsatzverlust für Softwareentwickler dar.
Softwarepiraterie kann viele Formen annehmen. Unlizenzierte Software kann einfach und kostenlos im Internet oder über Peer-to-Peer-Netzwerke vertrieben werden. Manchmal werden illegale Kopien ähnlich dem Originalprodukt erstellt und gegen eine Gebühr verkauft. Es kommt jedoch häufig zu Piraterie, wenn Ihre Kunden beispielsweise die Bedingungen ihrer Lizenzvereinbarung überschreiten, indem sie zusätzliche Kopien installieren oder vielen Benutzern die Verwendung einer einzigen Lizenz in einem Netzwerk ermöglichen.
Verhinderung von Software-Piraterie
Piraterie wird durch eine Mischung aus starker Verschlüsselung und Technik verhindert. Somit werden Debugging, Analyse, Manipulation, Dumping und Dekompilierung der Entwicklersoftware vermieden. Die zentrale Strategie des Kopierschutzes wird durch eine starke Bindung der geschützten Software an ein Security-Token umgesetzt. Dabei kann es sich um ein Hardware-Gerät wie ein USB-Security-Token oder einen softwarebasierten Schlüssel oder ein softwarebasiertes Schloss handeln, das auf dem Computer vorhanden ist. Wenn das Security-Token nicht vorhanden oder kompromittiert ist, wird die Software nicht ausgeführt.
Typischerweise wird eine asymmetrische Verschlüsselung wie RSA verwendet, damit die geschützte Software sicher mit dem Security-Token kommunizieren kann. Der öffentliche Schlüssel wird in der geschützten Anwendung und der private Schlüssel im Security-Token gespeichert. Die Token haben ein sehr hohes Sicherheitsniveau, das das Extrahieren und Ändern des Inhalts des Tokens und das Klonen des Tokens selbst verhindert.
Manchmal versuchen Entwickler, ihre eigenen primitiven Kopierschutz-Systeme basierend auf einigen einzigartigen Elementen des Computers zu implementieren. Die meisten, wenn nicht alle, erkennen jedoch bald, dass hierfür viel Support notwendig ist und dass es sehr schwierig ist, solche Systeme zuverlässig und mit genügend Flexibilität für den allgemeinen Gebrauch zu erstellen. Ganz zu schweigen von der Verhinderung von Debugging und Reverse Engineering ihrer Software, Themen, die Sie am besten den Experten überlassen. Microcosm perfektioniert bereits seit über 30 Jahren seine Kopierschutzsysteme und bietet folgende zwei Lösungen an: Dinkey Pro, eine Hardware-Dongle-basierte Lösung und CopyMinder, ein rein softwarebasiertes Schutzsystem.
Software-Schutzlösungen von Microcosm
Beide unsere Software-Schutzlösungen unterstützen zwei Methoden zur Integration des Schutzes:
Mit der Shell-Methode wird Ihrer Anwendung automatisch ein sicherer Wrapper (eine Schutzhülle) hinzugefügt, der sie zwingt, die Existenz und den Status des Security-Tokens zu bestätigen, bevor die Anwendung ausgeführt werden darf. Die Shell-Methode verschlüsselt auch Codes und Daten in Ihrer Software, um Reverse Engineering zu verhindern. Mit dieser Schutzmethode erhalten Sie Softwareschutz, ohne Ihren Quellcode ändern zu müssen.
Alternativ können Sie unsere Schutz-API aufrufen. Dadurch erhalten Sie die nötige Flexibilität bezüglich der Auslösung einer Schutzprüfung und bezüglich der Entscheidung, welche Maßnahmen zu ergreifen sind, je nachdem, ob das Token vorhanden ist oder der Parameterwert sicher im Token gespeichert ist. Beispielsweise können Sie Ihr Programm beenden oder im Demo-Modus ausführen, wenn das Token nicht gefunden wird. Alternativ können Sie abhängig von den im Token gespeicherten Daten entscheiden, welche Funktionen Ihres Programms aktiviert sein sollen.
Alle Lizenzierungsdetails im Token können sicher und aus der Ferne aktualisiert werden. Hiermit können Sie beispielsweise ein Ablaufdatum verlängern oder ändern oder auch entscheiden, welche Software-Funktionen ein Kunde verwenden darf.
Mit unseren Software-Schutzlösungen können Sie alle Arten von Lizenzmodellen implementieren, darunter:
- Einmaliger Kauf
- Abonnement/Vermietung
- Sichere Test-/Demoversionen
- Netzwerklizenzierung (einschließlich der gleichzeitigen Steuerung der Anzahl von Benutzern in einem Netzwerk, die Ihre Software verwenden)
- Pro Computer/pro Dongle
- Feature-basiert
- Pay-per-Use: Steuerung der Anzahl der Ausführungen Ihrer Software oder eines Befehls innerhalb Ihrer Software