È stato scoperto un grave problema di sicurezza con la shell di Bash - un componente importante di entrambi i sistemi operativi simili a UNIX - con importanti implicazioni per la sicurezza dei computer in tutto il mondo.
Il problema è presente in tutte le versioni del linguaggio di scripting di Bash fino alla versione 4.3, che influisce sulla maggior parte delle macchine Linux e su tutti i computer che eseguono OS X. e può vedere un utente malintenzionato che sfrutta questo problema per lanciare il proprio codice.
Sei curioso di sapere come funziona e come proteggerti? Continua a leggere per ulteriori informazioni.
Cos'è Bash?
Bash (che sta per Bourne Again Shell) è l'interprete di riga di comando predefinito utilizzato sulla maggior parte delle distribuzioni Linux e BSD, oltre a OS X. Viene utilizzato come metodo di avvio dei programmi, utilizzando le utilità di sistema e interagendo con il sistema operativo sottostante avviando comandi.
Inoltre, Bash (e la maggior parte delle shell Unix) consentono lo scripting delle funzioni UNIX in piccoli script. In modo simile alla maggior parte dei linguaggi di programmazione, come Python, JavaScript e CoffeeScript, CoffeeScript è JavaScript senza i mal di testa CoffeeScript è JavaScript senza i mal di testa Non mi è mai piaciuto scrivere JavaScript così tanto. Dal giorno in cui ho scritto la mia prima linea usandola, mi sono sempre dispiaciuto per il fatto che qualsiasi cosa io scriva in esso finisca sempre per sembrare un Jackson ... Read More - Bash supporta funzionalità comuni con la maggior parte dei linguaggi di programmazione, come funzioni, variabili e scopo.
Bash è quasi onnipresente, con molte persone che usano il termine "Bash" per riferirsi a tutte le interfacce della riga di comando, indipendentemente dal fatto che stiano effettivamente usando la shell Bash. E se hai mai installato WordPress o Ghost tramite la linea di comando Firmato per il Web hosting SSH-only? Non preoccuparti - Installa facilmente qualsiasi software Web firmato per l'hosting Web SSH-only? Non preoccuparti: installa facilmente qualsiasi software Web. Non conosci la prima cosa che riguarda l'utilizzo di Linux attraverso la sua potente linea di comando? Non preoccuparti più. Per saperne di più, o tunnelato il traffico web attraverso SSH Come Tunnel Web Traffic con SSH Secure Shell Come Tunnel Web Traffic con SSH Secure Shell Leggi di più, hai probabilmente usato Bash.
È ovunque. Il che rende questa vulnerabilità ancora più preoccupante.
Dissecting the Attack
La vulnerabilità - scoperta dal ricercatore francese di sicurezza Stéphane Chazleas - ha causato una grande quantità di panico negli utenti Linux e Mac in tutto il mondo, oltre ad attirare l'attenzione della stampa tecnologica. E per una buona ragione, poiché Shellshock potrebbe potenzialmente vedere gli aggressori ottenere l'accesso a sistemi privilegiati ed eseguire il proprio codice dannoso. È brutto.
Ma come funziona? Al livello più basso possibile, sfrutta come funzionano le variabili di ambiente. Questi sono usati sia da sistemi simil-UNIX che da Windows Quali sono le variabili d'ambiente e come posso usarle? [Windows] Quali sono le variabili d'ambiente e come posso usarle? [Windows] Ogni tanto apprendo un piccolo consiglio che mi fa pensare "beh, se lo sapessi, un anno fa, mi avrebbe risparmiato ore di tempo". Ricordo vividamente di aver imparato come ... Leggi di più per memorizzare i valori necessari al corretto funzionamento del computer. Sono disponibili globalmente su tutto il sistema e possono memorizzare un singolo valore, ad esempio la posizione di una cartella o un numero, o una funzione.
Le funzioni sono un concetto che si trova nello sviluppo del software. Ma cosa fanno? In poche parole, raggruppano un insieme di istruzioni (rappresentate da linee di codice), che possono essere successivamente eseguite da un altro programma o da un utente.
Il problema con l'interprete di Bash sta nel modo in cui gestisce la memorizzazione delle funzioni come variabili d'ambiente. In Bash, il codice trovato nelle funzioni viene memorizzato tra una coppia di parentesi graffe. Tuttavia, se un utente malintenzionato lascia un codice Bash al di fuori della parentesi graffa, verrà eseguito dal sistema. Questo lascia il sistema spalancato per una famiglia di attacchi noti come attacchi di iniezione di codice.
I ricercatori hanno già trovato potenziali vettori di attacco sfruttando il modo in cui software come il server Web Apache Come configurare un server Web Apache in 3 semplici passaggi Come configurare un server Web Apache in 3 semplici passaggi Qualunque sia il motivo, è possibile che in alcuni casi punto vuole ottenere un server web in corso. Sia che tu voglia concedervi l'accesso remoto a determinate pagine o servizi, vuoi ottenere una community ... Leggi di più, e utility UNIX comuni come WGET Mastering Wget & Learning Alcuni trucchetti per il download ordinario Mastering Wget & Learning Alcuni trucchetti per il download a volte non è sufficiente per salvare un sito Web localmente dal tuo browser. A volte hai bisogno di un po 'più di energia. Per questo, c'è un piccolo e semplice strumento a linea di comando noto come Wget. Wget è ... Leggi di più interagisci con la shell e usa le variabili d'ambiente.
Quel bug bash è cattivo (https://t.co/60kPlziiVv) Ottieni una shell inversa su un sito vulnerabile http://t.co/7JDCvZVU3S di @ortegaalfredo
- Chris Williams (@diodesign), 24 settembre 2014
CVE-2014-6271: wget -U "() {test;}; / usr / bin / touch / tmp / VULNERABLE" myserver / cgi-bin / test
- Hernan Ochoa (@hernano), 24 settembre 2014
Come ci provi?
Sei curioso di vedere se il tuo sistema è vulnerabile? Scoprire è facile. Basta aprire un terminale e digitare:
env x='() { :;}; echo vulnerable' bash -c "echo this is a test”
Se il tuo sistema è vulnerabile, verrà emesso:
vulnerable this is a test
Mentre un sistema inalterato produrrà:
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
Come lo aggiustate?
Al momento della pubblicazione, il bug - che è stato scoperto il 24 settembre 2014 - avrebbe dovuto essere riparato e corretto. Hai semplicemente bisogno di aggiornare il tuo sistema. Mentre le varianti di Ubuntu e Ubuntu usano Dash come shell principale, Bash viene comunque utilizzato per alcune funzionalità di sistema. Di conseguenza, si consiglia di aggiornarlo. Per farlo, digita:
sudo apt-get update sudo apt-get upgrade
Su Fedora e altre varianti Red Hat, digitare:
sudo yum update
Apple deve ancora rilasciare una correzione di sicurezza per questo, anche se lo fanno, lo rilasceranno attraverso l'app store. Assicurati di controllare regolarmente gli aggiornamenti di sicurezza.
I Chromebook, che usano Linux come fondamento, e possono eseguire la maggior parte delle distro senza troppi problemi Come installare Linux su un Chromebook Come installare Linux su un Chromebook Avete bisogno di Skype sul Chromebook? Ti manca non avere accesso ai giochi tramite Steam? Ti stai struggendo per usare VLC Media Player? Quindi inizia a utilizzare Linux sul tuo Chromebook. Leggi altro: usa Bash per alcune funzioni di sistema e Dash come shell principale. Google dovrebbe aggiornare a tempo debito.
Cosa fare se il tuo Distro non ha ancora risolto Bash
Se la tua distribuzione non ha ancora rilasciato una correzione per Bash, potresti prendere in considerazione la possibilità di modificare le distribuzioni o installare una shell diversa.
Consiglierei ai principianti di controllare Fish Shell. Questo include una serie di funzionalità che non sono attualmente disponibili in Bash e rendono ancora più piacevole lavorare con Linux. Questi includono autosuggestions, colori VGA vivaci e la possibilità di configurarlo da un'interfaccia web.
L'altro autore di MakeUseOf, Andrew Bolster, ti consiglia anche di controllare zSH, che viene fornito con una stretta integrazione con il sistema di controllo della versione Git e con il completamento automatico.
@matthewhughes zsh, meglio autocomplete e integrazione con git
- Andrew Bolster (@Bolster), 25 settembre 2014
La più spaventosa vulnerabilità di Linux ancora?
Shellshock è già stato armato. Entro un giorno dalla divulgazione della vulnerabilità al mondo, era già stato utilizzato in natura per compromettere i sistemi. Più preoccupante, non sono solo gli utenti domestici e le imprese a essere vulnerabili. Gli esperti di sicurezza prevedono che il bug lascerà a rischio anche i sistemi militari e governativi. È quasi da incubo come lo era Heartbleed.
Holy cow ci sono molti siti .mil e .gov che diventeranno di proprietà di CVE-2014-6271.
- Kenn White (@ kennwhite), 24 settembre 2014
Quindi per favore. Aggiorna i tuoi sistemi, ok? Fammi sapere come vai e cosa pensi di questo pezzo. La casella dei commenti è sotto.
Credito fotografico: zanaca (IMG_3772.JPG)