Mach’s noch einmal SAM - Der ultimative Kopierschutz!?

Software-Piraterie nimmt immer größere Ausmalte an. Damit verbunden ist ein immer großer werdender Schaden der Software-Häuser. Programme werden einfach und ohne Bedenken kopiert und weitergereicht. Professionelle Piraten vervielfältigen gleich noch die Anleitungen mit, entfernen einen gegebenen Kopierschutz und verlangen nur einen Bruchteil vom Originalpreis. Die Firma ComProTec hat das Problem erkannt und SAM entwickelt (Security Application Mikroprozessorsystem). SAM stellt eine Art Dongle dar und soll der Software-Piraterie ein Ende bereiten. SAM ist für Software-Entwickler gedacht, die ihrer Software einen leistungsfähigen Kopierschutz verpassen mochten, ohne daß irgendwelche Einschränkungen auf seiten des ehrlichen Kunden in Kauf genommen werden müssen.

Das universell einsetzbare Mikrocomputersystem ist von der Firma ComProTec für den kommerziellen Software-Schutz entwickelt worden und beinhaltet einen Soft- bzw. Hardware-Schutz. Hauptbestandteil des Schutzes ist ein kleines Gehäuse (60x50 mm), in dem zwei CMOS-Customchips integriert sind, die unter anderem einen I/O-Centronics-Controller, einen Mikrocode-Chiffrierbaustein, ein Kernal-ROM (Programm und Peripherie-Händler), RAM und ein EEPROM beinhalten. Das Gehäuse wird an den parallelen Port des ATARI ST gesteckt.

Bei SAM handelt es sich, wie bereits erwähnt, um eine Art Dongle, das an den parallelen Port angesteckt wird. Dongles genießen nicht den besten Ruf, das liegt sicherlich an der Tatsache, daß sie meistens irgendeinen Port belegen, beispielsweise den Joystickport.

Möchte man einen Joystick an schließen, ist der Port belegt, und das Dongle muß entfernt werden.

Meistens legt man das Dongle dann da hin, wo man es bei Bedarf bestimmt nicht wiederfindet. Solche Dongles stellen nicht das Nonplusultra dar und schädigen und ärgern eigentlich nur den ehrlichen Kunden. Für Cracker stellen sie dagegen kein größeres Problem dar, und die donglefreie Version ist schnell im Umlauf.

Die Entwickler von SAM haben sich deshalb ihre Gedanken gemacht und folgende Schwerpunkte bei der Entwicklung gesetzt:

  1. größtmögliche Anwenderfreundlichkeit
  2. Die Funktion des Rechners soll nicht beeinträchtigt werden
  3. universelle Einsatzmöglichkeiten über den Software-Schutz hinaus
  4. Höchstmaß an Sicherheit durch individuelle Programmierbarkeit

Greifen wir Punkt 1 auf. SAM belegt zwar den parallelen Port des ATARI, der Port ist allerdings durchgeführt, so daß ein Drucker ohne Probleme noch angeschlossen werden kann. Allerdings muß noch eine Stromzufuhr geleistet werden, die über einen MIDI-Stecker und ein kleines Kabel zum SAM-Adapter realisiert wird. Verfügt ein ATARI-Besitzer jetzt über zwei Programme, die mit SAM geschützt sind, macht das auch nichts, beim ATARI kann ein Adapter an den Port angeschlossen werden, ohne daß es zu Einschränkungen kommt. Bricht wider Erwarten trotzdem die Spannung zusammen, ist SAM extern mit Strom versorgbar. Das ermöglicht auch, mehrere SAM-Adapter zu nutzen. Der einzige Nachteil bei mehreren Adaptern: der ATARI ST braucht etwas mehr „Luft“ und muß bei Bedarf etwas von der Wand weggeschoben werden. Im großen und ganzen kann man Punkt 1 als erfüllt bezeichnen.

Gleiches gilt auch für Punkt 2. Die Funktion des ATART ST wird nicht beeinträchtigt.

Punkt 3, die universelle Einsatzmöglichkeit, läßt sich auch als erfüllt bezeichnen, beispielsweise kann man SAM auch im Bereich Daten- und Hardware-Schutz einsetzen. Anwendungsbeispiele wären Absicherung von Datenfernübertragung, Zugangsschutz zu Rechneranlagen oder Dateiverschlüsselung.

Worauf es aber letztendlich ankommt, und wofür SAM eigentlich entwickelt wurde, ist Punkt 4, das Höchstmaß an Sicherheit. Ob dieser Punkt erfüllt ist, hängt in erster Linie nicht von SAM ab, sondern von den Software-Entwicklern, die SAM nutzen wollen. ComProTec stellt den Entwicklern jedoch einiges zur Verfügung.

Der Schutz

Das eigentliche SAM-Modul wird an den parallelen Port des ATARI ST gesteckt. Zur Stromversorgung muß jedoch noch ein weiteres Kabel an die MIDI-Schnittstelle angeschlossen werden.

Das Prinzip von SAM legt Folgendes zugrunde: Bestimmte kleine und/oder wichtige Programmteile der zu schützenden Software laufen nicht auf dem Host-Rechner ab, sondern auf einem zweiten Rechner, der in SAM integriert ist. Die Programmiersprache ist hierbei bekannt, der zur Programmausführung erforderliche Opcode jedoch kodiert. Die kodierten Programmteile sind natürlich im zu schützenden Programm enthalten und werden zu frei wählbaren Zeitpunkten zur Bearbeitung nach SAM übertragen. Daraus resultiert ein Programm, das auf zwei Rechnersystemen abgearbeitet wird, zum einen auf dem ATARI ST, und zum anderen auf SAM. Beim ATARI sind der Aufbau und die einzelnen Funktionen bekannt und können von jedem interpretiert werden. SAM ist hingegen ein kompaktes Mikrocomputersystem, das zwar einem normalen Rechner gleicht, aber in zwei Punkten enorm abweicht. 1. Es ist ein kodierter Programmcode, weshalb es nicht mehr möglich ist, die Funktion eines Codes zu erkennen und daraus Folgerungen zu ziehen. 2. Die Kontrolle des Programmablaufs ist weder mit Software- noch mit hardwaretechnischen Mitteln zu kontrollieren. SAM ist weder nachzubauen noch zu simulieren, gegenüber anderen Schutzsystemen wie GALs, PALs oder ASICs besitzt SAM aber einen Vorteil. Es müssen keine simplen IF-Abfragen oder Vergleiche stattfinden, die irgendwelche logischen Schaltungen abfragen. Die von SAM gelieferten Werte werden vom ST einfach weiterbearbeitet, jedoch weiß der Cracker nie genau, was SAM gerade liefert, da die Daten beispielsweise verschlüsselt sind. Je öfter SAM genutzt wird, umso diffiziler wird das Durchschauen der Programmlogik, jedoch gilt auch hier der Grundsatz: Qualität vor Quantität.

Wie wirkungsvoll SAM ist, hängt wie gesagt von den Programmentwicklern ab, die ihre Software schützen möchten. Denkbar ist hier vieles, beispielsweise kann man Crackversuche mitzählen und bei einer bestimmten Anzahl einfach das Programm abbrechen. Das hört sich ja alles ziemlich gut für das Software-Haus und ziemlich schlecht für den Cracker an, ist aber leider auch recht kompliziert und umfangreich. Natürlich ist ein optimaler Software-Schutz nicht ohne Fleiß zu verwirklichen und setzt eine gewisse Einarbeitungszeit voraus. Allerdings hört sich die ganze Sache schlimmer an, als sie wirklich ist. Hat man sich erst einmal eingearbeitet und die Programmierung von SAM voll durchschaut, geht sie schnell von der Hand und bietet Möglichkeiten, die jeden Cracker das Fürchten lehren.

Auf dem ATARI ST werden eigentlich alle Programmiersprachen unterstützt. Bei „exotischen“ Sprachen wie APL oder Fortran bietet die Firma ComProTek innerhalb einer Woche eine entsprechende Anpassung an. Z.Z. stehen Anpassungen für Lattice C, GFA-BASIC, Omikron-BASIC und Assembler bereit. Dem SAM-Paket liegt außerdem ein SAM-SL-Compiler bei, der zahlreiche Funktionen bereitstellt und dem Entwickler viele Möglichkeiten offen läßt. Von der Seite der SAM-Entwickler wurde einiges getan. Jetzt hängt alles von den Software-Entwicklern ab. Wenn man sich als Entwickler entschließt. SAM zu nutzen, ist das SAM-Mikrocomputersystem nicht auf ein Programm beschränkt, vielmehr kann die gleiche Hardware durch eine 6-Bit-Programmnummer 64 verschiedene Befehlssätze verarbeiten, d.h. jede Software ist zwar durch die gleiche Hardware, aber vollkommen anders geschützt. Daraus resultiert folgendes: Eine Firma hat die Programme A und B im Angebot. Ein Kunde kauft das Programm A samt SAM Hardware. Nach einiger Zeit möchte er sich noch das Programm B anschaffen; dann ist es nicht mehr nötig, daß er sich noch einmal die SAM-Hardware anschafft. Programm B läuft mit der gleichen SAM-Hardware, die er beim Erwerb von Programm A erhalten hat. Wie gesagt, eine Firma kann 64 Programme über die gleiche SAM-Hardware vertreiben.

Das „Innenleben“ von SAM. Zwei CMOS-Custom-Chips ermöglichen einen individuellen Soft- und Hardware-Schutz, der es den Crackern fast unmöglich macht, die Software zu cracken.

Schlußbetrachtung

Es ist eigentlich schade, daß Firmen wie ComProTec SAM entwickeln müssen, doch die immer größer werdende Gemeinde der Cracker und Spreader hat das veranlaßt. SAM ist für alle Software-Entwickler geeignet, die ihrer Software einen individuellen und sicheren Schutz verpassen wollen. Freilich gehört zunächst etwas Programmierarbeit und Einarbeitungszeit dazu. Ist die Hürde aber genommen, ist es ein Leichtes, den SAM-Schutz auf andere Programme zu übertragen. Mir persönlich gelang es bereits nach einer Stunde, mein Programm mit SAM zu schützen, freilich nur mit einem einfachen Schutz, der nur eine Variable auslagerte und bei Bedarf wiedereinlud. Wendet man SAM richtig an, ist es fast unmöglich für einen Cracker das Programm zu „cracken“. Kommen wir zu einer wichtigen Gegebenheit, die besonders die Software-Entwickler interessieren wird, dem Preis. Bedenkt man, daß ein Mikrocomputersystem seine Arbeit bei SAM verrichtet, fürchtet man vielleicht einen hohen Preis. Das trifft nicht ganz zu; für 90.- DM bekommt man SAM ins Haus geschickt, mit deutscher Dokumentation und erforderlicher Software. Bestellt man 50 SAMs, sind nur noch 69.80 pro Stück zu berappen, bei 500 nur noch 59.70 pro Stück. Gut, der SAM-Preis muß natürlich dem Endprodukt, sprich der zu schützenden Software, aufgerechnet werden, und der Verkaufspreis erhöht sich dementsprechend. Der Dumme bleibt der Endkunde. Denkbar ist aber folgendes: Viele Software Häuser berechnen für ihr Produkt gleich einen höheren Preis, weil man den Schaden der Raubkopiererei mit einbezieht. Bei SAM ist das nicht mehr nötig, da die Programme kaum noch gecrackt werden können. Der Preis müßte sich, trotz Einsatz von SAM, nicht ändern. In erster Linie ist SAM wohl für Anwender-Software prädestiniert, da hier die Preise in der Regel weitaus höher liegen als bei Spielen, so daß der SAM-Preis nicht so arg ins Gewicht fällt. Unter Umständen können auch „billige“ Programme, wie beispielsweise Spiele, mit SAM ausgerüstet werden. Hier treten aber wohl zu viele nicht akzeptierbare Einschränkungen auf, die zu Lasten des ehrlichen Kunden gehen. SAM ist übrigens nicht nur auf den ATARI ST beschränkt, sondern kann auch auf anderen Rechnern (AMIGA, PC, XT, AT) eingesetzt werden. SAM funktioniert auf allen ST-Rechnern. Die Software-Vertreiber brauchen sich keine Gedanken über Inkompatibilität zu machen. Freilich ist SAM ein Dongle, und denen haftet nunmal ein schlechtes Image an, aber das SAM-Dongle macht die negativen Eigenschaften von herkömmlichen zunichte. Es wird an den parallelen Port angeschlossen und kann da verweilen, bis es schwarz wird. Ein Drucker kann weiterhin problemlos betrieben werden, weil die Schnittstelle durchgeführt ist. Der Stecker der MIDI-Schnittstelle ist ebenfalls durchgeführt, so daß man MIDI-Geräte natürlich weiterhin nutzen kann. Probleme treten nur dann auf, wenn man mehrere Programme von verschiedenen Herstellern erwirbt, die alle mit SAM ausgerüstet sind. Die kleinen SAM-Gehäuse können zwar aufeinandergesteckt werden, allerdings benötigt der Rechner dann etwas mehr Platz auf seiner Rückseite. Für nähere Informationen über SAM steht die Firma ComPro-Tec gerne zur Verfügung und erläutert Interessenten die Möglichkeiten von SAM genauer. Denn in diesem Artikel konnten die enorme Flexibilität und die genauen Einsatzgebiete nur kurz angerissen werden.

Bezugsadresse
ComProTec Langgasse 93 52/6 Niederkassel 5


Andreas Krämer
Aus: ST-Computer 05 / 1990, Seite 150

Links

Copyright-Bestimmungen: siehe Über diese Seite