Über Puffer-Überläufe
Pufferüberläufe sind vielleicht die bekannteste und weithin bekannt Angriffe. Dies sind komplexe Angriffe, die die grundlegenden Hardware-und Software-Funktionen des Systems nutzen. Für diejenigen, die nicht Software-Entwickler, ein paar Konzepte brauchen Erklärung. Erstens ist es nützlich zu verstehen, was ein Puffer ist. Das computergestützte System verfügt über einen Pool von Random Access Memory (RAM) in kleine Stücke von dem Betriebssystem, die Anwendungen läuft organisiert. Um teilen diese Erinnerung unter dem Betriebssystem vielen Prozesse und Anwendungen, eine spezielle Speicher-Manager koordiniert die Brocken von der RAM-Pool im Einsatz sind und welche verfügbar sind, eine Anwendung auszuführen. Wenn eine Anwendung zum ersten Mal ausgeführt wird, wird Speicher für die Anwendung und alle seine Funktionen und Variablen zugewiesen. Da die Anwendung ausgeführt wird, können mehr Speicher für neue Variablen zugewiesen werden, und de-zugeordnet, wenn nicht mehr in Gebrauch. Ein Puffer ist ein Stück (oder mehrere Stücke) des Speichers verwendet um eine Variable zu speichern. Verschiedene Puffer können und oft existieren Seite an Seite im Speicher. Ein Puffer hält, dass eine Variable existieren kann neben ein Stück Erinnerung, dass eine Funktion oder eine andere Anwendung gilt. Zum Beispiel, wenn Sie Ihren Benutzernamen eingeben um eine Eingabeaufforderung oder ein Fenster hat das Programm einen Puffer, in dem die Buchstaben des Namens gespeichert werden erklärt. Ein Pufferüberlauf tritt auf, wenn ein Puffer zu klein ist, um die Menge des zur Verfügung gestellten Daten unterzubringen. Die Daten, die nicht in den Puffer passt, überschreibt die nächste Brocken des Gedächtnisses. Hierin liegt die Gefahr von Buffer Overflows. Der Speicher, der überschrieben ist mit den zusätzlichen Daten kann eine weitere Variable in die laufende Anwendung, eine Variable für eine andere Anwendung oder die Anwendung Stapel. Der Stack enthält anwendungsspezifische Informationen, wie die physische Standorte der Anwendung der Funktionen und Variablen. Dadurch ändert sich der Pfad, der die Anwendung normalerweise folgen, so dass es zu fehlerhaften Daten, Crash, verwenden oder auszuführen neue Funktionalität. Die Ausführung der neuen Funktionen ist in der Regel das Ziel, einen Buffer Overflow Exploit-ob der Zugriff auf das System bereitzustellen oder um die Einstellungen zu ändern. Wenn sein Besitzer das überschrieben Speicherzugriffe nächsten, könnte die neuen Daten als ungültig, und die Anwendung kann abstürzen oder die Funktion nicht ordnungsgemäß. Pufferüberläufe durch den Überlauf Crafting Daten in etwas Nützliches, dass die Maschine verstehen kann genutzt werden. Dies könnte bedeuten, ein anderes Programm läuft, zu schädigen das System oder Informationen zu stehlen. Um besser zu zeigen, dieses Konzept, betrachten die Post Maschine, die Briefe Scans für ihren Bestimmungsort Stadt. Angenommen Umschlag A ist für New York, NY bestimmt und Umschlag B ist für Boston, MA bestimmt. Die Postleitzahl von Umschlag B hat spezielle feuchte Tinte dass "überläuft", überschreiben die Postleitzahl von New York über den Finanzrahmen A mit der Boston wenn die Umschläge automatisch am Poststelle stapeln. Die postalische Gerät scannt den Finanzrahmen A und liest die überschrieben Postleitzahl. Der Brief wird dann nach Boston verlegt. Pufferüberläufe sind oft mehr als nur böswillige Unfälle, so nehmen wir an, ein wertvolles Summe Bargeld für eine Postfachadresse in New York bestimmt ist. Der Dieb oder Angreifer kennt die genaue Lage des Schreibens und schafft einen Umschlag mit Tinte flüssig, dass die Postleitzahl auf dem Umschlag mit der Postleitzahl für Boston, wenn sie gestapelt werden überschrieben. Der Angreifer mietet die Boston Post Box mit der gleichen Anzahl wie das ursprüngliche Ziel in New York und geht um das Geld zu stehlen. Ein Post-Maschine ist nur in der Lage zu erkennen, Postleitzahlen, egal woher sie kommen. Ein Computer ist in der Lage Ausführen von Befehlen, egal woher sie kommen. Daher kann ein Buffer Overflow Attacke, dass die ursprünglichen Anweisungen einer Anwendung mit neuen Anweisungen überschreibt den Computer veranlassen alles ein Angreifer Wünsche auszuführen. Verfasst von Tamas Querolin
|
|||||
|