Zum Inhalt springen

Leichtes Spiel für Viren (Frankfurter Rundschau, 5.11.2002)

Konrad Lischka
Konrad Lischka
4 minuten gelesen

Leichtes Spiel für Viren

Neue Software ist offenbar wichtiger als die Beseitigung von Sicherheitsproblemen

Frankfurter Rundschau, 5.11.2002

Microsofts Technologiechef Craig Mundie hat eine Vision: Im Jahr 2030 werden die meisten Passagierflugzeuge ohne Piloten fliegen, automatisch von Soft- und Hardware gesteuert. Denn die wird in knapp 30 Jahren zuverlässig und sicher arbeiten. Glaubt Mundie. Darauf wettete er im Mai symbolische 1000 US-Dollar gegen Googles skeptischen Geschäftsführer Eric Schmidt. Mundie hat vielleicht noch mehr Chuzpe als Geld: Fast täglich ist heute in der Fachpresse von "kritischen Sicherheitslücken" in Software zu lesen. Oft genug werden diese in Microsofts Produkten entdeckt.

Gäbe es solche Sicherheitslücken bei Wohnhäusern, würde das so aussehen: Man schließt eine neue Kaffeemaschine an, und das Haus stürzt ein. Man öffnet Post, und plötzlich fängt der Inhalt, unterstützt von Briefkasten und Wohnungswänden, an, die Möbel zu demolieren – oder gar wegzuschaffen. Doch es gibt Hoffnung für Mundie und Softwarenutzer: Fehleranfälligkeit und Hilfsbereitschaft gegenüber böswilligen Hackern ist nicht naturgegeben. "Die heutige Software macht es ihnen nur extrem einfach", sagt Andreas Pfitzmann, Professor für Datenschutz und Datensicherheit an der TU Dresden.

Beispielhaft für dieses Problem ist die jüngst bekannt gewordene Sicherheitslücke des E-Mail-Clients "Outlook Express". Mit Hilfe eines so genannten Pufferüberlaufs kann ein Angreifer einen beliebigen Programmcode ausführen. Verantwortlich für solche Fehler seien "Nachlässigkeit oder Ignoranz" der Programmierer, sagt Pfitzmann. Geben sie beim Schreiben der Software nicht an, wie viel Daten ein Programm höchstens in einen Speicherbereich schreiben darf, kann man es leicht abstürzen lassen. Oder schlimmer: Bei einem provozierten Pufferüberlauf kann ein Angreifer mit geschickter Manipulation eigene Anweisungen ausführen. Die haben meist nichts mit der Funktion des ausgenutzten Programms und schon gar nichts mit den Wünschen der Nutzer zu tun.

Mit Hilfe eines Pufferüberlaufs hat sich 1988 der Sendmail-Wurm verbreitet. Dieselbe Schwäche nutzte der berüchtigte Wurm "Code Red" im vergangenen Jahr aus. Überhaupt setzen 60 Prozent aller Angriffe auf Software bei Pufferüberläufen an, schätzt Steve Cross, Leiter des Software Engineering Instituts der Carnegie Mellon Universität. Bei 95 Prozent der Angriffe würden sieben wesentliche Typen von Sicherheitslücken ausgenutzt.

Solche Schlupflöcher entstehen meist aus Fehlern. Eine kleine Nachlässigkeit, und ein syntaktischer Fehler steht im Softwarecode. Weil ein Programmierer statt eines Punktes ein Komma schrieb, explodierte 1962 die Trägerrakete der US-Venussonde Mariner 1 fünf Minuten nach dem Start. Solche Patzer werden weniger, weil die Werkzeuge zur Programmentwicklung qualitativ ähnlich arbeiten wie die Rechtschreibprüfung der Textverarbeitung: gut, aber nicht perfekt.

Häufiger und folgenreicher sind heute so genannte logische Fehler. Ein solcher brachte 1996 beim Ariane-501-Flug die Trägerrakete eine halbe Minute nach dem Start vom richtigen Weg ab. Die Steuerungssoftware rundete teils die Nachkommastellen weg. Die Rakete zerstörte sich glücklicherweise selbst. Dennoch war der Schaden gewaltig: 400 Millionen Euro direkter Verlust und etwa 300 Millionen Euro Folgekosten.

Warum kommt es angesichts solcher Schäden noch immer zu programmierten Fehlern? Ein Grund ist die Überfrachtung von Software mit immer neuen Fähigkeiten: "Oft hat die Ergänzung neuer, potenziell gefährlicher Features Priorität gegenüber einer sorgfältigeren Implementierung der bisherigen", beschreibt Andreas Pfitzmann das Phänomen. Am augenfälligsten ist das bei Microsoft-Programmen, die gut zusammenarbeiten, weil sie sich Daten und Funktionen teilen. Doch so können Sprungtore für Viren und Würmer entstehen.

Noch grassiert die Featuritis. Statt bei den Ursachen der Sicherheitsprobleme anzusetzen, bringen Unternehmen neue Produkte mit neuen Features auf den Markt. Mit Sicherheitssoftware werden heute schon viele Milliarden Euro im Jahr umgesetzt. Und das vor allem, weil die alten Programme mangelhaft arbeiten. An Stelle sicherer Netzwerkprotokolle gibt es Firewall-Software, an Stelle unangreifbarer E-Mail-Clients Antivirussoftware mit speziellen Scanfunktionen.

Ein anderes Problem ist so genannte Bananensoftware, die erst beim Anwender reift. Der ehemalige Apple-Guru und heutige Risikokapitalgeber Guy Kawasaki hat dafür den Spruch "Don't worry – be crappy" geprägt. In seinem Managementbuch "Rules for Revolutionaries" schreibt er: "Revolutionär bedeutet, dass man erst ausliefert und dann testet." Sicherheitsexperte Steve Cross glaubt: "Wir leben in einer Kultur, in der wir nicht erwarten, dass Software gut funktioniert."

Wenn zu viele Features zu schnell auf den Markt geworfen werden, entsteht eine dritte Fehlerquelle: Komplexität. Programme werden größer, die Kombinationen vielfältiger. In normaler Software stecken statistisch etwa 25 Fehler je 1000 Programmzeilen. Heute haben schon die Betriebssysteme von Mobiltelefonen gut 200 000 Zeilen, ein Koloss wie Microsoft Office für den Mac bringt es auf 25 Millionen Codezeilen.

Doch auch bei diesen Mengen gibt es Auswege. Andreas Pfitzmann schlägt beispielsweise vor: "Weniger Wildwuchs neuer Features, Offenlegung aller Quelltexte und aller zur Codegenerierung verwendeten Tools, Prämien für gefundene Sicherheitslücken, bessere Anwenderberatung, strengere Produkthaftung." Beim Thema Produkthaftung für Sicherheitslücken wird ein Problem sichtbar: Gesetzliche Regelungen gehen nicht so weit, doch auch in Verträgen zwischen Unternehmen steht so etwas kaum. Deshalb sorgte Anfang des Jahres das US-Unternehmen General Electric für Aufsehen, als es gegenüber einem Softwarelieferanten die Vertragsklausel durchsetzte, dass dieser für Schäden durch Sicherheitslücken haftbar ist.

Offenbar führt bisher der Wettbewerb auf dem Softwaremarkt nicht zu ausreichend sicheren Programmen. Warum das so ist, erklärt ein Bericht des Brookings Instituts. Darin heißt es: "In solchen Situationen kann Sicherheit nicht allein dem Markt überlassen werden, und staatliches Eingreifen kann nötig werden." Die US-Regierung hat im Juli neue Richtlinien zur Beschaffung von Software umgesetzt. Alle Programme, die Bereiche der nationalen Sicherheit berühren, müssen nun unabhängige Sicherheitstests bestehen.

Langsam scheinen auch die Softwarehersteller umzudenken. Anfang des Jahres schrieb Bill Gates in einer – angeblich internen, jedoch sehr öffentlichkeitswirksam in die Medien gelangten – E-Mail an die Belegschaft: "Wenn wir vor der Wahl stehen, den Programmen mehr Funktionen zu geben oder Sicherheitsprobleme zu lösen, müssen wir Sicherheit wählen." Das Problem dabei ist: Selbst wenn von heute an alle Programme nach neuen Prinzipien geschrieben werden, sind genug alte Programme und Programmelemente im Einsatz. Deshalb bleibt Pfitzmann skeptisch: "Man kann Sicherheit kaum nachträglich in Systeme hineinbauen."

Konrad Lischka

Projektmanagement, Kommunikations- und Politikberatung für gemeinnützige Organisationen und öffentliche Verwaltung. Privat: Bloggen über Software und Gesellschaft. Studien, Vorträge + Ehrenamt.
Immer gut: Newsletter abonnieren


auch interessant

Wer investiert in die Zukunft, wenn alle sparen?

Der common senf aktueller Debatten um Staatsausgaben, Tarifverhandlungen und Zinspolitik scheint mir gerade ein gefährlicher: Alle sollen sparen. Der Staat soll weniger ausgeben und damit der Gesamtwirtschaft Geld entziehen. Arbeitnehmer sollen Reallohnverluste akzeptieren, sparen und damit der Gesamtwirtschaft Geld entziehen. Und Unternehmen sollen sparen, bloß keine Kredite aufnehmen für Investitionen

Wer investiert in die Zukunft, wenn alle sparen?

Paradox der Gegenwart

Einerseits sehen so viele Menschen ihre individuellen (Konsum)Bedürfnisse als das wichtigste Gut, als absolut schützenswert. Überspitzte Maxime: Was ich will, ist heilig – alles geht vom Individuum aus. Andererseits erscheint genauso viele Menschen das Individuum ganz klein, wenn es darum geht, etwas zu verändern in der Welt. Überspitzte Maxime: Ich

Paradox der Gegenwart

Wie Schmecken funktioniert

Gelernt: Geschmack und Aroma sind zwei ganz unterschiedliche Wahrnehmungen. Für jede ist ein anderer Teil im Gehirn verantwortlich. Und jede basiert auf unterschiedlichen Daten: Für den Geschmack kommen Eindrücke von der Zunge, fürs Aroma von Rezeptoren in der Nase. Beides vermischt das Gehirn zum Gesamteindruck Schmecken. Sehr lesenswerter Aufsatz darüber

Wie Schmecken funktioniert