Um grave problema de segurança com o shell Bash - um dos principais componentes dos sistemas operacionais mais parecidos com o UNIX - foi descoberto, com implicações significativas para a segurança dos computadores em todo o mundo.
O problema está presente em todas as versões da linguagem de script Bash até a versão 4.3, que afeta a maioria das máquinas Linux e na totalidade dos computadores que executam o OS X. e pode ver um invasor explorando esse problema para iniciar seu próprio código.
Curioso sobre como funciona e como se proteger? Continue lendo para mais informações.
O que é o Bash?
Bash (em substituição a Bourne Again Shell) é o interpretador de linha de comando padrão usado na maioria das distribuições Linux e BSD, além do OS X. Ele é usado como um método de inicialização de programas, utilitários de sistema e interação com o sistema operacional subjacente. comandos.
Além disso, o Bash (e a maioria dos shells Unix) permite o script das funções do UNIX em pequenos scripts. Similarmente à maioria das linguagens de programação - como Python, JavaScript e CoffeeScript CoffeeScript é JavaScript sem as dores de cabeça CoffeeScript é JavaScript sem as dores de cabeça Eu realmente nunca gostei de escrever JavaScript tanto assim. Desde o dia em que escrevi minha primeira linha, sempre me arrependi de que tudo o que eu escrevo sempre acaba parecendo um Jackson ... Leia Mais - O Bash suporta recursos comuns à maioria das linguagens de programação, como funções, variáveis e escopo.
Bash é quase onipresente, com muitas pessoas usando o termo 'Bash' para se referir a todas as interfaces de linha de comando, independentemente de estarem realmente usando o shell Bash. E se você já instalou o WordPress ou o Ghost através da linha de comando Signed Up para Web Hosting somente via SSH? Não Se Preocupe - Instale Facilmente Qualquer Software Web Assinado Para Web Hosting Apenas SSH? Não se preocupe - Instale facilmente qualquer software da Web Não sabe a primeira coisa sobre como operar o Linux através de sua poderosa linha de comando? Não se preocupe mais. Leia mais, ou encapsulou seu tráfego na web através do SSH Como Tunnel Web Traffic com SSH Secure Shell Como Tunnel Web Traffic com SSH Secure Shell Leia mais, você possivelmente usou Bash.
Está em toda parte. O que torna essa vulnerabilidade ainda mais preocupante.
Dissecando o ataque
A vulnerabilidade - descoberta pelo pesquisador de segurança francês Stéphane Chazleas - causou grande pânico em usuários de Linux e Mac em todo o mundo, bem como atraiu a atenção da imprensa de tecnologia. E por um bom motivo também, como Shellshock poderia potencialmente ver os invasores obtendo acesso a sistemas privilegiados e executando seu próprio código malicioso. É desagradável.
Mas como isso funciona? No nível mais baixo possível, explora como as variáveis de ambiente funcionam. Eles são usados tanto por sistemas semelhantes ao UNIX quanto pelo Windows. O que são variáveis de ambiente e como posso usá-las? [Windows] O que são variáveis de ambiente e como posso usá-las? [Windows] De vez em quando eu aprendo uma pequena dica que me faz pensar "bem, se eu soubesse disso há um ano, teria economizado horas". Lembro-me vivamente de aprender como ... Ler mais para armazenar valores que são necessários para o computador funcionar corretamente. Estes estão disponíveis globalmente disponíveis em todo o sistema e podem armazenar um único valor - como a localização de uma pasta ou um número - ou uma função.
Funções são um conceito encontrado no desenvolvimento de software. Mas o que eles fazem? Simplificando, eles agrupam um conjunto de instruções (representadas por linhas de código), que podem ser executadas posteriormente por outro programa ou por um usuário.
O problema com o interpretador Bash reside em como ele lida com funções de armazenamento como variáveis de ambiente. No Bash, o código encontrado em funções é armazenado entre um par de chaves. No entanto, se um invasor deixar algum código Bash fora da chave, ele será executado pelo sistema. Isso deixa o sistema bem aberto para uma família de ataques conhecidos como ataques de injeção de código.
Os pesquisadores já encontraram potenciais vetores de ataque, explorando como software, como o servidor web Apache Como configurar um servidor Web Apache em 3 etapas fáceis Como configurar um servidor Web Apache em 3 etapas fáceis Seja qual for o motivo, você pode, em alguns ponto deseja obter um servidor web indo. Se você quer se dar acesso remoto a certas páginas ou serviços, você deseja obter uma comunidade ... Leia mais e utilitários comuns do UNIX, como WGET Mastering Wget e Aprendendo alguns truques de download puro Dominando o Wget e aprendendo alguns truques de download arrumado às vezes Não basta salvar um site localmente no seu navegador. Às vezes você precisa de um pouco mais de energia. Para isso, há uma pequena ferramenta de linha de comando conhecida como Wget. Wget é ... Leia Mais interage com o shell e use variáveis de ambiente.
Esse bug bash é ruim (https://t.co/60kPlziiVv) Obtenha um shell reverso em um site vulnerável http://t.co/7JDCvZVU3S by @ortegaalfredo
- Chris Williams (@diodesign) 24 de setembro de 2014
CVE-2014-6271: wget -U "() {teste;}; / usr / bin / touch / tmp / VULNERÁVEL" myserver / cgi-bin / test
- Hernan Ochoa (@hernano) 24 de setembro de 2014
Como você testa para isso?
Curioso para ver se o seu sistema está vulnerável? Descobrir é fácil. Basta abrir um terminal e digitar:
env x='() { :;}; echo vulnerable' bash -c "echo this is a test”
Se o seu sistema estiver vulnerável, ele irá imprimir:
vulnerable this is a test
Enquanto um sistema não afetado produzirá:
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
Como você conserta isso?
No momento da publicação, o bug - que foi descoberto em 24 de setembro de 2014 - deveria ter sido corrigido e corrigido. Você simplesmente precisa atualizar seu sistema. Enquanto as variantes do Ubuntu e do Ubuntu usam o Dash como shell principal, o Bash ainda é usado para algumas funcionalidades do sistema. Como resultado, é aconselhável atualizá-lo. Para fazer isso, digite:
sudo apt-get update sudo apt-get upgrade
No Fedora e em outras variantes do Red Hat, digite:
sudo yum update
A Apple ainda está para liberar uma correção de segurança para isso, embora se o fizerem, eles vão liberá-lo através da loja de aplicativos. Certifique-se de verificar regularmente se há atualizações de segurança.
Chromebooks - que usam o Linux como base e podem executar a maioria das distros sem muito barulho Como instalar o Linux em um Chromebook Como instalar o Linux em um Chromebook Você precisa do Skype no Chromebook? Você sente falta de não ter acesso aos jogos através do Steam? Você está ansiando para usar o VLC Media Player? Em seguida, comece a usar o Linux no seu Chromebook. Leia mais - use Bash para certas funções do sistema e Dash como seu shell principal. O Google deve atualizar na devida temporada.
O que fazer se a sua distro ainda não tiver
Se sua distro ainda não tiver liberado uma correção para o Bash, convém considerar a possibilidade de alterar distribuições ou a instalação de um shell diferente.
Eu recomendo iniciantes confira Fish Shell. Isso vem com vários recursos que não estão atualmente disponíveis no Bash e tornam ainda mais agradável trabalhar com o Linux. Isso inclui sugestões automáticas, cores VGA vibrantes e a capacidade de configurá-lo a partir de uma interface da web.
O autor Andrew Bolster também recomenda que você verifique o zSH, que vem com uma forte integração com o sistema de controle de versão do Git, assim como o autocomplete.
@matthewhughes zsh, porque melhor autocompletar e integrar o git
- Andrew Bolster (@Bolster) 25 de setembro de 2014
A mais assustadora vulnerabilidade do Linux ainda?
Shellshock já foi armado. Em um dia da vulnerabilidade divulgada ao mundo, ela já havia sido usada na natureza para comprometer os sistemas. Mais perturbadoramente, não são apenas usuários domésticos e empresas vulneráveis. Especialistas em segurança estão prevendo que o bug também deixará os sistemas militar e governamental em risco. É quase tão pesadelo quanto o Heartbleed.
Vaca sagrada, há muitos sites .mil e .gov que serão adquiridos pela CVE-2014-6271.
- Kenn White (@kennwhite) 24 de setembro de 2014
Então por favor. Atualize seus sistemas, ok? Deixe-me saber como você se sai e seus pensamentos sobre essa peça. A caixa de comentários está abaixo.
Foto cedida por: zanaca (IMG_3772.JPG)