Skip to main content

Was ist ein Stapelpufferüberlauf?

Ein Stack -Pufferüberlauf ist das, was passiert, wenn ein Programm einen Eintrag in einen Computerspeicher macht, der länger als der zugewiesene Raum ist.Unter bestimmten Umständen kann dies andere Daten im Speicher beschädigen und Probleme beim Ausführen des Computers verursachen.In anderen Fällen kann ein Stapelpufferüberlauf von einer böswilligen Anwendung ausgenutzt werden, um die Kontrolle über andere Teile des Computers zu übernehmen.

Der Name eines Stapelpufferüberlaufs stammt zuerst aus dem Stack, der praktisch eine aktive Liste ist, in der Daten organisiert sind: Der Begriff stammt aus der Analogie, physische Gegenstände aufzuhaufen.Eine Version davon, die Call Stack

ist die Liste, mit der ein Computerprogramm die verschiedenen Teile des Programms, die Unterprogramme, die zu einem bestimmten Zeitpunkt betrieben werden, verfolgt.Da der Anrufstack vorübergehend arbeitet und schnell zugegriffen werden muss, befindet sich er im Computerspeicher und nicht im dauerhaften Speicher wie der Festplatte.ist eine Notwendigkeit, die Art und Weise zu organisieren, wie Speicher zugewiesen wird, einschließlich der Aufruf von Stapeln.Dies geschieht effizient, indem Puffer zugewiesen wird, ein Speicherplatz in dem Speicher, der so ausreichend ist, dass er groß genug ist, um mit dem maximalen Speicherplatz fertig zu werden, der von einem bestimmten Puffer benötigt wird.In den meisten Fällen wird ein Teil des Raums nicht genutzt, sodass er als Puffer zwischen den Daten aus verschiedenen Anwendungen fungiert, sodass der Raum zur Bewältigung von Raum gelassen wird, wenn man plötzlich zusätzlichen Platz benötigt.Eine Möglichkeit, sich zu visualisierenGleichzeitig, anstatt dass einer von ihnen ausgecheckt wird.

Ein Stapelpufferüberlauf tritt auf, wenn ein Programm auf eine Weise aufrufen, die den zugewiesenen Raum übersteigt.Dies kann versehentlich geschehen, normalerweise durch einen Fehler in einem Programm.Wenn eine Anwendung beispielsweise so konzipiert ist, dass der Benutzer eine Telefonnummer eingeben kann, jedoch keine Begrenzung für die Anzahl der Zeichen hat, die eingegeben werden können, kann ein Hacker möglicherweise das unbegrenzte Feld verwenden, um absichtlich einen Stapelpufferüberlauf zu verursachen.Abhängig von der Art und Weise, wie das Betriebssystem funktioniert, kann dies dem Hacker ermöglichen, indirekt entweder auf eine andere Anwendung oder auf das Betriebssystem selbst zuzugreifen.

Es gibt mehrere Ansätze, um die Auswirkungen eines Stapelpufferüberlaufs zu mildern.Man wird als Adressraumlayout -Randomisierung bekannt.Dies ordnet zufällig die wichtigsten Datenbereiche auf dem Computer.Die Idee ist, dass ein Hacker einen Stapelpufferüberlauf verursacht oder ausnutzt, er den Verstoß nicht zuverlässig ausnutzen kann.