• CWE-602: Client-Side Enforcement of Server-Side Security

Das Produkt besteht aus einem Server, der auf den Client angewiesen ist, um einen Mechanismus zu implementieren, der dazu dienen soll, den Server zu schützen.

CWE-602: Client-Side Enforcement of Server-Side Security

CWE ID: 602
Name: Client-Side Enforcement of Server-Side Security

Beschreibung

Das Produkt besteht aus einem Server, der auf den Client angewiesen ist, um einen Mechanismus zu implementieren, der dazu dienen soll, den Server zu schützen.

Erweiterte Beschreibung

Wenn ein Server auf Schutzmechanismen angewiesen ist, die auf der Client-Seite implementiert sind, kann ein Angreifer das Client-seitige Verhalten modifizieren, um diese Schutzmechanismen zu umgehen. Dies kann zu potenziell unerwarteten Interaktionen zwischen Client und Server führen. Die Konsequenzen variieren dabei, abhängig davon, was die Mechanismen eigentlich schützen sollen.

Risikominderungsmaßnahmen

Maßnahme (Architecture and Design)

Effektivität: Unknown
Beschreibung: Wenn ein gewisses Maß an Vertrauen zwischen den beiden Entitäten erforderlich ist, sollten Integrity Checking und Strong Authentication eingesetzt werden, um sicherzustellen, dass die Eingaben von einer vertrauenswürdigen Quelle stammen. Das Produkt sollte so konzipiert sein, dass dieses Vertrauen zentral verwaltet wird, insbesondere wenn es sich um komplexe oder zahlreiche Kommunikationskanäle handelt, um das Risiko zu minimieren, dass der Implementierer versehentlich eine Prüfung in einem einzelnen Code-Pfad weglässt.

Maßnahme (Testing)

Effektivität: Unknown
Beschreibung: Nutzen Sie dynamische Werkzeuge und Techniken, die mit der Software interagieren, indem Sie umfangreiche Testsuiten mit vielfältigen Eingaben verwenden, wie beispielsweise Fuzz Testing (Fuzzing), Robustness Testing und Fault Injection. Der Betrieb der Software kann sich verlangsamen, aber sie sollte nicht instabil werden, abstürzen oder fehlerhafte Ergebnisse generieren.

Maßnahme (Testing)

Effektivität: Unknown
Beschreibung: Setzen Sie Werkzeuge und Techniken ein, die eine manuelle (menschliche) Analyse erfordern, wie beispielsweise Penetration Testing, Threat Modeling und interaktive Werkzeuge, die es dem Tester ermöglichen, eine aktive Sitzung aufzuzeichnen und zu modifizieren. Diese können effektiver sein als rein automatisierte Techniken. Dies gilt insbesondere für Schwachstellen, die mit Design und Geschäftsregeln in Zusammenhang stehen.