Et alvorligt sikkerhedsproblem med Bash-skalen - en vigtig del af begge de fleste UNIX-lignende operativsystemer - er blevet opdaget, med betydelige konsekvenser for computersikkerhed over hele verden.
Problemet er til stede i alle versioner af Bashs scriptsprog frem til version 4.3, hvilket påvirker et flertal af Linux-maskiner og hele computeren, der kører OS X. Og kan se, at en hacker udnytter dette problem for at starte deres egen kode.
Nysgerrig om, hvordan det virker, og hvordan man beskytter dig selv? Læs videre for mere information.
Hvad er Bash?
Bash (står for Bourne Again Shell) er standard kommandolinjeprinter anvendt til de fleste Linux- og BSD-distributioner, ud over OS X. Den bruges som en metode til at starte programmer, bruge systemværktøjer og interagere med det underliggende operativsystem ved at starte kommandoer.
Derudover tillader Bash (og de fleste Unix-skaller) scripting af UNIX-funktioner i små scripts. På samme måde som de fleste programmeringssprog - som Python, JavaScript og CoffeeScript CoffeeScript, er JavaScript uden hovedpine. CoffeeScript er JavaScript uden hovedpine. Jeg har aldrig rigtig ønsket at skrive JavaScript så meget. Fra den dag, jeg skrev min første linje ved hjælp af den, har jeg altid foragtet, at hvad jeg skriver i det altid ender med at ligne en Jackson ... Læs mere - Bash understøtter funktioner, der er fælles med de fleste programmeringssprog, såsom funktioner, variabler og rækkevidde.
Bash er næsten allestedsnærværende, hvor mange mennesker bruger udtrykket 'Bash' til at henvise til alle kommandolinjegrensesnitt, uanset om de rent faktisk bruger Bash-skalen. Og hvis du nogensinde har installeret WordPress eller Ghost via kommandolinjen Tilmeldt til SSH-only Web Hosting? Vær ikke bekymret - nemt installer enhver websoftware, der er signeret til SSH-only webhosting? Vær ikke bekymret - nemt installer en hvilken som helst websoftware. Kender ikke den første ting ved at operere Linux via dens kraftfulde kommandolinje? Bekymre ikke mere. Læs mere, eller tunnelet din webtrafik gennem SSH Sådan tunnles webtrafik med SSH Secure Shell Sådan tunnelbaner du WebTrafik med SSH Secure Shell Læs mere, du har muligvis brugt Bash.
Det er overalt. Hvilket gør denne sårbarhed mere bekymrende.
Dissecting Attack
Sårbarheden - opdaget af den franske sikkerhedsforsker Stéphane Chazleas - har skabt stor panik i Linux- og Mac-brugere verden over, samt tiltrukket opmærksomheden i teknologipressen. Og med god grund også, da Shellshock potentielt kunne se angriberne få adgang til privilegerede systemer og udføre deres egen ondsindede kode. Det er grimt.
Men hvordan virker det? På det lavest mulige niveau udnytter den, hvordan miljøvariabler fungerer. Disse bruges både af UNIX-lignende systemer og Windows Hvad er miljøvariabler, og hvordan kan jeg bruge dem? [Windows] Hvad er miljøvariabler, og hvordan kan jeg bruge dem? [Windows] Nu og da lærer jeg et lille tip, der får mig til at tænke "Nå, hvis jeg vidste det for et år siden, ville det have sparet mig timer." Jeg husker levende at lære at ... Læs mere for at gemme værdier, der kræves for at computeren skal fungere korrekt. Disse er tilgængelige globalt tilgængelige på tværs af systemet og kan enten gemme en enkelt værdi - som f.eks. Placeringen af en mappe eller et nummer - eller en funktion.
Funktioner er et koncept, der findes i softwareudvikling. Men hvad gør de? Enkelt sagt sætter de et sæt instruktioner (repræsenteret af kodeord), som senere kan udføres af et andet program eller en bruger.
Problemet med Bash-tolk ligger i, hvordan det håndterer lagring af funktioner som miljøvariabler. I Bash er koden, der findes i funktioner, gemt mellem et par krøllede bånd. Men hvis en angriber efterlader noget Bash-kode uden for den krøllede brace, vil den blive udført af systemet. Dette efterlader systemet bredt åbent for en familie af angreb kendt som kodeinjektionsangreb.
Forskere har allerede fundet potentielle angrebsvektorer ved at udnytte, hvordan software som Apache webserver Sådan opsætter du en Apache Web Server i 3 enkle trin Sådan opsættes en Apache Web Server i 3 nemme trin Uanset årsagen er det mulig at du ved nogle point ønsker at få en webserver gået. Uanset om du vil give dig fjernadgang til bestemte sider eller tjenester, vil du få et fællesskab ... Læs mere, og fælles UNIX-hjælpeprogrammer som WGET Mastering Wget & Learning Nogle Pæne Downloading Tricks Mastering Wget & Learning Nogle Pæne Downloading Tricks Sometimes det er bare ikke nok til at gemme et websted lokalt fra din browser. Nogle gange har du brug for lidt mere strøm. Til dette er der et pænt lille kommandolinjeværktøj kendt som Wget. Wget er ... Læs mere Interagere med shell og brug miljøvariabler.
Den bash bug er dårlig (https://t.co/60kPlziiVv) Få en omvendt shell på en sårbar hjemmeside http://t.co/7JDCvZVU3S af @ortegaalfredo
- Chris Williams (@diodesign) 24. september 2014
CVE-2014-6271: wget -U "() {test;}; / usr / bin / touch / tmp / VULNERABLE" myserver / cgi-bin / test
- Hernan Ochoa (@hernano) 24. september 2014
Hvordan testes du for det?
Nysgerrig at se, om dit system er sårbart? Det er nemt at finde ud af det. Bare åbn en terminal og skriv:
env x='() { :;}; echo vulnerable' bash -c "echo this is a test”
Hvis dit system er sårbart, vil det så blive output:
vulnerable this is a test
Mens et upåvirket system udsender:
env x='() { :;}; echo vulnerable' bash -c "echo this is a test" bash: warning: x: ignoring function definition attempt bash: error importing function definition for `x' this is a test
Hvordan løser du det?
På tidspunktet for offentliggørelsen skulle bugten - som blev opdaget den 24. september 2014 - have været rettet og patched. Du skal blot opdatere dit system. Mens Ubuntu og Ubuntu-varianter bruger Dash som deres vigtigste shell, bruges Bash stadig til nogle systemfunktionaliteter. Som følge heraf vil du blive bedt om at opdatere den. For at gøre det skal du skrive:
sudo apt-get update sudo apt-get upgrade
På Fedora og andre Red Hat varianter, skriv:
sudo yum update
Apple er endnu ikke frigivet en sikkerhedsfejl til dette, selv om de gør det, vil de frigive det via appbutikken. Sørg for, at du regelmæssigt tjekker efter sikkerhedsopdateringer.
Chromebooks - som bruger Linux som grundlag, og kan køre de fleste distroer uden meget travlhed Sådan installeres Linux på en Chromebook Sådan installeres Linux på en Chromebook Har du brug for Skype på din Chromebook? Mangler du ikke at have adgang til spil via Steam? Er du spændt på at bruge VLC Media Player? Start derefter med at bruge Linux på din Chromebook. Læs mere - brug Bash til bestemte systemfunktioner og Dash som deres vigtigste shell. Google bør skulle opdatere i løbet af sæsonen.
Hvad skal du gøre, hvis din distro ikke har fast bash endnu
Hvis din distro endnu ikke har frigivet en rettelse til Bash, kan du måske overveje at ændre distributioner eller installere en anden skal.
Jeg vil anbefale begyndere tjek Fish Shell. Dette kommer med en række funktioner, der ikke er tilgængelige i Bash, og gør det endnu mere behageligt at arbejde med Linux. Disse omfatter autosuggestions, levende VGA farver og evnen til at konfigurere det fra en web-interface.
Fellow MakeUseOf forfatter Andrew Bolster anbefaler også, at du tjekker ud zSH, som følger med tæt integration med Git version styringssystemet samt autofuldførelse.
@matthewhughes zsh, fordi bedre autofuldførelse og git integration
- Andrew Bolster (@Bolster) 25. september 2014
Den såreste Linux sårbarhed endnu?
Shellshock er allerede blevet våben. Inden for en dag, hvor sårbarheden blev afsløret for verden, var den allerede blevet anvendt i naturen til at kompromittere systemer. Mere bekymrende er det ikke bare hjemmebrugere og virksomheder, der er sårbare. Sikkerhedseksperter forudser, at fejlen også vil forlade militære og statslige systemer. Det er næsten lige så mareridt som Heartbleed var.
Hellige ko er der mange .mil og .gov sites, der vil blive ejet af CVE-2014-6271.
- Kenn White (@kennwhite) 24. september 2014
Så venligst. Opdater dine systemer, okay? Lad mig vide, hvordan du går videre og dine tanker om dette stykke. Kommentarer boksen er nedenfor.
Fotokredit: zanaca (IMG_3772.JPG)