LFD441 Security and the Linux Kernel
Ziele
In dieser 4-tägigen Schulung "Security and the Linux Kernel (LFD441)" liegt der Fokus auf den Grundlagen der Sicherheit des Linux-Kernels, einschließlich Speicher-, Prozess- und Dateisystemsicherheit sowie Systemaufrufen. Sie lernen verschiedene Sicherheitsmechanismen im Linux-Kernel kennen, wie z.B. Mandatory Access Control (MAC), Linux Security Modules (LSM) und Secure Boot. Im Laufe des Kurses werden Sie praktische Erfahrungen in der Sicherung sowohl des Userspace als auch des Linux-Kernels durch verschiedene Sicherheitsmechanismen sammeln.
Zielgruppe
- Systems Programmers
- Userspace Developers
- Kernel Engineers
Voraussetzungen
Für eine optimale Teilnahme am Kurs empfehlen wir folgende Vorkenntnisse:
- Beherrschen Sie die Programmiersprache C
- Seien Sie mit grundlegenden Linux (UNIX) Dienstprogrammen wie ls, grep und tar vertraut.
- Seien Sie mit der Verwendung eines der verfügbaren Texteditoren (z.B. emacs, vi, etc.) vertraut.
- Erfahrung mit einer großen Linux-Distribution ist hilfreich, aber nicht zwingend erforderlich.
- Haben Sie Erfahrungen, die der Teilnahme an LFD420: Linux Kernel Internals and Development entsprechen.
Lernmethodik
Die Schulung bietet Ihnen eine ausgewogene Mischung aus Theorie und Praxis in einer erstklassigen Lernumgebung. Profitieren Sie vom direkten Austausch mit unseren projekterfahrenen Trainern und anderen Teilnehmern, um Ihren Lernerfolg zu maximieren.
Agenda
Angriffsflächen reduzieren
- Warum Sicherheit?
- Arten der Sicherheit
- Schwachstellen
- Schutzschichten
- Software-Exploits
Kernel-Funktionen
- Komponenten des Kernels
- Benutzerbereich vs. Kernelbereich
- Was sind Systemaufrufe?
- Verfügbare Systemaufrufe
- Scheduling-Algorithmen und Aufgabenstrukturen
- Prozesskontext
Veraltete Schnittstellen im Kernel
- Warum veraltet
- __deprecated
- BUG() und BUG_ON()
- Berechnete Größen für kmalloc()
- Die simple_strtol()-Routine-Familie
- strcpy(), strncpy(), strlcpy()
- printk() %p-Formatbezeichner
- Variable Length Arrays
- Switch Case Fall-Through
- Null- und Ein-Element-Arrays in Strukturen
Address Space Layout Randomization (ASLR)
- Warum ASLR?
- Wie man ASLR verwendet
- ASLR für spezifische Programme deaktivieren
- Kernel-Konfiguration
- Kernel Address Space Layout Randomization (KASLR)
- Wie KASLR funktioniert
- KASLR aktivieren
Kernel-Strukturlayout-Randomisierung
- Vorteile
- Wie Strukturrandomisierung funktioniert
- Strukturanfang
- Opt-in vs. Opt-out
- Partielle Randomisierung
- Strukturrandomisierung aktivieren
- Out-of-tree-Module mit Strukturrandomisierung bauen
Einführung in die Sicherheit des Linux-Kernels
- Grundlagen der Linux-Kernel-Sicherheit
- Discretionary Access Control (DAC)
- POSIX-ACLs
- POSIX-Fähigkeiten
- Namespaces
- Linux Security Modules (LSM)
- Netfilter
- Kryptographische Methoden
- Das Kernel Self Protection Project
CGroups
- Einführung in CGroups
- Überblick
- Komponenten von CGroups
- cgroup-Initialisierung
- cgroup-Aktivierung
- cgroups-Parameter
- cgroups testen
- systemd und cgroups
eBPF
- BPF
- eBPF
- Installation
- bcc-Tools
- bpftrace
Seccomp
- Was ist seccomp?
- Die seccomp-Schnittstelle
- seccomp-Strikter Modus
- seccomp-Filtermodus
Secure Boot
- Warum Secure Boot?
- Secure Boot x86
- Secure Boot für eingebettete Systeme
Modul-Signierung
- Was ist Modul-Signierung?
- Grundlagen der Signaturen
- Modul-Signierschlüssel
- Modul-Signaturüberprüfung aktivieren
- Wie es funktioniert
- Module signieren
Integrity Measurement Architecture (IMA)
- Warum IMA?
- Konzeptionelle Operationen
- Betriebsmodi
- Collect Mode (Sammeln und Speichern)
- Logging Mode (Bewerten und Auditieren)
- Enforcing Mode (Bewerten und Schützen)
- Extended Verification Module (EVM)
DM-Verity
- Was ist dm-verity?
- Wie dm-verity funktioniert
- dm-verity aktivieren
- Einrichten von dm-verity
- Verwendung von dm-verity
- Signieren mit dm-verity
- Booten mit dm-verity
Verschlüsselte Speicherung
- Warum verschlüsselte Speicherung?
- Datenverschlüsselungslösungen
- Übersicht der Speicher-Verschlüsselungsoptionen
- Blockverschlüsselung
- Verwendung der Blockverschlüsselung
- Dateisystemverschlüsselung
- Verwendung der Dateisystemverschlüsselung
- Geschichtete Dateisystemverschlüsselung
- Verwendung der geschichteten Dateisystemverschlüsselung
Linux Security Modules (LSM)
- Was sind Linux Security Modules?
- Grundlagen der LSM
- LSM-Auswahl
- Wie LSM funktioniert
- Ein LSM-Beispiel: Yama
SELinux
- SELinux
- SELinux-Übersicht
- SELinux-Modi
- SELinux-Richtlinien
- Kontext-Dienstprogramme
- SELinux und Standard-Kommandozeilen-Tools
- SELinux-Kontext-Vererbung und -Bewahrung
- restorecon
- semanage fcontext
- Verwendung von SELinux-Booleans
- getsebool und setsebool
- Fehlerbehebungswerkzeuge
AppArmor
- Was ist AppArmor?
- Status überprüfen
- Modi und Profile
- Profile
- Dienstprogramme
Yama (LSM)
- Warum Yama?
- Yama konfigurieren
- Wie Yama funktioniert
LoadPin (LSM)
- Warum LoadPin?
- LoadPin aktivieren
- Verwendung von LoadPin
- Wie LoadPin funktioniert
Lockdown
- Warum Lockdown?
- Lockdown-Modi
- Was wird gesperrt?
- Wie es funktioniert
- Einige Hinweise
Safesetid
- Warum Safesetid?
- Safesetid konfigurieren
- Wie Safesetid funktioniert
Netfilter
- Was ist Netfilter?
- Netfilter-Hooks
- Netfilter-Implementierung
- In Netfilter einhaken
- Iptables
- nftables
Netlink-Sockets
- Was sind Netlink-Sockets?
- Öffnen eines Netlink-Sockets
- Netlink-Nachrichten
Open Badge - Ihr digitaler Kompetenznachweis
Durch die erfolgreiche Teilnahme an einem Kurs bei IT-Schulungen.com erlangen Sie nicht nur Fachkenntnisse und Fähigkeiten, sondern bekommen zusätzlich zu Ihrem Teilnahmezertifikat ein Open Badge als digitalen Nachweis Ihrer Kompetenz.
Sie können diesen in Ihrem persönlichen und kostenfreien Mein IT-Schulungen.com Konto abrufen. Ihre verdienten Badges lassen sich problemlos in sozialen Netzwerken integrieren und weitergeben.
Kurz vor Durchführung
Termin | Standort | Aktion |
---|---|---|
20.08. - 23.08.2024 | Hamburg | |
09.09. - 12.09.2024 | München | |
07.10. - 10.10.2024 | Köln | |
25.11. - 28.11.2024 | Nürnberg |