Sicheres Linux-Desktop-Betriebssystem: Difference between revisions

From
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 Passwort ==
== 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?
** Kann ich eigene Module kompilieren und signieren?
** Ü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> ==
== LUKS ==

=== 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

=== LUKS ===


== 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 ==
== Sicherheitsstrategie für Plugins ==

* Sicherheitsstrategie für VIM-Plugins
* 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

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?