www.wikidata.de-de.nina.az
Shellshock ist eine Sicherheitslucke oder eine Familie von Sicherheitslucken CVE Nummern CVE 2014 6271 1 7169 7186 7187 6277 2 6278 3 in der Unix Shell Bash In der Bash kann der Wert einer Zeichenkettenvariablen eine Funktionsdefinition enthalten Durch die Sicherheitslucke kann nach der Auswertung einer solchen Variablen ungepruft Programmcode ausgefuhrt werden 4 Die erste Entdeckung CVE 2014 6271 wurde am 24 September 2014 offentlich gemacht 5 In der vom NIST verwendeten Bewertung des Schadenpotentials erhalt sie eine Bewertung von 10 dem Maximum 1 Am selben Tag wurde ein erster Patch veroffentlicht jedoch fanden Sicherheitsexperten von Google Inc und Red Hat Tavis Ormandy Michal Zalewski Florian Weimer bald ahnliche Lucken die eigene CVE Nummern erhielten und den ersten Patch uberlebten 6 2 Inzwischen Stand 3 November 2014 gibt es offenbar keine Beanstandung der vorliegenden Patches mehr 7 8 die letzte Fehlervariante wurde von NIST am 30 September 2014 veroffentlicht 3 Vom Fedora Magazine verwendetes Logo fur Shellshock Inhaltsverzeichnis 1 Problematik 2 Prufung auf Verwundbarkeit 2 1 Bash Version 2 2 Server 3 Technischer Hintergrund 3 1 Beispiel Exportieren einer Funktion in Bash 3 2 Beispiel Ausnutzen der Shellshock Lucke 4 Zeitliche Abfolge der Fehlervarianten 5 Patches 5 1 Quellcode 5 2 Linux 5 3 Mac 5 3 1 OS X 10 7 10 10 5 3 2 Altere Versionen 5 4 IBM 5 5 Nachhaltigkeit 6 Weblinks 7 EinzelnachweiseProblematik BearbeitenVon der Sicherheitslucke sind Bash Versionen zwischen 1 03 9 und 4 3 betroffen die haufig unter GNU Linux macOS oder anderen Unix basierten Betriebssystemen verwendet werden Shellshock soll auch deswegen besonders problematisch sein weil zahlreiche Webserver Bash verwenden um CGI Skripte auszufuhren 10 Die Sicherheitslucke kann ausgenutzt werden wenn Variablen gesetzt werden konnen die dann von einer Bash mit hoheren Rechten ausgewertet werden Beispiele sind 8 Webserver CGI Skripte die als Webserver Bash aufrufen konnten beliebigen Code ausfuhren Secure Shell Nutzer deren Rechte auf die Ausfuhrung bestimmter Kommandos beschrankt sind konnen diese Beschrankung umgehen DHCP Bei Verbindung zu einem bosartigen DHCP Server kann ein Angreifer einen beliebigen Code auf dem DHCP Client ausfuhren Der Druckdienst CUPS konnte von rechtmassigen Benutzern zur Ausfuhrung von beliebigem Code genutzt werden Mit SIP Session Initiation Protocol arbeitende Proxys konnen fur Shellshock anfallig sein 11 Die IBM Hardware Management Console eine rudimentare Linuxvariante fur Administratoren von IBM Systemen erlaubt das Ausbrechen aus der restricted shell um die Bash aufzurufen danach hat man volle Kontrolle uber das System 12 13 14 Weltweit sollen hunderte Millionen von Computern betroffen sein 15 Die Sicherheitslucke wird von Forschern fur gravierender als der Heartbleed Bug gehalten 16 Shellshock wurde von Stephane Chazelas entdeckt und existiert seit 1989 in Bash 17 9 Am 6 Oktober wurde verbreitet Server von Yahoo WinZip und Lycos seien von Shellshock betroffen gewesen Jonathan Hall verschaffte sich Zugriff auf die Server von Winzip auf denen er Schadsoftware fand die eine Verbindung zu Servern von Yahoo und Lycos aufbaute Tags darauf wurde dies relativiert insbesondere hinsichtlich der Aussage fur die behauptete Angreifbarkeit sei Shellshock ursachlich gewesen 18 Prufung auf Verwundbarkeit BearbeitenBash Version Bearbeiten Die Verwundbarkeit der Shell durch die erste Fehlervariante CVE 2014 6271 lasst sich durch die folgende Eingabe auf der Kommandozeile testen 8 Bei einer verwundbaren Shell fuhrt die Sequenz env x echo shellshockverwundbar bash c zur Ausgabe von shellshockverwundbar wahrend ein geschutztes System nichts oder Fehlermeldungen ausgibt Ob das System auch einen Patch fur die zweite Fehlervariante CVE 2014 7169 hat testet die Folge env X a gt sh c echo date cat echo Bei einer verwundbaren Shell sieht man einen Zeitstempel als Ausgabe date Fr 26 Sep 13 00 00 CEST 2014 Ist die Shell dagegen geschutzt erhalt man diese Ausgabe date cat echo Datei oder Verzeichnis nicht gefunden Server Bearbeiten Um zu prufen ob ein Server z B uber CGI Skripte bereits angegriffen wurde sucht man Mustereintrage etwa in Form der Zeichenkette wie in folgendem Beispiel 0 0 0 0 steht fur eine IP Adresse 0 0 0 0 29 Sep 2014 09 12 11 0300 GET cgi sys defaultwebpage cgi HTTP 1 0 404 2311 bin ping c 1 0 0 0 0 Technischer Hintergrund BearbeitenBash ermoglicht es Variablen und Funktionen zu definieren die in der jeweiligen Bash Instanz bzw innerhalb des aktuellen Bash Skripts verwendet werden konnen Ausserdem kann eine Bash Instanz wenn sie eine andere Bash Instanz kreiert als Kindprozess aufruft letzterer sowohl Variablen als auch Funktionen vererben Dazu muss dem Namen der Variablen oder Funktion etwa das Schlusselwort kbd style font weight bold a href Datenaustausch Elektronische Verfahren html title Datenaustausch export a kbd vorangestellt werden oder kbd style font weight bold a href Env html title Env env a kbd fur environment beim Aufruf Das Exportieren von Variablen und Funktionen erfolgt uber Umgebungsvariablen Da Umgebungsvariablen nur einfache Schlussel Wert Paare erfassen konnen Schlussel Variablenname Wert Variablenwert mussen Funktionen beim Exportieren als String Zeichenkette kodiert werden Bash verwendet fur Funktions Definitionen spezielle Umgebungsvariablen Deren Inhalt beginnt mit der Zeichenfolge Bash pruft nach dem Start jede vorhandene Umgebungsvariable nach Funktions Definitionen Fur jede gefundene Funktions Definition wird automatisch eine entsprechende Funktion in der aktuellen Bash Instanz angelegt Der Bug betrifft das Parsen der Funktions Definitionen Dadurch lasst sich der eigentlichen Funktions Definition zusatzlicher Code anfugen den Bash beim Parsen der entsprechenden Umgebungsvariable sofort und ungepruft ausfuhrt selbst dann wenn die entsprechende Funktion nie aufgerufen wird Ein Angreifer muss nur Umgebungsvariablen setzen konnen um ausfuhrbaren Code in die jeweilige Bash Instanz einzuschleusen Dies ist unter anderem bei CGI Anwendungen gegeben da hier die Aufrufparameter welche vom Client kontrolliert werden ebenfalls in Form von Umgebungsvariablen ubergeben werden Beispiel Exportieren einer Funktion in Bash Bearbeiten Folgende Befehls Sequenz exportiert die Funktion myfunc was zum Anlegen einer entsprechenden Umgebungsvariable fuhrt Funktion definieren myfunc echo Hello world exportieren export f myfunc Umgebungsvariablen ausgeben printenv Ausgabe myfunc echo Hello world Beispiel Ausnutzen der Shellshock Lucke Bearbeiten Die erste Befehlszeile unter Prufung auf Verwundbarkeit oben startet eine neue Bash Instanz wobei mittels kbd style font weight bold a href Env html title Env env a kbd Befehl die Umgebungsvariable x auf den Wert a href Echo Kommando html class mw redirect title Echo Kommando echo a shellshockverwundbar gesetzt wird Auf die eigentliche Funktionsdefinition folgt also zusatzlich der harmlose Befehl a href Echo Kommando html class mw redirect title Echo Kommando echo a shellshockverwundbar Eine verwundbare Bash Version startet den angefugten Befehl ungepruft und gibt den Text shellshockverwundbar auf der Konsole aus Ein potentieller Angreifer kann auf gleiche Weise beliebige Befehle von Bash ausfuhren lassen Zeitliche Abfolge der Fehlervarianten Bearbeitenexakte Abfolge CVE Kennzeichen Entdecker Ankundigung 2014 NIST Veroffentlichung 2014 Bash Patch Kennzeichen1 CVE 2014 6271 Stephane Chazelas 12 September 19 24 September 1 bash43 025 20 2 CVE 2014 7169 Tavis Ormandy 24 September 21 24 September 6 bash43 026 22 3 CVE 2014 7186 Todd Sabin Florian Weimer 23 25 September 24 28 September 25 bash43 027 26 4 CVE 2014 7187 Florian Weimer 27 September 27 28 September 28 5 CVE 2014 6277 Michal Zalewski 27 September 2 27 27 September 29 6 CVE 2014 6278 Michal Zalewski 29 September 30 30 September 3 Die Fehlervarianten beziehen sich auf unterschiedliche Patch Versionen von Bash 4 3 CVE 2014 6271 12 bis 24 September ist eine Anfalligkeit von Bash 4 3 in der Patch Version bash43 024 CVE 2014 7169 24 September ist eine Anfalligkeit von Bash 4 3 in der Patch Version bash43 025 und bash43 024 6 Die ubrigen Varianten mit NIST Veroffentlichung ab dem 27 September sind Anfalligkeiten von Bash 4 3 in der Patch Version bash43 026 und alter Die in der Tabelle angegebenen Patches des Maintainers Chet Ramey waren direkt und explizit als Patches der in der jeweiligen Zeile genannten Fehler gedacht Anhand der Entdeckernamen konnen die Anfalligkeiten in E Mails Postings Artikeln identifiziert werden die dem Eintrag in die National Vulnerability Database des NIST mit Zuteilung eines Kennzeichens vorhergingen Patches BearbeitenQuellcode Bearbeiten Der Maintainer von Bash Chet Ramey verschickte zunachst eine Patchversion bash43 025 zu Bash Version 4 3 CVE 2014 6271 20 um Distributionen bis zum Zeitpunkt der Veroffentlichung der Lucke am 24 September zu versorgen Zu CVE 2014 7169 folgte am selben Tag bash43 026 22 27 Zu CVE 2014 7186 vom folgenden Tag postete Florian Weimer von Red Hat zunachst privat einen Patch 31 den Ramey als bash43 027 ubernahm 26 32 27 Damit war denen geholfen die mit den ubrigen Quellcodedateien eine neue ausfuhrbare Binardatei von Bash zu kompilieren in der Lage waren Linux Bearbeiten Von Freitag bis Sonntag nach der Veroffentlichung von bash43 027 erschienen Updates neue Pakete Anleitungen Hinweise fur Linuxdistributionen wie Red Hat Enterprise Linux kommerziell 33 Fedora 21 freies Red Hat Linux 34 die Long Term Support Versionen von Ubuntu 35 und fur SUSE Linux Enterprise 36 Nutzer der regelmassigen automatischen Aktualisierungsbenachrichtigung ihrer Distribution haben eine reparierte Bash mehr oder weniger automatisch erhalten Andernfalls kann spezifisch das Bash Paket aktualisiert werden Mac Bearbeiten OS X 10 7 10 10 Bearbeiten Fur Mac OS X hat Apple am 29 September 2014 einen Patch fur OS X 10 9 Mavericks OS X 10 8 Mountain Lion und OS X 10 7 Lion veroffentlicht der die Sicherheitslucke schliesst OS X 10 10 Yosemite ist seit der offentlichen Beta Version 4 einen Tag spater ebenfalls abgesichert und verhindert die unbefugte Ausfuhrung von Schadcode 37 38 Altere Versionen Bearbeiten Altere macOS Versionen werden von Apple nicht mehr gepatcht die Bash Datei kann auf alteren Systemen aber durch eine aktualisierte Version ausgetauscht werden 39 IBM Bearbeiten IBM bietet einen Patch fur seine Hardware Management Console an der alle sechs im September 2014 entdeckten Lucken schliesst 13 Nachhaltigkeit Bearbeiten Noch nach Veroffentlichung der auf bash43 027 beruhenden Updates wurden weitere Shellshock Varianten entdeckt bzw veroffentlicht zuletzt CVE 2014 6278 am 29 bzw 30 September durch Michal Zalewski von Google Inc 40 3 Am 1 Oktober 2014 erklarte Zalewski jedoch neben seinen Funden dass Florian Weimers Patch vom 25 September der in bash43 027 einging auch die spater gefundenen Lucken schliesse 7 Weblinks BearbeitenShellskript zur Prufung auf Verwundbarkeit fur CVE 2014 6271 7169 6277 6278 7186 und 7187Einzelnachweise Bearbeiten a b c Vulnerability Summary for CVE 2014 6271 In National Vulnerability Database NIST 31 Oktober 2014 abgerufen am 2 November 2014 englisch a b c Hanno Bock Immer mehr Lucken in Bash In Golem IT News fur Profis 27 September 2014 abgerufen am 27 September 2014 a b c d Vulnerability Summary for CVE 2014 6278 In National Vulnerability Database NIST 31 Oktober 2014 abgerufen am 2 November 2014 englisch Bash Lucke Die Hintergrunde zu Shellshock In Golem IT News fur Profis 24 September 2014 abgerufen am 26 September 2014 Florian Weimer oss sec Re CVE 2014 6271 remote code execution through bash In Seclists org 24 September 2014 abgerufen am 1 November 2014 a b c Vulnerability Summary for CVE 2014 7169 In National Vulnerability Database NIST 31 Oktober 2014 abgerufen am 2 November 2014 englisch a b Michal Zalewski Bash bug the other two RCEs or how we chipped away at the original fix CVE 2014 6277 and 78 In lcamtuf blog 1 Oktober 2014 abgerufen am 31 Oktober 2014 englisch a b c Bash Code Injection Vulnerability via Specially Crafted Environment Variables CVE 2014 6271 CVE 2014 7169 Red Hat 2 Oktober 2014 abgerufen am 1 November 2014 englisch a b Stephane Chazelas Chet Ramey when was shellshock introduced In Gmane 10 Oktober 2014 abgerufen am 1 November 2014 Hanno Bock Sicherheitslucke Shellshock gefahrdet Server In Zeit Online 25 September 2014 abgerufen am 26 September 2014 Lefteris Zafiris sipshock A scanner for SIP proxies vulnerable to Shellshock In GitHub Abgerufen am 29 September 2014 englisch shellshock png Brian Smith auf IBM com abgerufen am 3 November 2014 englisch a b Security Bulletin Vulnerabilities in Bash affect DS8000 HMC CVE 2014 6271 CVE 2014 7169 CVE 2014 7186 CVE 2014 7187 CVE 2014 6277 CVE 2014 6278 IBM 3 Oktober 2014 abgerufen am 1 November 2014 englisch Shellshock software bug in der englischsprachigen Wikipedia Dave Lee Shellshock Deadly serious new vulnerability found In BBC 25 September 2014 abgerufen am 26 September 2014 englisch Tom Fox Brewster What is the Shellshock bug Is it worse than Heartbleed In The Guardian 25 September 2014 abgerufen am 26 September 2014 englisch Florian Weimer CVE 2014 6271 remote code execution through bash In Seclists org 24 September 2014 abgerufen am 26 September 2014 englisch Hanno Bock Yahoo durch Shellshock angegriffen In Golem IT News fur Profis 7 Oktober 2014 abgerufen am 30 Oktober 2014 Nicole Perlroth Security Experts Expect Shellshock Software Bug in Bash to Be Significant In New York Times 25 September 2014 abgerufen am 1 November 2014 englisch a b BASH PATCH REPORT In GNU org 12 September 2014 abgerufen am 2 November 2014 englisch Tavis Ormandy The bash patch seems incomplete Twitter 24 September 2014 abgerufen am 1 November 2014 englisch a b BASH PATCH REPORT In GNU org 25 September 2014 abgerufen am 2 November 2014 englisch Florian Weimer Non upstream patches for bash In Seclists org 25 September 2014 abgerufen am 3 November 2014 englisch Florian Weimer Re CVE 2014 6271 remote code execution through bash In Openwall Project 25 September 2014 abgerufen am 2 November 2014 englisch Vulnerability Summary for CVE 2014 7186 In National Vulnerability Database NIST 31 Oktober 2014 abgerufen am 2 November 2014 englisch a b BASH PATCH REPORT In GNU org 25 September 2014 abgerufen am 2 November 2014 englisch a b c d Michal Zalewski Bash bug apply Florian s patch now CVE 2014 6277 and CVE 2014 6278 In lcamtuf blog 27 September 2014 abgerufen am 3 November 2014 englisch Vulnerability Summary for CVE 2014 7187 In National Vulnerability Database NIST 31 Oktober 2014 abgerufen am 2 November 2014 englisch Vulnerability Summary for CVE 2014 6277 In National Vulnerability Database NIST 31 Oktober 2014 abgerufen am 2 November 2014 englisch Hanno Bock Immer mehr Lucken in Bash In Golem IT News fur Profis 29 September 2014 abgerufen am 3 November 2014 Nachtrag Florian Weimer Re CVE 2014 6271 remote code execution through bash In Openwall Project 25 September 2014 abgerufen am 2 November 2014 englisch Sean Gallagher New Shellshock patch rushed out to resolve gaps in first fix Updated 26 September 2014 abgerufen am 2 November 2014 englisch Bash Code Injection Vulnerability via Specially Crafted Environment Variables CVE 2014 6271 CVE 2014 7169 Red Hat 2 Oktober 2014 abgerufen am 2 November 2014 englisch Fedora 21 Update bash 4 3 25 2 fc21 Fedora Project 27 September 2014 abgerufen am 2 November 2014 englisch USN 2364 1 Bash vulnerabilities Canonical Ltd 27 September 2014 abgerufen am 2 November 2014 englisch SUSE Security Update Security update for bash OpenSUSE 28 September 2014 abgerufen am 2 November 2014 englisch Juli Clover Apple Releases OS X Bash Update to Fix Shellshock Security Flaw in Mavericks Mountain Lion and Lion In MacRumors com 29 September 2014 abgerufen am 2 Oktober 2014 englisch Apple today released OS X bash update 1 0 for OS X Mavericks to fix a vulnerability in the bash UNIX shell Eric Slivka Apple Releases OS X Yosemite Golden Master Candidate to Developers Update Also Public Beta In MacRumors com 30 September 2014 abgerufen am 2 Oktober 2014 englisch Both the developer and public beta releases include the fix for the Shellshock bash security flaw Apple released fixes for OS X Mavericks Mountain Lion and Lion yesterday TenFourFox Development Bashing bash one more time updated universal 4 3 26 W4 3 27 W4 3 28 covering all known bash flaws 5 Oktober 2014 abgerufen am 1 November 2014 englisch Bashing bash one more time Juha Saarinen Further flaws render Shellshock patch ineffective In itnews com au 29 September 2014 abgerufen am 2 November 2014 Abgerufen von https de wikipedia org w index php title Shellshock Sicherheitslucke amp oldid 233328811