Doppelte Sicherheit für Flash unter Linux
Chrome 20 führte für Linux-User ein neues Schutzkonzept ein. Über das sogenannte Seccomp-Konzept lassen sich die Systemaufrufe eines Prozesses weitgehend einschränken und filtern.
Die Chrome-Version 20 bringt die Sicherheit des Google-Browsers einen deutlichen Schritt voran – zumindest für die in dieser Hinsicht eher stiefmütterlich behandelten Linux-User. Sie führt ein neues Sandbox-Konzept ein, das sehr genau reguliert und filtert, welche Systemaufrufe ein Prozess tätigen kann.
In Bezug auf Sicherheit war die Linux-Version bislang ein wenig das Stiefkind der Google-Chrome-Familie, das nicht in den Genuss der fortschrittlichen Sicherheitskonzepte des Browsers kam. Etwa das Einsperren von gefährlichen Plug-ins wie Flash in eine sichere Sandbox war im Wesentlichen den Windows-Versionen vorbehalten. Bereits im Februar führte Google für 64-Bit-Linux immerhin das sogenannte Pepper Flash ein, das den Plug-in-Prozess in eine chroot-Umgebung einsperrt und die Kommunikation mit anderen Prozessen unterbindet. Mit der kürzlich veröffentlichten Version 20 kommt nun die Seccomp-Sandbox hinzu.
Seccomp – kurz für Secure Computing – ist eine Sicherheitserweiterung des Linux-Kernels, bei der ein Thread nur noch bestimmte System-Aufrufe tätigen kann. Ursprünglich war das so vorgesehen, dass er im wesentlichen nur noch über bereits zuvor geöffnete Datei-Handles Lesen und Schreiben (read()
, write()
) und sich ordentlich Beenden (exit()
, sigreturn()
) durfte. Versucht ein so eingesperrter Thread eine andere Systemfunktion zu nutzen, beendet ihn der Kernel direkt. Um dieses Konzept breiter einsetzen zu können, fügten die Entwickler eine Möglichkeit hinzu, Systemaufrufe an einen speziellen Broker zu senden, der sie dann mit einer Liste erlaubter Funktionen vergleicht und auch die Parameter überprüft, bevor er sie an das System weiter reicht.
In eine solche Seccomp-Sandbox ist laut Google-Entwickler Chris Evans zumindest beim aktuellen Ubuntu 12.04 das native 64-Bit-Flash-Plug-in von Chrome 20 eingesperrt. Sie ergänzt somit die Pepper-Flash-Sandbox, was Evans lax als "Double Bagging" bezeichnet. Da die Windows-Sandbox im wesentlichen nur auf die mit Vista eingeführten Integrity Level setzt und somit unter anderem beliebige Lesezugriffe gestattet, dürfte die doppelte Linux-Sandbox derzeit sogar die sicherste Methode sein, Flash-Inhalte im Browser auszuführen – zumindest wenn man externe Wrapper wie Blitzableiter außen vor lässt.
Update 6.7.2012, 15:00: Martin Grothe von der Ruhr-Universität Bochum weist darauf hin, dass auch die Chrome Sandbox unter Windows neben den Integrity Level weitere Sicherheitsmechanismen einsetzt. So nutzt sie stark eingeschränkte User Access Token und Job Objects sowie einen eigenen Desktop. Sie dürfte damit durchaus ein ähnliches Sicherheitsniveau erreichen, wie die Linux-Sandbox. (ju)