Überprivilegierung bei Serverless-Funktionen

Überprivilegierung bei Serverless-Funktionen

Eine Funktion ist ein Principal; ihre Zugangsdaten stehen ihr automatisch zur Verfügung.

Was ist Überprivilegierung bei Serverless-Funktionen?

Eine Funktion ist ein Principal. Die Zugangsdaten ihrer Ausführungsrolle stehen ihr automatisch zur Verfügung. Wer die Funktion zu einer Aktion veranlassen kann, kann so ihre Rechte nutzen, ohne selbst Zugangsdaten zu stehlen. Gefährlich wird das, wenn eine Bildverkleinerungsfunktion kontoweite Berechtigungen hat, Geheimnisse in Umgebungsvariablen speichert und anonyme Anfragen annimmt. Sie entdecken die Funktions-URL im Netzwerk-Panel des Browsers, lösen über einen verbliebenen Debug-Parameter die Ausgabe der Umgebung aus und lesen mit der Identität der Funktion ein Produktionsgeheimnis. Anschließend begrenzen Sie die Rolle, verlangen IAM-Authentifizierung und ersetzen geheime Werte durch einen Verweis auf Secrets Manager.

Was Sie lernen in Überprivilegierung bei Serverless-Funktionen

Überprivilegierung bei Serverless-Funktionen — Trainingsschritte

  1. Dort beginnen, wo jeder hinschauen kann

    Bob hat keinen Zugang zu Vaelricks Systemen. Er besucht lediglich die öffentliche Seite mit Immobilienangeboten, die jeder Kaufinteressent sehen kann. Dort beginnt er gerade deshalb, weil der Zugriff keine besonderen Rechte erfordert.

  2. Die Netzwerkanfragen der Seite prüfen

    Bob öffnet das Netzwerkfenster des Browsers und lädt die Seite neu, sodass er die Anfragen der Galerie sehen kann, bevor ein Bild angezeigt wird.

  3. Die Funktion antwortet allen

    Bob ruft den Endpunkt direkt von seinem Rechner aus auf, ganz ohne Zugangsdaten.

  4. Der Debug-Parameter gibt die Identität preis

    Bob ergänzt den Debug-Parameter, den er auf der Website gefunden hat. Die Funktion gibt ihre gesamte Umgebung aus.

  5. Die Identität der Funktion annehmen

    Die drei AWS_-Werte aus der Ausgabe bilden einen vollständigen Satz temporärer Zugangsdaten. Bob speichert sie in einem benannten Profil auf seinem Rechner. Danach kann er mit seiner CLI als Funktion handeln.

  6. Zur Funktion werden

    Das Profil ist eingerichtet. Bob stellt AWS die erste Frage, die ein Angreifer mit neuen Zugangsdaten klären will: Wer bin ich jetzt?

  7. Wie weit reichen die Rechte einer Vorschaubild-Funktion?

    Eine Funktion, die Vorschaubilder speichert, braucht Zugriff auf einen Bucket. Bob lässt sich alle Buckets des Kontos anzeigen.

  8. Die Kronjuwelen holen

    Bob nutzt die Rolle, um ein Geheimnis zu lesen, das überhaupt nichts mit der Größenänderung von Bildern zu tun hat.

  9. Welcher Fehler bestimmte das Ausmaß?

  10. Jemand verwendet unseren Stripe-Schlüssel

    Vaelricks Zahlungsdienstleister meldet API-Aufrufe, die von einer unbekannten Adresse aus mit dem aktiven Stripe-Schlüssel signiert wurden. Der Schlüssel liegt in Secrets Manager, wo er eigentlich geschützt sein sollte.

Abdeckung der Sicherheits-Frameworks

CWE

  • CWE-250 Execution with Unnecessary Privileges
  • CWE-522 Insufficiently Protected Credentials

MITRE ATT&CK

  • T1552 Unsecured Credentials
  • T1078.004 Valid Accounts: Cloud Accounts

CIS Controls

  • CIS 6 Access Control Management

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.AA Identity Management, Authentication, and Access Control