Details zu den internen Abläufen

Dies ist ein komplexer Prozess, den wir neuen Linux-Nutzern nicht empfehlen.

ChromeOS unterstützt die Ausführung von beliebigem Code in VMs. Dies ist die Low-Level-Dokumentation zu dieser Unterstützung. Eine nutzerfreundlichere Ansicht finden Sie in den faq.

Vorbereitung

Laufzeitfunktionen

Die folgenden Funktionen sollten beim Ausführen Ihres Linux-Containers funktionieren:

Fehlende Funktionen

Das ChromeOS-Team geht bei der Einführung neuer Funktionen vorsichtig vor, um sicherzustellen, dass die allgemeine Systemsicherheit nicht beeinträchtigt wird. Weitere Informationen zu den meisten Themen rund um die Linux-Entwicklung unter ChromeOS finden Sie in den Crostini-FAQs.

Sicherheit

Die Ausführung von beliebigem Code stellt normalerweise ein Sicherheitsrisiko dar. Das ChromeOS-Team ist jedoch der Ansicht, dass das Laufzeitmodell, das vom Linux-Container unter ChromeOS verwendet wird, dieses Sicherheitsrisiko ausreichend mindert und eindämmt. Die virtuelle Maschine (VM) ist die Sicherheitsgrenze und alles darin wird als nicht vertrauenswürdig betrachtet. Im aktuellen VM-Gast-Image wird auch ein benutzerdefinierter, gehärteter Kernel ausgeführt, um die Sicherheit der Container weiter zu verbessern. Dies wird jedoch eher als nützliche Funktion betrachtet und nicht als etwas, auf das sich verlassen wird, um die allgemeine Systemsicherheit zu gewährleisten.

In diesem Modell sollte der Rest des ChromeOS-Systems vor beliebigem Code (böswillig oder versehentlich) geschützt bleiben, der in den Containern innerhalb der VM ausgeführt wird.

Der einzige Kontakt zur Außenwelt erfolgt über crosvm und jeder Kanal kommuniziert mit einzelnen Prozessen (die alle stark in einer Sandbox ausgeführt werden).

Nutzerdaten im Container

Mit der Umstellung auf Cloud-Dienste wird in der aktuellen Sicherheitsdiskussion hervorgehoben, dass das Abrufen von Anmeldedaten (z.B. Ihre Google-/Facebook-Passwörter) ein lukrativerer Angriffsvektor ist als ein Angriff auf Ihren Desktop oder Laptop. Das ist nicht falsch. Die aktuelle ChromeOS-Lösung für VMs/Container verbessert dies derzeit nicht. Einfach ausgedrückt: Alles, was in den Container eingegeben wird, liegt derzeit in der Verantwortung des Nutzers. Wenn Sie also einen unsicheren oder kompromittierten Container ausführen und dann Ihre Passwörter in den Container eingeben, können diese gestohlen werden, auch wenn der Rest des ChromeOS-Systems sicher bleibt.

Prozesspersistenz

Prozesse in VMs und Containern überdauern die Abmeldung nicht (da sie im verschlüsselten Speicher des Nutzers gespeichert sind) und werden automatisch beendet. Sie werden auch nicht automatisch bei der Anmeldung gestartet (um dauerhafte Angriffe zu vermeiden) und können auch nicht automatisch beim Start ausgeführt werden (ohne Anmeldesitzung), da sie nicht zugänglich wären (da sie im verschlüsselten Speicher des Nutzers gespeichert sind).

Ausführbarer und beschreibbarer Code

Das Termina-VM-Festplatten-Image wird wie andere Chrome-Komponenten in die beschreibbare zustandsbehaftete Partition heruntergeladen. Um sicherzustellen, dass die Inhalte nicht geändert werden, wird dm-verity verwendet. Das bedeutet auch, dass nur von Google signierte Images geladen werden können und das Image immer schreibgeschützt ist.

Hardwareangriffe

Die Meltdown-/Spectre-Sicherheitslücken haben Auswirkungen auf die sichere Verwendung von VMs. Wir haben Korrekturen und Gegenmaßnahmen angewendet, um sicherzustellen, dass VMs das Hostsystem oder andere VMs nicht angreifen können. Weitere Informationen finden Sie auf der Chromium OS-Wiki-Seite zum Status der Meltdown- und Spectre-Sicherheitslücken für ChromeOS-Geräte.

Lebenszyklen

Sobald Sie den Linux-Container aktiviert haben (der alle anderen erforderlichen Komponenten wie Termina installiert), ist das System einsatzbereit.

Obwohl diese Komponenten installiert sind, wird nichts sofort ausgeführt. Wenn Sie sich abmelden, wird alles heruntergefahren und beendet. Wenn Sie sich anmelden, wird nichts automatisch neu gestartet.

Wenn Sie die Terminal-App oder eine andere Linux-App ausführen, die den Container startet, und der übergeordnete Container noch nicht ausgeführt wird, wird die Termina-VM automatisch gestartet und der Standard-Linux-Container unter ChromeOS (auch als Crostini bekannt) wird darin gestartet. So können Sie über SSH oder SFTP (über die Dateien-App) eine Verbindung zum Container herstellen.

Wenn Sie alle sichtbaren Anwendungen schließen, werden die VMs/Container nicht heruntergefahren. Sie können sie manuell beenden und starten sowie mehr Container als nur den Standardcontainer erstellen.

Datenpersistenz

Alle erstellten VMs und Container sowie die Daten in diesen Containern bleiben über Nutzersitzungen hinweg (Abmeldung/Anmeldung) erhalten. Sie werden im selben verschlüsselten Speicher pro Nutzer wie die übrigen Browserdaten gespeichert.

Wenn eine VM oder ein Container nicht ordnungsgemäß beendet oder beendet wird (z.B. bei einem Stromausfall), können Daten verloren gehen und müssen wie alles andere im System wiederhergestellt werden.

Geräteunterstützung

Linux unter ChromeOS soll zwar auf allen Chromebooks funktionieren, die erforderlichen Kernel- und Hardwarefunktionen schränken jedoch ein, wo es bereitgestellt werden kann. Das Team hat sich auf die Systemsicherheit und ‑stabilität konzentriert und Funktionen zurückportiert, wo es sinnvoll ist. Dies ist ein Bereich, in dem kontinuierlich gearbeitet wird.

Derzeit unterstützt

Eine Liste der derzeit unterstützten Geräte finden Sie unter ChromeOS-Systeme, die Linux unterstützen.

Hardwareanforderungen

Derzeit gibt es keine Mindestanforderungen an RAM, Speicher oder CPU-Geschwindigkeit für die Ausführung des Linux-Containers unter ChromeOS. Je mehr Sie von jedem haben, desto besser ist die Systemleistung.

Sie benötigen jedoch eine CPU, die Hardwarevirtualisierung unterstützt. Auf x86-Plattformen hat dies viele Namen. Intel bezeichnet es als VT-x und VMX. AMD bezeichnet es als AMD-V & SVM.

BayTrail-Systeme

Chromebooks mit Intel BayTrail enthalten kein VT-x. Diese CPU enthält normalerweise VMX, die Variante in Chromebooks jedoch nicht. Daher wird sie leider nie unterstützt.

Sie können prüfen, ob ein Board unterstützt wird, indem Sie in unserer öffentlichen Geräteliste nach BayTrail in der Spalte Platform suchen.

Alte Kernel

Es ist nicht geplant, Linux 3.14 oder älter zu unterstützen. Dafür sind Backports neuer Funktionen erforderlich, die umfangreich und oft invasiv sind. Beispiel:

Sie können prüfen, ob ein Board unterstützt wird, indem Sie in unserer öffentlichen Geräteliste in der Kernel Spalte nach Versionsnummern suchen, die kleiner als 3.14 sind.

32-Bit-ARM-CPUs

Es ist schwierig und nicht standardmäßig, virtuelle Maschinen unter 32-Bit-ARM-CPUs zum Laufen zu bringen. Außerdem ist eine Abstimmung mit der Firmware erforderlich. Leider wurden die Erweiterungen in der ChromeOS-Firmware in der Regel nicht konfiguriert. Daher werden diese Systeme nicht unterstützt.

Sie können prüfen, ob ein Board unterstützt wird, indem Sie in unserer öffentlichen Geräteliste in der Spalte Kernel ABI nach arm suchen.