• CWE-732: Incorrect Permission Assignment for Critical Resource

Das Produkt spezifiziert Berechtigungen für eine sicherheitskritische Ressource in einer Weise, die es unbefugten Akteuren ermöglicht, diese Ressource zu lesen oder zu modifizieren.

CWE-732: Incorrect Permission Assignment for Critical Resource

CWE ID: 732
Name: Incorrect Permission Assignment for Critical Resource

Beschreibung

Das Produkt spezifiziert Berechtigungen für eine sicherheitskritische Ressource in einer Weise, die es unbefugten Akteuren ermöglicht, diese Ressource zu lesen oder zu modifizieren.

Erweiterte Beschreibung

Wenn einer Ressource eine Berechtigung zugewiesen wird, die Zugriff auf eine größere Gruppe von Akteuren gewährt, als erforderlich, kann dies zur Offenlegung sensibler Informationen oder zur Modifikation dieser Ressource durch unbefugte Parteien führen. Dies ist besonders gefährlich, wenn die Ressource mit Programmkonfiguration, -ausführung oder sensiblen User-Daten in Verbindung steht. Ein Beispiel hierfür wäre ein falsch konfigurierter Storage Account in der Cloud, der von einem public oder anonymous User gelesen oder beschrieben werden kann.

Risikominderungsmaßnahmen

Maßnahme (Implementation)

Effektivität: Unknown
Beschreibung: Bei der Verwendung einer kritischen Ressource wie einer Konfigurationsdatei sollte überprüft werden, ob diese unsichere Berechtigungen aufweist (z. B. ob sie von jedem regulären User modifizierbar ist) [REF-62]. Es sollte ein Error generiert oder sogar das Software-Programm beendet werden, wenn die Möglichkeit besteht, dass die Ressource von einer unautorisierten Partei verändert worden sein könnte.

Maßnahme (Architecture and Design)

Effektivität: Moderate
Beschreibung: Teilen Sie die Software in Bereiche für anonyme Nutzer, normale Nutzer, privilegierte Nutzer und Administratoren auf. Reduzieren Sie die Angriffsfläche durch die sorgfältige Definition von User Groups, Privileges und/oder Roles. Ordnen Sie diese Daten, Funktionalitäten und den zugehörigen Ressourcen zu. Legen Sie anschließend die Permissions entsprechend fest. Dies ermöglicht eine feinere Kontrolle über Ihre Ressourcen. [REF-207] Notizen: Dies kann eine effektive Strategie sein. In der Praxis kann es jedoch schwierig oder zeitaufwendig sein, diese Bereiche zu definieren, wenn es viele verschiedene Ressourcen oder User Types gibt, oder wenn sich die Application Features schnell ändern.

Maßnahme (Implementation)

Effektivität: High
Beschreibung: Während des Programstarts sollten die Standardberechtigungen oder der umask explizit auf die restriktivste mögliche Einstellung gesetzt werden. Ebenso sind die entsprechenden Berechtigungen während der Programinstallation festzulegen. Dies verhindert die Übernahme unsicherer Berechtigungen von jedem User, der das Programm installiert oder ausführt.

Maßnahme (System Configuration)

Effektivität: High
Beschreibung: Stellen Sie für alle Konfigurationsdateien, ausführbaren Dateien und Bibliotheken sicher, dass diese ausschließlich für den Administrator der Software lesbar und beschreibbar sind.

Maßnahme (Documentation)

Effektivität: Unknown
Beschreibung: Vermeiden Sie in der Dokumentation die Empfehlung unsicherer Konfigurationsänderungen, insbesondere wenn diese Konfigurationen sich auf Ressourcen und andere Programme auswirken können, die außerhalb des Anwendungsbereichs liegen.

Maßnahme (Installation)

Effektivität: Unknown
Beschreibung: Gehen Sie nicht davon aus, dass ein Systemadministrator die Konfiguration manuell auf die in der Software-Dokumentation empfohlenen Einstellungen ändert.

Maßnahme (Operation)

Effektivität: Unknown
Beschreibung: Stellen Sie sicher, dass die Software ordnungsgemäß unter der United States Government Configuration Baseline (USGCB) [REF-199] oder einer äquivalenten hardening Konfigurationsrichtlinie läuft, welche viele Organisationen nutzen, um die attack surface und das potenzielle Risiko von bereitgestellter Software zu minimieren.

Maßnahme (Implementation)

Effektivität: Unknown
Beschreibung: Bei der Speicherung von Daten in der Cloud (z.B. S3 buckets, Azure blobs, Google Cloud Storage, etc.) verwenden Sie die Kontrollen des jeweiligen provider, um den öffentlichen Zugriff zu deaktivieren.