Wir schreiben das Jahr 2008: Sie haben sich gerade einen neuen Computer mit Windows XP gekauft, eine Verbindung zum Internet hergestellt, Ihren Browser gestartet und Ihre Lieblingswebsite aufgerufen… und stellen fest, dass die Hälfte der Seite nicht angezeigt wird. „Versuch‘ es mal mit der Installation von Adobe Flash“, rät Ihnen ein computererfahrener Freund am Telefon.
Die Ursprünge von Flash reichen bis in die frühen 1990er Jahre zurück, als es lediglich ein Tool zur Erstellung einfacher Vektoranimationen war, die, selbst bei einer langsamen Internetverbindung, kompakt genug waren, um über ein Modem heruntergeladen zu werden.
Ab den späten 2000er Jahren war Adobe Flash Player – im Herzen noch immer ein Animations-Tool – so gut wie unverzichtbar. Ohne ihn konnte buchstäblich die Hälfte aller Websites nicht ordnungsgemäß funktionieren. Gleichzeitig begannen Cyberkriminelle, Dutzende von Sicherheitslücken in diesem Player auszunutzen. Vor allem deshalb geriet Flash ab 2010 stark in die Kritik, und selbst Adobe erkannte, dass sich das Internet in eine andere Richtung entwickeln musste. Die „Bestattung“ von Flash zog sich über ein ganzes Jahrzehnt, richtig abgeschlossen wurde mit dem Player aber bis heute nicht. All das ist eine der interessantesten Episoden in der Geschichte der Online-Informationssicherheit. Schauen wir uns die Details der Geschichte genauer an…
Vom Computer zum Tablet
Die Geschichte von Flash beginnt in den Jahren 1992-93, als mehrere Unternehmen gleichzeitig Tablet-Computer auf den Markt brachten. Ja, wie das iPad, nur 13 Jahre früher. Das IBM ThinkPad 700T zum Beispiel war eine solche Rarität.
Diese Geräte verwendeten das von GO Corporation entwickelte Betriebssystem PenPoint. Dieser erste Versuch, ein tragbares Tablet-Gerät zu entwickeln, erwies sich jedoch als erfolglos. Bereits 1994 wurde die Go Corporation an die AT&T Corporation verkauft, die daraufhin die Produktion einstellte. Es wurden jedoch mehrere unabhängige Anwendungen für das PenPoint-Betriebssystem geschrieben. Eine davon war SmartSketch, ein Grafikeditor, der von FutureWave Software entwickelt wurde.
Leider überlappte die Veröffentlichung von SmartSketch mit dem Ende von PenPoint OS. FutureWave machte den Editor zunächst mit Microsoft Windows und Mac OS kompatibel und fügte dann die Möglichkeit hinzu, animierte Grafiken zu erstellen – das Endprodukt wurde dann FutureSplash getauft. 1996 wurde FutureWave Software von Macromedia übernommen und das Produkt in Macromedia Flash umbenannt. Es bestand aus zwei Komponenten: einem Programm zur Erstellung von Animationen und dem Macromedia Flash Player, einem kompakten Dienstprogramm zur Wiedergabe von Animationen auf dem Computer des Benutzers. Es ist wichtig zu wissen, dass sowohl SmartSketch als auch das frühe Macromedia Flash sogenannte Vektorgrafiken verwendeten.
Die JPEG-Fotos und -Bilder, die wir heutzutage kennen, verwenden Rastergrafiken, bei denen jedes einzelne Pixel einen Farbwert hat – und davon kann es Tausende oder sogar Millionen geben. Vektorgrafiken speichern keine Pixelinformationen; sie sind ein Rezept zur Wiederherstellung eines Bildes aus primitiven oder geometrischen Formen: Linien, Quadrate, Kreise usw. Vektordateien sind in der Regel kompakter als Rasterdateien: Anstatt beispielsweise jedes Pixel eines Kreises auf weißem Hintergrund zu beschreiben, wird lediglich eine einzige Anweisung gespeichert: „Zeichne einen Kreis mit einem Radius von X Pixeln auf weißem Hintergrund“.
Wie ein Vektorgrafik-Editor dazu beitrug, eine der wichtigsten Internet-Technologien zu schaffen, und warum er zu großen Sicherheitsrisiken führte.
Tweet
In den 1990er Jahren war es üblich, eine Verbindung zum Internet per Modem herzustellen. Solche Verbindungen waren mühsam, mit Datenübertragungsraten von bestenfalls 5-6 Kilobytes pro Sekunde. Das Laden von Rasterbildern selbst in etwas besserer Qualität dauerte mindestens ein paar Sekunden (oder sogar Minuten). Viele Nutzer deaktivierten daher die Bilder in ihren Browsereinstellungen einfach. Mit Macromedia Flash war es durch den Einsatz von Vektorgrafiken jedoch möglich, bunte animierte Bilder in einem Bruchteil der Zeit zu laden.
Bevor wir fortfahren, noch eine wichtige Anmerkung: Wenn wir von Flash sprechen, meinen wir im Wesentlichen den Code, der jedes Mal auf einen Computer heruntergeladen wird, wenn ein Benutzer eine Website mit Flash-Inhalten öffnet. Dabei handelt es sich nicht um eine normale ausführbare Datei, sondern um eine Reihe von Anweisungen, die vom Macromedia Flash Player auf dem PC ausgeführt werden. Das Prinzip ist jedoch das gleiche (obwohl theoretisch eine ausführbare Datei erstellt werden kann, die sowohl den Inhalt als auch den Player enthält).
Es dauerte nicht lange, bis Flash zusätzliche Funktionen aufgriff: Neben Grafiken kamen Sound und Spezialeffekte hinzu, später sogar die Übertragung von Videos.
Ausbau der Online-Welt
Der Autor dieses Artikels begegnete Macromedia Flash zum ersten Mal im Jahr 2001, als er Massjanja, Russlands Antwort auf Beavis and Butt-Head, sah. In diesem Herbst lud er sich jeden Montagmorgen eine neue Folge der ein- oder zweiminütigen Online-Animation herunter und sah sie sich an. Oleg Kuvaev, der Schöpfer von Massjanja, verwendete Macromedia Flash, um ein animiertes Video zu erstellen, das er dann als ausführbare Datei mit eingebetteter Animation und Flash Player auf seiner Website hochlud. Mit diesem Ansatz war er YouTube einen weiten Schritt voraus, und Massjanja demonstriert perfekt die Kompaktheit des Formats. Die sechste Episode der Serie („Modem“) ist nur 600 Kilobyte groß, inklusive Wiedergabesoftware! Die gleiche Episode, abgespielt im einfachsten Videoformat, wiegt dreimal so viel, und das ohne integrierten Player.
Damals hat die Macromedia-Flash-Technologie die Funktionalität von Internet-Browsern stark erweitert, die bis dato nur Text oder Bilder anzeigen konnten. Daher war es nur logisch, ein Plug-in zu entwickeln, das Flash-Inhalte direkt im Browser abspielen konnte, ohne dass sie separat heruntergeladen und ausgeführt werden mussten. Bei allen Flash-Objekten handelte es sich noch immer um auf dem Computer ausgeführten Code; mit dem einzigen Unterschied, dass diese Programme nach der Installation des Plug-ins beim Laden des Webinhalts ausgeführt wurden, ohne dass der Benutzer etwas tun musste.
Und auch die Tools der Schöpfer entwickelten sich weiter: So ging es Ende der 1990er Jahre nicht mehr nur um einfache Animationen. Flash ermöglichte nun die Implementierung von benutzerinteraktiven Menüelementen und unterstützte eine Skriptsprache, mit der man immer komplexere Konstruktionen innerhalb eines Flash-Objekts erstellen konnte. Um dies zu veranschaulichen, folgt im Anschluss die Funktionsentwicklung von Websites in Bildern.
Hier die allererste Website aus dem Jahr 1990:
Eine typische Website aus dem Jahr 1996:
Hier eine Website mit Flash-Elementen aus dem Jahr 2000:
Damals setzten Webdesigner unterschiedliche Prioritäten: Einige strebten nach maximaler Kompatibilität, während andere die Kompatibilität der Grafik zuliebe opferten. Im ersten Fall konnten Websites aus dem Jahr 1996 ohne Flash genutzt werden, auch wenn sie Flash-Elemente enthielten. Im zweiten Fall gab es Websites, die ohne Flash nicht funktionieren konnten. Zum Beispiel diese Nike Air Mini-Site.
Macromedia Flash erweiterte die Grenzen des Möglichen im Bereich Web-Design erheblich. So wurde es Entwicklern ermöglicht, Animationen zu platzieren, Audio und Video zu verwenden und auffällige Effekte bei Seitenübergängen zu erzeugen.
Im Jahr 2006 wurde Macromedia von der Adobe Corporation übernommen. Schon bald wurden ganze Spiele, die direkt im Browser liefen, in Flash erstellt, was Mitte der 2000er Jahre bis dato völlig undenkbar gewesen war. In der Zwischenzeit entwickelten sich auch Mobilgeräte rasant weiter. Auch für sie wurden Alternativen zum Flash Player entwickelt, die es ermöglichten, Inhalte auf einer Vielzahl von Plattformen bereitzustellen. Im Jahr 2005 kam YouTube auf den Markt. Auch hier wurde der Flash Player für die Bereitstellung von Videos eingesetzt.
Die Kehrseite der Medaille war, dass sich Werbetreibende zu sehr auf die Erstellung einprägsamer, Macromedia/Adobe Flash-basierter Banner versteiften. Da diese Programme noch immer auf dem Computer des Benutzers ausgeführt wurden, belasteten sie das System stark und konnten andere Programme erheblich verlangsamen. Einige Browser und Plug-ins hatten die Option, Flash standardmäßig zu deaktivieren. Es wurde jedoch bald klar, dass Banner in einer von Flash beherrschten Computerwelt das vermutlich geringste aller Probleme waren.
Gigantische Sicherheitslücke
Die Chronologie der Erkennung von Sicherheitslücken in Adobe Flash Player lässt sich nur schwer rekonstruieren, da sie bis in die Anfänge des modernen Webs zurückreicht: In den frühen 2000er Jahren war es noch nicht üblich, Anwender und Kunden über Sicherheitslücken zu informieren. Die erste Erwähnung einer Sicherheitslücke im Flash Player im Archiv der Adobe Sicherheitsbulletins und -hinweise, das auch Daten aus der Macromedia-Ära enthält, stammt aus dem Jahr 2002. In der MITRE CVE-Datenbank sind zudem über 1100 Sicherheitslücken im Zusammenhang mit Adobe Flash Player aufgeführt.
Die erste in dieser Datenbank aufgeführte ACE-Schwachstelle (Arbitrary Code Execution) stammt ebenfalls aus dem Jahr 2002. Ein Angreifer konnte eine Adobe Flash-Datei an ein Opfer senden und sie dazu bringen, während der Wiedergabe Schadcode auszuführen. Einige dieser Schwachstellen wurden auf der CVSS-Skala mit er maximalen Höchstwertung von 10,0 bewertet (Quellen zufolge gab es mehr als 800 ACE-Schwachstellen in allen Versionen von Flash Player). Solche Schwachstellen lassen sich leicht ausnutzen und erfordern oft nur wenige oder gar keine Aktionen des Benutzers. Es genügte, das Opfer auf die Website zu locken, in die die Adobe Flash-Malware eingebettet war. Bei einigen Angriffen wurde das System für die Anzeigenschaltung manipuliert, so dass plötzlich bösartige Inhalte auf Websites erschienen, die von Millionen von Nutzern besucht wurden.
Nicht umsonst haben wir zuvor darauf hingewiesen, dass Flash-Objekte im Wesentlichen Programme sind, die an den Rechner des Benutzers geliefert und dort ausgeführt werden. Eine Folge der weitreichenden Möglichkeiten der Technologie war das Entstehen unzähliger Schlupflöcher, durch die Angreifer die vollständige Kontrolle über einen Computer erlangen konnten. Bereits 2005 war Flash die beliebteste Technologie zur Ausführung von Webanwendungen.
Kein Problem, flüstert uns unser Ich aus dem Jahr 2022 jetzt vermutlich ins Ohr. Man stellt ganz einfach ein Update für alle Nutzer bereit und das Problem ist gelöst. Automatische Flash Player-Updates wurden jedoch erst gegen Lebensende der Technologie eingeführt – in den 2000er Jahren gab es so etwas wie automatische Updates schlichtweg nicht. Damals musste man auf die Adobe-Website gehen, die neue Version herunterladen und sie manuell installieren. Einige Benutzer wussten nicht einmal, dass sie eine Version von Flash Player hatten, die aktualisiert werden musste. Die Sicherheitslücke aus dem Jahr 2006 wurde (zusammen mit drei anderen) auch in einem Microsoft-Bulletin gemeldet, da der Adobe-Code mit Windows XP verteilt werden konnte. Microsoft selbst kümmerte sich um die Updates, und sein Verfahren für die Bereitstellung und Installation von Patches war ebenfalls nicht ideal.
Ein Kaspersky-Bericht aus dem Jahr 2012 zeigt, wie schlecht es um die Bereitstellung von Updates tatsächlich bestellt war. In jenem Jahr war Adobe Flash Player bereits Spitzenreiter was die Anzahl der Sicherheitslücken, die auf den Computern der Nutzer gefunden wurden, betraf. Damals gab es bereits ein System, das die Benutzer über Flash Player-Updates informierte und verfolgte, wie schnell diese installiert wurden. Jedes Mal, wenn eine Sicherheitslücke entdeckt wurde, stieg der Prozentsatz der Nutzer, die von der Sicherheitslücke betroffen waren, an (mit einem Rekordhoch von 60 % im Jahr 2012!) und sank dann mit jedem neuen Patch wieder ab. Die Bereitstellung von Updates dauerte, zumindest für viele Nutzer, zwischen drei Wochen und zwei Monaten, was für heutige Verhältnisse eine Ewigkeit ist. Die schlimmsten Übeltäter waren Nutzer mit sehr alten Versionen, die nicht einmal Update-Benachrichtigungen erhielten; ihr Anteil lag 2012 bei etwa 10 %.
Werfen wir einen Blick auf einen weiteren Kaspersky-Bericht aus dem Jahr 2015. Hier wurden 13 neue Schwachstellen im Flash Player gefunden, die bekanntermaßen in so genannten Exploit-Packs verwendet wurden – hierbei handelt es sich um Kits, die mehrere Exploits enthalten, mit denen Software-Schwachstellen auf dem Computer eines Benutzers nacheinander angegriffen werden, um einen erfolgreichen Hack zu erzielen. Nach Angaben der Kaspersky-Experten wurden die meisten der tatsächlichen Angriffe auf die Benutzer über Browser durchgeführt (62 %), wobei Flash-Schwachstellen die häufigste Ursache waren. Flash wurde schließlich von einer anderen beliebten Plug-in-Technologie, Java, als Hauptbedrohungsquelle abgelöst, die z. B. in frühen Online-Banking-Systemen eingesetzt wurde.
10-jährige Bestattung
Mitte der 2010er Jahre galt Adobe Flash bereits als veraltet; die vielleicht erste öffentlichkeitswirksame Stellungnahme gegen Flash war der offene Brief von Apple-Gründer und CEO Steve Jobs mit dem Titel „Thoughts on Flash„. Nach der allgemeinen Krise der 1990er Jahre, schaffte Apple 2010 die Wende und brachte 2007 das erste iPhone und 2010 das erste iPad auf den Markt, das im Gegensatz zum Tablet-Gerät von 1993 ein voller Erfolg war. Dem iPhone fehlten anfangs viele Funktionen, die andere Smartphones bereits hatten. Insbesondere unterstützte es kein Flash und konnte somit auch keine Flash-basierten Websites anzeigen; in den späten 2000er Jahren war dies ein ernstzunehmendes Argument für die Symbian-Smartphones von Nokia und die frühen Android-Geräte, die Flash sehr wohl unterstützten.
Steve Jobs nannte die Sicherheit als einen der Hauptgründe, warum die mobilen Geräte von Apple niemals mit Flash laufen würden. Außerdem konnte Apple die Tatsache nicht akzeptieren, dass es keine Kontrolle über die Funktionsweise von Flash auf seinen Geräten hatte. Im Gegensatz zu offenen Standards wie HTML5 und Javascript war Flash von Anfang an proprietär (mit Ausnahme einiger Elemente). Hätte Apple die Flash-Unterstützung erlaubt und Adobe sie implementiert, wären Spiele, Videos und Web-Elemente auf Smartphones entweder langsamer geworden oder direkt abgestürzt. Und es wäre die Schuld der Handyhersteller gewesen.
Natürlich gab es auch noch andere Argumente. Im Gegensatz zu Desktop-Computern muss der Code auf Smartphones so kompakt wie möglich sein, um die Batterie so wenig wie möglich zu belasten. Es war fast unmöglich, die Größe von Flash zu reduzieren, da damals noch nicht einmal die GPU-Beschleunigung unterstützt wurde. Selbst wenn Adobe einen besseren Flash-Player entwickelt hätte, hing die Leistung von Flash-Anwendungen noch immer von den einzelnen Entwicklern ab, und davon gab es Tausende. Ein absolutes No-Go für den Kontrollfreak Apple.
Auch andere Technologieunternehmen wollten sich nicht auf die proprietäre Software der Konkurrenz verlassen. Der übliche Weg der Interaktion zwischen den verschiedenen Marktteilnehmern ist die Zusammenarbeit an offenen Standards. Aber dazu muss(te) jeder diesen Standard akzeptieren! Und das war nicht einfach: Einige versuchten, den Erfolg von Flash zu kopieren und ihre eigenen Formate zu entwickeln. Insbesondere Microsoft beschloss 2007, sein eigenes Framework namens Silverlight zu entwickeln, das sich glücklicherweise nicht durchsetzen konnte.
Im Jahr 2015 veröffentlichte das Magazin Wired einen Artikel mit dem vielsagenden Titel „Flash.Must.Die“. Darin wurden die Versuche der Industrieunternehmen beschrieben, „eine schwerwiegende Sicherheitslücke“ namens Adobe Flash Player zu schließen. Im selben Jahr deaktivierten die Entwickler des Firefox-Browsers standardmäßig das Plug-in zur Wiedergabe von Flash-Inhalten; Chrome kündigte an, dass es nicht kritische Flash-Inhalte auf Websites (z. B. Videobanner, die das System stark belasteten) deaktivieren würde. Alex Stamos, der damalige Sicherheitsdirektor von Facebook, schlug vor, ein klares Datum festzulegen, an dem die Unterstützung für diese veraltete Technologie eingestellt werden sollte; Facebook selbst spielte damals noch Videos in Flash ab. Der offene Standard HTML5 hatte durchaus das Potenzial, Flash als vielseitiges Tool für die Erstellung interaktiver, inhaltsintensiver Websites abzulösen. Es war jedoch unmöglich, eine solch große Altlast über Nacht loszuwerden. Werbenetzwerke waren auf Flash angewiesen. Das Gleiche galt für Nutzer alter Computer mit alten Browsern und Website-Entwickler mit großen Inhaltsbibliotheken.
Erst im Juli 2017 kündigte Adobe an, die Entwicklung und Unterstützung von Flash einzustellen, allerdings mit einer großzügigen dreijährigen Übergangsfrist. Danach begannen die wichtigsten Browser damit, Flash-Inhalte nur noch auf Anfrage der Benutzer auszuführen. Am 12. Januar 2021, 25 Jahre nach der Veröffentlichung von Macromedia Flash Player 1.0 und 13 Jahre nach der Entdeckung der ersten äußerst kritischen Schwachstelle in der Software, wurde der Support für Flash dann ganz eingestellt. Heutzutage können moderne Browser keine Flash-Inhalte abspielen, selbst wenn Nutzer den Flash Player installiert haben. Die neuesten Versionen blockieren sogar das Ausführen von Flash.
Doch noch ist die Flash-Ära nicht vollständig vorbei. Vierzig Tage nach der Abschaffung von Flash haben wir einen Bericht über die damalige Situation in Bezug auf diese Technologie veröffentlicht. Hierbei stellte sich heraus, dass viele Unternehmensanwendungen noch immer an die Technologie gebunden waren und somit keine Updates mehr erhielten. Vor allem in China ist die Technologie noch immer weit verbreitet. Einige Unternehmen, die sich nicht von Flash trennen wollen oder können, sind sogar bereit, eigene Browser zu entwickeln, die diese Technologie unterstützen. Denn Sie wissen nicht, was sie tun… Zumindest sollte man solche Browser nicht auf Computern ohne eine hochwertige Sicherheitslösung verwenden.
Flash ist auch für Web-Archivare von Interesse: Mit dem Aussterben dieser Technologie ist ein Großteil der kreativen Arbeit von Zehntausenden von Menschen unzugänglich geworden.
Gibt es einen Schuldigen?
Es ist verständlich, dass Adobe so lange gebraucht hat, um das Ende von Adobe Flash anzukündigen. Das Tool zur Entwicklung von Inhalten, das die meisten Verbraucher-PCs unterstützt, verkaufte sich gut, und ab 2013 konnte das Unternehmen diesen Teil seines Geschäfts an die moderne Zeit anpassen. Adobe AIR ist bis heute aktiv und ermöglicht die Entwicklung von Anwendungen für Windows, Mac OS, Android und iOS. Es ist der direkte Nachfolger von Adobe Flash und unterstützt sowohl die firmeneigenen als auch Open-Source-Technologien wie HTML5.
Das soll nicht heißen, dass Adobe Flash besonders schlecht entwickelt hat. Die Technologie war durch ihre eigene Popularität und auch durch die Entwicklungsprinzipien der 1990er Jahre verflucht. Der Adobe Flash Player hatte vollen Zugriff auf die Ressourcen des Computers, und jeder größere Programmierfehler hatte ebenso große Folgen. Ein typisches Beispiel dafür war ein Bug im Player, der es jeder Website ermöglichte, auf die Webcam der Benutzer zuzugreifen. Der Umgang mit einer solchen Altlast, d. h. mit altem und offensichtlich unsicherem Code, ist keine leichte Aufgabe. Der Grund dafür ist, dass Optimierungs- und Sicherheitspraktiken die Kompatibilität mit Millionen von Flash-Anwendungen auf Tausenden von Websites beeinträchtigen.
Das soll nicht heißen, dass Adobe sich nicht bemüht hat – seit der Entdeckung der ersten Sicherheitslücke in Version 10.0 im Jahr 2008 schloss das Unternehmen bis 2011 jedes Jahr Dutzende kritischer Sicherheitslücken in Flash Player. Die Anpassung von Flash an die sich entwickelnden Sicherheitskonzepte schien jedoch eine zu große Herausforderung gewesen zu sein. Moderne Browser benötigen keine Plug-ins mehr, um fast alle Online-Inhalte anzuzeigen. Das bedeutet, dass allein der Browser-Entwickler und niemand sonst dafür verantwortlich ist, dass der Benutzer sicher im Internet surfen kann.
Alles, was aus dem Internet heruntergeladen werden kann, gilt heute per Definition als unsicher. Deshalb haben Browserhersteller große Anstrengungen unternommen, Websites voneinander und von anderer Software auf Geräten wie Computern, Smartphones und Tablets zu isolieren. Leider verbessern auch Cyberkriminelle ihre Tools stetig: Allein in diesem Jahr wurden in Google Chrome bereits sechs Zero-Day-Schwachstellen entdeckt, die bereits aktiv für Angriffe ausgenutzt wurden. Das sind zwar weniger als die 15 Sicherheitslücken im Adobe Flash Player, die 2015 von Cyberkriminellen ausgenutzt wurden, aber der Unterschied ist nicht allzu groß (und das Jahr noch nicht zu Ende).
Abschließen möchte ich den Beitrag mit einem positiven Fazit: Adobe Flash hat das Internet, so wie wir es heute kennen, entscheidend mitgeprägt. Die Anwendung verwandelte Websites von einer Reihe langweiliger Textseiten in etwas Lebendiges. Flash trug dazu bei, den Traum vom virtuellen Universum, wie er in den Science-Fiction-Romanen und -Filmen der 1990er Jahre dargestellt wurde, Wirklichkeit werden zu lassen, und das zu einer Zeit, zu der das Design von Websites von einigen als zu auffällig, zu plakativ und zu aufdringlich angesehen wurde. Im Laufe des nächsten Jahrzehnts wurde der Stil von Websites und Apps immer dezenter, und das Internet selbst entwickelte sich zu einem festen Bestandteil des modernen Lebens – Adobe Flash spielte in dieser Zeit, dem so genannten romantischen Zeitalter des Internets, eine wichtige Rolle. Obwohl Flash etwas holprig und anfällig für Datenverluste durch unvorsichtiges Klicken war, wird es immer ein wesentlicher Bestandteil der frühen Geschichte des Internets bleiben.