Übermäßige Datenoffenlegung

Übermäßige Datenoffenlegung

Der Bildschirm verbirgt die Felder. Die API-Antwort funktioniert nicht.

Was ist Übermäßige Datenoffenlegung?

Ein Endpunkt serialisiert einen gesamten gespeicherten Datensatz und vertraut darauf, dass die Client-App nur die sicheren Felder anzeigt. Anrufer lesen die Rohantwort, nicht die gerenderte Schnittstelle. Sie öffnen eine Profilkarte mit einem Namen und einer Stadt, erfassen den Anruf dahinter, suchen in der Nutzlast nach E-Mail, Telefonnummer, Geburtsdatum und Wohnkoordinaten und wiederholen dies dann mit einem Discovery-Feed für Tausende von Menschen. Bei dem Fix handelt es sich um eine explizite serverseitige Zulassungslistenprojektion. Der gepatchte Endpunkt antwortet immer noch mit 200, nur mit weniger Feldern.

Was Sie lernen in Übermäßige Datenoffenlegung

Übermäßige Datenoffenlegung — Trainingsschritte

  1. Eine öffentliche Läuferseite

    Heute hat Bob es auf Trailkin abgesehen, eine Lauf-App mit sozialem Netzwerk: Er will die personenbezogenen Daten der Mitglieder in großem Stil abgreifen. Angemeldet hat er sich als ganz normales Mitglied, mit einer Wegwerf-Identität. Trailkin-Profile sind bewusst öffentlich: Jeder kann jeden Läufer nachschlagen. Bob öffnet die Seite einer Zielperson; zu sehen sind die öffentliche Karte des Läufers und ein Feed mit anderen Läufern aus der Umgebung.

  2. Auf dem Bildschirm nur die unbedenklichen Felder

    Die Profilkarte ist bewusst sparsam gehalten. Sie ist genau das, was alle sehen sollen, und sie enthält nichts, womit ein Angreifer diese Person aufspüren oder sich für sie ausgeben könnte.

  3. Läufer in der Nähe

    Unter der Karte zeigt dieselbe Seite Trailkins Entdecken-Feed: andere Mitglieder, die in der Nähe laufen. Wie beim Profil steht auch hier auf jeder Karte nur Öffentliches.

  4. Die Anfragen beobachten

    Karte und Feed stammen jeweils aus Daten, die die App über die API geholt hat. Bob öffnet die Netzwerkanalyse des Browsers und lädt die Seite einmal neu — damit schneidet er beide Aufrufe mit, mit denen die App die Seite aufbaut.

  5. Zwei Aufrufe — und alles, was die Karte verschwiegen hat

    Die Netzwerkanalyse hat das Neuladen mitgeschnitten. Beide Aufrufe der Seite stehen in der Anfrageliste, und Bob öffnet die Antwort zum ersten davon, dem Profil-Aufruf.

  6. Den Nearby-Aufruf öffnen

    Ein Profil ist ein Opfer. Der Aufruf des Feeds steht direkt daneben in der Liste. Bob klickt ihn an, um zu lesen, was die Anfrage „Läufer in der Nähe“ zurückgegeben hat.

  7. Das Datenleck in großem Stil

    Die Nearby-Antwort ist dasselbe Datenleck, vervielfacht über den gesamten Feed.

  8. Wissenscheck

    Sie haben gerade gesehen, wie ein einfaches Mitgliedskonto private Angaben ausliest, die die App nie anzeigt. Prägen Sie sich ein, warum das funktioniert.

  9. Der Alarm trifft ein

    Sie verantworten Trailkins Athletenprofil-Service. Über Nacht ist dem Monitoring ein einzelnes Mitgliedskonto aufgefallen, das über die öffentlichen Profil- und Nearby-Endpunkte vollständige Datensätze von Tausenden Nutzern abgerufen hat. Security hat Ihnen die Details per E-Mail geschickt.

  10. Den Profil-Router öffnen

    Öffnen Sie den Athleten-Router und sehen Sie sich an, wie er aus einem gespeicherten Datensatz eine Antwort macht.

Abdeckung der Sicherheits-Frameworks

OWASP API Top 10

  • API3:2019 Excessive Data Exposure

CWE

  • CWE-213 Exposure of Sensitive Information Due to Incompatible Policies
  • CWE-200 Exposure of Sensitive Information to an Unauthorized Actor

CIS Controls

  • CIS 16 Application Software Security

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security