Was Puffer-Überlauf bedeuten?
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.
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.