• CWE-637: Unnecessary Complexity in Protection Mechanism (Not Using 'Economy of Mechanism')

Das Produkt verwendet einen komplexeren Mechanismus, als notwendig wäre, was zu resultierenden Schwachstellen führen kann, wenn dieser Mechanismus nicht korrekt verstanden, modelliert, konfiguriert, implementiert oder verwendet wird.

CWE-637: Unnecessary Complexity in Protection Mechanism (Not Using 'Economy of Mechanism')

CWE ID: 637
Name: Unnecessary Complexity in Protection Mechanism (Not Using ‘Economy of Mechanism’)

Beschreibung

Das Produkt verwendet einen komplexeren Mechanismus, als notwendig wäre, was zu resultierenden Schwachstellen führen kann, wenn dieser Mechanismus nicht korrekt verstanden, modelliert, konfiguriert, implementiert oder verwendet wird.

Erweiterte Beschreibung

Sicherheitsmechanismen sollten so einfach wie möglich gehalten werden. Komplexe Sicherheitsmechanismen können zu partiellen Implementierungen und Kompatibilitätsprobleme führen, was resultierende Diskrepanzen in den Annahmen und der implementierten Security zur Folge hat. Eine Konsequenz dieses Prinzips ist, dass Datenspezifikationen ebenfalls so einfach wie möglich sein sollten, da komplexe Datenspezifikationen zu komplexem Validation Code führen. Komplexe Aufgaben und Systeme erfordern möglicherweise komplexe Security Checks, weshalb einfache Systeme bevorzugt werden sollten.

Risikominderungsmaßnahmen

Maßnahme (Architecture and Design)

Effektivität: Unknown
Beschreibung: Vermeiden Sie komplexe Sicherheitsmechanismen, wenn einfachere Lösungen die Anforderungen erfüllen würden. Vermeiden Sie komplexe Datenmodelle und unnötig komplexe Operationen. Setzen Sie auf Architekturen, die Garantien bieten, das Verständnis durch Eleganz und Abstraktion vereinfachen und ähnlich implementiert werden können. Modularisieren Sie, isolieren Sie und vertrauen Sie komplexem Code nicht, und wenden Sie andere sichere Programmierprinzipien auf diese Module an (z.B. Least Privilege), um Vulnerabilities zu mindern.