Wie fühlen Sie sich um eine zehn Jahre alte Sicherheitslücke in einem Bereich von Unix-basierten Betriebssystemen, wie Linux, OpenBSD, NetBSF, FreeBSD und Solaris? Leider, Diese Frage ist nicht eine theoretische als eine solche Verwundbarkeit (identifiziert als CVE-2017-1000364) wurde entdeckt,, lassen Angreifer Eskalation von Privilegien Angriffe durchführen, wo Root-Zugriff und eine vollständige Systemübernahme an Ort und Stelle gewährt wird,.
CVE-2017-1000364 wurde Stapel Slash genannt und wurde in der Art und Weise Speicher entdeckt wurde für User-Space-Binärdateien auf den Stapel reserviert werden, Wie durch den erklärt Forscher die es entdeckt.
CVE-2017-1000364 Stapel Slash Flaw Technische Zusammenfassung
Wie erklärt sich der Bug? Es ist ganz einfach - Programme spezielle Speicherbereiche verwenden als Stapel bekannt, speichern Kurzzeitdaten verwendet. Der Stapel kann auf einer automatischen Basis während der Programmausführung erweitern und zusammenziehen, in Bezug auf die Bedürfnisse des jeweiligen Programms.
Qualys Forscher zeigen, dass ein böswilliger Absicht erstellten Programm versuchen, mehr Speicherplatz als die auf dem Stapel zu verwenden. Dies könnte leicht zu einem Speicherüberlauf führen, den Stapel verursacht mit dem nahe gelegenen Speicherbereiche kollidieren und deren Inhalt überschreiben.
Zusätzlich zu dem obigen, der Fehler kann die Stack-Guard-Seite umgehen. Dies ist ein Memory-Management-Schutz aus 2010 die eingeführt wurde, nachdem der Fehler in den vergangenen Jahren ausgenutzt wurde. Wie von Qualys Forscher in ihrem Advisory beschrieben:
Leider, ein Stack-Guard-Seite von ein paar Kilobyte reicht nicht aus: wenn der Stapel-Zeiger ‚springt’ über die Wache Seiten wenn es aus dem Stapel in einen anderen Speicherbereich bewegt, ohne die Wache-Seite-dann keine Seite-Fehler Exception ausgelöst zugreift, und der Stapel erstreckt sich in den anderen Speicherbereich.
CVE-2017-1000364 erfordert auch lokalen Zugriff auf das System verwundbar. Jedoch, es könnte auch aus der Ferne nach den beteiligten Anwendungen genutzt werden,.
in Wirklichkeit, CVE-2017-1000364 mit anderen kritischen Fehlern wie die Sudo Sicherheitsanfälligkeit ausnutzt, zusammen werden könnte, die erst kürzlich gepatchte. Die Sudo Verwundbarkeit, CVE-2017-1000367, ist eine schwere einmal Linux Verwundbarkeit Wurzel wieder von Qualys Forscher entdeckt. Der Fehler wurde gefunden in Sudo „get_process_ttyname aufzuhalten()“-Funktion für Linux und könnte ein Benutzer mit sudo-Berechtigungen ermöglichen, Befehle als root oder erhöhen Privilegien root ausführen.
Leider, die schlechte Nachricht endet nicht hier als 7 Proof-of-Concept-Exploits wurden für die Verwundbarkeit für Linux erstellt, OpenBSD, NetBSD, FreeBSD, Solaris auf beide 32- und 64-Bit-Prozessoren,. Die Forscher waren zunächst rücksichtsvoll genug, um nicht zu schieben ihr Proof-of-Konzepte sowohl Benutzer als auch Administratoren ermöglichen, den Fehler zu adressieren, indem ihre verwundbaren Systeme patchen. Diese wurden jedoch veröffentlicht nach Updates von Fedora und Slackware veröffentlicht wurden. FreeBSD und NetBSD gab auch Patches.
Die Proof-of-Konzepte beinhalten vier Schritte - den Stapel mit einem anderen Speicherbereich clashing, Ausführen des Stapelzeiger auf den Anfang des Stapels, Sprung über die Stack-Guard-Seite, und schlussendlich, Zerschlagung der Stapel oder einem anderen Speicherbereichen.
Mitigation gegen CVE-2017-1000364
Auf der Grundlage ihrer Forschung, Qualys Forscher empfehlen, dass die betroffenen Betriebssysteme die folgenden Schritte aus:
Erhöhen Sie die Größe der Stack-Guard-Seite mindestens 1 MB, und ermöglicht es Systemadministratoren auf einfache Weise diesen Wert ändern (beispielsweise, grsecurity / PaX eingeführt / proc / sys / vm / heap_stack_gap in 2010). diese erste, kurzfristige Lösung ist billig, aber es kann durch eine besiegt werden
sehr große Stack-basierten Puffer.Alles neu übersetzen Userland-Code (ld.so, Bibliotheken, Binärdateien) mit GCC “-fstack-Check” Option, die verhindern, dass der Stapel-Zeiger von in einer anderen Speicherbereich zu bewegen, ohne den Stapel guard-Seite zugreifen (es schreibt ein Wort zu jeder 4-KB-Seite auf dem Stapel reserviert). diese zweite, langfristige Lösung ist teuer, aber es kann nicht besiegt werden (selbst wenn die Stack-Guard-Seite ist nur 4 KB, eine Seite) — es sei denn, eine Sicherheitslücke in der Umsetzung der Stack-Guard-Seite oder die entdeckt “-fstack-Check” Option.
Andere Betriebssysteme (Fenster, Androide, Mac) Auch Anfällig für CVE-2017-1000364
Vielleicht werden die Dinge nicht zu Ende wie die Forscher glauben auch, dass andere Betriebssysteme wie Windows und Mac OS und sogar Android auch auf diesen Fehler anfällig sein könnten. Dies muss jedoch zusätzlich bestätigt werden.
Dennoch, betroffene Parteien werden aufgefordert, so bald wie möglich zu aktualisieren,.
Wenn keine Patches zur Verfügung stehen noch für ein bestimmtes Betriebssystem, Benutzer und Administratoren können versuchen, ihre Systeme neu zu starten oder manuell Stapel Grenzen gesetzt lokale Benutzer Anwendungen gelten Exploits zu vermeiden. Ein weiterer nützlicher Tipp ist es, all Userland-Code mit der -fstack-Check-Funktion neu kompilieren, wie oben sichtbar in den Spitzen.