Zum Hauptinhalt springen

5. Sicherheitsbetrachtungen (Security Considerations)

Siehe die Diskussion in Abschnitt 3.

Wichtigste Sicherheitsbetrachtungen (Main Security Considerations)​

Passive Daten (Passive Data)​

CSV-Dateien enthalten passive Textdaten und sollten (should) im Allgemeinen kein direktes Sicherheitsrisiko darstellen. Als reines Textformat führt CSV selbst keinen Code oder Skripte aus.

Potenzielle Risiken (Potential Risks)​

1. Pufferüberläufe (Buffer Overruns)​

Bösartige Binärdaten könnten (may) theoretisch in eine CSV-Datei aufgenommen werden, um potenzielle Pufferüberlauf-Schwachstellen in Programmen auszunutzen, die CSV-Daten verarbeiten.

Gegenmaßnahmen (Mitigations):

  • Eine angemessene Eingabevalidierung implementieren.
  • Sichere Zeichenfolgenfunktionen verwenden.
  • Angemessene Grenzen für die Feldgrößen festlegen.
  • CSV-Parsing-Bibliotheken auf dem neuesten Stand halten.

2. Datenschutz (Data Privacy)​

Private Daten können (may) über dieses Format geteilt werden, wie es für alle Textdaten gilt.

Gegenmaßnahmen (Mitigations):

  • Angemessene Zugriffskontrollen für vertrauliche CSV-Dateien anwenden.
  • Verschlüsselung während des Transports verwenden, z. B. TLS.
  • Gespeicherte CSV-Dateien bei Bedarf verschlüsseln.
  • Datenminimierungsprinzipien befolgen.

3. Injektionsangriffe (Injection Attacks)​

Daten in CSV-Dateien können (may) Formelinjektion oder Befehlsausführung auslösen, wenn sie in Tabellenkalkulationsprogramme importiert werden.

Gegenmaßnahmen (Mitigations):

  • Felder, die mit =, +, - oder @ beginnen, escapen oder validieren.
  • Die automatische Formelausführung beim Import nach Möglichkeit deaktivieren.
  • Benutzer vor potenziell ausführbaren Inhalten warnen.

4. Probleme der Zeichenkodierung (Character Encoding Issues)​

Eine falsche Handhabung der Zeichenkodierung kann (may) Datenbeschädigung oder Sicherheitslücken verursachen.

Gegenmaßnahmen (Mitigations):

  • Zeichenkodierungen explizit angeben und validieren, unter Verwendung des Parameters charset.
  • Mehrbytezeichen korrekt behandeln.
  • Kodierungsverwirrungsangriffe verhindern.

Implementierungsempfehlungen (Implementation Recommendations)​

  1. Eingabevalidierung (Input validation): CSV-Eingabedaten immer validieren und bereinigen.
  2. Fehlerbehandlung (Error handling): Eine robuste Fehlerbehandlung implementieren.
  3. Ressourcengrenzen (Resource limits): Angemessene Grenzen für Dateigröße, Datensatzanzahl und Feldlänge festlegen.
  4. Sichere Konfiguration (Secure configuration): CSV-Prozessoren mit minimalen Rechten ausführen.
  5. Protokollierung (Logging): Anomalien oder verdächtige CSV-Verarbeitungsaktivitäten protokollieren.

Allgemeine Leitlinien (General Guidance)​

Bei der Verarbeitung von CSV-Dateien sollten (should) Anwendungen standardmäßigen Sicherheits-Best-Practices folgen, einschließlich:

  • Benutzereingaben nicht vertrauen.
  • Defense in Depth anwenden.
  • Regelmäßige Sicherheitsüberprüfungen und -aktualisierungen durchführen.
  • Dem Prinzip von RFC 793 folgen: „Seien Sie konservativ bei dem, was Sie tun, seien Sie liberal bei dem, was Sie von anderen akzeptieren."