Server-Side Request Forgery (SSRF)
Bei SSRF wird eine Anwendung zu unerwünschten Netzwerkaufrufen vom Server aus gebracht. Entscheidend ist, welche Ziele der Server tatsächlich erreicht.
Server-Side Request Forgery, kurz SSRF, bezeichnet den Missbrauch einer Anwendung, um ihren Server Anfragen an nicht vorgesehene Ziele senden zu lassen. Der Server kann andere Netzwerkzugänge haben als die Person, die eine Eingabe macht. Dadurch können beispielsweise interne Dienste erreicht werden, die von außen nicht direkt zugänglich sind.
Eine Dokumentvorschau mit fremdem Ziel
Ein fiktives Projektportal lädt für eine Vorschau ein Dokument von der Adresse im Feld previewTarget. Wird diese Adresse ungeprüft übernommen, kann die Vorschaufunktion zum Vermittler für unerwünschte Zugriffe werden. Das Problem liegt hier im Abruf durch den Server, nicht erst im späteren Anzeigen des Dokuments. Auch ohne Rückgabe des Antwortinhalts können solche Aufrufe unerwünschte Wirkungen haben.
Für diese Portalvariante ist die Vorschau nur für bekannte Dokumentquellen vorgesehen. Die Anwendung kann deshalb zulässige Quellen fest vorgeben, statt beliebige Ziele zu übernehmen. Diese Eingrenzung passt nur, wenn die Funktion tatsächlich auf bekannte Quellen beschränkt werden kann.
Zielprüfung und Netzgrenze zusammen betrachten
MDN und OWASP beschreiben Schutz auf Anwendungs- und Netzwerkebene. Eine Prüfung des eingegebenen Hostnamens allein reicht nicht: Auch aufgelöste Zieladressen und die tatsächlich aufgebaute Verbindung müssen zur erlaubten Zielregel passen. Weiterleitungen können das Ziel ändern und dürfen die Prüfung nicht umgehen.
Der Dienst braucht außerdem nur die Netzwerkzugriffe, die seine Aufgabe erfordert. Protokoll- und Zielbeschränkungen, kontrollierte Weiterleitungen und begrenzte Netzwerkrechte wirken zusammen. HTTPS allein macht ein Ziel nicht zulässig. Die Portalgeschichte erklärt die Vertrauensgrenze; sie ist kein Bericht über einen ausgeführten Abruf oder Sicherheitstest.
Quellen
Verwandte Begriffe
- APIEine API legt fest, wie Software Funktionen oder Daten anderer Software nutzen kann.
- BackendDas Backend verarbeitet serverseitige Regeln und Daten einer Anwendung. Es ist mehr als die Datenbank oder ein Verwaltungsbildschirm.
- WebhookEin Webhook benachrichtigt ein anderes System per HTTP, wenn ein bestimmtes Ereignis eintritt.
- DatenminimierungDatenminimierung begrenzt personenbezogene Daten auf das, was für einen festgelegten Zweck angemessen, relevant und erforderlich ist.
- DatenaufbewahrungsregelEine Datenaufbewahrungsregel legt Zweck, Beginn, Dauer und Ende der Speicherung fest. Löschaufträge und Kopien müssen technisch berücksichtigt werden.
- Envelope EncryptionEnvelope Encryption trennt den Schlüssel für die Daten vom Schlüssel, der diesen schützt. Verschlüsselte Datei und verpackter Datenschlüssel gehören zusammen.
Ihr Vorhaben mit ASES
Beschreiben Sie uns Ihr Vorhaben. Wir melden uns mit einer ersten Einschätzung.