AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 927188
Accepted
muru
muru
Asked: 2017-06-20 17:39:39 +0800 CST2017-06-20 17:39:39 +0800 CST 2017-06-20 17:39:39 +0800 CST

O que é Stack Clash e o que posso fazer sobre isso?

  • 772

Ouvi falar de uma nova vulnerabilidade chamada Stack Clash que aparentemente afeta vários sistemas semelhantes ao Unix (não apenas o Linux, mas também os BSDs, Solaris).

  • O que é isso? Como um bug multi-OS aconteceu?
  • Como proteger meus sistemas?
security
  • 2 2 respostas
  • 9332 Views

2 respostas

  • Voted
  1. Best Answer
    muru
    2017-06-20T17:45:15+08:002017-06-20T17:45:15+08:00

    Stack Clash é um exploit baseado em uma técnica bastante antiga. A memória usada por um processo é dividida em duas regiões - a pilha e o heap . Geralmente se imagina a pilha crescendo para baixo e a pilha crescendo para cima. O que acontece quando um cresce o suficiente para colidir com o outro? De maneira mais geral, o que acontece quando a pilha cresce o suficiente para invadir espaços de memória não relacionados? A vulnerabilidade original tem 12 anos e os desenvolvedores do kernel do Linux a corrigiram temporariamente usando uma página de guarda . No entanto, os pesquisadores da Qualys conseguiram explorar isso, apesar da página de guarda.

    Relatórios da Ars Technica :

    As vulnerabilidades do Stack Clash lentamente ganharam consciência generalizada, primeiro em 2005 com as descobertas do pesquisador de segurança Gaël Delalleau e cinco anos depois com o lançamento de uma vulnerabilidade do Linux pelo pesquisador Rafal Wojtczuk. Os desenvolvedores do Linux introduziram uma proteção destinada a evitar conflitos de pilha, mas a pesquisa de hoje demonstra que é relativamente fácil para os invasores contornar essa medida.

    O principal ataque de prova de conceito desenvolvido pela Qualys explora uma vulnerabilidade indexada como CVE-2017-1000364. Os pesquisadores da Qualys também desenvolveram ataques que usam Stack Clash para explorar vulnerabilidades separadas, incluindo CVE-2017-1000365 e CVE-2017-1000367. Por exemplo, quando combinado com CVE-2017-1000367, uma falha corrigida recentemente no Sudo também descoberta pela Qualys, os usuários locais podem explorar o Sudo para obter privilégios de root completos em uma gama muito maior de sistemas operacionais. Até agora, a Qualys não conseguiu fazer com que os exploits executassem código remotamente. O único aplicativo remoto que eles investigaram foi o servidor de correio Exim, que coincidentemente se revelou inexplorável. A Qualys disse que não pode descartar a possibilidade de que tais explorações de execução remota de código existam. A Qualys disse que lançará as explorações de prova de conceito em uma data posterior,

    [...] Muito mais informações estão disponíveis nesta detalhada assessoria técnica da Qualys e nesta análise técnica da grsecurity .

    Citando o artigo LWN sobre a correção original de 2010:

    Como o Linux não separa a pilha de processo e as páginas de heap, é possível ultrapassar uma página de pilha em uma página de heap adjacente. Isso significa que uma pilha suficientemente profunda (de uma chamada recursiva, por exemplo) pode acabar usando memória no heap. Um programa que pode gravar nessa página heap (por exemplo, um cliente X) pode então manipular o endereço de retorno de uma das chamadas para pular para um local de sua escolha. Isso significa que o cliente pode fazer com que o servidor execute o código de sua escolha — execução arbitrária de código — que pode ser aproveitado para obter privilégios de root.

    A descrição acima se aplica a vários kernels do tipo Unix.

    Embora a Ars Technica observe uma solução temporária mencionada no relatório da Qualys ("defina o  RLIMIT STACK e RLIMIT_AS  de  usuários locais  e  serviços remotos  para um valor baixo"), deve-se observar que isso não protege necessariamente contra essa exploração . A única saída segura atualmente é atualizar. De acordo com a análise grsecurity:

    Deve ficar claro que as tentativas somente do kernel de resolver esse problema serão necessariamente sempre incompletas, pois o problema real está na falta de análise de pilha. Uma vez que a solução alternativa real depende da reconstrução de toda a área do usuário, esta é provavelmente a única solução viável no futuro próximo.

    O melhor que podemos fazer agora é atualizar o kernel para uma versão corrigida.

    O exploit de 2010 usou o servidor X, este usou o sudo, o próximo pode ser qualquer um de uma infinidade de programas userland que, em algum ponto, são executados com privilégios elevados.

    A Qualys ainda não publicou nenhum código de prova de conceito para explorações (eles planejam fazê-lo posteriormente).


    Existem vários avisos de segurança do Ubuntu associados ao CVE-2017-1000364:

    • USN-3324-1 (atualizado)
    • USN-3325-1 - Raspberry Pi 2 (atualizado)
    • USN-3326-1
    • USN-3327-1 - Raspberry Pi 2
    • USN-3328-1
    • USN-3329-1
    • USN-3330-1 - Qualcomm Snapdragon
    • USN-3331-1 - AWS
    • USN-3332-1 - Raspberry Pi 2
    • USN-3333-1 - HWE
    • USN-3334-1 - Xenial HWE
    • USN-3335-1
    • USN-3335-2 - 12.04 ESM
    • USN-3338-1 - 12.04 ESM

    Observe também que o rastreador CVE lista várias combinações de versão/kernel como correções pendentes.

    Geralmente, a correção mais simples é atualizar seus sistemas para o pacote de kernel mais recente o mais rápido possível.

    As versões relevantes do kernel dos USNs (selecionadas usando for i in {24..35}; curl -s https://www.ubuntu.com/usn/usn-33$i-1/ | pup 'dl:nth-last-of-type(1)'):

    Ubuntu 17.04:
    linux-image-4.10.0-24-lowlatency 4.10.0-24.28
    linux-image-generic-lpae 4.10.0.24.26
    linux-image-generic 4.10.0.24.26
    linux-image-4.10.0-24-generic-lpae 4.10.0-24.28
    linux-image-4.10.0-24-generic 4.10.0-24.28
    linux-image-lowlatency 4.10.0.24.26
    Ubuntu 17.04:
    linux-image-4.10.0-1008-raspi2 4.10.0-1008.11
    linux-image-raspi2 4.10.0.1008.10
    Ubuntu 16.10:
    linux-image-powerpc-smp 4.8.0.56.69
    linux-image-powerpc-e500mc 4.8.0.56.69
    linux-image-4.8.0-56-powerpc-smp 4.8.0-56.61
    linux-image-4.8.0-56-powerpc-e500mc 4.8.0-56.61
    linux-image-4.8.0-56-lowlatency 4.8.0-56.61
    linux-image-generic 4.8.0.56.69
    linux-image-4.8.0-56-generic 4.8.0-56.61
    linux-image-powerpc64-emb 4.8.0.56.69
    linux-image-virtual 4.8.0.56.69
    linux-image-powerpc64-smp 4.8.0.56.69
    linux-image-4.8.0-56-generic-lpae 4.8.0-56.61
    linux-image-generic-lpae 4.8.0.56.69
    linux-image-lowlatency 4.8.0.56.69
    linux-image-4.8.0-56-powerpc64-emb 4.8.0-56.61
    Ubuntu 16.10:
    linux-image-4.8.0-1040-raspi2 4.8.0-1040.44
    linux-image-raspi2 4.8.0.1040.44
    Ubuntu 16.04 LTS:
    linux-image-powerpc64-smp-lts- utopic 4.4.0.81.87
    linux-image-generic-lts-wily 4.4.0.81.87
    linux-image-generic-lts- utopic 4.4.0.81.87
    linux-image-4.4.0-81-generic-lpae 4.4.0-81.104
    linux-image-powerpc64-emb-lts-vivid 4.4.0.81.87
    linux-image-powerpc-e500mc 4.4.0.81.87
    linux-image-generic-lpae-lts-xenial 4.4.0.81.87
    linux-image-generic-lpae-lts- utopic 4.4.0.81.87
    linux-image-powerpc-e500mc-lts-xenial 4.4.0.81.87
    linux-image-4.4.0-81-powerpc64-emb 4.4.0-81.104
    linux-image-powerpc-e500mc-lts-wily 4.4.0.81.87
    linux-image-4.4.0-81-powerpc-e500mc 4.4.0-81.104
    linux-image-generic-lpae-lts-wily 4.4.0.81.87
    linux-image-virtual-lts-vivid 4.4.0.81.87
    linux-image-virtual-lts-utópico 4.4.0.81.87
    linux-image-virtual 4.4.0.81.87
    linux-image-powerpc64-emb-lts-wily 4.4.0.81.87
    linux-image-lowlatency-lts-vivid 4.4.0.81.87
    linux-image-powerpc-e500mc-lts-vivid 4.4.0.81.87
    linux-image-powerpc64-emb 4.4.0.81.87
    linux-image-powerpc-smp-lts-xenial 4.4.0.81.87
    linux-image-4.4.0-81-generic 4.4.0-81.104
    linux-image-powerpc64-smp-lts-vivid 4.4.0.81.87
    linux-image-lowlatency-lts-wily 4.4.0.81.87
    linux-image-4.4.0-81-lowlatency 4.4.0-81.104
    linux-image-generic 4.4.0.81.87
    linux-image-lowlatency-lts-xenial 4.4.0.81.87
    linux-image-powerpc64-smp-lts-xenial 4.4.0.81.87
    linux-image-powerpc64-emb-lts- utopic 4.4.0.81.87
    linux-image-generic-lts-xenial 4.4.0.81.87
    linux-image-generic-lts-vivid 4.4.0.81.87
    linux-image-powerpc-e500mc-lts- utopic 4.4.0.81.87
    linux-image-powerpc-smp 4.4.0.81.87
    linux-image-4.4.0-81-powerpc-smp 4.4.0-81.104
    linux-image-generic-lpae-lts-vivid 4.4.0.81.87
    linux-image-generic-lpae 4.4.0.81.87
    linux-image-powerpc64-smp-lts-wily 4.4.0.81.87
    linux-image-powerpc64-emb-lts-xenial 4.4.0.81.87
    linux-image-powerpc-smp-lts-wily 4.4.0.81.87
    linux-image-virtual-lts-wily 4.4.0.81.87
    linux-image-powerpc64-smp 4.4.0.81.87
    linux-image-4.4.0-81-powerpc64-smp 4.4.0-81.104
    linux-image-powerpc-smp-lts- utopic 4.4.0.81.87
    linux-image-powerpc-smp-lts-vivid 4.4.0.81.87
    linux-image-lowlatency 4.4.0.81.87
    linux-image-virtual-lts-xenial 4.4.0.81.87
    linux-image-lowlatency-lts- utopic 4.4.0.81.87
    Ubuntu 16.04 LTS:
    linux-image-4.4.0-1016-gke 4.4.0-1016.16
    Ubuntu 16.04 LTS:
    linux-image-snapdragon 4.4.0.1061.54
    linux-image-4.4.0-1061-snapdragon 4.4.0-1061.66
    Ubuntu 16.04 LTS:
    linux-image-4.4.0-1020-aws 4.4.0-1020.29
    Ubuntu 16.04 LTS:
    linux-image-raspi2 4.4.0.1059.60
    linux-image-4.4.0-1059-raspi2 4.4.0-1059.67
    Ubuntu 16.04 LTS:
    linux-image-4.8.0-56-powerpc-smp 4.8.0-56.61~16.04.1
    linux-image-4.8.0-56-powerpc-e500mc 4.8.0-56.61~16.04.1
    linux-image-4.8.0-56-lowlatency 4.8.0-56.61~16.04.1
    linux-image-4.8.0-56-generic 4.8.0-56.61~16.04.1
    linux-image-generic-hwe-16.04 4.8.0.56.27
    linux-image-lowlatency-hwe-16.04 4.8.0.56.27
    linux-image-4.8.0-56-generic-lpae 4.8.0-56.61~16.04.1
    linux-image-virtual-hwe-16.04 4.8.0.56.27
    linux-image-generic-lpae-hwe-16.04 4.8.0.56.27
    linux-image-4.8.0-56-powerpc64-emb 4.8.0-56.61~16.04.1
    Ubuntu 14.04 LTS:
    linux-image-powerpc-smp-lts-xenial 4.4.0.81.66
    linux-image-lowlatency-lts-xenial 4.4.0.81.66
    linux-image-4.4.0-81-powerpc-smp 4.4.0-81.104~14.04.1
    linux-image-4.4.0-81-powerpc-e500mc 4.4.0-81.104~14.04.1
    linux-image-4.4.0-81-lowlatency 4.4.0-81.104~14.04.1
    linux-image-4.4.0-81-generic-lpae 4.4.0-81.104~14.04.1
    linux-image-generic-lpae-lts-xenial 4.4.0.81.66
    linux-image-powerpc64-smp-lts-xenial 4.4.0.81.66
    linux-image-4.4.0-81-generic 4.4.0-81.104~14.04.1
    linux-image-4.4.0-81-powerpc64-smp 4.4.0-81.104~14.04.1
    linux-image-generic-lts-xenial 4.4.0.81.66
    linux-image-powerpc64-emb-lts-xenial 4.4.0.81.66
    linux-image-powerpc-e500mc-lts-xenial 4.4.0.81.66
    linux-image-virtual-lts-xenial 4.4.0.81.66
    linux-image-4.4.0-81-powerpc64-emb 4.4.0-81.104~14.04.1
    Ubuntu 14.04 LTS:
    linux-image-powerpc-e500mc 3.13.0.121.131
    linux-image-lowlatency-pae 3.13.0.121.131
    linux-image-3.13.0-121-powerpc64-emb 3.13.0-121.170
    linux-image-generic-pae 3.13.0.121.131
    linux-image-3.13.0-121-powerpc-smp 3.13.0-121.170
    linux-image-3.13.0-121-powerpc-e500mc 3.13.0-121.170
    linux-image-3.13.0-121-powerpc-e500 3.13.0-121.170
    linux-image-3.13.0-121-generic-lpae 3.13.0-121.170
    linux-image-generic-lts-quantal 3.13.0.121.131
    linux-image-virtual 3.13.0.121.131
    linux-image-powerpc-e500 3.13.0.121.131
    linux-image-generic-lts-trusty 3.13.0.121.131
    linux-image-3.13.0-121-generic 3.13.0-121.170
    linux-image-omap 3.13.0.121.131
    linux-image-powerpc64-emb 3.13.0.121.131
    linux-image-3.13.0-121-powerpc64-smp 3.13.0-121.170
    linux-image-generic 3.13.0.121.131
    linux-image- highbank 3.13.0.121.131
    linux-image-generic-lts-saucy 3.13.0.121.131
    linux-image-powerpc-smp 3.13.0.121.131
    linux-image-3.13.0-121-lowlatency 3.13.0-121.170
    linux-image-generic-lpae-lts-saucy 3.13.0.121.131
    linux-image-generic-lts-raring 3.13.0.121.131
    linux-image-powerpc64-smp 3.13.0.121.131
    linux-image-generic-lpae-lts-trusty 3.13.0.121.131
    linux-image-generic-lpae 3.13.0.121.131
    linux-image-lowlatency 3.13.0.121.131
    Ubuntu 12.04 ESM:
    linux-image-powerpc-smp 3.2.0.128.142
    linux-image-3.2.0-128-virtual 3.2.0-128.173
    linux-image-3.2.0-128-generic-pae 3.2.0-128.173
    linux-image-generic 3.2.0.128.142
    linux-image-generic-pae 3.2.0.128.142
    linux-image-highbank 3.2.0.128.142
    linux-image-3.2.0-128-highbank 3.2.0-128.173
    linux-image-3.2.0-128-powerpc-smp 3.2.0-128.173
    linux-image-virtual 3.2.0.128.142
    linux-image-powerpc64-smp 3.2.0.128.142
    linux-image-3.2.0-128-omap 3.2.0-128.173
    linux-image-3.2.0-128-powerpc64-smp 3.2.0-128.173
    linux-image-omap 3.2.0.128.142
    linux-image-3.2.0-128-generic 3.2.0-128.173
    Ubuntu 12.04 LTS:
    linux-image-3.13.0-121-generic 3.13.0-121.170~precise1
    linux-image-generic-lpae-lts-trusty 3.13.0.121.112
    linux-image-generic-lts-trusty 3.13.0.121.112
    linux-image-3.13.0-121-generic-lpae 3.13.0-121.170~precise1

    sudo

    O bug do sudo mencionado acima é coberto pelo USN-3304-1 , de 30 de maio de 2017:

    Ubuntu 17.04:
    sudo-ldap 1.8.19p1-1ubuntu1.1
    sudo 1.8.19p1-1ubuntu1.1
    Ubuntu 16.10:
    sudo-ldap 1.8.16-0ubuntu3.2
    sudo 1.8.16-0ubuntu3.2
    Ubuntu 16.04 LTS:
    sudo-ldap 1.8.16-0ubuntu1.4
    sudo 1.8.16-0ubuntu1.4
    Ubuntu 14.04 LTS:
    sudo-ldap 1.8.9p5-1ubuntu1.4
    sudo 1.8.9p5-1ubuntu1.4
    • 30
  2. user7761803
    2017-06-22T04:21:57+08:002017-06-22T04:21:57+08:00

    Como um bug multi-OS aconteceu?

    Para abordar especificamente esta parte da sua pergunta:

    Esse problema surge devido ao uso de um espaço de endereço compartilhado para heap (que cresce para cima) e pilha (que cresce para baixo).

    This design is common across many systems, hence why many systems are vulnerable to the same class of vulnerability.

    • 1

relate perguntas

  • Como interagir graficamente com um servidor sem cabeça?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve