Computer-Viren als künstliches Leben
Inhaltsverzeichnis
1. Historisches / Allgemeines:
- Computer führen Anweisungen aus, eine nach der anderen
=> rechnen, Datenbanken erstellen und mit anderen Usern/Systemen kommunizieren
- Funktionen können fehlerhaft sein - Software Bug
- erste Verwendung des Wortes "Computer Virus": David Gerrold, Science-Fiction-Autor ('70)
- 1983 Fred Cohen: erste Definition von Computer-Virus
Fred Cohen - Student an der University of Southern California
- erster Virus, 1980 auf Apple II geschrieben, aber nicht als solcher benannt
- Jahrelang Fehlfunktionen, abnormale Programmausführungen als Computer-Virus bezeichnet
- Computer-Virus wurde von den biologischen Begriff Virus abgeleitet, Virus allg.: lat. für Gift
- Biologisch: kleine Zelle mit genetischen Material, die ihren Inhalt in eine größere Zelle eines Organismus injiziert,
diese Zelle wird dann zur einer biologischen Viren-Fabrik
- 1986 Brain Virus, als erster bedeutender MS-DOS Virus allgemein anerkannt
- 7 Jahre später: Tausende von bekannten Viren (meist für MS-DOS)
Back
2. Allgemeine Definition - Computer-Virus
- Segment von Maschinencode (meistens 200-4000 bytes), kopiert sich selbst oder eine modifizierte Version
in ein oder mehrere Programme
- infiziertes Programm gestartet => Viruscode ausgeführt => weitere Verbreitung des Virus
- nicht nur Applikationen sind betroffen, auch Bootcode, Treiber, Kommandointerpreter
-> sämtlicher ausführbarer Code
- nicht betroffen: reine Daten-Dateien wie Textdateien
-> sämtlicher nichtausführbarer Code
- werden jedoch spezielle Sequenzen von Buchstaben, in einer Daten/Text-Datei, als Editor-Kommandos interpretiert
(z.B. Makros in .doc Dateien), können auch diese Viren enthalten
Würmer
- keine Viren!!!
- sind eigenständige Programme und bewegen sich von Computer zu Computer über Netzwerke,
können Teile von sich auf verschiedenen Rechner zu laufen haben
- verändern keine anderen Programme
- 1982 erster Wurm, John Shoch und Jon Hupp vom Xerox PARC (Palo Alto Research Center)
- Bewegten sich von Workstation zu Workstation, holten Speicherplatz zurück, schalteten arbeitslose
Workstations ab, stellten Mails zu
- anderes Bsp.:(1988) Wurm blockiert Workstations und Netzwerke, als er außer Kontrolle gerat, und verbreitete
sich auf Tausenden von Rechnern
Back
3. Virenstruktur
- bestehend aus 2 hauptsächlichen Funktionen: (1.) Verbreitung (2.) Manipulation von Daten
- Virus muss sich zu ausführbaren Code hinzufügen, um ausgeführt werden zu können
- zuerst wird der Virus und dann das Hostprogramm (wenn überhaupt) ausgeführt
- infiziert immer mind. ein anderes Programm, mehrere oder alle Programme
- infiziert alle beschreibbaren Medien (Disketten, Festplatten, CD, Speicher)
Back
4. Viren Glossar
Bootsektor-Virus
- infiziert in der Regel nur den Bootsektor von Disketten, Festplatten (Master-Boot-Sektor)
- aktivieren, durch Booten von der infizierten Partition (nicht durch DIR A:)
- jede eingelegte, nicht schreibgeschützte Diskette ist gefährdet (z.B. bei DIR A:)
- auffällig durch Reduzierung des Hauptspeichers: das System hat nur noch 639KB DOS-Speicher statt 640
(Ausnahme Stealth-Viren: gaukeln richtige Werte vor)
- Original-Bootsektor in einen Sicherungsbereich kopiert, bevor eigenen Code in Bootsektor kopiert
=> eigener Code zuerst ausgeführt, danach Originalcode nachgeladen u. ausgeführt
Companion Virus (Trojanerform)
- nutzt Eigenart von DOS aus (dass .COM Programme vor .EXE Programmen ausgeführt werden)
- Viren haben gleiche Dateinamen, nur mit der Erweitung .COM
- löscht man die .COM Datei, ist der Virus gelöscht
Dateivirus
- hängen sich an eine Wirtsdatei
- modifizieren den Anfang der ausführbaren Datei
=> Virus wird zuerst ausgeführt (Virus hat die gleichen Privilegien wie Originalprogramm)
Hoaxes
- Meldungen über angeblich zerstörerische Viren
- werden meist per Email versendet
- ("Dieser Virus ist besonders hinterhältig: Während sie diese Zeilen lesen,
wird die Festplatte überschrieben, die Stereoanlage zerstört und der Kühlschrank neu konfiguriert!")
Link-Virus
- seltener Virus
- modifiziert den Verweis auf den ersten Cluster einer Datei, so das er auf den ersten Cluster des Virus zeigt
Makro-Virus
- Gefahr: Dateioperationen und DOS-Kommandos von Makros ausführbar (z.B. Festplatte formatieren,
Dateien löschen, Zugriff auf die WIN-API)
Multipartite Viren
- infizieren neben den Dateien auch Boot- bzw. Masterbootsektor
- beim Entfernen müssen beide Teile entfernt werden
Polymorphe Viren
- verschlüsselte Viren
- verändern bei jedem infizierten Programm den Aufbau der Entschlüsselungsroutine
- suche mittels Suchstring unmöglich
- mehrere Millionen Arten von Verschlüsselungen möglich
Stealth-Virus
- verstecken ihre Anwesenheit und ihre Veränderungen an Dateien, Sektoren
- fallen durch Fehler des Programms CHKDSK auf (Unterschied zwischen FAT und Verzeichnis)
Trojanisches Pferd (Trojaner)
- können sich nicht selbst verteilen
- verändern nicht ein Hostprogramm, sondern kreieren eine neue ausführbare Datei
- tragen interessante Namen wie STARTME.EXE o. SEX.EXE oder haben ähnlichen Namen wie eine bereits existierende Datei/Programm,
z.B. mit .COM Endung, damit wird der Trojaner vor dem Programm aufgerufen/gestartet
- (gleich nach dem Ausführen aktiv, z.B. löschen die Festplatte oder bringen Dateien durcheinander)

die meisten Viren sind speicherresident
- verändern die Standard-DOS/BIOS (Hard- u. Software-) Interrupts
- setzen ein oder mehrere Pointer aus der Interrupttabelle eines Standard-Interrupts auf den im Speicher liegenden Virus-Code
(können so CTR-ALT-DEL-Warmstart, Disk Interrupt oder Programmausführungen abfangen; Tasten umbelegen)
Erwecken des eigentlichen Viruscode
- bestimmtes Datum oder Zeit
- Vorhanden- oder Nichtvorhandensein von Dateien
- (Sequenz) bestimmter Tastenanschläge
- bestimmte Bildschirminhalte
- Setzen von Dateiattributen
- zufällige Ereignisse
- nach bestimmter Anzahl von Infektionen
Back
5. Viren-Evolution
1. Generation
- einfache Viren, die sich meist nur verbreiteten
- Schaden trat meistens nur wegen Bugs oder Inkompatibilität auf
- taten nichts anderes als sich zu verstecken
- Problem: wiederholte Infizierung des Host => schnelles Größerwerden des Host => frühe Erkennung
2. Generation (selbsterkennende Viren)
- implementieren einer einzigartigen Signatur (bestimmte Sequenz von Bytes, bestimmte Länge oder
Datum eines Verzeichniseintrags) zur Erkennung von bereits infizierten Dateien/Systemen
Vor- u. Nachteile: keine Reinfektion des Host, aber Möglichkeit zur Erkennung durch Antivirenprogramme
3. Generation (Stealth)
- abfangen von Antivirenoperationen
(z.B. Abfangen von I/O Anfragen: wird ein Datenblock gelesen, der eine Kopie des Virus enthält, wird der
Original-Datenblock zurückgegeben; oder: will eine Methode ein positives Ergebnis zurückgeben,
wird dies umadressiert, so dass es ein negatives Ergebnis zurückgibt
4. Generation (Armored)
- Verschleiern/Verwirren des Virencodes
(hinzufügen von verwirrendem und unnötigem Code, um die Analyse der Viren zu erschweren)
- Angreifen der Antivirensoftware
=>länger als einfache Viren =>einfacher zu entdecken
5. Generation (Polymorphe / Mutierende Viren)
- infizieren ihre Ziele mit modifizierter oder verschlüsselter Version von sich selbst
(variierende Codesequenzen, zufällige Entschlüsslungscodes)
Back
6. Virenschutz
- viele verschiedene Methoden, aber keine ist perfekt
- es ist einfach, 100% aller infizierten Programme zu finden, dann sind aber auch nicht infizierte dabei
Aktivitätsmonitor
- Speicherresidente Programme
- überwachen alle Aktivitäten und geben Warnungen aus oder führen speziellen Maßnahmen durch
(z.B. bei Verändern der Interrupttabelle, Überschreiben des Bootsektors)
- nur wirksam, wenn noch kein Virus im System
- 2. Form: führt gezielt virusverdächtige Programme aus und überwacht ihre Aktivitäten
Scanner
- Lesen Daten von der Platte und vergleichen sie mit einer Liste von bekannten Viren-Daten
- Nachteile: sehr oft Updates nötig (da ständig neue Viren); je mehr Viren bekannt, desto
wahrscheinlicher Fehlermeldungen, polymorphe Viren werden nicht gefunden
- Vorteile: Geschwindigkeit, leichte Updates, scannen über Plattformen und portabel möglich,
Möglichkeit für algorithmische und heuristische Suche nach polymorphen Viren
Integritätsmonitor
- generiert Checksummen und vergleicht sie mit früher generierten Checksummen
- findet Änderungen in Dateien und somit bekannte und unbekannte Viren, aber auch andere Änderungen
=>Fehlermeldungen
Back
7. Viren als Künstliches Leben
Was ist Leben?
- Existenz in Raum und Zeit
- Reproduktion
- Speicherung von Informationen über sich selbst
- Stoffwechsel (Materie in Energie umwandeln)
- Interaktion mit der Umwelt
- aus voneinander abhängigen Teilen bestehen
- Anpassungsfähigkeit bei Umweltänderungen
- Evolution
- Wachstum, Verbreitung
Verhalten in Raum und Zeit
- existieren über einen gewissen Zeitraum und auf verschiedenen Rechnern
- keine Hardware; steuern sie aber manchmal
- dennoch fraglich, ob sie im Raum existieren
erweitere Raum (Space) -> Cyberspace (Computersystem)
- Viren(Code) zeitlich existierende Mengen von elektrischen und magnetischen Feldern
- Code kann auf Papier ausgedruckt werden
- nicht der Virus an sich, sondern eine Repräsentation (wie ein Foto von einer Person)
Reproduktion
- das Wichtigste, sich selbst zu reproduzieren (o. veränderte Version)
- genauer betrachtet: Computer reproduziert den Virus
Speicherung von Informationen über sich selbst
- Virencode ist eine eindeutige Identifikation, wie DNS
Stoffwechsel
- benutzen Energie der Berechnungen, wandeln keine Materie um
- aber näher betrachtet:
- Computersystem benutzt die Energie
- andere Programme benutzen die selbe Energiemenge
- wenn kein Programm läuft, konstanter Energieverbrauch
=> nicht der Virus, sondern das System verbraucht Energie
Interaktion mit der Umgebung
- untersuchen ihre Umgebung (Speicher, Disketten, Festplatten)
- verändern Interrupts
- verändern Adressen, um sich zu verbergen
- breiten sich zu anderen Hosts aus
aus voneinander abhängigen Teilen bestehen
- Organismen kann man nicht beliebig teilen, ohne sie zu zerstören
- teilt man ein Virus oder schneidet ein Teil heraus, funktioniert er auch nicht mehr wie ursprünglich
- man kann aber ein Virus dekompilieren und dann die einzelnen Teile wieder zusammensetzen
=> Viren eher wie einfache Maschinen
Anpassungsfähigkeit bei Umweltänderungen
- laufen auf verschiedenen Computern, Computersystemen, Betriebssystemen
- laufen trotz Anti-Viren-Software, beschädigen Anti-Viren-Software
- reagieren auf ungenügend Speicherplatz, Disk-Fehler und andere Ausnahmeereignisse
- laufen unter fast jeder Softwarekonfiguration
Evolution
- verschieden zu dem, was wir unter Evolution verstehen
- Möglichkeit besteht: Programme aber zu komplex = Virus?
- Mutationen von Viren existieren, aber nur eine vorher festgelegte Anzahl von verschiedenen Varianten der
Struktur (kein Funktionsunterschied)
- High-Level Mutationen: geringe Änderungen, betreffen meist Meldungen, Aktivierung oder Reproduktion
- Änderungen hängen vom Programmierer ab
- Verstecken vor Antiviren-Programmen
- Erzeugen verschiedener Schadensbilder
Wachstum, Verbreitung
- offensichtlich: Verbreiten sich in einem System und darüber hinaus
- einige Viren infizieren jede Datei
- Berichte: Verdopplung infizierter Systeme
Andere Eigenschaften
- Predator Viren: DenZuk-Virus sucht und überschreibt Brain-Virus
- territoriale Viren markieren ihren infizierten Bereich, so dass andere Viren des gleichen Typs das System nicht infizieren
- selbst schützende Viren: z.B. können sich im System tarnen / verbergen
Wichtig! Keine dieser Eigenschaften kommt von den Viren selbst, sondern wurde ihnen vom Programmierer "gegeben"
Back
8. Schlussfolgerung
- auf dem ersten Blick: Viren = "künstliches Leben"
- näher betrachtet: einige wichtige Unterschiede
=> Viren sind kein künstliches Leben
- denn,
wenn Viren künstliches Leben repräsentieren, muss es auch in ihrer Umgebung (Computer, Programme, Computersysteme)
künstliches Leben geben (?!?)
- "Can life exist in an otherwise barren and empty ecosystem?"
=> Umgebung bei Betrachtung von künstlichem Leben mit in Betracht ziehen
Back
9. Andere Sichtweise - Künstliches Leben
- Erweiterung der Biologie, des Studium lebendiger Formen, anders als sie auf der Erde nat. vorkommen
- AL ~ Biologie = synthetische Chemie ~ Chemie
- großer Erfolg innerhalb des digitalen Medium
- ähnlich wie Evolution durch nat. Selektion im Kohlenstoffmedium - Leben auf Erde
- Ziel: Evolution im digit. Medium, vergleichbar mit Umfang organ. Leben
- Exemplar von Leben, nur auf Erde bekannt => beschränkt unsere Vorstellung von AL
- kein allg. Def. von AL (-> Was ist Leben)
- meist aber: Fähigkeit zur Replikation, Evolution, Metabolismus, Reaktion auf Stimuli, Reparatur von Schäden
- Bsp.: Maschine beteiligt an dieser Diskussion, aber nicht fähig zur Replikation, Evolution => nicht lebendig???
(-Nr.5 lebt-)
=> Finden eines einzigen Merkmals aus der Liste -> ein echtes Vorkommnis dieses Merkmals im synthetischen System
Künstliches Leben in der Unterhaltungstechnik
- Creatures
- SimLife
- FinFin
- ThenoSphere
- Virtual Pet (http://www.virtualpet.com/vp/)
- Tamagotchi
- Baby Think It Over
Back
10. Diskussion
- Was ist Leben?
- Ist eine im Computer erzeugte Kreatur "Leben"?
- Ab wann können wir sagen, dass solch eine Kreatur lebt?
=> Dürfen wir dann den Computer noch ausschalten?
("der Himmel tut sich auf und eine Stimme sagt, daß das System jetzt neu gebootet wird")
- Sind Agenten "Künstliches Leben" oder "Künstliche Intelligenz"?
- Ist "Intelligenz" ein wichtiges Merkmal für Leben?
- Sind wir nicht alle nur Kreaturen in einer großen Simulation ?
Quellen: