Selbstreproduzierende Automaten mit minimaler Informationsübertragung


Stand vom 14. 1. 2010

(Vielleicht der erste Vorläufer eines "Virus" schon 1972)

E und M, 89. (1972) H. 11, S. 449 - 457, 16 Qu.

Dr. V. Risak

Vorbemerkung:

Dieser - historische - Artikel aus der Zeitschrift "Elektrotechnik und Maschinenbau" (E und M) ist nicht mehr als Sonderdruck verfügbar. Ich stelle daher - mit ausdrücklicher Erlaubnis des Springer-Verlages - den Artikel als Folge von gif-Bildern in das WWW.

Einführung:

Ich habe mich ca. 1970 in Erweiterung meiner Dissertation "..." mit lernenden und selbstreproduzierenden Automaten beschäftigt. Dies führte 1972 zu obigem Artikel.

Es handelt sich bei diesen selbstreproduzierenden Automaten um Programme, die sich in der "Umwelt" eines Digitalrechners vermehren können, bestimmte Aufgaben erfüllen und auch wieder nach Ablauf einer vorprogrammierten "Lebensdauer" verschwinden.

Als Umgebung diente eine SIEMENS 4004/35, die über 65 kB Speicher (56 kB für Programme nutzbar) und 16 Befehlszähler (BZ) verfügte.
Der Rechner war nicht mit einem Netz verbunden. Die 16 Befehlszähler (max. Zahl gleichzeitig laufender Programme) dienten als Umgebung für die selbstrteproduzierenden Automaten.

Wenn man das Programm (REPAUT) unter Kontrolle eines dieser BZ startete, so suchte es freien Platz im Speichert, kopierte seinen Code dorthin und startete diese Kopie. Anschließend wurde das "Arbeitsprogramm" ausgeführt. Dieses war leer und gab nur den eindeutigen Namen (Nummer) des "Automaten" (den das Programm realisierte) aus.

Auf diese Weise konnte bis zu 16 Kopien (identifizierbar durch ihre eindeutigen Namen) parallel ausgeführt werden. Wenn sich eines dieser Programme beendete, konnte der freigewordene Platz neu belegt werden.

Das System realisierte (nicht simulierte!) damit 1972 den ersten Virus in all seinen wesentlichen Eigenschaften. (Es ist nach Verschwinden der Hostrechner nicht mehr ablauffähig.)

Anmerkungen und Konsequenzen:

Das Programm "REPAUT" wurde mit Assembler, tw. direkt als Maschinencode der SIEMENS 4004/35 geschrieben. Da dessen Code je nach Verarbeitungszustand als Daten (während der Vermehrung "Synthese") oder als Befehle (während der Ausführung) verwendet wurde, konnte keine - heute übliche - feste Trennung zwischen Programm und Daten verwendet werden.

Das gesamte Programm musste relativ adressiert werden, um es an beliebiger Stelle im Speicher (ab beliebigen Basisadressen) ausführen zu können.

Das Programm REPAUT wurde als Programm codiert und auf der Mascchine zum Ablauf gebracht. Der Artikel enthält ein Ablaufprotokoll, das während eines Testlaufes ausgegeben wurde.

Das Programm umfasste ca 1200 Bytes, der Code, bzw. die Host-Maschine sind (2007) nicht mehr verfügbar.
(Frühe Viren benötigten viel später etwa denselbsen Speicher.)

Diese Arbeiten stammen alle aus der Zeit lange vor dem Auftreten der heutigen Computerviren. Sie gehen (vgl. die Literaturliste im Artikel) auf vorliegende Ideen aus den 60-Jahren zurück. Davon wurde meines Wissens nach aber keine unmittelbar als Code realisiertun und zum Ablauf gebracht.

Später Arbeiten (vgl. die Literaturliste) beschäftigten sich mit der Dynamik der Populationsentwicklung der selbstreproduzierenden Automaten, mit dem Einfluss von äußeren Störungen, ...

In einem Artikel wurden zwei "Arten" selbstreproduzierender Automaten miteinander hinsichtlich evolutionärer Verdrängung verglichen. Die eine Art konnte durch Lernen günstige Umgebungsbedingungen finden, während die andere Art nicht lernte, sich aber schneller reproduzierte.
Es wurden Bedingungen untersucht, unter denen der Vorteil des Lernens durch schnellere Reproduktion ausgeglichen werden konnte. Es ergab sich eine sehr scharfe Schranke.

Diese Arbeiten wurden theoretisch (Differenzengleichungen mit numerischer Integration) oder durch Simulation untersucht.

Die beschriebenen Programme erfüllen, wie aus diesem Artikel ersichtlich, alle Kriterien für Computerviren, letztlich auch biologische Viren.

Da die damaligen Rechner nicht vernetzt waren und so geschlossene Umgebungen für die selbstreproduzierenden und lernenden Automaten bildeten, war keine Gefahr für eine unkontrollierte Ausbreitung gegeben.

Artikel:

In der Folge werden die Seiten des ursprünglichen Artikels jeweils als gif-File angezeigt.

Die Seiten wurden wegen der guten Lesbarkeit mit maximaler Auflösung eingescannt. Die Anzeige muss daher, je nach Bildschirmgröße (mittels CNTR+ oder CNTR- angepasst werden.

Selbstreproduzierende Automaten mit minimaler Informationsübertragung>

Die anderen erwähnten Artikel sind dzt. nicht im WWW verfügbar. Bei Interesse ersuche ich um Kontaktaufnahme per eMail (v.risak@aon.at)

Literatur:

Hier gebe ich einige Artikel an, in denen diese Versuche ( bis ca. 1975) weitergeführt wurden.