Wen betrifft die Bash-Lücke?

Wen betrifft die Bash-Lücke?

bash_helloDie auch als “Shellshock”- oder “Bash”-Bug bekannt gewordene Schwachstelle erlaubt das Ausführen von Schadcode innerhalb der Kommandozeilen-Shell Bash. Diese ist Bestandteil zahlreicher Linux– und Unix-Betriebssysteme und somit auch von Mac OS X, das in Teilen auf BSD basiert. Dennoch müssen sich die meisten Apple-Nutzer keine Sorgen machen.

Alle Technik- und News-Seiten schreiben zur Zeit über die Bash-Lücke. Viele dieser Berichte sind für Nicht-Techniker verwirrend, manche mißverständlich, manche falsch. Worum handelt es sich bei der Bash-Lücke und was bedeutet das für Sie?

Was ist die Bash-Lücke eigentlich?

Alle Unix-System haben eine oder mehrere „Shells“, die in Form von Text-basierten Eingaben Zugriff auf die Unix-Umgebung erlauben, um Befehle oder Programme auszuführen. Auch Mac OS X ist unter der Haube ein Unix-System – genauer gesagt eine Weiterentwicklung des BSD-Unix. In OS X gibt es das Dienstprogramm „Terminal“ für Eingaben auf Kommandozeilen-Ebene. Wenn man im Programm „Terminal“ einen Befehl wie z.B. „say hello“ eingibt, dann wird dieser Befehl im Terminal interpretiert und ausgeführt.

Es gibt eine ganze Reihe von unterschiedlichen Shell-Varianten: die Bourne shell (sh), Bourne-Again shell (bash), C shell (csh), Debian Almquist shell (dash) und viele weitere. Die aktuelle Version von OS X nutzt als Standard-Shell die Bash Shell – und speziell diese ist von der Bash-Lücke betroffen.

Shell-Variablen

Die Bash Shell hat sogenannte „Umgebungs-Variablen“. Sie können eingestellt werden durch Änderung der Terminal-Voreinstellungen oder direkt durch Eingaben in der Shell. Die Bash-Lücke beginnt mit dem Setzen einer dieser Umgebungs-Variablen. Das sieht zunächst nicht nach Sicherheitslücke aus, denn um diese Änderung durchzuführen, müsste der Angreifer eigentlich direkten Zugriff auf den betroffenen Computer haben.
Jedoch: in bestimmten Fällen können Scripte in Web-Servern Eingaben direkt aus den Browsern der Benutzer in Umgebungs-Variablen übernehmen und damit ein Bash Script starten. Das heißt … der Web-Server wäre durch Eingaben von Browsern irgendwo im Internet manipulierbar.

Genau das ist aber das Problem der aktuellen Bash-Lücke: Ein Betrachter kann mit seinem Web-Browser Umgebungs-Variablen setzen, die zur Ausführung von Unix-Befehlen auf dem Web-Server führen. Genauer gesagt: ein Hacker könnte in einen verwundbaren Web-Server Code einschleusen, der via Bash Script auf dem Web-Server ausgeführt wird.

Beispiel und Test

Ein Mac-Anwender kann in seinem Dienstprogramm Terminal folgenden Befehl eingeben und ausführen lassen:

env x='() { :;}; echo verwundbar' bash -c "echo Au Backe"

Auf einem betroffenen System zeigt Terminal dann diesen Text an:

verwundbar
Au Backe

Dieses Code-Beispiel macht im Wesentlichen zwei Dinge: es definiert eine Umgebungs-Variable mit Namen „x“ (der Name spielt übrigens keine Rolle) und setzt diese auf einen Wert, der den Befehl „echo verwundbar“ einschließt. Als Zweites wird der Befehl „echo Au Backe“ in einer neuen bash shell ausgeführt. Auf verwundbaren Systemen wird der Code in der Umgebungs-Variable x ausgeführt, bevor der Befehl „Au Backe“ zu einer neuen bash shell gesendet wird.

Beliebige Befehle ausführbar

Verwundbare Server haben ein ernstes Problem, denn das shell script kann prinzipiell beliebige Befehle ausführen. Ein Angreifer könnte damit bösartige Software auf den Server einschleusen und ausführen lassen, auf andere Dateien des Servers zugreifen oder sie woandershin übertragen. Oder vorhandene (bisher deaktivierte) Dienste benutzen, um Fernzugriff auf den Server bekommen, Daten zu löschen oder was auch immer. Kurz gesagt: die Bash-Lücke ist eine weltweite Einladung an alle Hacker, mit den betroffenen Rechnern wilde Dinge anzustellen.

FUD

Obwohl es sich hier um eine ernstzunehmende Sicherheitslücke handelt, wird schon allerhand FUD (Fear, Uncertainty and Doubt) darüber berichtet, den man dringend mal korrigieren muss.

Zuallererst: die Bash-Lücke ist kein Virus oder irgendeine andere Art von Schadsoftware. Es wurde schon behauptet, dass sie ein Virus sei, der auch Apple Computer „infizieren“ könne. Das trifft natürlich nicht zu und ist grober Quatsch.

Außerdem ist es wichtig zu wissen, dass die Bash-Lücke nur einen kleinen Teil der betroffenen Computer tatsächlichen Gefahren aussetzt. Natürlich hätte jedermann Probleme, wenn das obige Code-Beispiel auf seinem Computer von außerhalb ausgeführt werde kann – aber das ist bei einem normalen Anwender nicht der Fall, denn er ist nicht als Server direkt übers Internet erreichbar. Die Bash-Lücke gefährdet grundsätzlich nur Server, die ihre Dienste direkt im Internet veröffentlichen. Auf einen normaler Apple-Anwender trifft das kaum zu.

produktivitaet

Server und Router prüfen

Falls Sie einen Mac als Web-Server betreiben, dann könnte die Bash-Lücke ein Problem für Sie darstellen. Sie sollten Ihr System auf Herz und Nieren prüfen und sicherstellen, dass nicht irgendwelche CGI-Scripte oder ähnliche Dinge laufen, die einem Angreifer erlauben, fremden Code in den Server einzuschleusen.

Falls Sie einen Mac besitzen, dessen Dienste direkt übers Internet erreichbar sind, sollten Sie diese ebenfalls auf Verwundbarkeit prüfen. Auch wenn es nur um Drucker- oder Scanner-Dienste handeln sollte: denken Sie daran, dass diese oft auf anderen Server-Diensten wie z.B. Web-Diensten basieren.

Falls die IP-Adresse Ihres Macs NICHT mit 192.168 oder 10.x oder 172.16 bis 172.31 beginnt, dann sind sie möglicherweise direkt mit dem Internet verbunden und irgendjemand aus dem Internet könnte Ihren Mac direkt angreifen. In diesem Fall wäre es dringend geboten, einen Router mit NAT zwischen dem Internet und Ihrem Mac einzusetzen.

WLAN_apfelwerk_2

Sie sollten auch Ihren Router oder WLAN-Router überprüfen, ob er irgendwelche Portweiterleitungen in Ihr privates Netz durchlässt. Das hängt von ihrem jeweiligen Router-Modell und seinen Einstellungen ab. Überprüfen Sie es mit Hilfe des dazugehörigen Handbuchs. Abhängig vom Router-Modell könnten im Router Web-Server aktiviert sein, die ebenfalls von der Bash-Lücke betroffen sind. Prüfen Sie dies und informieren Sie sich beim Hersteller Ihres Routers, ob der Router möglicherweise gefährdet ist.

Update durch Apple seit 29.9.2014

Apple hat am 29.9.2014 ein bash-Update für OS X 10.7.5 (Lion), OS X 10.8.5 (Mountain Lion) und OS X 10.9.5 (Mavericks) veröffentlicht. In Apples Support-Dokument 6495  sind weitere Informationen hierzu zu finden. Der Download des Updates erfolgt über Apples Download-Seite, nicht über die Software-Aktualisierung von OS X. Die bash-Updates sind nach dem Erschienen weiterer Updates auf Apples Download-Seite nur schwer zu finden. Hier sind die direkten Links:

OS X bash Update 1.0 – OS X Lion (10.7.5)
OS X bash Update 1.0 – OS X Mountain Lion (10.8.5)
OS X bash Update 1.0 – OS X Mavericks (10.9.5)

Ob das Bash-Update erfolgreich installiert wurde, kann wiederum mit Terminal geprüft werden:

bash --version

Nach der Aktualisierung lautet die Versionsnummer:
Mavericks: GNU bash, version 3.2.53(1)-release (x86_64-apple-darwin13)
Mountain Lion: GNU bash, version 3.2.53(1)-release (x86_64-apple-darwin12)
Lion: GNU bash, version 3.2.53(1)-release (x86_64-apple-darwin11)

Für OS X 10.6 (Snow Leopard) wurde kein Update veröffentlicht, denn seit Februar 2014 wird diese Variante von OS X von Apple nicht mehr mit Updates versorgt. Wir empfehlen allen Benutzern von OS X 10.6 (Snow Leopard) das Update auf eine aktuellere Version von OS X.

4 Comments
  • hp
    Posted at 20:40h, 30 September

    Update: Apple hat hier http://support.apple.com/kb/HT6495 für 10.9, 10.8 und 10.7 veröffentlicht.

    Ging ja wirklich fix …

  • Walter Menzel
    Posted at 16:12h, 30 September

    Hallo, Thomas Kemmer,
    vielen Dank für die schnelle, beruhigende Antwort.
    Viele Grüße aus der Pfalz
    Walter Menzel

  • Walter Menzel
    Posted at 13:13h, 30 September

    Guten Tag, sehr geehrter Herr Kemmer,
    durch die Meldung auf SpOn bin ich (leider jetzt erst) auf Ihre Seite gekommen.
    Die empfohlene Eingabe im Terminal mit der entsprechenden Kommandozeile habe ich eingegeben und erhalte die Antwort „Verwundbar – Au Backe“ bzw. „vulnerable“.
    Anderseits beginnt meine IP-Adresse mit 192.168.
    Die Softwareaktualisierung meines MacBook Pro 5.1 15 Zoll Ende 2008 bringt die Meldung: keine Updates verfügbar.
    Softwareversion: 10.9.5 (keine Server-Version).
    Besten Dank für eine Information.

    • Thomas Kemmer
      Posted at 15:04h, 30 September

      Hallo Walter Menzel,
      korrekt – auch mein Rechner zeigt (wie zur Zeit übrigens alle mir bekannten Macs) beim Terminal-Check an: “Verwundbar”.
      Aber da Ihre IP-Adresse mit 192.168 beginnt, sind Sie in einem privaten Netzwerk und deshalb NICHT DIREKT über das Internet erreichbar.
      Gruß – T. Kemmer