Zum Hauptinhalt springen

8. Sicherheitsüberlegungen

Dieser Abschnitt soll Entwickler, Informationsanbieter und Benutzer über bekannte Sicherheitsbedenken informieren, die für HTTP-Caching spezifisch sind. Allgemeinere Sicherheitsüberlegungen werden in der HTTP-Nachrichtenübermittlung [RFC7230] und -Semantik [RFC7231] behandelt.

Caches eröffnen zusätzliche potenzielle Schwachstellen, da der Inhalt des Caches ein attraktives Ziel für böswillige Ausnutzung darstellt. Da Cache-Inhalte nach Abschluss einer HTTP-Anfrage fortbestehen, kann ein Angriff auf den Cache Informationen noch lange nach dem Zeitpunkt offenlegen, zu dem ein Benutzer glaubt, dass die Informationen aus dem Netzwerk entfernt wurden. Daher müssen Cache-Inhalte als sensible Informationen geschützt werden.

Insbesondere können verschiedene Angriffe dadurch verstärkt werden, dass sie in einem gemeinsamen Cache gespeichert werden; solche „Cache-Poisoning"-Angriffe nutzen den Cache, um eine bösartige Nutzlast an viele Clients zu verteilen, und sind besonders wirksam, wenn ein Angreifer Implementierungsfehler, erhöhte Rechte oder andere Techniken nutzen kann, um eine solche Antwort in einen Cache einzuschleusen. Ein häufiger Angriffsvektor für Cache-Poisoning besteht darin, Unterschiede bei der Nachrichtenanalyse auf Proxys und in Benutzeragenten auszunutzen; die entsprechenden Anforderungen finden Sie in Abschnitt 3.3.3 von [RFC7230].

Ebenso können Implementierungsfehler (sowie ein Missverständnis des Cache-Betriebs) dazu führen, dass sensible Informationen (z. B. Authentifizierungsdaten) zwischengespeichert werden, die als privat gelten, und sie damit unbefugten Dritten offengelegt werden.

Darüber hinaus kann allein die Nutzung eines Caches Datenschutzbedenken aufwerfen. Wenn beispielsweise zwei Benutzer einen Cache gemeinsam nutzen und der erste eine Website aufruft, kann der zweite möglicherweise feststellen, dass der andere diese Website besucht hat, weil die Ressourcen von ihr dank des Caches schneller geladen werden.

Beachten Sie, dass das Antwort-Header-Feld Set-Cookie [RFC6265] das Zwischenspeichern nicht verhindert; eine zwischenspeicherbare Antwort mit einem Header-Feld Set-Cookie kann (und wird oft) verwendet, um spätere Anfragen an Caches zu erfüllen. Server, die das Zwischenspeichern dieser Antworten steuern möchten, werden ermutigt, geeignete Antwort-Header-Felder Cache-Control auszugeben.