Definition von Pufferüberlaufangriffen und wie man sich dagegen verteidigt

Aktualisiert: 02. September 2024 Lesezeit: ~

 

Dieser Artikel wurde maschinell übersetzt.

 

Während eines Pufferüberlaufs legt ein Programm Daten in einem Speicherbereich außerhalb des Puffers ab. Dieser Schritt kann Ihre Daten beschädigen oder Ihr Programm zum Absturz bringen.

Hacker wissen das und nutzen manchmal Ihren harmlos erscheinenden Puffer, um Ihr Gerät zu übernehmen. 

Im Wesentlichen ist ein Puffer ein Lebensretter, wenn einem Ihrer Programme der Speicher ausgeht und es nicht abstürzen möchte. Das Programm kann Daten in diesem Puffer speichern und weiterarbeiten. Wenn Ihr Programm sogar mehr Speicher benötigt, als es in einem Puffer finden kann, ist es anfällig für Pufferüberlaufangriffe.

Buffer-Overflow-Angriffe verursachten einige der berüchtigtsten Hacking-Beispiele, vom Morris-Wurm im Jahr 1998 bis zu Stagefright im Jahr 2015. 

Wir erklären Ihnen, wie sie funktionieren, und helfen Ihnen zu verstehen, wie Sie sich vor ihnen schützen können.

Was ist ein Pufferüberlauf?

Fast jeder Computer verfügt über einen Puffer. Dieser dedizierte Speicherplatz kann Daten speichern oder transportieren, sodass Sie weiterarbeiten können, ohne mehrere Abstürze zu erleben. Aber selbst der beste Puffer hat seine Grenzen. Und wenn Sie es überschreiten, beginnt ein Überlauf. 

Ein Pufferüberlauf kann sein:

  • Zufällig. Sie versuchen, zu viel innerhalb eines Programms zu tun, und Sie überschreiten den Raum, den das Programm Ihnen bietet. Das Programm verhält sich möglicherweise unregelmäßig, und in einigen Fällen funktioniert die IT-Abteilung möglicherweise nicht mehr.
  • Absichtlich. Jemand sendet Daten, die für Ihr Programm zu groß sind. Dieser Datensatz enthält Code, der die gültigen Versionen ersetzen kann. Wenn der neue Code ausgeführt wird, kann die IT das Programm dazu bringen, Dinge zu tun, die Sie nicht erwarten. 

Für einen Hacker mag es schwierig erscheinen, ein Programm zu entwickeln, das sowohl Ihr Programm vollständig versteht als auch die Art und Weise, wie die IT arbeitet, verändern kann. Aber leider sind diese Angriffe relativ häufig. 

Pufferüberlauf-Angriffstypen 

Jedes Programm enthält einen Puffer, aber ein Angreifer kann eine von zwei Methoden wählen, um die IT zu übernehmen und einen Angriff zu starten. 

Ein Pufferüberlaufangriff kann sein:

  • Stapelbasiert. Ihr Angreifer sendet Daten an ein Programm und diese Übertragung wird in einem zu kleinen Stapelpuffer gespeichert. Ihr Hacker könnte eine „Push“-Funktion wählen und neue Elemente oben auf dem Stapel speichern. Oder der Hacker könnte eine „Pop“-Funktion wählen und das oberste Element entfernen und ersetzen. Das bedeutet, dass der Hacker offiziell Schadcode eingefügt und die Kontrolle übernommen hat. 
  • Heap-basiert. Ihr Hacker beschädigt Daten im Heap und diese Codeänderung zwingt Ihr System, wichtige Daten zu überschreiben. 

Als Benutzer bemerken Sie diese Änderungen möglicherweise nicht. Wenn Sie den Fortschritt jedoch nicht stoppen, kann es passieren, dass Ihr Programm ins Stocken gerät und ins Stocken gerät. Mit der Zeit könnte es zu einem IT-Absturz kommen.

Da Pufferüberläufe häufig wichtige Programme wie Betriebssysteme angreifen, kann es sein, dass Sie nach einem Hack ein Gerät haben, über das Sie keine Kontrolle mehr haben.

Kennen Sie Ihre Pufferüberlauf-Schwachstellen 

Einen Angriff zu verhindern ist einfacher als sich von einem Angriff zu erholen. Glücklicherweise gibt es viele Dinge, die Sie tun können, um Ihr Unternehmen zu schützen. 

Beginnen Sie damit, den Code zu untersuchen, den Sie während der Entwicklung verwenden. Zu den Programmiersprachen, die für Pufferüberlaufangriffe anfällig sind, gehören:

  • Montage 
  • C/C++
  • Fortran

Diese Sprachen verfügen über keinen integrierten Schutz und ermöglichen keine routinemäßigen Überprüfungen auf Überläufe. 

Untersuchen Sie als Nächstes Ihren Code. Für einen Hacker ist es einfacher, einen Angriff zu starten, wenn Ihre Programme:

  • Kompliziert. Fällt es Ihnen schwer, das Verhalten Ihres Programms vorherzusagen?
  • Extern. Benötigen Sie Daten von Drittanbietern oder von außen, um die Aktionen innerhalb des Programms zu steuern? Werden die Dateneigenschaften extern kontrolliert?
  • Älter. Haben Sie zum Erstellen des Programms Legacy-Komponenten verwendet?

Fast jedes Unternehmen verfügt über ein altes, benutzerdefiniert erstelltes Programm, das jeder Mitarbeiter täglich verwendet. Möglicherweise sind Sie skeptisch, was den Austausch dieses Systems angeht, da es speziell für Sie entwickelt wurde. Allerdings bergen Legacy-Systeme offensichtlich Risiken, die sich nur schwer eindämmen oder beseitigen lassen.

Ihr Pufferüberlauf-Gegenmaßnahme und Präventionsplan 

Hacker verlassen sich seit Jahren auf Puffer, doch es ergeben sich neue Möglichkeiten für ihre Arbeit. Experten gehen beispielsweise davon aus, dass vernetzte Geräte (einschließlich Internet-of-Things-Elemente wie Kühlschränke und Türklingeln) für diese Angriffe anfällig sein könnten. 

Schützen Sie Ihr Unternehmen, indem Sie die folgenden Schritte mit gesundem Menschenverstand befolgen:

  • Verwenden Sie neue Betriebssysteme. Es ist Zeit, Legacy-Programme mit abgelaufenen Supportsystemen zu verwerfen. Neuerer Code bietet mehr Schutz. 
  • Achten Sie auf die Sprache. Programme, die in COBOL, Python und Java geschrieben wurden, sind wahrscheinlich sicherer als andere. 
  • Fügen Sie Platz hinzu. Einige Programme ermöglichen den Schutz des ausführbaren Speicherplatzes. Wenn diese Option aktiviert ist, kann ein Hacker keinen Code ausführen, der über einen Überlaufangriff eingefügt wurde. 
  • Verlassen Sie sich auf den Entwickler. Systemadministratoren beschweren sich oft, dass Entwickler ihre Fehlerberichte ignorieren. Seien Sie hartnäckig. Wenn Sie ein Problem entdecken, das zu einem Pufferüberlauf führt, sprechen Sie so lange über die IT, bis jemand die IT behebt. 
  • Wenden Sie Ihr Pflaster an. Wenn Entwickler von Problemen mit dem Pufferüberlauf erfahren, beheben sie diese mit Code. Im Februar 2021 veröffentlichte Sudo Developer beispielsweise einen solchen Patch und ermutigte die Leute, IT zu verwenden. 

Das Beobachten Ihres Codes, das Analysieren des Verhaltens und häufiges Testen sind alles gute Ideen. Aber um die Sicherheit Ihres Unternehmens zu gewährleisten, müssen Sie noch mehr tun. 

Arbeiten Sie mit Okta zusammen, um Ihre wichtigsten Ressourcen mit einem starken Authentifizierungssystem zu umgeben. Erfahren Sie mehr darüber, wie wir Unternehmen wie Ihrem helfen können.

Referenzen

Pufferüberlauf-Angriff. Umfassende Sicherheit: Ein praxisorientierter Ansatz. 

Pufferüberlauf. OWASP. 

Pufferüberlauf-Angriff. Universität Santa Clara. 

Was ist ein Pufferüberlauf? Und wie Hacker diese Schwachstellen ausnutzen. (Januar 2020). CSO. 

Kernel Space: Ignorieren Linux-Entwickler Fehlerberichte? (September 2007). Networkworld. 

sudo Heap-basierte Pufferüberlauf-Schwachstelle. (Februar 2021). Agentur für Cybersicherheit und Infrastruktursicherheit. 

Setzen Sie Ihre Identity Journey fort