Hem Securitywatch Allvarlig bash-fel låter angripare kapa Linux- och Mac-datorer

Allvarlig bash-fel låter angripare kapa Linux- och Mac-datorer

Video: Смотрим на macOS 11 и Mac на ARM-чипе (September 2024)

Video: Смотрим на macOS 11 и Mac на ARM-чипе (September 2024)
Anonim

Ett fel upptäckt i Bash, en mycket använd kommandotolk, utgör en kritisk säkerhetsrisk för Unix och Linux-system, säger säkerhetsexperter. Och så att du inte frestas att avfärda problemet som att det bara är ett serverproblem, kom ihåg att Mac OS X använder Bash. Många experter varnar för att det kan vara värre än Heartbleed.

Sårbarheten finns i de flesta versioner av Bash, från version 1.13 till 4.3, enligt Stephane Chazelas, ett Unix- och Linux-nätverk och telekomadministratör på Akamai, som först avslöjade felet. Computer Emergency Response Team (CERT) vid Department of Homeland Security varnade i en varning för att om det utnyttjas kan sårbarheten tillåta en fjärrhacker att köra skadlig kod på ett drabbat system. NIST-sårbarhetsdatabasen har betygsatt felet 10 av 10 i termer av svårighetsgrad.

"Denna sårbarhet är potentiellt en mycket stor affär", säger Tod Beardsley, teknikchef på Rapid7.

Sårbarheten har att göra med hur Bash hanterar miljövariabler. När du tilldelar en funktion till en variabel kommer alla extra koder i definitionen att köras. Så allt en attackerare måste göra är att på något sätt lägga till ett gäng kommandon i den definitionen - en klassisk attack för injektion av kod - och de kommer att kunna kapa den drabbade maskinen på distans. Chazelas och andra forskare som har tittat på bristen har bekräftat att det är lätt att utnyttja om koden injiceras i miljövariabler, som ForceCommand-funktionen i OpenSSH sshd, mod_cgi och mod_cgid-moduler i Apache HTTP-server, eller skript som ställer in miljö för DHCP-klienter.

"Ett stort antal program på Linux och andra UNIX-system använder Bash för att ställa in miljövariabler som sedan används när du kör andra program, " skrev Jim Reavis, chef för Cloud Security Alliance, i ett blogginlägg.

Oundviklig Heartbleed jämförelse

Tänk på två saker om denna sårbarhet: Linux / Unix-servrar används ofta i datacenter runt om i världen och på inbäddade i många enheter; sårbarheten har funnits i flera år. Eftersom Bash är så utbredd, är jämförelsen med Heartbleed, sårbarheten i OpenSSH som upptäcktes redan i april oundviklig. Robert Graham från Errata Security har redan dubblat bristen ShellShock.

Men är det Heartbleed 2? Det är lite svårt att säga. Det är definitivt en allvarlig fråga, eftersom det ger angriparna tillgång till kommandoskalet, som är den gyllene biljetten för att kunna göra vad de vill på den maskinen.

Låt oss tänka när det gäller storlek. Apache-webbservrar driver den stora majoriteten av webbplatser i världen. Som vi lärde oss under Heartbleed finns det många icke-Linux / Unix-maskiner som använder OpenSSH och Telnet. Och DHCP bidrar till att göra det enkelt för oss att hoppa av och på nätverk. Detta innebär att förutom datorer och servrar är det möjligt att andra inbäddade system, såsom routrar, också är sårbara för kapning. Errata Securitys Graham - som har gjort en av de mest noggranna analyserna av felet hittills - utförde några skanningar och hittade lätt några tusen sårbara servrar, men det är lite svårt vid denna tidpunkt att uppskatta storleken på problemet.

Emellertid var Heartbleed-bristen närvarande bara genom att ha en sårbar version av OpenSSL installerad. Det här felet är inte lika enkelt.

"Det är inte så 'enkelt' som 'att köra Bash', " sa Beardsley. För att maskinen ska vara sårbar för attacker måste det finnas ett program (som Apache) som tar in användarinmatning (som en User-Agent-rubrik) och sätter in den i en miljövariabel (som CGI-skript gör), sade han. Moderna webbramar kommer i allmänhet inte att påverkas, sade han.

Det kan vara anledningen till att Graham sa medan ShellShock är lika svårt som Heartbleed, "det finns lite behov av att rusa och fixa detta fel. Dina primära servrar är förmodligen inte sårbara för det här felet."

Men innan vi spricker om routrar och inbäddade enheter (och Internet of Things), kom ihåg att inte alla system använder Bash. Ubuntu och andra Debian-härledda system kan använda en annan kommandotolk som heter Dash. Inbyggda enheter använder ofta en som heter BusyBox, som inte är sårbar, sa Roel Schouwenberg, seniorforskare vid Kaspersky Lab, på Twitter.

Sårbart eller inte?

Du kan kontrollera om du är sårbar genom att köra följande kommandon (kod tillhandahållen av CSA). Öppna ett terminalfönster och ange följande kommando vid $ prompten:

env x = '() {:;}; echo sårbar 'bash -c "echo this is a test"

Om du är sårbar kommer det att skriva ut:

sårbar

detta är ett prov

Om du har uppdaterat Bash ser du bara:

detta är ett prov

Normalt skulle jag säga gå vidare och lappa direkt, men det visar sig att de tillgängliga korrigeringarna inte är fullständiga. Det finns fortfarande sätt att injicera kommandon via miljövariabler även efter lappning av Bash, sade Red Hat i morse. Om du bara har en handfull maskiner kan det vara värt att gå vidare och använda de tillgängliga lapparna, men om du har tusentals maskiner att korrigera är det kanske värt att vänta några timmar till. Alla uppströms Linux-distributioner (och förhoppningsvis Apple!) Arbetar med en fix just nu.

"Kom ihåg att även om du aldrig har hört talas om Bash tidigare, eller inte kör det, kan du mycket väl ha programvara som körs på din dator som skapar Bash-processer", säger den oberoende säkerhetskonsulenten Graham Cluley.

Allvarlig bash-fel låter angripare kapa Linux- och Mac-datorer