Sicheres Linux-Desktop-Betriebssystem: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 11: | Line 11: | ||
| BIOS Passwort |
| BIOS Passwort |
||
| |
| |
||
| |
| |
||
| |
| |
||
|- |
|- |
||
| Sicheres Installationsmedium |
| Sicheres Installationsmedium |
||
| |
| |
||
| |
| |
||
| |
| |
||
|- |
|- |
||
| BIOS Passwort |
| BIOS Passwort |
||
| |
| |
||
| |
| |
||
| |
| |
||
|- |
|- |
||
| Readonly-Laufwerk |
| Readonly-Laufwerk |
||
| |
| |
||
| |
| |
||
| |
| |
||
|- |
|- |
||
| UEFI Secure Boot |
| UEFI Secure Boot |
||
| |
| |
||
| |
| |
||
| |
| |
||
|- |
|- |
||
| LUKS |
| LUKS |
||
| |
| |
||
| |
| |
||
| |
| |
||
|- |
|- |
||
| Distribution und Softwarequellen |
| Distribution und Softwarequellen |
||
| |
| |
||
| |
| |
||
| |
| |
||
|- |
|- |
||
| Sichere Authentifizierung |
| Sichere Authentifizierung |
||
| |
| |
||
| |
| |
||
| |
| |
||
|- |
|- |
||
| Verschlüsseltes Backup |
| Verschlüsseltes Backup |
||
| |
| |
||
| |
| |
||
| |
| |
||
|- |
|- |
||
| Sandboxing |
| Sandboxing |
||
| |
| |
||
| |
| |
||
| |
| |
||
|- |
|- |
||
| Versiegelung |
| Versiegelung |
||
| |
| |
||
| |
| |
||
| |
| |
||
|- |
|- |
||
| Sicherheitsstrategie für Plugins |
| Sicherheitsstrategie für Plugins |
||
| |
| |
||
| |
| |
||
| |
| |
||
|} |
|} |
||
Line 114: | Line 78: | ||
** Schreibschutz aktivieren |
** Schreibschutz aktivieren |
||
** Auf unabhängigen Rechnern [http://cdimage.debian.org/debian-cd/current/amd64/iso-cd/ SHA512-Checksumme] herunterladen und gegen USB-Stick prüfen |
** Auf unabhängigen Rechnern [http://cdimage.debian.org/debian-cd/current/amd64/iso-cd/ SHA512-Checksumme] herunterladen und gegen USB-Stick prüfen |
||
** Es muss nur einer der Rechner „die Wahrheit“ sagen damit ein falsches Image auffällt |
|||
== BIOS |
== BIOS == |
||
* Wake on LAN: Auf ersten Blick nicht bedenklich. Aber sicher ist sicher. |
|||
* TPM 2.0 Modul |
|||
** Erlaubt Secure Boot |
|||
** Schlüsselgenerierung und -speicher |
|||
** Verschlüssellung und Signatur |
|||
** Random Noise Generator |
|||
** Von aktuellen Kernels unterstützt und unter /dev/tpm0 eingebunden |
|||
* Intel SGX: Abgesicherter bereich für Sicherheitskritische Ausführung |
|||
* Internal Storage Tamper Detection: Fährt herunter, wenn Drive während Schlafmodus entfernt |
|||
* UEFI only und überflüssige Booteinträge entfernen |
|||
* „Boot Order Lock“-Option ohne verständliche Beschreibung |
|||
=== BIOS Passwort === |
|||
* Supervisor Passwort sperrt Zugriff auf bestimmte BIOS Einstellungen |
|||
** Optional auf alle BIOS-Änderungen und Auswahl von Booteinträgen |
|||
** Booten kann auch durch Passwort geschützt werden |
|||
** Passwort für SSD Hardwareverschlüsselung (siehe [[#verschluessellung|Verschlüsselung]]) |
|||
* Kann vor Manipulation der Einstellungen und der Booteinträge schützen |
|||
* Sicherheitslücken: |
|||
** Viele Hersteller haben [https://www.cocosenor.com/articles/computer/3-ways-to-unlock-bios-password-on-lenovo-thinkpad-laptop.html Masterpasswörter] um das BIOS bei dreifacher Falscheingabe zu entsperren |
|||
** Kurzschluss an Kontakten eines Security Chips auf der Rückseite des Mainboards um Passwort zu umgehen |
|||
** CMOS-Batterie vorübergehend entfernen um BIOS zurückzusetzen |
|||
** Ggf. trotzdem nützlich, um zu bemerken wenn Passwort zurückgesetzt wurde? -> Email an Lenovo-Support gesendet |
|||
== Readonly-Laufwerk == |
== Readonly-Laufwerk == |
||
Line 121: | Line 111: | ||
== UEFI Secure Boot == |
== UEFI Secure Boot == |
||
* [https://www.howtogeek.com/116569/htg-explains-how-windows-8s-secure-boot-feature-works-what-it-means-for-linux/ Kleiner Bootloader names „shim“ ist von Microsoft signiert] |
|||
* Wie sieht es mit Kernelmodulen aus? Sind sie auch signiert? |
|||
** |
** Überprüft ob Kernel und Module signiert und startet Kernel dann |
||
** [https://ubuntu.com/blog/how-to-sign-things-for-secure-boot Kernelmodule sind auch signiert und eigene Public-Keys können in shim enrolled werden] |
|||
** Welche garantien habe ich noch, wenn shim eigene Schlüssel zulässt? |
|||
== Verschlüssellung <a name="verschluessellung"></a> == |
|||
⚫ | |||
=== Hardwareverschlüssellung der SSD === |
|||
* Viele moderne [https://jbeekman.nl/blog/2015/03/lenovo-thinkpad-hdd-password/ SSDs verschlüsseln die gespeicherten Daten] mit AES-256 |
|||
* Schlüssel in SSD persistiert, kann aber vom BIOS mit Passwort verschlüsselt werden |
|||
** Verschlüssellungsverfahren ist BIOS-Hersteller-abhängig |
|||
** Kann nicht ohne weiteres an anderem Rechner verwendet werden |
|||
** Verfahren ist bekannt und bietet keine besondere Sicherheit |
|||
* [https://threatpost.com/academics-find-critical-flaws-in-self-encrypting-hardware-drives/115103/ Sicherheitsbedenken] wegen Backdoors, gesetztlicher Vorgaben, achtloser Implementierung |
|||
* Zumindest für billiges Wipen der SSD vor Installation nutzbar |
|||
⚫ | |||
== Distribution und Softwarequellen == |
== Distribution und Softwarequellen == |
||
* Signierte Binaries aus Repos |
* Signierte Binaries aus Repos? Sicherheitsanforderungen? |
||
* Snap? pip? rpm? |
|||
* Reproducible builds |
|||
== Sichere Authentifizierung == |
== Sichere Authentifizierung == |
||
Line 149: | Line 153: | ||
== Versiegelung == |
== Versiegelung == |
||
== Weitere Ideen == |
|||
⚫ | |||
⚫ | |||
* Git-Repository mit Konfigurationsdateien (~/.bashrc, ~/.profile, .tmux.conf, …) |
|||
** Schnelles und sichereres Einrichten neuer Linux-Accounts |
|||
== Weitere Themen == |
== Weitere Themen == |
Revision as of 17:13, 4 October 2019
Es soll untersucht werden, welche Technologien bei der Einrichtung eines möglichst sicheren und trotzdem bequem Nutzbaren Linux-Desktop-Betriebssystem von Nutzen sein können. Es soll außerdem evaluiert werden, welchen genauen Nutzen, welche Nachteile und welche Schwachstellen die Technologien haben und gegen welche Angreifermodelle sie letztendlich schützen.
Übersicht
Technologie | Nutzen | Kosten | Angriff |
---|---|---|---|
BIOS Passwort | |||
Sicheres Installationsmedium | |||
BIOS Passwort | |||
Readonly-Laufwerk | |||
UEFI Secure Boot | |||
LUKS | |||
Distribution und Softwarequellen | |||
Sichere Authentifizierung | |||
Verschlüsseltes Backup | |||
Sandboxing | |||
Versiegelung | |||
Sicherheitsstrategie für Plugins |
Sicheres Installationsmedium
- Vertrauen in alle beteiligte Hardware nötig
- Vertrauen in Betriebssystem nötig, das Installationsimage lädt bzw. prüft
- Absicherungsidee
- Installationsimage auf USB-Stick mit Schreibschutz-Switch laden
- Schreibschutz aktivieren
- Auf unabhängigen Rechnern SHA512-Checksumme herunterladen und gegen USB-Stick prüfen
- Es muss nur einer der Rechner „die Wahrheit“ sagen damit ein falsches Image auffällt
BIOS
- Wake on LAN: Auf ersten Blick nicht bedenklich. Aber sicher ist sicher.
- TPM 2.0 Modul
- Erlaubt Secure Boot
- Schlüsselgenerierung und -speicher
- Verschlüssellung und Signatur
- Random Noise Generator
- Von aktuellen Kernels unterstützt und unter /dev/tpm0 eingebunden
- Intel SGX: Abgesicherter bereich für Sicherheitskritische Ausführung
- Internal Storage Tamper Detection: Fährt herunter, wenn Drive während Schlafmodus entfernt
- UEFI only und überflüssige Booteinträge entfernen
- „Boot Order Lock“-Option ohne verständliche Beschreibung
BIOS Passwort
- Supervisor Passwort sperrt Zugriff auf bestimmte BIOS Einstellungen
- Optional auf alle BIOS-Änderungen und Auswahl von Booteinträgen
- Booten kann auch durch Passwort geschützt werden
- Passwort für SSD Hardwareverschlüsselung (siehe Verschlüsselung)
- Kann vor Manipulation der Einstellungen und der Booteinträge schützen
- Sicherheitslücken:
- Viele Hersteller haben Masterpasswörter um das BIOS bei dreifacher Falscheingabe zu entsperren
- Kurzschluss an Kontakten eines Security Chips auf der Rückseite des Mainboards um Passwort zu umgehen
- CMOS-Batterie vorübergehend entfernen um BIOS zurückzusetzen
- Ggf. trotzdem nützlich, um zu bemerken wenn Passwort zurückgesetzt wurde? -> Email an Lenovo-Support gesendet
Readonly-Laufwerk
UEFI Secure Boot
- Kleiner Bootloader names „shim“ ist von Microsoft signiert
- Überprüft ob Kernel und Module signiert und startet Kernel dann
- Kernelmodule sind auch signiert und eigene Public-Keys können in shim enrolled werden
- Welche garantien habe ich noch, wenn shim eigene Schlüssel zulässt?
Verschlüssellung <a name="verschluessellung"></a>
Hardwareverschlüssellung der SSD
- Viele moderne SSDs verschlüsseln die gespeicherten Daten mit AES-256
- Schlüssel in SSD persistiert, kann aber vom BIOS mit Passwort verschlüsselt werden
- Verschlüssellungsverfahren ist BIOS-Hersteller-abhängig
- Kann nicht ohne weiteres an anderem Rechner verwendet werden
- Verfahren ist bekannt und bietet keine besondere Sicherheit
- Sicherheitsbedenken wegen Backdoors, gesetztlicher Vorgaben, achtloser Implementierung
- Zumindest für billiges Wipen der SSD vor Installation nutzbar
LUKS
Distribution und Softwarequellen
- Signierte Binaries aus Repos? Sicherheitsanforderungen?
- Snap? pip? rpm?
Sichere Authentifizierung
Verschlüsseltes Backup
- “Stehendes” Backup von externem Bootmedium
- Inkrementelles Backup
- Inkrementelles Backup auf Blockbasis
- Komprimiertes Backup durch Backup der Partitionsstruktur
- Netzwerkbackup mit geringer Bandbreite
Sandboxing
- AppArmor
- Firejail
- Checkpoints (ggf. git repository)
Versiegelung
Weitere Ideen
- Sicherheitsstrategie für VIM-Plugins
- Git-Repository mit Konfigurationsdateien (~/.bashrc, ~/.profile, .tmux.conf, …)
- Schnelles und sichereres Einrichten neuer Linux-Accounts
Weitere Themen
- Welche Maßnahmen sind auf Dual-Boot-Systeme übertragbar?
- Lassen sich BIOS oder Netzwerkkarte von außen steuern/flashen?
- Intel-Fernadministrierung/V-Pro?
- RAM-Verschlüsselung auf neuen AMD Ryzen Pro
- Hardwareverschlüsselung vs Softwareverschlüsselung (siehe BitLocker)
- Inwiefern sind die Technologien von der Hardware/dem BIOS abhängig?