Softwareschutz gegen Kopieren und Hacken: Grundlegende Methoden und Strategien



Laut Statistiken aus der BSA Global Software Survey- Studie 2018 :

  • Nicht lizenzierte (Raubkopien-) Software macht 37% der Gesamtmenge an Software aus, die auf PCs weltweit installiert ist.
  • Die Kosten für gefälschte Software werden auf 46 Milliarden US-Dollar geschätzt.
  • Malware, die viele Raubkopien infiziert, die von Drittanbietern heruntergeladen wurden, kostet Unternehmen jährlich 359 Milliarden US-Dollar.
  • Die Verluste durch das Hacken von lizenzierter Software belaufen sich auf rund 600 Milliarden US-Dollar pro Jahr.

Wir alle wissen, dass es unter den Benutzern diejenigen gibt, die das Programm ehrlich kaufen und für den beabsichtigten Zweck verwenden, und es gibt diejenigen, die Software auf die eine oder andere Weise hacken und selbst damit arbeiten oder es verkaufen.

Skillbox empfiehlt: einen zweijährigen praktischen Kurs "Ich bin ein PRO Web Developer".

Wir erinnern Sie daran: Für alle Leser von „Habr“ - ein Rabatt von 10.000 Rubel bei der Anmeldung für einen Skillbox-Kurs mit dem Promo-Code „Habr“.
Es ist unwahrscheinlich, dass Softwareentwickler, die kostenpflichtige Produkte erstellen, mehrere Jahre ihres Lebens mit einem Programm verbringen möchten, das sie hacken und kostenlos verwenden. Reputationsverluste können ebenfalls zu einem Problem werden: Wenn Sie beispielsweise gehackte Software eines bestimmten Unternehmens herunterladen, das den PC eines Benutzers mit einem von einem Angreifer eingeschleppten Virus infiziert, wird das Opfer wahrscheinlich den Hersteller und nicht den Cracker beschuldigen.

Laut BSA kann ein Unternehmen, das den Schutz seiner Softwareprodukte ernst nimmt, mit einer Umsatzsteigerung von etwa 11% rechnen (es ist jedoch wichtig zu verstehen, dass dies ein Durchschnittswert ist).

Aber was kann getan werden, um Ihre Software zu schützen?


Es gibt viele verschiedene Lösungen für die Lizenzierung und den Schutz von Software. Bevor Sie sich für eine entscheiden, sollten Sie einige wichtige Fragen beantworten.

Zunächst müssen Sie entscheiden, welche Schutzstufe Ihr bestimmtes Projekt möglicherweise benötigt. Schieße nicht mit einer Kanone auf Spatzen, die Auswahl sollte angemessen sein. Viele Entwickler machen hier einen Fehler, wenn sie einen leistungsstärkeren (und teureren) Schutz verwenden, als sie wirklich benötigen.

Zweitens müssen Sie sich fragen, wie viel Sie bereit sind, für die Verteidigung auszugeben. Die Antwort kann kompliziert sein. Um die richtige Wahl zu treffen, lohnt es sich zu analysieren, was Sie möglicherweise benötigen.

Wenn Sie sich dann für alles entscheiden, können Sie den Schutz basierend auf der Strategie für die Verwendung des Softwareprodukts auswählen.

Wichtige Sicherheitsfunktionen

Alles beginnt mit der Wahl des Lizenzprinzips: Sie müssen entscheiden, wie sie für Ihr Produkt bezahlen. Es gibt viele Sorten, im Allgemeinen können sie in vier Arten unterteilt werden:

  • Einmalige Zahlung. Sie bezahlen Ihre Software einmal und können sie dann unbegrenzt nutzen.
  • Funktionseinschränkungen. Zusätzliche Funktionen, die der Benutzer gegen eine zusätzliche Gebühr öffnen kann.
  • Befristete Lizenz. Sie "vermieten die Anwendung", das heißt, wir sprechen von einem Abonnement.
  • Geschichtet. Es ist eine Kombination dieser Methoden. Der Benutzer erhält bei entsprechender Bezahlung eine Silber-, Gold- oder Platin-Version der Software.

Sobald Sie sich für eine Lizenzierungsstrategie entschieden haben, ist es Zeit, nach Softwareschutztechnologien zu suchen. Und hier lohnt es sich, sich an Nuancen wie die Möglichkeit, Software mit dem Internet zu verbinden, ihre Spezialisierung, die Art der Plattform, für die die Software bestimmt ist, usw. zu erinnern.

Wir betonen noch einmal, wie wichtig es ist, einen angemessenen Schutz zu wählen. Wenn Sie Ihr Fahrrad mit der in Fort Knox verwendeten Methode schützen wollen, kann dies kaum als vernünftig bezeichnet werden. Es gibt eine umgekehrte Beziehung: Wenn Sie Fort Knox schützen möchten, verwenden Sie dafür kein Fahrradschloss, es ist nutzlos, Hacking ist garantiert. Im Allgemeinen sollte die Lizenzierungsstrategie dem Preis des Produkts selbst entsprechen.

Arten von Schutz


Wie oben erwähnt, gibt es verschiedene Optionen zum Schutz von Software vor Hacking und Kopieren. Diese Optionen können in Bezug auf Kosten, Schutzniveau und Spezialisierung variieren.

Vertrauensschutz. Hier rechnen Sie damit, dass Benutzer problemlos bezahlen können. Ein Benutzer - eine Lizenz, ewig. Grundsätzlich entstehen Ihnen praktisch keine Kosten. Sobald die Anwendung kompiliert ist, können Sie mit der Verteilung beginnen. Das Problem ist jedoch, dass wenn Ihr Produkt populär wird, jemand es definitiv knacken wird, nachdem er mit dem Vertrieb begonnen hat. In diesem Fall gibt es keinen Schutz gegen Hacking, es ist Null.

Offline-Softwareschutz

Es geht um Schutz ohne Internetverbindung. Typischerweise wird ein solches Schema unmittelbar nach dem Kompilieren des Programms implementiert. Die am häufigsten verwendete Shell mit bestimmten Einstellungen. Ein geschütztes Programm ist zur Integritätsprüfung nicht mit externen Servern verbunden. Grundsätzlich können Sie diesen Schutz problemlos umgehen.

Online-Softwareschutz

Hier geht es um eine ernstere Methode - die Überprüfung der Lizenz mithilfe des Lizenzservers. In diesem Fall sind zu Beginn relativ hohe Kosten und später wiederkehrende Kosten erforderlich. Wie in der vorherigen Version wird die Shell verwendet, die Lizenzparameter werden jedoch online überprüft und konfiguriert.

Falls gewünscht, können Sie Optionen zur Softwareüberprüfung hinzufügen: Wie wird sie verwendet, gibt es eine Lizenz oder nicht? Wenn Sie eine dauerhafte Verbindung zum Netzwerk benötigen, funktioniert das Produkt wahrscheinlich nicht immer und nicht überall.

Die Schwere eines solchen Schutzes liegt zwischen mittel und hoch.

Hardwareschutz

Eine der zuverlässigsten Methoden, die die Vorteile aller anderen Strategien kombiniert. Die Lizenzierung liegt in der Verantwortung eines elektronischen USB-Sticks, für den keine Netzwerkverbindung erforderlich ist. Der Preis für jeden Schlüssel für den Entwickler ist niedrig, es fallen keine regelmäßigen zusätzlichen Kosten an. Sie können es sowohl über die API als auch über die Shell implementieren.

Der Vorteil dieser Methode ist, dass die Lizenz außerhalb des Betriebssystems entfernt werden kann, der Schlüssel außerhalb des PCs gespeichert wird. Der Schlüssel ist entweder sehr schwer oder gar nicht zu kopieren. Software, die mit einem Hardwareschlüssel geschützt ist, kann auf Systemen verwendet werden, auf denen keine Netzwerkverbindung besteht. Dies sind beispielsweise staatliche Einrichtungen oder die Industrie. Ein weiteres Plus ist, dass der elektronische Schlüssel keine unterschiedlichen Lösungen für unterschiedliche Softwareumgebungen erfordert und die Lizenzierungsoptionen sehr flexibel sind.

Lösungen, die auf einem Hardwareschlüssel basieren, können in buchstäblich wenigen Minuten bereitgestellt werden. Sie werden von fast jeder Version von Betriebssystemen unterstützt.

Denken Sie daran, dass der Lösungsanbieter (wenn Sie den Hardwareschlüssel nicht selbst erstellen können) alles schnell erledigen muss, damit Sie nicht auf eine Schlüsselsendung warten und den Verkaufsstart Ihrer Software entsprechend verschieben müssen. Außerdem muss der Lieferant eine einfache und effektive Lösung bereitstellen, die schnell bereitgestellt werden kann. Natürlich müssen Sie dem Lieferanten vertrauen - sonst sollten Sie seine Dienste nicht nutzen.

Es lohnt sich, bereits in der Entwurfsphase über Softwareschutz nachzudenken: Wenn ein Projekt teilweise oder vollständig fertig ist, ist es nicht einfach, etwas zu ändern.

Skillbox empfiehlt:

Source: https://habr.com/ru/post/de440836/


All Articles