No início deste mês, especialistas em segurança
descobriram duas novas vulnerabilidades no kernel do Linux: SegmentSmack e FragmentSmack. Ambos estão relacionados ao trabalho da pilha TCP e permitem que os atacantes realizem ataques de DoS e DDoS no sistema da vítima. "Patches" para a maioria das distribuições já foram lançados.
Sob o corte - mais sobre a essência.
/ foto Eli Duke CCPor que essas vulnerabilidades são perigosas?
A "raiz do mal" SegmentSmack - funções tcp_collapse_ofo_queue () e tcp_prune_ofo_queue (). Um invasor os chama usando segmentos TCP especialmente modificados enviados ao servidor, computador pessoal ou dispositivo móvel da vítima.
Isso leva ao uso excessivo de recursos de memória e processador. Assim, um hacker pode "travar" um host ou dispositivo com tráfego de apenas 2 mil pacotes por segundo.
O site RedHat
fornece um exemplo do resultado de um ataque desse tipo. O comando top mostra a carga total de quatro núcleos da CPU e atrasos no processamento de pacotes de rede:
$ top %Cpu25 : 0.0 us, 0.0 sy, 0.0 ni, 1.4 id, 0.0 wa, 0.0 hi, 98.5 si, 0.0 st %Cpu26 : 0.0 us, 0.0 sy, 0.0 ni, 1.4 id, 0.0 wa, 0.0 hi, 98.6 si, 0.0 st %Cpu28 : 0.0 us, 0.3 sy, 0.0 ni, 0.7 id, 0.0 wa, 0.0 hi, 99.0 si, 0.0 st %Cpu30 : 0.0 us, 0.0 sy, 0.0 ni, 1.4 id, 0.0 wa, 0.0 hi, 98.6 si, 0.0 st PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 141 root 20 0 0 0 0 R 97.3 0.0 1:16.33 ksoftirqd/26 151 root 20 0 0 0 0 R 97.3 0.0 1:16.68 ksoftirqd/28 136 root 20 0 0 0 0 R 97.0 0.0 0:39.09 ksoftirqd/25 161 root 20 0 0 0 0 R 97.0 0.0 1:16.48 ksoftirqd/30
Observe que a manutenção de um "estado de DoS" requer uma sessão TCP aberta; portanto, um ataque não pode ser realizado usando falsificação de IP.
O ataque FragmentSmack explora os recursos
de fragmentação dos datagramas IP . Quando um datagrama IP é transmitido para a camada de link, ele é fragmentado se não couber no
quadro . Assim, é transmitido em pedaços, e o host o coleta juntos. No entanto, ele sabe apenas o comprimento final do datagrama quando recebe o último fragmento.
Os invasores usam esse recurso e ajustam os valores de deslocamento de fragmento para que o processador do servidor monte constantemente pacotes IPv4 e IPv6.
O FragmentSmack permite que você trabalhe com endereços IP falsos para enganar os sistemas de segurança (você pode usar a falsificação de IP). No entanto, exige mais velocidade no envio de pacotes do que o SegmentSmack - 30 mil pacotes por segundo.
O RedHat também fornece o resultado de um ataque semelhante (o kernel é 99% carregado):
top - 08:59:45 up 1:34, 2 users, load average: 0.39, 0.15, 0.08 %Cpu9 : 0.0 us, 0.0 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi,100.0 si, 0.0 st PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 54 root 20 0 0 0 0 R 99.7 0.0 0:47.53 ksoftirqd/9
Tais vulnerabilidades não são descobertas pela primeira vez. Nos anos 90, um bug semelhante foi
encontrado nas versões do kernel do Windows NT 4.0, Windows 95 e Linux até a versão 2.0.32. A exploração é conhecida como
ataque de lágrima - um invasor também envia pacotes fragmentados para um dispositivo de destino (rede), causando DoS. A vulnerabilidade foi corrigida, mas apareceu mais tarde.
Em 2009, o bug foi novamente
encontrado no Windows 7 e no Windows Vista.
Quem machucou
O FragmentSmack
ameaça todas as versões do kernel do Linux começando com 3.9 e o SegmentSmack ameaça com 4.9. Você pode encontrar uma lista de fornecedores cujos sistemas possuem essas vulnerabilidades
no site do CERT .
Na semana passada, a Cisco
informou que seu sistema operacional AsyncOS foi atacado pelo SegmentSmack e FragmentSmack. Portanto, a empresa
lançou uma série de patches.
Conforme observado na Cisco, os "sintomas" das vulnerabilidades podem ser rastreados usando o comando netstat (um exemplo está no site da Cisco na
seção Indicadores de compromisso ). Se a saída do comando mostrar um grande número de conexões TCP no estado CLOSE_WAIT, é provável que o dispositivo seja afetado por essas vulnerabilidades.
O que tratar
Detalhes sobre os patches do SegmentSmack para várias distribuições já foram publicados
no CVE (por exemplo, aqui está um patch para o
Ubuntu 14.04 LTS ). Lá você encontrará instruções e arquivos de correção para todas as distribuições Linux. Quanto ao FragmentSmack, os patches contra essa vulnerabilidade já foram
lançados pelos desenvolvedores do Ubuntu, Red Hat, Debian e Android OS.
/ foto Christopher Michel CCComo uma solução temporária para o problema FragmentSmack (se o patch não puder ser instalado por algum motivo), você poderá alterar os valores de net.ipv4.ipfrag_high_thresh e net.ipv4.ipfrag_low_thresh para 256 e 192 KB, respectivamente (em vez de 4 MB e 3 MB).
O primeiro parâmetro define a quantidade máxima de memória alocada para a fila de pacotes fragmentados. Se o comprimento da fila exceder, o manipulador de fragmentos ignorará todos os pacotes até que o comprimento da fila seja menor que o valor ipfrag_low_thresh.
Os proprietários de Android, de acordo com Kevin Beaumont, especialista em segurança cibernética (e autor de um
blog independente sobre o assunto), podem alterar esses valores usando
esses comandos (eles devem funcionar sem reiniciar o dispositivo).
O que fazemos no IT-GRAD - as principais áreas:
• Infraestrutura virtual (IaaS) • Hospedagem PCI DSS • Cloud FZ-152
Outro conteúdo do nosso blog IaaS: