CWE-Referenz › CWE-637: Unnecessary Complexity in Protection Mechanism (Not Using 'Economy of Mechanism')
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.
Verwandte Schwachstellen
Ist Ihre IT-Infrastruktur betroffen?
Schwachstellen wie CWE-637: Unnecessary Complexity in Protection Mechanism (Not Using 'Economy of Mechanism') werden von Angreifern gezielt gesucht — meist automatisiert und ohne Rücksicht darauf, wie groß das betroffene Unternehmen ist. Ob eine solche Lücke bei Ihnen tatsächlich offen steht, lässt sich nur durch Prüfung feststellen:
- Schwachstellen-Scan — wiederkehrende Prüfung Ihrer Infrastruktur auf bekannte Lücken wie diese
- Penetrationstest — manuelle Prüfung eigener Software auf Schwachstellen, die kein Werkzeug findet
- Threat Modeling — Schwachstellenklassen im Entwurf vermeiden, statt sie später zu suchen