Buffer overflows in Plugins

Programmüberläufe, Buffer Overruns oder Pufferüberläufe gehören zu den häufigsten Schwachstellen in Anwendungen. Wenn ein Programm abstürzt oder einfriert; wenn im Taskmanager die CPU des Programms auf 100 % steht, bezeichnet man dies auch als ein Buffer Overflow. Diese Situation machen sich Hacker gerne zunutze. Ein Buffer Overflow Agriff kann auch über das Internet aus gestartet werden und benötigt keinen direkten lokalen Zugang. Ein Buffer overflow Fehler geschieht bei der Entwicklung von Anwendungen mit Verwendung von unsicheren Funktionen wobei die Längenangabe des Speicherbereichs (Stack) nicht überprüft wird.

Solche Fehler passiere wenn das Programm mehr Daten in einer temporärer Datenspeicher zu speichern versuchen, als er eigentlich kann. Die überzähligen Daten, die irgendwo gespeichert werden müssen, werden in benachbarte Puffer aufgenommen. Der vorgesehene dafür zu kleinen Speicherbereich reicht für die Daten nicht aus und wird auf eine nachfolgenden Speicherbereich überschrieben. Die sich dort befindlichen Daten werden dabei überschrieben und beschädigt so dass ein Schadcode an einer beliebigen Stelle mit der Ausführung fortfahren kann.

Gefährlich wird ein Programmabsturtz nur, wenn es Absichtlich von einem Angreifer ausgelöst wurde. Über eine Programmdatei die zzgl. einen Schadcode beinhaltet Datei, die dann den Programmabsturz versursacht, nehmen wir z.b. Word-Dokument, einer PDF- oder SWF-Datei, wird zusätzlich ein Schadcode ausgeführt.

Ein Buffer Overflow Angriff kann somit über jede Software geschehen, die den dazugehörigen Dateityp ausführt die von außen übermittelt wurde.

Praxisbeispiel im E-Commerce:
Eine Webanbindung mit Upload Funktion die mit include Funktion arbeitet. Programme wie Kontaktformulare oder Upload beim Bestellprozess sind einige Praxisbeispiele. Wird ein Buffer Overflow Lücke z.b. im einem Kontaktformular mit Upload Funktion entdeckt, kann ein beliebiger Anhang mit Schadcode die Webseite infiziert.

So kann ein Angreifer, über harmlose Dateien, den Angriffsrechner infizieren.

Ein Buffer Overflow ist sozusagen Speicherüberläufe die durch eine Menge von falscher Daten zum Verschlucken des Programms führt und ein Code ausführt.

 

SecoSeal Plugin erkennt Buffer Overflows

Das SecoSeal Plugin ist mit einem Buffer Overflow Sensor ausgestattet, der solche Programmabstürze erkennt und den Speicher nicht ausfrbar macht. So wird der Schadcode nicht ausgeführt und kann den Server nicht infizieren.