Zuhause Sicherheitsuhr Durch einen schweren Bash-Fehler können Angreifer Linux- und Mac-Computer entführen

Durch einen schweren Bash-Fehler können Angreifer Linux- und Mac-Computer entführen

Video: Absolute BEGINNER Guide to the Mac OS Terminal (Dezember 2024)

Video: Absolute BEGINNER Guide to the Mac OS Terminal (Dezember 2024)
Anonim

Laut Sicherheitsexperten stellt ein in Bash, einem weit verbreiteten Befehlsinterpreter, entdeckter Fehler ein kritisches Sicherheitsrisiko für Unix- und Linux-Systeme dar. Denken Sie daran, dass Mac OS X Bash verwendet, damit Sie nicht versucht sind, das Problem als Serverproblem abzulehnen. Viele Experten warnen davor, dass es schlimmer sein könnte als Heartbleed.

Laut Stephane Chazelas, einem Unix- und Linux-Netzwerk- und Telekommunikationsadministrator bei Akamai, ist die Sicherheitslücke in den meisten Versionen von Bash, von Version 1.13 bis 4.3, vorhanden. Das Computer Emergency Response Team (CERT) des Department of Homeland Security warnte in einer Warnung, dass die Sicherheitsanfälligkeit es einem Remote-Hacker ermöglichen könnte, bösartigen Code auf einem betroffenen System auszuführen, wenn sie ausgenutzt wird. Die NIST-Schwachstellendatenbank hat den Fehler hinsichtlich seines Schweregrads mit 10 von 10 bewertet.

"Diese Sicherheitsanfälligkeit ist möglicherweise eine sehr große Sache", sagte Tod Beardsley, technischer Manager bei Rapid7.

Die Sicherheitsanfälligkeit hat damit zu tun, wie Bash mit Umgebungsvariablen umgeht. Wenn Sie einer Variablen eine Funktion zuweisen, wird auch zusätzlicher Code in der Definition ausgeführt. Ein Angreifer muss also nur eine Reihe von Befehlen in dieser Definition anhängen - eine klassische Code-Injection-Attacke - und kann die betroffene Maschine aus der Ferne hijacken. Chazelas und andere Forscher, die sich den Fehler angesehen haben, haben bestätigt, dass er leicht ausnutzbar ist, wenn der Code in Umgebungsvariablen wie die ForceCommand-Funktion in OpenSSH sshd, die Module mod_cgi und mod_cgid in Apache HTTP Server oder Skripte, die den Code festlegen, eingefügt wird Umgebung für DHCP-Clients.

"Eine große Anzahl von Programmen auf Linux- und anderen UNIX-Systemen verwenden Bash, um Umgebungsvariablen einzurichten, die dann beim Ausführen anderer Programme verwendet werden", schrieb Jim Reavis, Chef der Cloud Security Alliance, in einem Blogbeitrag.

Unvermeidlicher Herzblut-Vergleich

Berücksichtigen Sie zwei Aspekte dieser Sicherheitsanfälligkeit: Linux- / Unix-Server werden in Rechenzentren auf der ganzen Welt sowie in vielen eingebetteten Geräten häufig verwendet. Die Sicherheitslücke ist seit Jahren vorhanden. Da Bash so weit verbreitet ist, ist der Vergleich mit Heartbleed die Sicherheitslücke in OpenSSH, die bereits im April entdeckt wurde, unvermeidlich. Robert Graham von Errata Security hat den Fehler ShellShock bereits genannt.

Aber ist es Heartbleed 2? Es ist ein bisschen schwer zu sagen. Es ist definitiv ein ernstes Problem, da es Angreifern den Zugriff auf die Befehlsshell ermöglicht. Dies ist das goldene Ticket, um auf diesem Computer tun zu können, was immer sie wollen.

Lassen Sie uns in Bezug auf die Größe denken. Apache-Webserver versorgen die überwiegende Mehrheit der Websites weltweit mit Strom. Wie wir während Heartbleed erfahren haben, gibt es viele Nicht-Linux / Unix-Maschinen, die OpenSSH und Telnet verwenden. Und DHCP trägt entscheidend dazu bei, dass wir problemlos in Netzwerke ein- und aussteigen können. Dies bedeutet, dass neben Computern und Servern auch andere eingebettete Systeme, z. B. Router, für die Entführung anfällig sind. Graham von Errata Security, der einige der gründlichsten Analysen des Fehlers durchgeführt hat, hat einige Überprüfungen durchgeführt und leicht ein paar tausend anfällige Server gefunden, aber es ist zu diesem Zeitpunkt ein wenig schwierig, das Ausmaß des Problems abzuschätzen.

Der Heartbleed-Fehler bestand jedoch nur darin, dass eine anfällige Version von OpenSSL installiert war. Dieser Fehler ist nicht so einfach.

"Es ist nicht so einfach, wie Bash zu leiten", sagte Beardsley. Damit die Maschine angreifbar ist, muss eine Anwendung (wie Apache) Benutzereingaben (wie einen User-Agent-Header) in eine Umgebungsvariable (wie CGI-Skripte) aufnehmen. Moderne Web-Frameworks seien in der Regel nicht betroffen.

Dies mag der Grund sein, warum Graham sagte, während ShellShock so schwerwiegend ist wie Heartbleed: "Es gibt wenig Grund, diesen Fehler zu beheben. Ihre primären Server sind wahrscheinlich nicht anfällig für diesen Fehler."

Bevor wir uns jedoch mit Routern und eingebetteten Geräten (und dem Internet der Dinge) beschäftigen, sollten Sie bedenken, dass nicht alle Systeme Bash verwenden. Ubuntu und andere von Debian abgeleitete Systeme verwenden möglicherweise einen anderen Befehlsinterpreter namens Dash. Bei eingebetteten Geräten wird häufig eine BusyBox verwendet, die nicht anfällig ist, teilte Roel Schouwenberg, ein leitender Forscher bei Kaspersky Lab, auf Twitter mit.

Verletzlich oder nicht?

Sie können überprüfen, ob Sie anfällig sind, indem Sie die folgenden Befehle ausführen (vom CSA bereitgestellter Code). Öffnen Sie ein Terminalfenster und geben Sie an der Eingabeaufforderung $ den folgenden Befehl ein:

env x = '() {:;}; echo vulnerable 'bash -c "echo das ist ein test"

Wenn Sie anfällig sind, wird Folgendes ausgegeben:

verletzlich

das ist ein Test

Wenn Sie Bash aktualisiert haben, sehen Sie nur:

das ist ein Test

Normalerweise würde ich sagen, mach weiter und patche sofort, aber es stellt sich heraus, dass die verfügbaren Patches nicht vollständig sind. Laut Red Hat gibt es auch nach dem Patchen von Bash noch Möglichkeiten, Befehle über Umgebungsvariablen einzugeben. Wenn Sie nur eine Handvoll Computer haben, lohnt es sich möglicherweise, die verfügbaren Patches zu installieren. Wenn Sie jedoch Tausende von Computern zum Patchen haben, lohnt es sich möglicherweise, noch ein paar Stunden zu warten. Alle vorgelagerten Linux-Distributionen (und hoffentlich auch Apple!) Arbeiten derzeit an einer Lösung.

"Denken Sie daran, auch wenn Sie noch nie von Bash gehört haben oder es nicht ausführen, kann es sein, dass auf Ihrem Computer Software ausgeführt wird, die Bash-Prozesse auslöst", sagte der unabhängige Sicherheitsberater Graham Cluley.

Durch einen schweren Bash-Fehler können Angreifer Linux- und Mac-Computer entführen