De DE/Sicherheit/Klassifizierung

= Sicherheitsproblemdefinitionen =

Ein Sicherheitsproblem ist eine Klasse von Fehlern, mittels derer ein Angreifer unberechtigt Code ausführen dem Nutzer Ressourcen entziehen kann. Sicherheitsprobleme stellen erhebliche Risiken dar, da sie zur Verbreitung von Viren und Würmern ausgenutzt werden können. Sie können in zwei grundlegende Typen unterteilt werden: Denial of Service (DoS) und beliebige Programmausführung.

Denial of Service
Bei einem "Denial of Service"- Angriff werden den Nutzer die Ressourcen entzogen. Ein so gearteter Angriff verursacht einen Programmabsturz, belegt enorme Mengen an Haupt- oder Festplattenspeicher oder Prozessorkapazität. Viele Programme enthalten mehrere Fehler, die das Programm gelegentlich abstürzen lassen. Einige davon werden nicht zu den Denial of Service gezählt, da die Abstürze sich nicht konsistent reproduzieren lassen. Ein solcher Angriff lässt sich beliebig und verlässlich wiederholen. Er erlaubt es einem Angreifer, das Programm gezielt abstürzen zu lassen.

Beispiele

 * Speziell präparierte E-Mails, die den E-Mail-Client abstürzen lassen,
 * Speziell präparierte Netzwerkdaten, die einen Dienst abstürzen lassen,
 * Speziell präparierte Webseiten, die den Browser abstürzen lassen,
 * Bestimmte Aktionen, durch die ein normaler Nutzer den Rechner abstürzen lassen kann.

Dinge, die keine "Denial of Service"-Angriffe sind

 * Absturz eines Texteditor bei ausgesprochen komplexen Eingabeoperationen,
 * Absturz einer Anwendung beim wiederholten Klicken auf die gleiche Schaltfläche,
 * Absturz des Rechners bei Aktionen, die physischen Zugriff erfordern (z. B. Einführen einer speziell präparierten CD)
 * Das wird oft hinterfragt, ab ist es einfacher, eine CD bösartig zu präparieren oder den Ein- und Ausschalter zu betätigen?

Unberechtigte Code-Ausführung
Ausführung beliebigen Codes wird als grösseres Sicherheitsproblem angesehen, als das Blockieren von Diensten, da es böswilligen Nutzern die Kontrolle über den Rechner oder die Verbreitung von Viren und Würmern erlaubt. Bei der normalen Ausführung von Programmen gibt es einen gewollten und erwarteten Ausführungsfluss. Es ist mittels speziell erstellten Eingaben möglich, diesen Fluss zu verändern und Code des Angreifers auszuführen.

Entfernte Kode-Ausführung
Immer wenn ein Computer an ein Netzwerk angeschlossen ist, gibt es ein Potenzial für entfernte Angreifer, Code unberechtigt auszuführen. Das bedeutet, dass der Angreifer weder in der Nähe noch am angegriffenen Rechner eingeloggt sein muss. Ein Beispiel dafür sind die verschiedenen Würmer, die unzählige an das Internet angeschlossene Rechner infiziert haben. Entfernte Code-Ausführung wird häufig von Crackern ausgenutzt, um unberechtigten Zugang zum System zu erhalten.

Lokale KCode-Ausführung
Mittels lokaler Code-Ausführung kann ein Angreifer entweder Code als Nutzer ausführen oder mittels SUID-gesetzten Programmen seine Rechte ausweiten.

Oft werden solche Probleme in den verschiedensten Kommandos gefunden, die damit missbräuchliche Kommandoausführung erlauben, aber vom Nutzer die Ausführung eines speziellen Kommandos erwarten. Diese Fehlerart wird nicht als Sicherheitsproblem angesehen, da sie dem Angreifer lediglich das Ausführen von Code mit seinen eigenen Rechten erlaubt, was nichts bedeutet.

Wenn ein bestimmtes lokales Kommando die Berechtigung zur Ausführung mit erweiterten Rechten hat, ist dem Anwender die Ausführung eigenem Codes mittels speziell erstellten Kommandos möglich unter den erweiterten Rechten möglich - vielleicht sogar root.

= Anmerkung =

Lesen Sie  Security Bugs  für Informationen zum richtigen Melden von Sicherheitsfehlern.