Check for proper integer handling in back c code

 

Check for proper integer handling in back c code

Copyright © Shutterstock/Casimiro PT

Was bedeutet Check for proper integer handling in back c code?

Ein Ganzzahlüberlauf oder -umbruch tritt auf, wenn ein Ganzzahlwert auf einen Wert erhöht wird, der zu groß ist, um ihn in der zugehörigen Darstellung zu speichern. In diesem Fall wird der Wert möglicherweise zu einem sehr kleinen oder negativen Wert umgebrochen.

Dies kann zwar beabsichtigtes Verhalten in Umständen sein, die sich auf das Umwickeln beziehen, kann jedoch bei unerwartetem Umbruch Auswirkungen auf die Sicherheit haben. Dies ist insbesondere der Fall, wenn der Integer-Überlauf über vom Benutzer eingegebene Eingaben ausgelöst werden kann. Dies ist sicherheitskritisch, wenn das Ergebnis dazu verwendet wird, das Looping zu steuern, eine Sicherheitsentscheidung zu treffen oder den Versatz oder die Größe von Verhaltensweisen wie Speicherzuweisung, Kopieren, Verketten usw. zu bestimmen.

Dieser Scanner sucht im erhobenen Code nach Indikatoren für Ganzzahlüberläufe, die zum Absturz des Webservers führen. Dies geschieht, indem mehrere Ganzzahlfolgen ausgegeben werden, die dazu dienen schlechte Antworten anzuregen.

Tipp

Überprüfen Sie die Sicherheit Ihrer Website mit unserem kostenlosen Security Crawler oder mit der OSG Performance Suite Free Version.

Lösung

Verwenden Sie eine überprüfte Bibliothek oder ein Framework, das das Auftreten dieser Schwachstelle nicht zulässt, oder Konstrukte enthalten, durch die diese leichter zu vermeiden ist.
Verwenden Sie Bibliotheken oder Frameworks, die den Umgang mit Zahlen ohne unerwartete Folgen erleichtern.
Verstehen Sie die zugrunde liegende Darstellung der Programmiersprache und ihre Interaktion mit der numerischen Berechnung. Achten Sie genau auf Abweichungen der Byte-Größe, Genauigkeit, vorzeichenbehaftete/vorzeichenlose Unterscheidungen, Abschneiden, Konvertieren und Umwandeln zwischen Typen, “Nicht-Zahl”-Berechnungen und wie die Sprache Zahlen behandelt, die zu groß oder zu klein für die zugrunde liegende Darstellung sind.
Stellen Sie für alle Sicherheitsprüfungen, die auf der Clientseite durchgeführt werden, sicher, dass diese Überprüfungen auf der Serverseite doppelt vorhanden sind. Angreifer können die clientseitigen Prüfungen umgehen, indem sie die Werte ändern, nachdem die Prüfungen durchgeführt wurden, oder indem der Client so geändert wird, dass die clientseitigen Prüfungen vollständig entfernt werden. Diese geänderten Werte werden dann an den Server übermittelt.
Untersuchen Sie die Warnungen des Compilers genau und beseitigen Sie Probleme mit potenziellen Auswirkungen auf die Sicherheit, z. B. signierte/nicht signierte Nichtübereinstimmungen bei Speicheroperationen oder die Verwendung nicht initialisierter Variablen. Selbst wenn die Schwäche selten ausnutzbar ist, kann ein einzelner Fehler zum Kompromiss des gesamten Systems führen.

Allgemeiner Schwachstellen-Datenbanklink

https://cwe.mitre.org/data/definitions/190.html


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte