Was abgesichert ist – und was nicht
Ein eigenes Betriebssystem zu bauen heißt auch, für seine Sicherheit geradezustehen. Auf dieser Seite steht beides: die zehn Punkte, die wir abgestellt haben, und die drei, die noch offen sind. Die meisten Anbieter zeigen nur die erste Hälfte.
Was wir abgestellt haben
Die Kette, um die es ging: Eine fremde Webseite im eingebauten Browser hätte über die Programm-Brücke Systembefehle auslösen können. Diese Kette ist an jedem Glied unterbrochen.
In der Oberfläche
Der eingebaute Browser kann fremde Seiten anzeigen. Die haben jetzt keinerlei Zugriff mehr auf Dateien, Zwischenablage oder Systembefehle – nur noch die eigenen Aerona-Seiten dürfen das.
IPC-Zero-Trust in preload.js
Beim Beenden von Programmen oder Sperren von Adressen wird nichts mehr an eine Kommandozeile weitergereicht. Jede Eingabe wird vorher geprüft.
execFile statt Shell in main-ipc-network.js
Öffnet eine Seite ein Pop-up, bekommt dieses Fenster keine erweiterten Rechte mehr. Und das Hauptfenster kann nicht mehr von der eigenen App weg navigieren.
setWindowOpenHandler und will-navigate in main.js
Vorher konnte man theoretisch Code statt einer Rechnung eingeben. Jetzt wird jede Eingabe gegen eine feste Liste erlaubter Zeichen geprüft.
eval abgesichert in den Desktop-Erweiterungen
Suchverlauf, Adressen aus dem Netz und Suchanfragen werden entschärft, bevor sie angezeigt werden.
aetherEscapeHtml in security-escape.js
Im Linux-Unterbau
Kein anderer Benutzer auf dem Rechner kann den X-Server mitbenutzen.
allowed_users=console
Die Firewall lehnt eingehende Verbindungen grundsätzlich ab, statt sie grundsätzlich zu erlauben.
nftables mit Default-Deny
Im Live-System ist root gesperrt. Wer AetherOS installiert, vergibt ein echtes Passwort.
passwd -l
Nach der Installation werden die Installer-Skripte und ihre Sonderrechte gelöscht. Auf einem Firmen-PC gibt es damit keinen Weg, über den Installer an Administratorrechte zu kommen.
NOPASSWD-Eintrag entfernt, mit visudo -c geprüft
Das Ziel-Laufwerk wird streng geprüft. Das Boot- oder USB-Medium wird auch im automatischen Modus niemals überschrieben.
Regex- und Blockgerät-Prüfung, Hostname RFC-validiert
Was noch offen ist
Diese drei Punkte sind bekannt und nicht behoben. Wir schreiben sie hin, weil eine Sicherheitsseite ohne die offenen Punkte nichts wert ist.
Damit der eingebaute Browser Google, Bing oder Wikipedia in einem Rahmen anzeigen kann, ist eine Schutzregel des Browsers abgeschaltet. Seit fremde Seiten keinerlei Systemzugriff mehr haben, ist das kein Weg mehr zu höheren Rechten – aber sauber ist es nicht.
webSecurity: false in main.js
Die zusätzliche Abschottung des Browsers ist im Startskript deaktiviert. Die nötige Berechtigung wird beim Bauen bereits gesetzt – das Einschalten muss aber einmal auf echter Hardware getestet werden, sonst startet das System im Zweifel gar nicht.
--no-sandbox in xinitrc
Wer physisch am Rechner sitzt, kann beim Start die Boot-Einstellungen ändern. Ein Passwort dafür gehört pro Auslieferung vergeben und nicht in den Quellcode.
GRUB-Superuser-Passwort