Seminar / Training
Die Schulung betrachtet TF-A als hochprivilegierte Vertrauenskomponente und leitet daraus ein systematisches Hardening ab. Angriffspfade vom Bootmedium über Konfiguration, Parser, Laufzeitdienste, Debugschnittstellen und Updates werden modelliert. Anschließend werden konkrete Schutzmaßnahmen, Compilerhärtung, Speicherisolation, Schlüsselmanagement, sichere Fehlerpfade und Verifikationsmethoden umgesetzt.
Inhaltsübersicht
- Schutzbedarf und Systemgrenzen
- Angriffsflächen inventarisieren
- Sichere Buildkonfiguration
- Speicher- und Kontrollflusshärtung
- Eingabevalidierung und SMC-Schnittstellen
- Schlüssel und Geheimnisse
- Debug, Recovery und Fertigung
- Statische und dynamische Verifikation
- Sicherheitsabnahme
Lernziele
- Assets, Angreifer, Vertrauensgrenzen und Missbrauchsfälle einer TF-A-Plattform modellieren.
- Angriffsflächen in Boot-, Parser-, Runtime-, Debug- und Updatepfaden priorisieren.
- Build-, Speicher-, Schnittstellen- und Konfigurationshärtung praktisch anwenden.
- Geheimnisse, Schlüssel und sensitive Logs über ihren gesamten Lebenszyklus schützen.
- Hardening mit statischer Analyse, Fuzzing, Negativtests und Freigabekriterien nachweisen.
Seminarinhalte
1. Schutzbedarf und Systemgrenzen
- Schritt 1: Firmware-Images, Schlüssel, Konfiguration, Runtime-Zustand und Plattformidentität werden als Assets erfasst.
- Schritt 2: Physische, lokale und entfernte Angreifer werden mit realistischen Fähigkeiten beschrieben.
- Schritt 3: Vertrauensgrenzen zwischen Bootmedium, EL3, Secure World, Normal World und Managementkomponenten werden markiert.
Praxis: Ein Bedrohungsmodell für eine konkrete Boot- und Laufzeitarchitektur wird erstellt.
2. Angriffsflächen inventarisieren
- Schritt 1: Image-Loader, FIP, Device Tree, FCONF, SMC-Handler und Updatepfade werden einzeln untersucht.
- Schritt 2: Parser- und Längenfelder werden auf Überlauf, Unterlauf und inkonsistente Zustände geprüft.
- Schritt 3: Debug-, Recovery- und Fertigungsschnittstellen werden nach Produktlebenszyklus bewertet.
Praxis: Eine priorisierte Angriffsflächenliste mit Eigentümer und Gegenmaßnahme wird aufgebaut.
3. Sichere Buildkonfiguration
- Schritt 1: Debug- und Releaseoptionen werden strikt getrennt und in der Buildmatrix kontrolliert.
- Schritt 2: Compiler- und Linkerhärtung wird auf Kompatibilität, Abdeckung und messbaren Effekt geprüft.
- Schritt 3: Reproduzierbare Builds und Artefaktprovenienz reduzieren unerkannte Abweichungen.
Praxis: Ein gehärtetes Releaseprofil wird erzeugt und gegen ein Diagnoseprofil verglichen.
4. Speicher- und Kontrollflusshärtung
- Schritt 1: Code, Read-only-Daten, mutable Daten, Stacks und Gerätebereiche erhalten minimale Rechte.
- Schritt 2: Guard-Bereiche, Stackprüfungen und kontrollierte dynamische Mappings werden eingesetzt.
- Schritt 3: Unbenutzte Funktionen und unnötige Runtime-Services werden aus dem Produktprofil entfernt.
Praxis: Ein Speicherlayout wird gehärtet und mit absichtlichen Zugriffsverletzungen geprüft.
5. Eingabevalidierung und SMC-Schnittstellen
- Schritt 1: Alle nicht vertrauenswürdigen Parameter werden vor Dereferenzierung und Zustandsänderung geprüft.
- Schritt 2: Pointer, Größen, Ausrichtung und Sicherheitszustand werden gemeinsam validiert.
- Schritt 3: Fehlerantworten vermeiden Informationsabfluss und bleiben dennoch diagnostizierbar.
Praxis: Ein Runtime Service wird um vollständige Parameter- und Zustandsvalidierung ergänzt.
6. Schlüssel und Geheimnisse
- Schritt 1: Provisionierung, Nutzung, Rotation, Widerruf und Löschung werden als Lebenszyklus beschrieben.
- Schritt 2: Geheimnisse werden nur in notwendigen Speicherbereichen und für minimale Zeit vorgehalten.
- Schritt 3: Logs, Core Dumps und Diagnosepfade werden auf unbeabsichtigte Offenlegung geprüft.
Praxis: Ein Schlüsselpfad wird auf Datenhaltung, Fehlerfälle und Bereinigung untersucht.
7. Debug, Recovery und Fertigung
- Schritt 1: Debugfreigabe wird an Produktzustand, Autorisierung und nachvollziehbare Richtlinien gebunden.
- Schritt 2: Recovery akzeptiert nur autorisierte und rollback-sichere Artefakte.
- Schritt 3: Fertigungsschlüssel und temporäre Schnittstellen werden vor Auslieferung nachweislich entfernt oder gesperrt.
Praxis: Ein sicherer Übergang vom Entwicklungs- zum Produktionszustand wird entworfen.
8. Statische und dynamische Verifikation
- Schritt 1: Compilerwarnungen, statische Analyse und Regelprüfungen werden als verpflichtende Gates eingerichtet.
- Schritt 2: Parser und SMC-Eingaben werden mit Fuzzing und Grenzwertfällen belastet.
- Schritt 3: Sanitizer- oder Modelltests werden dort eingesetzt, wo die Zielplattform sie nicht direkt unterstützt.
Praxis: Ein Parser wird mit einem kleinen Fuzzing-Korpus und reproduzierbaren Crashes geprüft.
9. Sicherheitsabnahme
- Schritt 1: Bedrohungen werden mit implementierten Kontrollen und Tests verknüpft.
- Schritt 2: Offene Risiken erhalten Eigentümer, Frist und dokumentierte Akzeptanzentscheidung.
- Schritt 3: Releasefreigabe verlangt nachvollziehbare Build-, Test- und Konfigurationsnachweise.
Praxis: Eine Security-Abnahmecheckliste wird anhand der Laborplattform vollständig ausgefüllt.
Zielgruppe
Firmware- und Security-Entwickler, Produkt-Security-Teams, Plattformarchitekten, SoC-Integratoren und Verantwortliche für Secure Boot und Firmwarefreigaben.
Voraussetzungen
TF-A-Architektur- und Buildkenntnisse, sichere C-Programmierung, Grundlagen zu Secure Boot, Kryptografie, MMU und Softwarebedrohungsmodellen.
Praxisumgebung
Linux-Arbeitsplatz mit TF-A, AArch64-Toolchain, statischen Analysewerkzeugen, Debugger, Fuzzing-Werkzeugen sowie QEMU oder FVP.
Fachbereichsleiter / Leiter der Trainer / Ihre Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.797 zzgl. MwSt. Inhaus: € 5.100 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Firmware- und Security-Entwickler, Produkt-Security-Teams, Plattformarchitekten, SoC-Integratoren und Verantwortliche für Secure Boot und Firmwarefreigaben. |
| Voraussetzungen: | TF-A-Architektur- und Buildkenntnisse, sichere C-Programmierung, Grundlagen zu Secure Boot, Kryptografie, MMU und Softwarebedrohungsmodellen. |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Quellcodeanalyse, Demonstrationen, praktische Übungen am System und kontrollierte Fehlerfälle |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
