Test

Wie sicher ist Google Chrome?

13.02.2009 von Roger Grimes
Googles Open-Source-Browser Chrome beeindruckt durch ein hervorragendes Security-Modell. Doch fragwürdige Voreinstellungen und das Fehlen einer Möglichkeit, Javascript abzuschalten, trüben das Bild.

Google hat bei der Entwicklung des Chrome den unschätzbaren Vorteil, den Browser von Grund auf neu zu gestalten, ohne Altlasten mitzuschleppen. Vor allem mit dem offenen Umgang mit Sicherheits-Informationen im Google-Chrome-Blog und dem frei zugänglichen Source-Code hat sich Google einen ordentlichen Vertrauensvorschuss erarbeitet.

Das Sicherheits-Modell, das Google verfolgt, ist exzellent. Chrome trennt das Hauptprogramm des Browsers, den Browser-Kernel, vom Rendering-Prozess, der wiederum auf der quelloffenen "Webkit Engine" basiert. Webkit ist eine Rendering-Bibliothek, die Apple entwickelt hat und in seinem Web-Browser Safari verwendet.

Der Browser-Kern entfernt zum Start alle Privilegien. Der auf Null gesetzte SID (Security Identifier) in Windows Vista, der den Anwender als nicht vertrauenswürdig einstuft, sowie verschiedene restrict- und deny-SIDs werden abgeschaltet. Unter Windows Vista läuft Chrome im Medium-Modus der Windows-Integrity-Control. Zum Vergleich: Der Internet Explorer startet im Low-Modus.

Das Bild zeigt verschiedene Prozesse samt deren Security-Einstellungen im Datei-Explorer von Windows Vista.

Jeder Website räumt Chrome einen separaten Rendering-Prozess und Speicherraum sowie eigene globale Datenstrukturen, Zugangs-Token, Tab, Url-Bar, Desktop usw. ein. Chrome öffnet bis zu zwanzig Prozesse, und zwar für jede Web-Seite einen und betreibt ein Prozesse-Sharing zwischen den Web-Sites. Redering-Prozesse laufen mit hohen Restriktionen. Windows Vista betreibt die Rendering-Prozesse von Chrome ebenso wie die des Internet-Explorers im geschützten Modus (Protected Mode). Allerdings nutzt der Google-Browser das erstmals in Vista implementierte Zugriffskontrollmodell Mandatory Integrity Control (MIC) sehr viel vorsichtiger als Microsoft selbst. Beispielsweise versucht Google zu verhindern, dass Browser-Prozesse mit niedriger Integrität höher klassifizierte Ressourcen lesen dürfen. Die Grundeinstellung von Vista verhindert in diesem Fall nur die Modifikation der Ressourcen.

Sowohl der Kernel als auch die Rendering Prozesse betreibt der Browser mit aktivierter DEP (Data Execution Prevention) und ASLR (Address Space Layout Representation). Die Virtualisierung schaltet das Progamm standardmäßig aus. Alle Zusatz-Tools laufen in getrennten Prozessen mit mittlerer oder hoher Integrität. Dennoch verfügt Chrome über einen eigenen Task-Manager sowie eigene Informationsbereiche, die Angaben zur Speicherbelegung und CPU-Statistik bietet. Das vorläufige Fazit angesichts des zugrunde liegenden Security-Modells lautet: Chrome ist glänzend.

Chromes Stärken und Schwächen

Stärken:

+ ein überzeugendes Sicherheitsmodell;

+ von einander getrennte Rendering-Prozesse;

+ restriktiver Umgang mit Privilegien;

+ Prozesse laufen mit hohen Restriktionen;

+ kontinuierliche Patch-Updates;

+ begrenzte Manipulationsmöglichkeiten durch JavaScript;

+ Antiphishing-Funktionen;

+ Surfen hinterlassen keine Spuren im Web;

Schwächen:

- besonders gravierend: JavaScript lässt sich nicht abschalten;

- Chrome-Installation ist ohne Admin-Rechte möglich;

- schlechte Verwaltungsmöglichkeiten;

- keine definierbaren Sicherheitszonen;

- Schwächen in der Passwort-Verwaltung;

- bedenkliche Grundeinstellungen (beispielsweise werden alle Cookies zugelassen).

Patches werden automatisch installiert

Doch es gibt Überraschendes: Fragwürdige ist Googles Entscheidung, dass Nutzer Chrome ohne Admin-Rechte installieren können. Das kann dazu führen, das Chrome schwer zu verwalten ist. Allerdings ermuntert Microsoft alle Anbieter zu diesem Vorgehen, um das Windows-System weitgehend vor Modifikationen zu bewahren. Chrome ist damit lediglich eine der ersten Applikationen, die Microsofts Empfehlung folgen.

Chrome installiert die ausführbare Datei Googleupdate.exe. Die Applikation wird automatisch im Task-Scheduler von Windows Vista gestartet und wählt sich regelmäßig auf der Google-Seite ein, sobald der Nutzer eingeloggt ist und gerade untätig ist. Die Software sucht nach Updates und installiert sie. Das ist eine schöne Art, den Browser stets auf dem aktuellen Stand zu betreiben, immerhin erscheinen mehrere Patches pro Woche. Die um Sicherheit besorgten Admins sehen so etwas jedoch gar nicht gerne, weil sie die Kommunikationsströme und neu installierte Patches nicht kontrollieren können. Dieses Browser-Verhalten lässt sich nur schwer ändern.

Ein weiteres interessantes Konzept ist Chromes JavaScript-Machine namens "V8". Googles Entwickler-Team Chromium hat eigens eine virtuelle Umgebung für JavaScript-Anwendungen entworfen. V8 konvertiert sogar JavaScript in Maschinensprache, um das Laden der Web-Seite zu beschleunigen, und betreibt eigene Prozesse, um nicht mehr verwendete Objekte und deren Speicher zu identifizieren (Memory Garbage Collection). Hinzu kommen ein eigener Source-Code Inspector sowie ein Debugger. V8 begrenzt deutlich die Möglichkeiten von JavaScript, dem System Schaden zuzufügen. Das gilt auch für übliche JavaScript-Pop-ups etwa in Form von Werbung.

Chrome hat viele sicherheitsrelevante Standard-Features. Dazu zählen (unter anderem):

JavaScript lässt sich nicht abschalten

Bislang konnte Googles Browser überzeugen, doch auch beim Chrome ist in punkto Security nicht alles glänzend implementiert. Ein besonders eklatanter Lapsus ist die fehlenden Funktion des Browser, Javascript auszuschalten. Javascript wird häufig für Attacken aus dem Web verwendet. Alle Chrome-Konkurrenten bieten die Möglichkeit, die Ausführung entweder generell oder auf Site- und Zone-Ebene zu unterbinden (der Firefox benötigt dazu allerdings das Add-on "NoScript"). Während Googles V8 ansonsten durch Cleverness in Security-Fragen besticht, ist dieser Makel eine ernste Sicherheitslücke. Die Beweggründe für diese Entscheidung sind unklar. Möglicherweise liegt es daran, dass Google die Nutzung von Javascript-basierenden Applikationen und Web-Seiten fördern möchte. Doch sollte sich der Mangel zu einem echten Sicherheitsproblem entwickeln, bleibt nur der Rat an die Anwender, Chrome nicht mehr zu verwenden.

Ungewöhnliche Standardeinstellungen

Die Standardeinstellungen in Googles Chrome sind erstaunlich. Das beispielsweise alle Cookies zugelassen werden, ist ungewöhnlich.

Die meisten der vom Nutzer einstellbaren Security-Funktionen lassen sich im Menüpunkt "Optionen" unter dem Reiter "Details" erreichen. Wer erstmals dort vorbeischaut wird sich darüber wundern, wie wenig detailliert die Sicherheitseinstellungen Chrome veränderbar sind. Die Auswahl ist dürftig und die Voreinstellungen offenbaren Sicherheitslücken. Beispielsweise lässt Chrome standardmäßig alle Cookie-Typen zu, wenngleich dies von einem Anbieter, der sein Geld mit Online-Werbung verdient, nicht anders zu erwarten ist. Doch selbst der eingeschränkte Modus zur Verwendung von Cookies von Drittanbietern erlaubt es, sie zu lesen. Das ist fast so bedenklich wie freigiebige Modifikation.

Ein weiteres Beispiel für eine dürftige Voreinstellung ist die Erlaubnis, gemischten Content auf sicheren SSL-Seiten zuzulassen. Zudem integriert Chrome keine Funktion, verschiedene Web-Seiten in separaten Sicherheits-Zonen oder Domains abzulegen. Die meisten Browser bieten wenigstens zwei Zonen (der Internet Explorer hat sogar fünf Auswahlmöglichkeiten) oder können per Auswahl eine weiße oder schwarze Liste pflegen.

Für Unternehmen ungeeignet?

Chrome mangelt es zudem an Verwaltungsfunktionen für den Einsatz im Unternehmen. Zwar prüft der Browser die Widerrufliste der SSL/TLS-Server (Secure Sockets Layer/Transport Layer Security), doch das deutlich effizientere Online Certificate Status Protocol (OCSP), das die Gültigkeit von Zertifkaten prüft, und das alle Wettbewerber implementiert haben, gibt es beim Chrome nicht.

Zudem fühlt sich Google offenbar nicht zuständig für die Sicherheit der Add-ons. Selbstverständlich lassen sich die Browser-Hersteller kaum in die Pflicht für sämtliche Sicherheitslücken in den Zusatz-Tools nehmen, doch Chrome bietet keine Kontrollfunktionen für Add-ons. Anwender können weder kontrollieren, was die Zusatzdienste bewirken, noch können sie diese verwalten.

Wenige Mausklicks offenbaren Passwörter

Viele Anwender haben angesichts der Fülle von Passwörtern den Überblick verloren. Ihnen bietet Chrome eine nette Erinnerungsbrücke. Die gespeicherten Kennwörter lassen sich im Browser mit wenigen Mausklicks im Klartext darstellen. Das ist ein schönes Feature für alle vergesslichen Nutzer, und ein dankenswertes Angriffsziel für alle Kollegen, die einen unbeaufsichtigten Rechner vorfinden. Zum Vergleich: Der Internet-Explorer bietet kein entsprechendes Feature. Um im Firefox- und Opera-Browser die Kennwörter im Klartext einsehen zu können, ist ein Master-Passwort erforderlich.

Im Test wurde zudem die Passwort-Stärke mit Hilfe des Password Manager Evaluator geprüft. Hier fuhr Chrome das schlechteste aller Browser-Ergebnisse ein. Lediglich vier von 21 absolvierte die Google-Lösung ohne Beanstandungen.

Chrome verfügt über einen sehr begrenzten Umfang an Funktionen und ist nicht besonders komplex. Das hilft, Sicherheit auf Dauer recht einfach zu gewährleisten, doch Google hat dieses Ziel verfehlt. Seit Erscheinen im September 2008 wurden zehn Lücken veröffentlicht (zu beobachten auf Milw0rm.com). Die meisten stellten sich als einfache Denial-of-sService-Exploits heraus, doch zumindest eine Lücke gefährdet das komplette System, bei einer weiteren bestand die Gefahr, dass schadhafte Software eindringt. Die Schwachstellen wurden bereits behoben.

Chrome übesteht Malware-Test

Trotz aller Kritik an Googles Chrome gibt es abschließend noch etwas Versöhnliche. Sämtliche Testroutinen, in deren Verlauf Chrome mit der automatisierten Installation von Malware bombardiert wurde, passierte der Browser ohne Probleme. Die Tests umfassen definierte Abläufe, die verschiedene Sicherheitsaspekte durchleuchten (darunter scanit und Jasons Toolbox). Mit einem Anteil von weniger als zwei Prozent im Browser-Markt ist Chrome allerdings auch kein bevorzugtes Ziel der Hacker. Das bietet den Anwender mehr Schutz als die ungleich beliebteren Konkurrenten Firefox und Internet Explorer.

Eine Schlüsselfunktion des Chrome zeigte im Test jedoch nicht die versprochene Funktion. Google hat wiederholt betont, isolierte Rendering-Prozesse würden dafür sorgen, dass eine fehlerhafte Browser-Sitzung nicht weitere Prozesse oder den gesamten Browser beeinträchtigt. In der Praxis hat sich jedoch gezeigt, dass die beschriebene Trennung der Prozesse lückenhaft ist. Schadhafte Web-Seiten aller Couleur haben DoS-Probleme (Denial of Service), eingefrorene Browser und komplette Systemabstürze verursacht. Vielfach mussten Nutzer nicht einmal gefährliche Seiten ansteuern, um den Browser zum Erliegen zu bringen.

Schwachstellen im Chrome-Code

Abseits der systembedingten Probleme ist Googles sorgloser Umgang mit Schwachstellen bedenklich. Die ersten Lücken stellten sich als einfache und bekannte Exploits heraus. Google brachte eine Beta-Version mit Schwächen in der WebKit-Engine heraus, für die es bereits Monate zuvor einen Patch gab. Obwohl die Version ausdrücklich als Beta-Ausführung herausgebracht wurde, war sie kein Ruhmesblatt für Google: Die Buffer-Overflow-Attacken, die alsbald erkannt wurden, entpuppten sich als einfacher String-Overflow, den man mit einem normalen Code-Testing hätte erkennen können. Viele andere Schwachstellen wurden bereits in anderen Browsern behoben und hätten sich nicht in Googles Entwicklung einschleichen müssen.

Fazit: Gute Ideen, Schwächen in der Implementierung

Chrome beherbergt ein Security-Paradoxon: Der Browser greift eine wunderbare Idee auf, gründet auf einem ausgesprochen bemerkenswerten Sicherheitsmodell und macht all die guten, ersten Eindrücke mit einer fragwürdigen Entscheidung im Umgang mit JavaScript, einem Mangel an genauer Kontrolle und einem ganz offensichtlichen versäumten Code-Reviewing zunichte. Zwar ist Chrome Googles erster Versuch im Browser-Geschäft, doch das Unternehmen sitzt mit seiner Suchmaschine an der zentralen Schaltstelle zum Netz und dürfte einen größeren Erfahrungsschatz im Browser-Betrieb und im Umgang mit schädlichen Inhalten haben als jeder andere Anbieter.

Chromes hervorragendes Security-Model und eine nicht durch Altlasten belastete Softwareentwicklung räumen Google schnelle Verbesserungsmöglichkeiten ein. In Bereichen, in die sich Wettbewerber vorsichtig vortasten, weil sie Rückwartskompatibilität gewährleisten müssen, kann Google schnellen Schrittes vorwärts kommen. Eine Hindernis bleibt: Viele der Schwachstellen sind tief verankert und lassen sich nicht durch einfache Patches beheben. Sie sind systematisch und organisatorisch bedingt. Google benötigt einen Paradigmenwechsel. (jha)

So wurde getestet

  • Neben einem Labortests wurde der Browser einigen Sicherheitstests unterzogen, darunter Scanit und Jason´s Toolbox.

  • Zudem untersuchte Infoworld-Autor Roger Grimes, wie der Browser auf rund 100 Malware-verseuchte Websites reagierte.

  • Die Passwort-Verwaltung der Browser testete "Infoworld"-Autor Roger Grimes mit Hilfe des Password Manager Evaluator.