A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Especialização em Segurança da Informação Segurança em Aplicações 3. Principais Ataques às Aplicações Márcio Aurélio Ribeiro Moreira

Apresentações semelhantes


Apresentação em tema: "Especialização em Segurança da Informação Segurança em Aplicações 3. Principais Ataques às Aplicações Márcio Aurélio Ribeiro Moreira"— Transcrição da apresentação:

1 Especialização em Segurança da Informação Segurança em Aplicações 3. Principais Ataques às Aplicações Márcio Aurélio Ribeiro Moreira Pós-SI – 4ª Turma – 2008

2 Segurança em AplicaçõesMárcio MoreiraUnidade 3 – Principais Ataques às Aplicações – Slide 2 Estrutura típica de aplicações

3 Segurança em AplicaçõesMárcio MoreiraUnidade 3 – Principais Ataques às Aplicações – Slide 3 Principais pontos de ataque Áreas públicas: Vantagem:Facilidade de ataque Desvantagem:Baixo retorno Alvos e ataques: Clientes:Roubo de informações Links:Coleta de pacotes Webservers:Negação de serviço Áreas restritas: Vantagem:Alto retorno Desvantagem:Complexidade Alvos e ataques: Firewall:Negação de serviço S.Aplicação:Violação de acesso S.Banco:Violação de acesso Fácil Baixo Retorno Difícil Rentável

4 Segurança em AplicaçõesMárcio MoreiraUnidade 3 – Principais Ataques às Aplicações – Slide 4 Principais vulnerabilidades Áreas públicas: Baixo conhecimento dos usuários Baixo nível de proteção das estações Uso de protocolos inseguros ou frágeis Áreas restritas: Gestão inadequada de usuários Gestão inadequada de perfis Interfaces inseguras entre sistemas Servidores mal configurados Aplicações mal escritas

5 Segurança em AplicaçõesMárcio MoreiraUnidade 3 – Principais Ataques às Aplicações – Slide 5 Explorando vulnerabilidades públicas Explorando a fragilidade do usuário: Cavalo de tróia, vírus/verme (seqüestro de sessão) Engenharia social (obter informações privadas) Fragilidade de senhas Explorando a fragilidade da máquina: Keyloggers (interceptadores de teclado e mouse) Tomando o controle da máquina do usuário Explorando pacotes de rede: Coleta de credenciais (Ethereal) Preparação de ataques a áreas restritas Ganhar acesso e controle de servidores

6 Segurança em AplicaçõesMárcio MoreiraUnidade 3 – Principais Ataques às Aplicações – Slide 6 Explorando gestão inadequada Gestão inadequada de usuários Um usuário para cada sistema ou aplicação Usuários demitidos, mas os acessos não Acumulação de acessos durante a carreira Falta de padronizações (processos adequados) Gestão inadequada de perfis Nivelar perfil pela maior necessidade Acumulação de perfis durante a carreira Integração de parceiros, terceiros, visitantes, etc.

7 Segurança em AplicaçõesMárcio MoreiraUnidade 3 – Principais Ataques às Aplicações – Slide 7 Explorando servidores mal configurados Trocando módulos e pacotes de correções Interceptando chamadas de sistema Explorando Rootkits (kernel forjado) Explorando Condições de Corrida Ganhar privilégios indevidos ou negar o serviço Buffer Overflow Atacar protocolos frágeis Atacar utilitários frágeis

8 Segurança em AplicaçõesMárcio MoreiraUnidade 3 – Principais Ataques às Aplicações – Slide 8 Explorando interfaces ruins A integração de sistemas é muito comum Como sistemas heterogêneos podem conversar entre si? Solução comum: Arquivos texto ASCII Armazenado em pastas comuns aos sistemas Transportados em mídias ou links inseguros Interface humana (lê em um e digita no outro) Ataques: Interceptação, cópia, alteração, inclusão e exclusão

9 Segurança em AplicaçõesMárcio MoreiraUnidade 3 – Principais Ataques às Aplicações – Slide 9 Explorando aplicações mal escritas Redundâncias de autenticações: n aplicações n bases de autenticações Injeção de código: SQL injection: Forjar acessos válidos (ataque ao where) Ganhar acesso indevido (console remoto) Code injection: Forjar acessos válidos (ataque ao if) Buffer overflow: instalando portas de acesso Capturar áreas de memória (memory dump) Explorar falta de rastreabilidade e consistência: Usar credenciais válidas para ações ilícitas

10 Segurança em AplicaçõesMárcio MoreiraUnidade 3 – Principais Ataques às Aplicações – Slide 10 Explorando aplicações web Inspeção de pacotes:usar https com ssl Keyloggers:usar teclado virtual Explorar portas:usar firewall Espalhar vírus e trojan:usar antivírus Sites clonados:digite o endereço s falsos: Não abra, use confirmação de remetente, etc. Utilize s seguros (cifrados e autenticados) Assistentes virtuais:personalize a página

11 Segurança em AplicaçõesMárcio MoreiraUnidade 3 – Principais Ataques às Aplicações – Slide 11 Explorando o man in the middle Ataque do homem do meio: Interceptar uma conexão Seqüestrar a sessão Recomendações: Não use proxy Use certificados públicos Use uma entidade certificadora externa Use cartões de números variáveis (tokens) Autentique a estação de origem Questão: como autenticar dispositivos móveis?

12 Segurança em AplicaçõesMárcio MoreiraUnidade 3 – Principais Ataques às Aplicações – Slide 12 Buffer Overflow Exemplo: char nome[30]; printf(Nome: "); gets(nome);// permite o overflow da variável char b[100]; strcpy(nome, b);// copia os 100 bytes de b em nome Se faltar memória:Erro Se a linguagem tratar:Erro ou exceção Se a linguagem não tratar? Existem vários ataques que exploram isto!

13 Segurança em AplicaçõesMárcio MoreiraUnidade 3 – Principais Ataques às Aplicações – Slide 13 Buffer Overflow - Estratégia Injetar código nas variáveis das funções: Acessar o shell do SO Abrir portas para ataques posteriores Instalar ou abrir servidores de acesso remoto Mudar o endereço de retorno Disparar o código por outra injeção Vulnerabilidades conhecidas: TCP/IP, IIS (ISAPI), Apache, Sendmail, Linux e Unix (DNS: update de zonas), etc. Argumentos Endereço de retorno Variáveis Código da função Retorno Estrutura de Funções:

14 Segurança em AplicaçõesMárcio MoreiraUnidade 3 – Principais Ataques às Aplicações – Slide 14 SQL Injection Idéia: injetar código para ganhar acesso Exemplo de autenticação: SELECT* FROMusuarios WHEREusuario = ' $usuario ' AND senha = ' $senha ' Sintaxe SQL: ' (apóstrofo)Terminador de strings -- (2 menos)Comentários (ignora o restante) O que acontece se digitarmos no campo usuário? x' OR 1=1 --

15 Segurança em AplicaçõesMárcio MoreiraUnidade 3 – Principais Ataques às Aplicações – Slide 15 SQL Injection - Exemplos No SQL Server: '; EXEC xp_cmdshell 'net stop sqlserver', no_output -- No lugar do comando (net stop...), podemos colocar: Net user admin2 /add && net localgroup administrators admin2 /add && net localgroup ORA_DBA admin2 /add ' UNION SELECT id, name, '', 0,'' FROM sysobjects WHERE xtype='U' -- Injeção no get (passagem de parâmetros) em url: UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '%25login%25' Referências:

16 Segurança em AplicaçõesMárcio MoreiraUnidade 3 – Principais Ataques às Aplicações – Slide 16 Code Injection Após ganhar acesso ao SO digite: cat > exs// copia digitação em exs #!/bin/sh// o shell default é o sh A=$1// atribui o 1º parâmetro à A eval "ls $A// executa ls com conteúdo de A chmod a+rx exs// permite execução de exs O que acontece se digitarmos?./exs ".;chmod o+r * O caractere ; é um separador de comandos do shell do linux e unix

17 Segurança em AplicaçõesMárcio MoreiraUnidade 3 – Principais Ataques às Aplicações – Slide 17 Condições de corrida Os arquivos temporários são gerados por funções: name=maketemp("/tmp/gs_XXXXXXXX"); fp=fopen(name,"w"); Eles herdam os privilégios de seus geradores O que podemos colocar em arquivos temporários? O que ocorre se no momento de uma condição de corrida mudarmos a path do arquivo? Ex: symlink /tmp/gs_12345A -> /etc/passwd As condições de corrida podem ocorrer: Memória, arquivos ou sinais. Referência:

18 Segurança em AplicaçõesMárcio MoreiraUnidade 3 – Principais Ataques às Aplicações – Slide 18 O que fazer? Proteger a infra-estrutura: Segurança de perímetro (Firewall, IDS, IPS, etc.) Segurança na instalação, configuração e manutenção Atualização segura de SO e serviços Avaliação periódica de segurança (Ethical Hacking) Monitoramento contínuo de log Proteger as aplicações: Processo de desenvolvimento seguro de desenvolvimento Autenticação centralizada Adote padrões de comunicação e conexão com DBMS Processo de garantia da qualidade (avaliações periódicas)


Carregar ppt "Especialização em Segurança da Informação Segurança em Aplicações 3. Principais Ataques às Aplicações Márcio Aurélio Ribeiro Moreira"

Apresentações semelhantes


Anúncios Google