Header
Ein Header (auch Kopf‑ bzw. Kopfzeile) ist ein strukturierter Informationsteil, der einem Datenblock, einer Nachricht, einer Datei oder einem Protokollvorangestellt wird und Metadaten über den nachfolgenden Inhalt bereitstellt. Header dienen dazu, den Empfänger über Format, Länge, Typ, Adressierung, Zeitstempel, Prüfsummen oder andere Kontroll‑ und Routing‑Informationen zu informieren, sodass die nachfolgenden Daten korrekt interpretiert, verarbeitet oder weitergeleitet werden können.
1. Allgemeine Eigenschaften
- Position: Am Anfang einer Datenstruktur, meist unmittelbar vor dem eigentlichen Payload.
- Format: Oft fest definiert (feste Länge, feste Feldpositionen) oder variabel (TLV – Type‑Length‑Value).
- Zweck: Identifikation, Validierung, Routing, Versionierung, Synchronisation.
2. Beispiele aus verschiedenen Bereichen
3. Struktur‑Patterns
- Feste Felder: Bestimmte Byte‑Offsets, z. B. IP‑Header (20 Byte ohne Optionen).
- Variabel/Optionen: TLV‑Struktur – Type (Kennung), Length (Länge), Value (Wert).
- Chunks/Boxes: Container‑Formate mit Länge‑ und Typ‑Feld (z. B. RIFF‑Header, MP4‑Boxes).
- Key‑Value‑Paare: Textbasierte Header (HTTP, E‑Mail) mit Zeilen „Key: Value“.
4. Verarbeitung
- Parsing: Extraktion der Felder gemäß Spezifikation (binary parsing, string parsing).
- Validierung: Prüfsummen (CRC, Adler‑32, MD5, SHA), Feldwerte‑Range‑Checks.
- Routing / Dispatch: Nutzung von Adress‑/Feld‑Informationen, um Daten an die richtige Anwendung/Schicht weiterzuleiten.
- Versionierung: Header‑Felder (z. B. Version‑Number) ermöglichen Abwärts‑/Aufwärts‑Kompatibilität.
5. Sicherheitsaspekte
- Header‑Manipulation: Angreifer können Felder wie
User‑Agent,X‑Forwarded‑Foroder IP‑Optionen fälschen, um Spoofing oder Injection zu ermöglichen. - Buffer‑Overflow: Unsichere Verarbeitung fest‑langer Header kann zu Speicherüberläufen führen.
- Information Leakage: Zu viele Details (z. B. Server‑Version) im Header geben Angreifern Hinweise für Exploits.

