Von Elmar Török

Hacker nutzen bei ihren Angriffen oft Lücken im Programmcode, die noch aus den Anfängen des Computers stammen. Ein neues Programm soll dieses Sicherheitsrisiko endgültig schließen.

Collage: sde

Alle gängigen Programme haben Sicherheitslücken, die Hackern unberechtigten Zugriff auf Computersysteme erlauben. Die Hersteller und die Angreifer stehen im ständigen Wettlauf: Updates beheben die Probleme, neue Schwachstelle werden umgehend ausgenutzt.

Der Internet Explorer, nach wie vor meist genutzter Web-Browser weltweit, hat in der neuesten Version 7 bereits drei bekannte und nicht behobene Sicherheitslücken. Bei der beliebten Alternative Firefox sind die Entwickler zwar schneller, wenn es um das Flicken von Sicherheitslöchern geht, aber auch hier wurden seit der Veröffentlichung von Version 2.0 sieben Schwachstellen bekannt.

Jedes Programm hat Schwachstellen


Fehler in Software gelten bei den mittlerweile üblichen Mammutprogrammen als unvermeidlich. Das meint auch Emery Berger, Assistenzprofessor an der University of Massachusetts Amherst. „Meiner Ansicht nach hat Software Fehler und wird immer Fehler haben. Die Tatsache, dass es selbst sehr große Entwicklerteams wie bei Mozilla nicht schaffen, fehlerfrei zu programmieren, zeigt das sehr deutlich.“

Berger entwickelte ein Konzept, das Programme vor einer Reihe von Fehlern schützt, die mit fehlerhafter Speicherzuteilung zu tun haben. Diese Schwachstellen im Programm ermöglichen Hackern, so genannte Buffer-Overflow Angriffe zu starten.

Dabei wird ein Feld innerhalb des Programms mit mehr Daten gefüllt, als eigentlich in das Feld passen. Hat der Programmierer keine Sicherheitsabfragen eingebaut, überschreiben die eingegebenen Daten nicht nur das Feld sondern auch Teile des Programms im Arbeitsspeicher (RAM = Random Access Memory).

»Computer haben heute mehr als 2000 mal so viel Arbeits-speicher wie die Maschinen aus ver-gangenen Tagen. «

Emery Berger

Fehler aus der Vergangenheit


Das Ergebnis kann ein Absturz sein, im schlimmsten Fall führt das Programm zusätzlich eingeschleuste Befehle aus. „Computer haben heute mehr als 2000 mal so viel Arbeitsspeicher wie die Maschinen aus vergangenen Tagen. Trotzdem werden Programme immer noch so entwickelt, als wäre Arbeitsspeicher das kostbarste Gut schlechthin“, sagt Berger.

Normalerweise reserviert ein Programm große, zusammenhängende Blöcke im RAM. Das verbessert die Chancen für einen Buffer-Overflow Angriff, da beim böswilligen Überschreiben eines Feldes fast sicher Programmcode zerstört wird. Bergers Programm „DieHard“ schützt gegen diese Schwachstellen.

Es sorgt dafür, dass eine Anwendung ihren Speicherbedarf über einen möglichst großen Bereich des RAM verteilt und voneinander trennt. So kann ein Angreifer, wenn er es schafft einen Buffer-Overflow hervorzurufen, nicht damit rechnen direkt im Anschluss an ein Feld Programmcode zu finden.

Doppelt so viel Arbeitsspeicher


Der Nachteil an Bergers Konzept ist, dass Programme deutlich mehr Arbeitsspeicher belegen. Ein sehr speicherintensives Programm wie Firefox kann anstelle von 80 Megabyte fast die doppelte Menge in Anspruch nehmen.

Das wird auch in den Diskussionsforen immer wieder als massives Manko erwähnt. Berger hält dagegen, dass in aktuellen PCs mehr als genug Speicher zur Verfügung stehe und DieHard nur dann Auswirkungen auf die Geschwindigkeit des Computers habe, wenn der über zu wenig Arbeitsspeicher verfügt.

Nachdem heute bereits PCs aus dem Discounter mit einem Gigabyte RAM und Spiele-Rechner mit zwei Gigabyte ausgerüstet sind, sollte es nur selten Probleme geben.

Lebensversicherung nur für Firefox


DieHard ist sowohl Konzept als auch Software. Berger wünscht sich, dass Programmierer seine Ideen, die er zusammen mit Microsoft entwickelt hat, aufgreifen und in Programmcode umsetzen. Das Ganze funktioniert allerdings auch nachträglich.

Im Moment bietet Berger DieHard für Windows, Solaris und Linux zum Download an, allerdings mit unterschiedlichem Funktionsumfang. Unter Windows schützt DieHard nur die Web-Browser Mozilla und Firefox, weitere Programme sollen folgen.

Bei Linux und Solaris ist es im Prinzip möglich, alle Anwendungen unter die Fittiche von DieHard zu nehmen. Theoretisch geht das, laut Berger, auch mit allen Windows Programmen, aber dafür ist die Software noch zu wenig getestet.

(sueddeutsche.de)