CWE-Referenz › CWE-1385: Missing Origin Validation in WebSockets
CWE-1385: Missing Origin Validation in WebSockets
CWE ID: 1385
Name: Missing Origin Validation in WebSockets
Beschreibung
Das Produkt verwendet einen WebSocket, jedoch wird nicht ausreichend validiert, ob die Quelle der Daten oder der Kommunikation legitim ist.
Risikominderungsmaßnahmen
Maßnahme (Implementation)
Effektivität: Unknown
Beschreibung: Implementieren Sie CORS-ähnliche Zugriffsbeschränkungen, indem Sie den ‘Origin’-Header während des WebSocket Handshake validieren.
Maßnahme (Implementation)
Effektivität: Unknown
Beschreibung: Verwenden Sie ein randomisiertes CSRF-Token zur Validierung von Requests.
Maßnahme (Implementation)
Effektivität: Unknown
Beschreibung: Nutzen Sie TLS, um eine sichere Kommunikation über ‘wss’ (WebSocket Secure) anstelle von ‘ws’ zu gewährleisten.
Maßnahme (Architecture and Design)
Effektivität: Unknown
Beschreibung: Verlangen Sie eine Benutzerauthentifizierung, bevor die WebSocket-Verbindung hergestellt wird. Beispielsweise bietet die WS-Bibliothek in Node eine ‘verifyClient’-Funktion.
Maßnahme (Implementation)
Effektivität: Defense in Depth
Beschreibung: Nutzen Sie Ratenbegrenzung, um sich gegen DoS-Angriffe zu schützen. Der Einsatz des “leaky bucket” Algorithmus kann hierbei hilfreich sein.
Maßnahme (Implementation)
Effektivität: Defense in Depth
Beschreibung: Verwenden Sie eine Bibliothek, die eine Beschränkung der Payload-Größe bietet. Beispielsweise beinhaltet die WS-Bibliothek für Node die Option ‘maxPayloadOption’, die konfiguriert werden kann.
Maßnahme (Implementation)
Effektivität: Unknown
Beschreibung: Behandeln Sie Daten/Eingaben in beiden Richtungen als nicht vertrauenswürdig und wenden Sie die gleiche Datenbereinigung an, wie sie bei XSS, SQLi usw. eingesetzt wird.
Verwandte Schwachstellen
Ist Ihre IT-Infrastruktur betroffen?
Schwachstellen wie CWE-1385: Missing Origin Validation in WebSockets 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