Worm
Berufsmöglichkeiten. Hassen folgte ihrem Rat, obwohl er keine besondere Liebe zu Computern empfand, was ihn von den meisten derjenigen unterscheidet, die auf einem so hohen Niveau wie er arbeiten. Nachdem SRI ihn von einem französischen Computerlabor abgeworben hatte, verbrachte er in Menlo Park mehrere Jahre hauptsächlich mit der Programmierung von Computersprachen und der Verbesserung der Ausfallsicherheit von Computern, stellte mit der Zeit aber fest, dass die echte Action im Kampf gegen Schadsoftware stattfand. Er überzeugte Phil davon, dass er mit seinen herausragenden Programmierfähigkeiten der ideale Mann für die Analyse der neusten Schadsoftware-Varianten war – und bekam den Job. Wenn ihn heutzutage Leute fragen, womit er seinen Lebensunterhalt verdient, antwortet er: »Ich jage Verbrecher.«
Wollen sie mehr hören, gibt er zu, dass seine Art der Verbrechensbekämpfung auf die virtuelle Welt innerhalb des SRI -Computernetzwerks beschränkt ist, auf »die Jagd nach Computerviren«. Detaillierte Ausführungen erzeugen den »Blick«.
»An diesem Punkt«, sagt er, »verlieren die Leute regelmäßig das Interesse.«
Wie aber um alles in der Welt könnte irgendetwas interessanter sein? Ein Schadprogramm, das sich der Überprüfung widersetzt, ist das Werk irgendeiner Person oder Gruppe, die darauf aus ist, ehrliche Bürger der globalen Gemeinschaft zu schröpfen, was wiederum bedeutet, dass sie letztlich versuchen, ihn auszutricksen. Hassen ist einer der wenigen Programmanalytiker, die nicht nur im Umgang mit Quellcode, sprich irgendeiner der vielen Programmiersprachen, vertraut sind, sondern auch mit dem »Objektcode«, den langen, aus Einsen und Nullen bestehenden Abfolgen, in der die Maschineninstruktionen verfasst sind. Auf dieser untersten Ebene lässt sich der Zweck eines Programms nicht verschleiern oder verbergen. Wenn Hassen ein Stück Schadsoftware in die Mangel nimmt, ist die Frage nicht, ob er es entpacken und sezieren kann, sondern nur, wie lange er dafür braucht.
Dass die Sache so schwierig und Hassens Welt so verdammt schwer zu verstehen ist, liegt nicht nur an der Komplexität der modernen Computer-Betriebssysteme, sondern auch an der Tatsache, dass vieles von dem, was in ihrem Inneren vor sich geht, nur auf einer konzeptionellen Ebene erfasst und erklärt werden kann. Software ist abstrakt. Natürlich ist sie auch sehr real, aber nicht real in der Weise, wie ein Verbrennungsmotor real ist. In einem Betriebssystem gibt es keine sichtbaren, sich bewegenden Teile. Es ist eine Welt elektromagnetischer Ladungen, die so orchestriert sind, dass sie sich auf Pfaden bewegen, die Entscheidungen treffen und »Speicher« erzeugen. Es gibt viele Formen von Speicher, angefangen von der Art, die permanent auf eine Festplatte geschrieben ist, bis hin zu jener, die so flüchtig ist, dass sie nur für Millisekunden existiert, so lange, wie der Computer braucht, um die Einzelschritte irgendeiner blitzschnellen Berechnung zu durchlaufen.
Jedes Programm ist letztlich eine Liste von Instruktionen, verfasst in den Nullen und Einsen des Objektcodes, die minimal unterschiedliche elektrische Ladungen repräsentieren. Im Objektcode werden komplexe Aufgaben in eine Abfolge von Schritten zerlegt, die so einfach sind, dass sie in einer langen Kette von binären Entscheidungen oder sogenannten logischen Gattern vom Hauptprozessor, der CPU (Central Processing Unit), ausgeführt werden können. Die Kunst der Programmierung besteht darin, komplexe Aufgaben in diese grundlegenden Einzelschritte zu zerlegen. Es ist eine fürchterlich exakte Arbeit, weil Computer fürchterlich buchstabengetreu sind . »Die meisten guten Programmierer« , hat Bill Gates einmal gesagt, »haben einen mathematischen Hintergrund, weil es hilft, die Reinheit der Beweisführung für Theoreme gelernt zu haben, bei der man keine weichen Aussagen, sondern ausschließlich exakte Aussagen trifft.« Nehmen wir an , Ihr Körper wäre eine Maschine mit einer CPU , was er ja in gewisser Hinsicht auch ist, und nehmen wir weiter an, Sie möchten vom Stuhl aufstehen, durch den Raum laufen und sich eine Tasse Kaffee einschenken. Sie würden damit anfangen, dass Sie jedem einzelnen der mehreren Dutzend Muskeln, die an dem Vorgang des Aufstehens aus einer sitzenden Position beteiligt sind, sagen, er solle seine jeweilige Funktion ausführen, sich spannen oder entspannen, während Sie die Gleichgewichtsstatusmeldungen aus dem Innenohr überprüfen und je
Weitere Kostenlose Bücher