LFD441 Security and the Linux Kernel

Die Sicherheitsmodelle des Linuxkernel und dessen Mechanismen zur Sicherung des Betriebssystems verstehen

Der Kurs behandelt die Grundlagen der Sicherheit des Linux-Kernels, einschließlich Speicherschutz, Prozessmanagement, Systemaufrufe und Sicherheit des Dateisystems. Die Teilnehmer lernen verschiedene Sicherheitsmechanismen im Linux-Kernel kennen, wie z.B. Mandatory Access Control (MAC), Linux Security Modules (LSM) und secureboot. Im Laufe des Kurses werden die Teilnehmer praktische Erfahrungen mit der Absicherung des Userspace und des Linux-Kernels durch verschiedene Sicherheitsmechanismen sammeln. Dieser Kurs bereitet die Teilnehmenden darauf vor, ein System mit Hilfe der verschiedenen Mechanismen und Systeme zu sichern, die als Teil des Linux-Kernels und -Betriebssystems verfügbar sind. Diese Fähigkeiten können zur Sicherung von eingebetteten Systemen, mobilen Computern, Desktop-Systemen, Servern oder virtuellen Maschinen eingesetzt werden.

Voraussetzungen

Dieser Kurs richtet sich an Programmierende auf Systemebene oder Kernel-Ingenieure:innen, die mehr über die Sicherheitsoptionen des Linux-Kernels erfahren möchten, sowie an Userspace-Entwickler:innen, die mehr über die Sicherheitsmaßnahmen des Linux-Kernels erfahren möchten. Die Teilnehmenden sollten wissen, wie man einen Linux-Kernel erstellt, Linux-Kernel-Module schreibt und verwendet, sowie über grundlegende Linux-Kommandozeilen- und Systemadministrationskenntnisse verfügen.

Inhalt

  • Einführung
  • Vorbemerkungen
  • Wie man in OSS-Projekten arbeitet **
  • Kernel-Merkmale
  • Reduzierung von Angriffsflächen
  • Veraltete Kernel-Schnittstellen
  • Randomisierung des Kernel-Struktur-Layouts
  • Einführung in die Sicherheit des Linux-Kernels
  • Sichere Boot-VM-Einrichtung
  • Sicheres Booten
  • Modul-Signierung
  • Integritätsmessungsarchitektur (IMA)
  • Linux-Sicherheitsmodule (LSM)
  • SELinux
  • AppArmor
  • Sperre
  • Netfilter
  • Netlink Steckdosen**
  • Überwachung und Fehlersuche
  • Printk
  • Das proc-Dateisystem **
  • Ftrace
  • Perf
  • eBPF
  • Absturz
  • kexec
  • Kernel-Kern-Dumps
  • QEMU
  • Linux-Kernel-Debugging-Werkzeuge
  • Abschluss- und Bewertungsübersicht
  • Kernel-Architektur I
  • Kernel-Programmierung Vorschau
  • Module
  • Kernel-Architektur II
  • Kernel-Konfiguration und Kompilierung
  • Kernel-Stil und allgemeine Überlegungen
  • Wettlaufbedingungen und Synchronisationsmethoden
  • Speicher-Adressierung
  • Speicherzuweisung
**Diese Abschnitte können ganz oder teilweise als optional betrachtet werden. Sie enthalten entweder Hintergrundreferenzmaterial, spezialisierte Themen oder fortgeschrittene Themen. Der/Die Trainer:in entscheidet, je nach Unterrichtserfahrung und zeitlichen Einschränkungen, ob die Themen behandelt werden oder nicht.

Kurszeiten

Wer möchte, reist bis 22 Uhr am Vortag an und nutzt den Abend bereits zum Fachsimpeln am Kamin oder im Park.

An den Kurstagen dann von 9-18 Uhr (mit 2 Kaffee- und 1 Mittagspause) etwa 60% Schulungen und 40% Übungen. Selbstverständlich arbeitet jeder Teilnehmer am von uns gestellten Notebook oft parallel zum Referenten mit.

Anschließend Abendessen und Angebote für Fachsimpeln, Ausflüge uvm. Wir schaffen eine Atmosphäre, in der Fachleute sich ungezwungen austauschen. Wer das nicht will, wird zu nichts gezwungen und findet auch jederzeit Ruhe.