• CWE-665: Improper Initialization

Das Produkt initialisiert eine Ressource nicht oder initialisiert sie fehlerhaft, was dazu führen kann, dass die Ressource in einem unerwarteten Zustand ist, wenn sie abgerufen oder verwendet wird.

CWE-665: Improper Initialization

CWE ID: 665
Name: Improper Initialization

Beschreibung

Das Produkt initialisiert eine Ressource nicht oder initialisiert sie fehlerhaft, was dazu führen kann, dass die Ressource in einem unerwarteten Zustand ist, wenn sie abgerufen oder verwendet wird.

Erweiterte Beschreibung

Dies kann Sicherheitsimplikationen haben, wenn die zugehörige Ressource bestimmte Eigenschaften oder Werte aufweisen soll, wie beispielsweise eine Variable, die festlegt, ob ein User authentifiziert wurde oder nicht.

Risikominderungsmaßnahmen

Maßnahme (Architecture and Design)

Effektivität: Unknown
Beschreibung: Identifizieren Sie alle Variablen und Datenspeicher, die Informationen aus externen Quellen empfangen, und wenden Sie Input Validation an, um sicherzustellen, dass diese nur mit erwarteten Werten initialisiert werden.

Maßnahme (Implementation)

Effektivität: Unknown
Beschreibung: Initialisieren Sie alle Ihre Variablen und anderen Datenspeicher explizit, entweder während der Deklaration oder unmittelbar vor dem ersten Gebrauch.

Maßnahme (Implementation)

Effektivität: Unknown
Beschreibung: Achten Sie besonders auf komplexe bedingte Anweisungen, die die Initialisierung beeinflussen, da bestimmte Bedingungen die Initialisierung möglicherweise nicht ausführen.

Maßnahme (Implementation)

Effektivität: Unknown
Beschreibung: Vermeiden Sie race conditions (CWE-362) während der Initialisierungsroutinen.

Maßnahme (Build and Compilation)

Effektivität: Unknown
Beschreibung: Führen Sie Ihr Produkt mit Einstellungen aus oder kompilieren Sie es, die Warnungen bezüglich nicht initialisierter Variablen oder Daten generieren.

Maßnahme (Testing)

Effektivität: Unknown
Beschreibung: Nutzen Sie automatisierte Static Analysis Tools, die auf diese Art von Schwachstellen abzielen. Viele moderne Techniken verwenden Data Flow Analysis, um die Anzahl der False Positives zu minimieren. Dies ist keine perfekte Lösung, da eine 100-prozentige Genauigkeit und Abdeckung nicht realisierbar sind.