CWE-Referenz › CWE-595: Comparison of Object References Instead of Object Contents
CWE-595: Comparison of Object References Instead of Object Contents
CWE ID: 595
Name: Comparison of Object References Instead of Object Contents
Beschreibung
Das Produkt vergleicht Objekt-Referenzen anstelle des Inhalts der Objekte selbst, wodurch es verhindert wird, äquivalente Objekte zu erkennen.
Erweiterte Beschreibung
Beispielsweise führen Objektvergleiche in Java mit dem Operator == in der Regel zu irreführenden Ergebnissen, da der ==-Operator Objekt-Referenzen und nicht Werte vergleicht. Häufig bedeutet dies, dass die Verwendung von == für Strings tatsächlich einen Vergleich der Referenzen und nicht der Werte der Strings durchführt.
Risikominderungsmaßnahmen
Maßnahme (Implementation)
Effektivität: Unknown
Beschreibung: In Java sollte man Objekte stattdessen mit der Methode equals() vergleichen, anstatt den ==-Operator zu verwenden. Sollte man dennoch == verwenden, ist es aus Performance-Gründen wichtig, dass die Objekte durch eine statische Factory und nicht durch einen Konstruktor erstellt werden.
Verwandte Schwachstellen
Ist Ihre IT-Infrastruktur betroffen?
Schwachstellen wie CWE-595: Comparison of Object References Instead of Object Contents 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