
1/98
Pentium BugPaul Witta Pentium-Prozessoren weisen einen ernsthaften Defekt auf. Wie man jetzt weiß, können sie durch speziell formulierte Befehle direkt zum Absturz gebracht werden, etwas das an und für sich nicht möglich sein dürfte. Pentium Pro und Pentium II-Prozessoren weisen diesen Defekt ebensowenig auf wie die Konkurrenzprodukte von Cyrix und AMD. Pentium Pro und Pentium II - Rechner sind sogar für immer vor solchen Problemen gefeit - ihre Firmware ist Software- upgradebar.Üblicherweise dürfen Applikationsprogramme keine Systembefehle ausführen, denn, falls das Anwenderprogramm abstürzt, soll ja nicht das gesamte System "mitgehen". Bei einem Absturz bricht bekanntlich das ganze System zusammen, Datenverluste treten mit hoher Wahrscheinlichkeit auf, und der EDV-Ausfall wirkt meist zusätzlich geschäftsschädigend. Durch diesen neu-entdeckten Fehler kann jedes Programm, egal welcher Sicherheitsstufe, das gesamte System anhalten. Bei eingeschaltetem "Lock-Präfix" wird ein "illegaler" Befehl oder ein Befehl mit "ungültigem Operand" ausgeführt. Durch das Lock-Präfix gehindert, kann der Prozessor den Fehler nicht melden, und bleibt stehen. Einen schwachen Trost bietet die Tatsache, daß der Fehler nicht unkontrolliert auftreten kann, sondern der Absturz bewußt provoziert werden muß, weil die spezielle Absturz-Befehlssequenz in "normalen" Anwendungen nicht vorkommt. Trotzdem stellt der Fehler ein erhebliches Sicherheitsrisiko dar. Viren können nun - unglaublich effektiv - einen Systemstillstand ganz einfach erwirken, ohne vorher langwierig Privilegien zu "erwerben". Hacker benötigen nun keine "privilegierten" Systemverwalterpaßwörter mehr, um Schaden anzurichten. Es genügen ganz normale Benutzerkennungen, um die Katastrophe auszulösen. Spezielle Virenkiller könnten zwar solche "Systemzerstörer" finden, aber die Natur des Fehlers kompliziert die Angelegenheit ungemein. Vor allem selbstmodifizierende Viren, die selbst laufend mutieren, sind praktisch unentdeckbar. Auch über das Internet lassen sich solche Hack-Attacken äußerst erfolgreich in Szene setzen, selten übersteht die Zielmaschine den Angriff unbeschadet. Die Internet-Methoden können prinzipiell bei jedem System angewandt werden, allerdings muß man durch trickreiches Ausnützen von Softwarefehlern den Prozessor dazu bringen, Eingabedaten als Programm auszuführen. Mußte man bislang solche Eingabedaten gekonnt formulieren, um einen Absturz zu erreichen, genügen jetzt ganze vier Byte mit der Pentium-Todessequenz. Intel, mit dem Problem konfrontiert, versprach Abhilfe, die eine Modifizierung des Betriebssystemes bedeutet, das heißt, man ist auf die Unterstützung des Softwareherstellers angewiesen. Der Bugfix besteht aus einer aufwendig konstruierten Speicherakrobatik, die den Fehler dadurch verhindert, daß das Betriebssystem eine Benachrichtigung für "Page Faults" statt "illegalem Befehl" erhält. In der Behandlungsroutine für die "Page Faults" muß jetzt die Behandlung unerlaubter Befehle eingebaut werden, was die Routine erheblich bremst und damit auch den Rechner. Da aber bei normaler Verarbeitung Page-Faults häufig auftreten (mehrere tausend Mal pro Sekunde), bremst eine Verlangsamung dieser Routine die Verarbeitung gewaltig. Von bis zu 20% Performanceverlust war schon die Rede. Neue Versionen gängiger Serverbetriebssysteme wie SCO, Linux oder BSD enthalten bereits "Security-Patches", also Flickwerk, um den Hardwarefehler zu umgehen. Wie es mit NT steht, ist bis dato unbekannt. Die Workstation-Systeme Windows95 und DOS werden - so wie es bisher aussieht - gar nicht nachgebessert. Arbeitsplatzrechner, die nicht unbedingt überlebenswichtig fürs Unternehmen sind, sollten die Patches auch gar nicht erst installiert bekommen. Denn oft bedeutet das Minus an Geschwindigkeit dort einen größeren Verlust als fallweise Betriebsausfälle. Exponierte Rechner, wie Fileserver, Modemrechner, Internet- Verbindungssysteme aber auch Faxserver oder Schaufenstersysteme sollten allerdings unbedingt das Fehlerbehandlungspaket installiert bekommen - sonst werden sie mit an Sicherheit grenzender Wahrscheinlichkeit einmal Opfer eines Angriffs auf diese Achillesferse. Sollte nach Installation des Patches die Systemleistung nicht mehr den Anforderungen genügen, bleibt nur die Aufrüstung mit einem - "vollständig getesteten" - Intel Chip. Bug-WerkstattPrinzipiell wird - wie wir im Gespräch mit Herrn Wopperer, Intel Deutschland - herausgefunden haben, der Bug durch eine unerlaubte Instruktion oder eine Instruktion mit unerlaubten Operanden ausgelöst. Etwa, wenn man statt einer Speicherstelle ein Register als Operand angibt. Das zuvor gesetzte Lock-Prefix verhindert jetzt aber den - an und für sich - richtigen Trap. Die Maschine hängt. Damit dennoch ein Trap auftritt, flunkert man ein wenig. Die IDT, die Tabelle, in der das Betriebssystem seine Behandlungsroutinen bei einem Trap einträgt, muß modifiziert werden. Sie wird nämlich so im Speicher positioniert, daß der Eintrag für den "Illegal Instruction/Operand" Trap auf einer anderen Speicherseite liegt. Beim Aufsuchen dieses Eintrags wird dann ein Page Fault generiert, der seinerseits eine, ebenfalls in dieser Tabelle liegende, Behandlungsroutine aufruft. Und diese Page-Fault Routine muß dann zwischen einem "normalen" Page Fault und einem "Illegal Instruction/Operand" Trap unterscheiden. Der Code für die Unterscheidung wird auch für normale Pagefaults durchlaufen, und bremst daher die Verarbeitung beträchtlich. In der Praxis heißt das, man muß für jedes Betriebssystem ein Update besorgen. Die Unix-Derivate Linux und FreeBSD haben diese schon verfügbar, bei OS/2 ist es im aktuellen Fixpak 5 nicht enthalten, wird aber im nächsten Jahr kommen. Windows 95 und NT-User stehen schlechter da. Für sie ist noch überhaupt kein Bugfix angekündigt. Und ob es jemals einen solchen für Windows 95 geben wird, ist fraglich. Schließlich - so Intel - falle ein zusätzlicher Absturz pro Tag bei der Win95-üblichen Absturzfrequenz nicht mehr auf. Trotzdem kann man sich auch unter Windows wenigstens vor den statischen Pentium-Killerviren sichern. Unter http://www.yourprivacy.org - Gibt es etwa schon einen Virenkiller, der EXE-Programme für Windows auf solche Befehlsfolgen absucht. Diese Maßnahme hilft aber weder gegen selbstmodifizierende Viren, noch gegen Hack-Attacken aus dem Internet. |