Buffer-Overflow-Attacken: Lädt Ihre Software Hacker ein?

Software, die mehr Daten in den Memory Buffer schreibt als hineinpassen, ist ein willkommenes Ziel für Buffer-Overflow-Attacken. Wir sagen Ihnen, wie Sie das verhindern. [...]

Buffer-Overflow-Attacken gehören zu den gängigsten und bewährtesten Angriffsmethoden krimineller Hacker. Wir sagen Ihnen, was Sie zum Thema wissen müssen (c) pixabay.com

Buffer-Overflow-Attacken gehören zu den ältesten und gängigsten Ursachen für Sicherheitslücken auf Code-Basis. Dabei sind in C oder C++ programmierte Applikationen deutlich anfälliger für solche Programmierfehler, als Software, die auf anderen Entwicklungssprachen basiert. Um diese Fehler und somit Buffer-Overflow-Angriffe durch kriminelle Hacker zu verhindern, hat die Entwickler-Community diverse sichere Entwicklungsmethoden entwickelt, die inzwischen auch von den großen Softwareplayern am Markt als Teil ihres Secure Development Lifecycles adaptiert wurden.

Buffer Overflow – Definition

Zunächst einmal ist es wichtig, zu wissen, wie eine Buffer-Overflow-Attacke überhaupt definiert wird. Es handelt sich um eine Memory-Sicherheitslücke, bei der die Software nicht hinreichend die Grenzen des zugewiesenen Memory Buffers überprüft und in der Folge mehr Daten hineinschreibt als hineinpassen. Das sorgt dafür, dass die Daten in angrenzende Speicherbereiche „überschwappen“ und dort gespeicherte Informationen überschreiben. Die Folge sind häufig Abstürze oder Sicherheitslücken, die von kriminellen Hackern ausgenutzt werden können.

Buffer-Overflow-Attacken im Trend

Im September 2019 veröffentlichte die MITRE Corporation eine Liste der Top 25 Software-Schwachstellen. Dabei belegten „buffer handling errors“ – eine Art Überkategorie von Buffer-Overflow-Angriffen den ersten Rang.

Das ist angesichts der langen Historie dieser Angriffstechnik und entsprechenden Bemühungen, dieser endgültig den Garaus zu bereiten, überraschend. Allerdings hat MITRE das Schwachstellen-Ranking auch zum ersten Mal seit 2011 aktualisiert und dazu auf eine neue Basis gestellt: Die Bewertungsformel für die Security-Löcher kombiniert nun die Frequenz von Sicherheitslücken in der National Vulnerabilities Database (Grundlage sind die Jahre 2017 und 2018) mit dem durchschnittlichen Schweregrad der Attacke. Das Ranking spiegelt also das Gesamtrisiko von bestimmten Schwachstellen ab – basierend auf deren Häufigkeit und Bedrohungslevel.

Ein weiterer Grund für das Wiedererstarken von Buffer-Overflow-Angriffen könnte in der massenhaften Verbreitung von IoT-Geräten liegen. Diesbezüglich wurden in den letzten Jahren immer wieder schlechte Code-Qualität und massive Sicherheitsverfehlungen bemängelt. Die Firmware dieser Embedded Systems wurde entsprechend häufig von Buffer-Overflow-Attacken heimgesucht. Geändert hat sich dennoch kaum etwas – mal abgesehen davon, dass immer mehr solcher Devices im Internet, Business-Netzwerken und Privathaushalten zum Einsatz kommen.

Sie sehen gerade einen Platzhalterinhalt von YouTube. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.

Mehr Informationen

Beispiele für Buffer-Overflow-Angriffe

Ein Buffer Overflow stellt in der Regel einen schwerwiegenden Angriff auf die IT-Sicherheit dar, weil sie dazu führen können, dass kriminelle Hacker die vollständige Kontrolle über den überschriebenen Speicherplatz erlangen. Ist das einmal geschehen, sind dem Schadcode Tür und Tor geöffnet. Doch auch wenn es nicht dazu kommt, führt ein Buffer-Overflow-Angriff oft zu einem Absturz der Software und damit zu einem Denial-of-Service-Status, der die Verfügbarkeit der Applikation und aller zugehörigen Prozesse einschränkt. Speziell wenn Server betroffen sind, die durchgehende Verfügbarkeit gewährleisten sollen, ist das problematisch.

In bestimmten Fällen können kriminelle Hacker Buffer-Overflow-Attacken auch dazu nutzen, um kritische Einstellungen innerhalb des Applikations-Speichers zu überschreiben (etwa ein Flag, dass Auskunft über die Administratorrechte von Usern gibt). Das kann in einer Rechteausweitung auf Applikations- oder gar Systemebene resultieren. Fehlerhaftes Handling der Buffer-Grenzen kann Angreifern auch ermöglichen, Daten außerhalb des Buffers zu lesen statt sie zu überschreiben. Diese Praxis bezeichnet man als „out-of-bounds read“. Diese Methode bringen kriminelle Hacker auch zum Einsatz, um Informationen über weitere Angriffsmöglichkeiten auszuspähen. Zwar unterscheiden sind „out-of-bounds reads“ von Buffer-Overflow-Attacken, sie werden aber durch die dieselben Programmierfehler ermöglicht.

Wie Sie Buffer Overflow verhindern

Da Buffer-Overflow-Angriffe das Resultat von Coding-Fehlern sind, besteht der einfachste Weg diese zu verhindern darin, Ihre Softwareentwickler entsprechend zu schulen. Diverse Coding Guides, Fachbücher und auch Zertifizierungsprogramme thematisieren das Buffer-Overflow-Problem. Das CERT Coordination Center und das SEI der Carnegie Mellon University haben darüber hinaus Coding-Standards für diverse Programmiersprachen (darunter auch C und C++) veröffentlicht.

Buffer Overflows lassen sich darüber hinaus auch automatisiert verhindern: Zum Beispiel mit Hilfe von Programmiersprachen, Frameworks und Bibliotheken die als „memory safe“ gelten, weil diverse Funktionen, die einen Buffer Overflow verursachen können, entsprechend abgesichert wurden. Softwareentwickler können ebenfalls dazu beitragen, die Wahrscheinlichkeit für Buffer Overflows zu mindern, indem sie bei ihrer Arbeit auf Features wie ASLR und PIE setzen. Auch der Einsatz von Compiler Flags und Extensions kann hierbei sinnvoll sein.

Leider bietet keine dieser Maßnahmen hundertprozentige Sicherheit vor einer Buffer-Overflow-Attacke. Deshalb sind regelmäßige Reviews des Programmcodes und Application Security Testing – sowohl mit internen als auch externen Security Teams – von entscheidender Bedeutung.

Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation CSO Online.

Sie sehen gerade einen Platzhalterinhalt von YouTube. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.

Mehr Informationen

*Lucian Constantin arbeitet als Korrespondent für den IDG News Service.

**Florian Maier beschäftigt sich für Computerwoche.de mit vielen Themen rund um Technologie und Management. Daneben betätigt er sich auch in sozialen Netzen.


Mehr Artikel

Gregor Schmid, Projektcenterleiter bei Kumavision, über die Digitalisierung im Mittelstand und die Chancen durch Künstliche Intelligenz. (c) timeline/Rudi Handl
Interview

„Die Zukunft ist modular, flexibel und KI-gestützt“

Im Gespräch mit der ITWELT.at verdeutlicht Gregor Schmid, Projektcenterleiter bei Kumavision, wie sehr sich die Anforderungen an ERP-Systeme und die digitale Transformation in den letzten Jahren verändert haben und verweist dabei auf den Trend zu modularen Lösungen, die Bedeutung der Cloud und die Rolle von Künstlicher Intelligenz (KI) in der Unternehmenspraxis. […]

News

Richtlinien für sichere KI-Entwicklung

Die „Guidelines for Secure Development and Deployment of AI Systems“ von Kaspersky behandeln zentrale Aspekte der Entwicklung, Bereitstellung und des Betriebs von KI-Systemen, einschließlich Design, bewährter Sicherheitspraktiken und Integration, ohne sich auf die Entwicklung grundlegender Modelle zu fokussieren. […]

News

Datensilos blockieren Abwehrkräfte von generativer KI

Damit KI eine Rolle in der Cyberabwehr spielen kann, ist sie auf leicht zugängliche Echtzeitdaten angewiesen. Das heißt, die zunehmende Leistungsfähigkeit von GenAI kann nur dann wirksam werden, wenn die KI Zugriff auf einwandfreie, validierte, standardisierte und vor allem hochverfügbare Daten in allen Anwendungen und Systemen sowie für alle Nutzer hat. Dies setzt allerdings voraus, dass Unternehmen in der Lage sind, ihre Datensilos aufzulösen. […]

Be the first to comment

Leave a Reply

Your email address will not be published.


*