Exploits
"É um termo genérico para descrever pequenos utilitários ou
  exemplos de código que podem ser usados para explorar
 vulnerabilidades específicas. Eles podem ser tanto usados
de forma "stand alone", ou seja, serem usados diretamente,
    quanto serem incorporados em vírus, cavalos de tróia,
 ferramentas de detecção de vulnerabilidades e outros tipos
                      de programas."
Como funcionam os Exploits

Os exploits tiram proveito de erros de implementação dos
sistemas, que muitas vezes ao receber entradas devidamente
formatadas, ou apresentarem informações que deveriam estar
ocultas, possibilitam a usuários mal intencionados obter
comportamentos inesperados do sistema.

Seu funcionamento consiste portanto no aproveitamento
destas anomalias pelos usuários mal intencionados.
Exemplos de Exploits
Sasser
 ● Um dos primeiros vírus para PC.
 ● Não era necessário o usuário abrir um arquivo para ser infectado.
 ● Contaminação por Exploits
     ○ Porta de rede do PC era explorada.
     ○ Uma série de comandos era enviado ao PC.
     ○ Este código instalava o vírus no computador.
 ● Utiliza a porta do RPC do windows para invadir o PC.

Ping da morte
 ● Bug presente em versões mais antigas do Solaris (SUN)
     ○ Era enviado um datagrama informando um tamanho maior que o real
       da informação. Nesta circunstância, o servidor ficava em modo de
       espera, o que ocasionava sua queda por DOS.
Tipos de Exploits
●   Spoofing do IP
●   Chaves Compartilhadas
●   Vulnerabilidades do Serviço
●   Vulnerabilidade de Aplicação
●   Ataques de negação de Serviço
●   Buffer Overflow
Spoofing do IP

● Alteração do endereço IP para parecer como outra máquina
● Uma máquina remota age como um módulo em sua rede
  local, encontra vulnerabilidades em seus servidores e
  instala um programa backdoor ou trojan horse para obter
  controle sobre seus recursos de rede.
Chaves Compartilhadas Default

● Serviços seguros às vezes empacotam chaves de
  segurança default para desenvolvimento ou para testes de
  avaliação. Se estas chaves permanacerem inalteradas e
  estiverem localizadas em um ambiente de produção na
  Internet, qualquer usuário com as mesmas chaves default
  tem acesso a este recurso de chave compartilhada e a
  quaisquer informações importantes contidas neste.
Vulnerabilidades do Serviço

● Um hacker encontra um defeito em um serviço executado
  pela Internet através desta vulnerabilidade. O hacker
  compromete o sistema inteiro e quaisquer dados que este
  possa conter; e também é possível que comprometa outros
  sistemas da rede.
Vulnerabilidades da Aplicação

● Hackers encontram falhas em aplicações de computadores
  pessoais e estações de trabalho (como clientes de e-mail) e
  executam código arbitrário, implantando trojans para
  comprometer ou danificar os sistemas futuramente. Exploits
  podem ocorrer no futuro se a estação de trabalho
  comprometida tiver privilégios administrativos sobre o resto
  da rede.
Ataques de negação de serviço
                (Denial of Service (DoS))

● Um grupo de pessoas coordena um ataque a recursos de
  rede ou de servidor de uma empresa enviando pacotes não
  autorizados para a máquina alvo (um servidor, um roteador
  ou uma estação de trabalho). Isto força o recurso a ficar
  indisponível aos usuários legítimos.
Espionagem do tráfego de rede

  ● Coleta de dados que trafegam entre dois computadores
    ativos em uma rede através do eavesdropping na conexão
    entre estes dois módulos.




Eavesdropping (computadores) é uma técnica de hacking que se baseia na violação da
confidencialidade.
Buffer Overflow

Os exploits quase sempre se aproveitam de uma falha
chamada de buffer overflow (estouro de buffer). O estouro
acontece quando o programa tenta alocar uma área na
memória maior do que ele teria direito naquele momento,
gerando assim uma falha no sistema.

Essa situação possibilita que um código malicioso seja
executado nesse momento, podendo roubar e/ou apagar
informações do sistema computacional.
Um exemplo de exploit
void ProcessaParm(char *arg);
void main(int argc, char *argv[]){
if (argc > 1){
printf(”Param: %sn”,argv[1]);
ProcessaParm(argv[1]);
}
}
void ProcessaParm(char *arg){
char buffer[10];
strcpy(buffer,arg);
printf(buffer);
}

PROBLEMA: se a string contida em arg tiver mais que 10 carateres
haverá um “buffer overflow”.
Quem resolve as falhas?

  Open Source x Software Pago
No Open Source

No mundo open source, quando é descoberta uma falha,
rapidamente a comunidade resolve a mesma, e provavelmente
libera uma correção para o problema. Um exemplo, é o CMS
escrito em PHP, WordPress, que a última falha de segurança
descoberta no mesmo, não demorou 24 horas para que uma
versão de correção fosse liberada.
No mundo do Software Pago

Geralmente, quando estamos no mundo do Software Pago, em
alguns casos, as atualizações podem demorar mais a serem
lançadas, por ter um processo de desenvolvimento mais
burocrático e demorado.
Curiosidade Histórica


                   O primeiro "produto" Apple foi na
                   realidade um exploit




   Blue box: aparelho criado por John T.
   Draper (Capt. Crunch) para burlar
   companhias telefônicas obtendo ligações
   telefônicas nacionais e internacionais
   gratuitas
Conclusão

Com a evolução das tecnologias, os chamados hackers, ou
crackers, muitas vezes estão a frente, no quesito segurança,
portanto é sempre importante manter os sistemas atualizados,
para que as vulnerabilidades conhecidas não tenham efeito em
seus sistemas.
Obrigado!

Exploits

  • 1.
  • 2.
    "É um termogenérico para descrever pequenos utilitários ou exemplos de código que podem ser usados para explorar vulnerabilidades específicas. Eles podem ser tanto usados de forma "stand alone", ou seja, serem usados diretamente, quanto serem incorporados em vírus, cavalos de tróia, ferramentas de detecção de vulnerabilidades e outros tipos de programas."
  • 3.
    Como funcionam osExploits Os exploits tiram proveito de erros de implementação dos sistemas, que muitas vezes ao receber entradas devidamente formatadas, ou apresentarem informações que deveriam estar ocultas, possibilitam a usuários mal intencionados obter comportamentos inesperados do sistema. Seu funcionamento consiste portanto no aproveitamento destas anomalias pelos usuários mal intencionados.
  • 4.
    Exemplos de Exploits Sasser ● Um dos primeiros vírus para PC. ● Não era necessário o usuário abrir um arquivo para ser infectado. ● Contaminação por Exploits ○ Porta de rede do PC era explorada. ○ Uma série de comandos era enviado ao PC. ○ Este código instalava o vírus no computador. ● Utiliza a porta do RPC do windows para invadir o PC. Ping da morte ● Bug presente em versões mais antigas do Solaris (SUN) ○ Era enviado um datagrama informando um tamanho maior que o real da informação. Nesta circunstância, o servidor ficava em modo de espera, o que ocasionava sua queda por DOS.
  • 5.
    Tipos de Exploits ● Spoofing do IP ● Chaves Compartilhadas ● Vulnerabilidades do Serviço ● Vulnerabilidade de Aplicação ● Ataques de negação de Serviço ● Buffer Overflow
  • 6.
    Spoofing do IP ●Alteração do endereço IP para parecer como outra máquina ● Uma máquina remota age como um módulo em sua rede local, encontra vulnerabilidades em seus servidores e instala um programa backdoor ou trojan horse para obter controle sobre seus recursos de rede.
  • 7.
    Chaves Compartilhadas Default ●Serviços seguros às vezes empacotam chaves de segurança default para desenvolvimento ou para testes de avaliação. Se estas chaves permanacerem inalteradas e estiverem localizadas em um ambiente de produção na Internet, qualquer usuário com as mesmas chaves default tem acesso a este recurso de chave compartilhada e a quaisquer informações importantes contidas neste.
  • 8.
    Vulnerabilidades do Serviço ●Um hacker encontra um defeito em um serviço executado pela Internet através desta vulnerabilidade. O hacker compromete o sistema inteiro e quaisquer dados que este possa conter; e também é possível que comprometa outros sistemas da rede.
  • 9.
    Vulnerabilidades da Aplicação ●Hackers encontram falhas em aplicações de computadores pessoais e estações de trabalho (como clientes de e-mail) e executam código arbitrário, implantando trojans para comprometer ou danificar os sistemas futuramente. Exploits podem ocorrer no futuro se a estação de trabalho comprometida tiver privilégios administrativos sobre o resto da rede.
  • 10.
    Ataques de negaçãode serviço (Denial of Service (DoS)) ● Um grupo de pessoas coordena um ataque a recursos de rede ou de servidor de uma empresa enviando pacotes não autorizados para a máquina alvo (um servidor, um roteador ou uma estação de trabalho). Isto força o recurso a ficar indisponível aos usuários legítimos.
  • 11.
    Espionagem do tráfegode rede ● Coleta de dados que trafegam entre dois computadores ativos em uma rede através do eavesdropping na conexão entre estes dois módulos. Eavesdropping (computadores) é uma técnica de hacking que se baseia na violação da confidencialidade.
  • 12.
    Buffer Overflow Os exploitsquase sempre se aproveitam de uma falha chamada de buffer overflow (estouro de buffer). O estouro acontece quando o programa tenta alocar uma área na memória maior do que ele teria direito naquele momento, gerando assim uma falha no sistema. Essa situação possibilita que um código malicioso seja executado nesse momento, podendo roubar e/ou apagar informações do sistema computacional.
  • 13.
    Um exemplo deexploit void ProcessaParm(char *arg); void main(int argc, char *argv[]){ if (argc > 1){ printf(”Param: %sn”,argv[1]); ProcessaParm(argv[1]); } } void ProcessaParm(char *arg){ char buffer[10]; strcpy(buffer,arg); printf(buffer); } PROBLEMA: se a string contida em arg tiver mais que 10 carateres haverá um “buffer overflow”.
  • 14.
    Quem resolve asfalhas? Open Source x Software Pago
  • 15.
    No Open Source Nomundo open source, quando é descoberta uma falha, rapidamente a comunidade resolve a mesma, e provavelmente libera uma correção para o problema. Um exemplo, é o CMS escrito em PHP, WordPress, que a última falha de segurança descoberta no mesmo, não demorou 24 horas para que uma versão de correção fosse liberada.
  • 16.
    No mundo doSoftware Pago Geralmente, quando estamos no mundo do Software Pago, em alguns casos, as atualizações podem demorar mais a serem lançadas, por ter um processo de desenvolvimento mais burocrático e demorado.
  • 17.
    Curiosidade Histórica O primeiro "produto" Apple foi na realidade um exploit Blue box: aparelho criado por John T. Draper (Capt. Crunch) para burlar companhias telefônicas obtendo ligações telefônicas nacionais e internacionais gratuitas
  • 18.
    Conclusão Com a evoluçãodas tecnologias, os chamados hackers, ou crackers, muitas vezes estão a frente, no quesito segurança, portanto é sempre importante manter os sistemas atualizados, para que as vulnerabilidades conhecidas não tenham efeito em seus sistemas.
  • 19.