Was Puffer-Überlauf bedeuten?

May 22

Puffer werden verwendet, um eine Satzmenge Daten vorübergehend, in der Regel um sicherzustellen, dass eine unterbrochene oder langsame Quelle nicht unterbrechen oder langsam den Rest des Systems zu halten. Es gibt jedoch ernsthafte Sicherheitsaspekte, die Puffer zu begleiten.

Was Puffer-Überlauf bedeuten?

Puffer enthalten Daten

Pufferüberlauf

Ein Pufferüberlauf (oder Pufferüberlauf) tritt auf, wenn ein Programm versucht, schreiben mehr Informationen in einen Puffer als Puffer bereit ist, zu behandeln. In einigen Sprachen insbesondere jene von C abgeleitet, anstatt werfen einen Fehler bei diesem Event, schreibt der Computer die volle Menge an Daten. Dies bewirkt, dass es andere nahegelegene Orte im Speicher überschrieben werden sollen.

Prävention: Betriebssystemfunktionen

Die meisten moderner Betriebssysteme beinhalten Funktionen für gefährliche Pufferüberläufe zu verhindern versucht.

Prävention: Sichere C-Bibliotheken verwenden

Wenn eine C-basierte Sprache verwenden, verwenden Sie sichere Teile der C++-Standardbibliotheken wann immer möglich. Zur gleichen Zeit vermeiden Sie die Verwendung von Funktionen innerhalb der Bibliothek, die als bekannt sind anfällig für Pufferüberläufe.

Prävention: Sanity Check

In allen Sprachen ist es wichtig auf Vernunft Kontrollkästchen eingehende Daten um sicherzustellen, dass es ist innerhalb der Erwartungen, was es sein sollte, um Pufferüberläufe und andere Fehler zu verhindern.

Warnung

Eine wichtige Regel ist, dass eine Anwendung keine eingehenden Daten von außerhalb selbst nie Vertrauen sollte.