Hauptinhalt

Defekte in Zusammenhang mit kontaminierten Daten

Defekte in Zusammenhang mit Code-Elementen aus einer unsicheren Quelle

Defekte in Zusammenhang mit kontaminierten Daten weisen auf die Verwendung von kontaminierten Daten in bestimmten Vorgängen hin. Daten, die aus unsicheren Quellen stammen, gelten als kontaminierte Daten. Polyspace® betrachtet folgende Quellen als unsicher:

  • Flüchtige Objekte

  • Externe Eingaben, die mithilfe der Standardbibliotheksfunktionen erhalten werden Zu externen Eingaben zählen:

    • Benutzereingabe

    • Umgebungsvariablen

    • Dateiinhalt oder Dateipfad

    • Von der Hardware erhaltene Daten

Überprüfen Sie die kontaminierten Daten, die Sie aus solchen unsicheren Quellen erhalten haben, vor ihrer Verwendung. Böswillige Angreifer können kontaminierte Daten verwenden, die nicht validiert wurden, um Ihr Programm anzugreifen und Fehlfunktionen zu verursachen. Defekte in Zusammenhang mit kontaminierten Daten weisen auf die Verwendung von kontaminierten Daten, die nicht validiert wurden, in bestimmten Vorgängen hin. Zum Beispiel weist Polyspace auf Folgendes hin:

  • Kontaminierte Daten bei verschiedenen numerischen Operationen

  • Extern gesteuerte Elemente, wie Pfade, Befehle, Umgebungsvariablen und Host-IDs

  • Kontaminierte Daten bei Speicheroperationen wie Zuweisung und Dereferenzierung

Polyspace-Ergebnisse

Array access with tainted indexArray index from unsecure source possibly outside array bounds
Command executed from externally controlled pathPath argument from an unsecure source
Execution of externally controlled commandCommand argument from an unsecure source vulnerable to operating system command injection
Host change using externally controlled elementsChanging host ID from an unsecure source
Library loaded from externally controlled pathUsing a library argument from an externally controlled path
Loop bounded with tainted valueLoop controlled by a value from an unsecure source
Memory allocation with tainted sizeSize argument to memory function is from an unsecure source
Pointer dereference with tainted offsetOffset is from an unsecure source and dereference might be out of bounds
Tainted division operandOperands of division operation (/) come from an unsecure source
Tainted modulo operandOperands of remainder operation (%) come from an unsecure source
Tainted NULL or non-null-terminated stringArgument is from an unsecure source and might be NULL or not NULL-terminated
Tainted sign change conversionValue from an unsecure source changes sign
Tainted size of variable length arraySize of the variable-length array (VLA) is from an unsecure source and might be zero, negative, or too large
Tainted source used with sensitive functionData obtained from an untrusted source is passed to user-defined sensitive function (Seit R2023b)
Tainted string formatInput format argument is from an unsecure source
Use of externally controlled environment variableValue of environment variable is from an unsecure source
Use of tainted pointerPointer from an unsecure source may be NULL or point to unknown memory

Themen