10 |
Buffer Overflow via Environment Variables
Bei diesem Angriffsmuster wird ein Pufferüberlauf durch Manipulation von Umgebungsvariablen verursacht. Sobald der Angreifer herausfindet, dass er eine Umgebungsvariable ändern kann, kann er versuchen, die zugehörigen Puffer zum Überlaufen zu bringen. Dieser Angriff macht sich das implizite Vertrauen zunutze, das häufig in Umgebungsvariablen gesetzt wird. [Zielanwendung identifizieren] Der Angreifer identifiziert eine Zielanwendung oder ein Zielprogramm, um den Pufferüberlauf durchzuführen. Bei diesem Angriff sucht der Angreifer nach einer Anwendung, die den Inhalt einer Umgebungsvariablen in einen Puffer lädt. [Finde Injektionsvektor] Der Angreifer identifiziert einen Injektionsvektor, um den übermäßigen Inhalt in den Puffer der Zielanwendung zu übertragen. [Craft overflow content] Der Angreifer stellt den zu injizierenden Inhalt her. Wenn die Absicht darin besteht, die Software einfach zum Absturz zu bringen, muss der Inhalt nur aus einer übermäßigen Menge an Zufallsdaten bestehen. Wenn die Absicht darin besteht, den Überlauf zur Ausführung von beliebigem Code zu nutzen, stellt der Angreifer die Nutzlast so her, dass die überschriebene Rücksprungadresse durch eine Adresse seiner Wahl ersetzt wird. [Überlauf des Puffers] Mit Hilfe des Injektionsvektors injiziert der Angreifer den manipulierten Überlaufinhalt in den Puffer. |
Hoch |
100 |
Überlaufpuffer
Pufferüberlauf-Angriffe zielen auf eine unsachgemäße oder fehlende Überprüfung der Grenzen von Pufferoperationen ab, die in der Regel durch eine von einem Angreifer eingeschleuste Eingabe ausgelöst wird. Infolgedessen ist ein Angreifer in der Lage, über die Grenzen der zugewiesenen Pufferbereiche im Speicher hinaus zu schreiben, was zu einem Programmabsturz oder möglicherweise zu einer Umleitung der Ausführung nach Wahl des Angreifers führt. [Identifizieren der Zielanwendung] Der Angreifer identifiziert eine Zielanwendung oder ein Zielprogramm, um den Pufferüberlauf durchzuführen. Die Angreifer suchen häufig nach Anwendungen, die Benutzereingaben akzeptieren und eine manuelle Speicherverwaltung durchführen. [Injektionsvektor finden] Der Angreifer identifiziert einen Injektionsvektor, um den übermäßigen Inhalt in den Puffer der Zielanwendung zu übertragen. [Craft overflow content] Der Angreifer stellt den zu injizierenden Inhalt her. Wenn die Absicht darin besteht, die Software einfach zum Absturz zu bringen, muss der Inhalt nur aus einer übermäßigen Menge an Zufallsdaten bestehen. Wenn die Absicht darin besteht, den Überlauf zur Ausführung von beliebigem Code zu nutzen, stellt der Angreifer die Nutzlast so her, dass die überschriebene Rücksprungadresse durch eine Adresse seiner Wahl ersetzt wird. [Überlauf des Puffers] Mit Hilfe des Injektionsvektors injiziert der Angreifer den manipulierten Überlaufinhalt in den Puffer. |
Sehr hoch |
123 |
Buffer Manipulation
Ein Angreifer manipuliert die Interaktion einer Anwendung mit einem Puffer in dem Versuch, Daten zu lesen oder zu verändern, auf die er keinen Zugriff haben sollte. Pufferangriffe zeichnen sich dadurch aus, dass der Pufferbereich selbst das Ziel des Angriffs ist und nicht der Code, der für die Interpretation des Pufferinhalts verantwortlich ist. Bei praktisch allen Pufferangriffen ist der Inhalt, der im Puffer abgelegt wird, unerheblich. Stattdessen geht es bei den meisten Pufferangriffen darum, mehr Eingaben abzurufen oder bereitzustellen, als in dem zugewiesenen Puffer gespeichert werden können, was zum Lesen oder Überschreiben von anderem, nicht vorgesehenem Programmspeicher führt. |
Sehr hoch |
14 |
Client-seitige Injektion-induzierter Pufferüberlauf
Bei dieser Art von Angriff wird eine Pufferüberlaufschwachstelle in der Ziel-Clientsoftware ausgenutzt, indem bösartige Inhalte von einem speziell entwickelten feindlichen Dienst eingeschleust werden. Dieser feindliche Dienst wird erstellt, um den richtigen Inhalt an die Client-Software zu liefern. Wenn es sich bei der clientseitigen Anwendung beispielsweise um einen Browser handelt, hostet der Dienst eine Webseite, die der Browser lädt. [Der Angreifer identifiziert eine clientseitige Zielanwendung, um den Pufferüberlauf durchzuführen. Am häufigsten sind dies Browser. Wenn es eine bekannte Browser-Schwachstelle gibt, könnte ein Angreifer diese angreifen. [Injektionsvektor finden] Der Angreifer identifiziert einen Injektionsvektor, um den übermäßigen Inhalt in den Puffer der Zielanwendung zu übertragen. [Erstellen eines feindlichen Dienstes] Der Angreifer erstellt einen feindlichen Dienst, der Inhalte an die clientseitige Anwendung liefert. Wenn die Absicht darin besteht, die Software einfach zum Absturz zu bringen, muss der Inhalt nur aus einer übermäßigen Menge an Zufallsdaten bestehen. Wenn die Absicht darin besteht, den Überlauf zur Ausführung von beliebigem Code zu nutzen, gestaltet der Angreifer die Nutzlast so, dass die überschriebene Rücksprungadresse durch eine Adresse seiner Wahl ersetzt wird. [Überlauf des Puffers] Mit Hilfe des Injektionsvektors liefert der Angreifer den Inhalt an die clientseitige Anwendung, die den feindlichen Dienst nutzt, und lässt den Puffer überlaufen. |
Hoch |
24 |
Filter Failure through Buffer Overflow
Bei diesem Angriff geht es darum, einen aktiven Filter zum Versagen zu bringen, indem eine übergroße Transaktion verursacht wird. Ein Angreifer kann versuchen, das Programm mit überlangen Eingabestrings zu füttern, um den Filter zu überwältigen (indem er einen Pufferüberlauf verursacht) und zu hoffen, dass der Filter nicht sicher versagt (d. h. die Benutzereingabe wird ungefiltert in das System gelassen). [Survey] Der Angreifer untersucht die Zielanwendung, möglicherweise als gültiger und authentifizierter Benutzer [Attempt Injections] Er versucht, dem System übermäßig lange Daten zuzuführen. Dies kann manuell geschehen oder mit einem dynamischen Tool (Blackbox) automatisiert werden. Ein Angreifer kann zu diesem Zweck auch ein eigenes Skript verwenden. [Antworten überwachen] Achten Sie auf alle Anzeichen eines Fehlers. Beobachten Sie sorgfältig, was passiert ist, als der Filterfehler auftrat. Sind die Daten angekommen? [Ein Angreifer schreibt ein Skript, um das Versagen des Filters konsequent herbeizuführen. |
Hoch |
42 |
MIME Conversion
Ein Angreifer nutzt eine Schwachstelle in der MIME-Konvertierungsroutine aus, um einen Pufferüberlauf zu verursachen und die Kontrolle über den Mailserver zu erlangen. Das MIME-System ist so konzipiert, dass verschiedene Informationsformate interpretiert und per E-Mail verschickt werden können. Angriffspunkte bestehen, wenn Daten in ein MIME-kompatibles Format und zurück konvertiert werden. [Identifizierung des Ziel-Mailservers] Der Angreifer identifiziert einen Ziel-Mailserver, den er angreifen möchte. [Bestimmen der Durchführbarkeit des Angriffs] Bestimmen, ob der Mailserver ungepatcht und potenziell anfällig für einen der bekannten MIME-Konvertierungspufferüberläufe ist (z. B. Sendmail 8.8.3 und 8.8.4). [Injektionsvektor finden] Identifizieren Sie Stellen im System, an denen anfällige MIME-Konvertierungsroutinen verwendet werden können. [Craft overflow content] Der Angreifer bastelt E-Mail-Nachrichten mit speziellen Kopfzeilen, die einen Pufferüberlauf für die anfällige MIME-Konvertierungsroutine verursachen. Ziel dieses Angriffs ist es, den Überlauf zur Ausführung von beliebigem Code zu nutzen und Zugriff auf den Mailserver zu erlangen. Der Angreifer bastelt also eine E-Mail, die nicht nur den anvisierten Puffer überläuft, sondern dies auch so tut, dass die überschriebene Absenderadresse durch eine vom Angreifer gewählte ersetzt wird. [Pufferüberlauf] Senden Sie E-Mail-Nachrichten an das Zielsystem mit speziell gestalteten Kopfzeilen, die den Pufferüberlauf auslösen und den Shell-Code ausführen. |
Hoch |
44 |
Überlauf Binäre Ressourcendatei
Ein Angriff dieser Art nutzt eine Pufferüberlaufschwachstelle bei der Handhabung von Binärressourcen aus. Zu den binären Ressourcen können Musikdateien wie MP3, Bilddateien wie JPEG-Dateien und jede andere Binärdatei gehören. Diese Angriffe können durch die normale Verwendung von Dateien unbemerkt auf den Client-Rechner gelangen, z. B. wenn ein Browser eine scheinbar harmlose JPEG-Datei lädt. Dadurch kann der Angreifer Zugriff auf den Ausführungsstapel erhalten und beliebigen Code im Zielprozess ausführen. [Identifizieren von Zielsoftware] Der Angreifer identifiziert Software, die externe Binärdateien in irgendeiner Weise verwendet. Dies kann ein Datei-Upload, das Herunterladen einer Datei von einem freigegebenen Speicherort oder ein anderes Mittel sein. [Injektionsvektor finden] Der Angreifer erstellt eine bösartige Binärdatei, indem er den Header verändert, um die Datei kürzer erscheinen zu lassen, als sie ist. Am Ende der Datei werden zusätzliche Bytes hinzugefügt, die an der übergelaufenen Stelle platziert werden. Der Angreifer setzt die Datei dann in der Software ein, um festzustellen, ob ein Pufferüberlauf erfolgreich war. [Sobald der Angreifer festgestellt hat, dass dieser Angriff durchführbar ist, wird er die Binärdatei speziell so gestalten, dass das gewünschte Verhalten erreicht wird. Wenn der Quellcode verfügbar ist, kann der Angreifer die bösartige Datei sorgfältig so gestalten, dass die Rücksprungadresse mit dem gewünschten Wert überschrieben wird. Ist der Quellcode nicht verfügbar, ändert der Angreifer die Datei iterativ, um die Rücksprungadresse korrekt zu überschreiben. [Überlauf des Puffers] Sobald der Angreifer eine Datei erstellt hat, die die Zielsoftware in der beabsichtigten Weise zum Überlaufen bringt. Die Datei wird in die Software eingespeist, indem sie entweder direkt an die Software übergeben oder an einem gemeinsam genutzten Ort abgelegt wird, damit ein Opfer sie in die Software laden kann. |
Sehr hoch |
45 |
Buffer Overflow via Symbolic Links
Diese Art von Angriff nutzt die Verwendung von symbolischen Links, um Pufferüberläufe zu verursachen. Ein Angreifer kann versuchen, eine symbolische Link-Datei so zu erstellen oder zu manipulieren, dass ihr Inhalt zu Daten führt, die außerhalb der Grenzen liegen. Wenn die Zielsoftware die symbolische Link-Datei verarbeitet, kann sie bei unzureichender Prüfung der Grenzen möglicherweise interne Puffer überlaufen lassen. [Identifizieren der Zielanwendung] Der Angreifer identifiziert eine Zielanwendung oder ein Programm, das bestimmte Dateien in den Speicher laden könnte. [Injektionsvektor finden] Der Angreifer identifiziert einen Injektionsvektor, um den übermäßigen Inhalt in den Puffer der Zielanwendung zu übertragen. [Craft overflow file content] Der Angreifer stellt den zu injizierenden Inhalt her. Wenn die Absicht darin besteht, die Software einfach zum Absturz zu bringen, muss der Inhalt nur aus einer übermäßigen Menge an Zufallsdaten bestehen. Wenn die Absicht darin besteht, den Überlauf zur Ausführung von beliebigem Code zu nutzen, stellt der Angreifer die Nutzlast so her, dass die überschriebene Rücksprungadresse durch eine Adresse seiner Wahl ersetzt wird. [Pufferüberlauf] Mithilfe des speziell gestalteten Dateiinhalts erstellt der Angreifer einen symbolischen Link von der identifizierten Ressource zur bösartigen Datei, wodurch ein gezielter Pufferüberlauf-Angriff ausgelöst wird. |
Hoch |
46 |
Overflow Variables and Tags
Diese Art von Angriff nutzt die Verwendung von Tags oder Variablen aus formatierten Konfigurationsdaten aus, um einen Pufferüberlauf zu verursachen. Der Angreifer erstellt eine bösartige HTML-Seite oder Konfigurationsdatei, die übergroße Zeichenfolgen enthält und so einen Überlauf verursacht. [Zielanwendung identifizieren] Der Angreifer identifiziert eine Zielanwendung oder ein Zielprogramm, um den Pufferüberlauf auszuführen. Der Angreifer sucht nach Anwendungen oder Programmen, die formatierte Dateien, wie z. B. Konfigurationsdateien, als Eingabe akzeptieren. [Finde Injektionsvektor] Der Angreifer identifiziert einen Injektionsvektor, um den übermäßigen Inhalt in den Puffer der Zielanwendung zu übertragen. [Craft overflow content] Der Angreifer stellt den zu injizierenden Inhalt her. Wenn die Absicht darin besteht, die Software einfach zum Absturz zu bringen, muss der Inhalt nur aus einer übermäßigen Menge an Zufallsdaten bestehen. Wenn die Absicht darin besteht, den Überlauf zur Ausführung von beliebigem Code zu nutzen, stellt der Angreifer die Nutzlast so her, dass die überschriebene Rücksprungadresse durch eine Adresse seiner Wahl ersetzt wird. [Pufferüberlauf] Der Angreifer lädt die manipulierte Datei in die Anwendung hoch und verursacht einen Pufferüberlauf. |
Hoch |
47 |
Buffer Overflow via Parameter Expansion
Bei diesem Angriff erhält die Zielsoftware Eingaben, von denen der Angreifer weiß, dass sie während der Verarbeitung geändert und in ihrer Größe erweitert werden. Dieser Angriff beruht darauf, dass die Zielsoftware nicht antizipiert, dass die erweiterten Daten eine interne Grenze überschreiten könnten, wodurch ein Pufferüberlauf entsteht. [Identifizieren der Zielanwendung] Der Angreifer identifiziert eine Zielanwendung oder ein Zielprogramm, um den Pufferüberlauf durchzuführen. Angreifer suchen oft nach Anwendungen, die Benutzereingaben akzeptieren und eine manuelle Speicherverwaltung durchführen. [Injektionsvektor finden] Der Angreifer identifiziert einen Injektionsvektor, um den übermäßigen Inhalt in den Puffer der Zielanwendung zu übertragen. [Craft overflow content] Der Angreifer stellt die an das Programm zu übergebende Eingabe her. Wenn die Absicht darin besteht, die Software einfach zum Absturz zu bringen, muss die Eingabe nur zu einer übermäßigen Menge an Zufallsdaten erweitert werden. Wenn die Absicht darin besteht, den Überlauf für die Ausführung von beliebigem Code zu nutzen, wird der Angreifer die Eingabe so gestalten, dass sie nicht nur den Zielpuffer überläuft, sondern auch so, dass die überschriebene Rücksprungadresse durch eine Adresse nach Wahl des Angreifers ersetzt wird, die auf vom Angreifer eingeschleusten Code verweist. [Überlauf des Puffers] Mit Hilfe des Injektionsvektors gibt der Angreifer die manipulierte Eingabe an das Programm weiter, wodurch der Puffer überläuft. |
Hoch |
8 |
Buffer Overflow in an API Call
Dieser Angriff zielt auf Bibliotheken oder gemeinsam genutzte Code-Module ab, die für Pufferüberlauf-Angriffe anfällig sind. Ein Angreifer, der Kenntnis von bekannten anfälligen Bibliotheken oder gemeinsam genutztem Code hat, kann leicht Software angreifen, die diese Bibliotheken nutzt. Alle Clients, die die Code-Bibliothek nutzen, werden dadurch angreifbar. Dies hat sehr weitreichende Auswirkungen auf die Sicherheit eines Systems und betrifft in der Regel mehr als einen Softwareprozess. [Identifizieren der Zielanwendung] Der Angreifer kennt die anfälligen Bibliotheken oder gemeinsam genutzten Code-Module und identifiziert eine Zielanwendung oder ein Programm, das diese nutzt. [Injektionsvektor finden] Der Angreifer versucht, die API zu verwenden, und wenn er kann, sendet er eine große Menge an Daten, um zu sehen, ob der Pufferüberlauf-Angriff wirklich funktioniert. [Craft overflow content] Der Angreifer stellt den zu injizierenden Inhalt auf der Grundlage seines Wissens über die Sicherheitslücke und des gewünschten Ergebnisses zusammen. Wenn die Absicht darin besteht, die Software einfach zum Absturz zu bringen, muss der Inhalt nur aus einer übermäßigen Menge an Zufallsdaten bestehen. Wenn die Absicht darin besteht, den Überlauf für die Ausführung von beliebigem Code zu nutzen, wird der Angreifer eine Reihe von Inhalten erstellen, die nicht nur den Zielpuffer überlaufen lassen, sondern dies auch so tun, dass die überschriebene Rücksprungadresse durch eine vom Angreifer gewählte Adresse ersetzt wird, die auf vom Angreifer eingeschleusten Code verweist. [Überlauf des Puffers] Unter Verwendung der API als Injektionsvektor injiziert der Angreifer den erstellten Überlaufinhalt in den Puffer. |
Hoch |
9 |
Buffer Overflow in Local Command-Line Utilities
Dieser Angriff zielt auf Befehlszeilen-Dienstprogramme ab, die in einer Reihe von Shells verfügbar sind. Ein Angreifer kann eine in einem Befehlszeilendienstprogramm gefundene Schwachstelle ausnutzen, um die Rechte auf root zu erweitern. [Zielsystem identifizieren] Der Angreifer sucht sich zunächst ein Zielsystem, auf dem er erhöhte Rechte erlangen möchte. Dabei kann es sich um ein System handeln, auf das er bereits in gewissem Umfang Zugriff hat, oder um ein System, auf das er sich auf andere Weise unberechtigten Zugriff mit niedrigeren Rechten verschaffen will. [Injektionsvektor finden] Der Angreifer identifiziert Befehlszeilendienstprogramme, die vom Zielhost bereitgestellt werden und Pufferüberlaufschwachstellen enthalten. Der Angreifer weiß wahrscheinlich, welche Dienstprogramme diese Schwachstellen aufweisen und welche Versionen davon betroffen sind. [Sobald der Angreifer ein anfälliges Dienstprogramm gefunden hat, nutzt er seine Kenntnisse über die Schwachstelle, um den Befehl zu erstellen, mit dem der Pufferüberlauf ausgenutzt werden kann. [Überlauf des Puffers] Mithilfe des Injektionsvektors führt der Angreifer den erstellten Befehl aus und erlangt erweiterte Rechte auf dem Computer. |
Hoch |