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

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

Segurança em Aplicações 3. Principais Ataques às Aplicações

Apresentações semelhantes


Apresentação em tema: "Segurança em Aplicações 3. Principais Ataques às Aplicações"— Transcrição da apresentação:

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

2 Estrutura típica de aplicações
Márcio Moreira Unidade 3 – Principais Ataques às Aplicações – Slide 2

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 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 Márcio Moreira Unidade 3 – Principais Ataques às Aplicações – Slide 3

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 Márcio Moreira Unidade 3 – Principais Ataques às Aplicações – Slide 4

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 Márcio Moreira Unidade 3 – Principais Ataques às Aplicações – Slide 5

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. Márcio Moreira Unidade 3 – Principais Ataques às Aplicações – Slide 6

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 Márcio Moreira Unidade 3 – Principais Ataques às Aplicações – Slide 7

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 Márcio Moreira Unidade 3 – Principais Ataques às Aplicações – Slide 8

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 Márcio Moreira Unidade 3 – Principais Ataques às Aplicações – Slide 9

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 Márcio Moreira Unidade 3 – Principais Ataques às Aplicações – Slide 10

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? Márcio Moreira Unidade 3 – Principais Ataques às Aplicações – Slide 11

12 Unidade 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! Márcio Moreira Unidade 3 – Principais Ataques às Aplicações – Slide 12

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. Estrutura de Funções: Argumentos Endereço de retorno Variáveis Código da função Retorno Márcio Moreira Unidade 3 – Principais Ataques às Aplicações – Slide 13

14 Unidade 3 – Principais Ataques às Aplicações – Slide 14
SQL Injection Idéia: injetar código para ganhar acesso Exemplo de autenticação: SELECT * FROM usuarios WHERE usuario = '$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 -- Márcio Moreira Unidade 3 – Principais Ataques às Aplicações – Slide 14

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: Márcio Moreira Unidade 3 – Principais Ataques às Aplicações – Slide 15

16 Unidade 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 Márcio Moreira Unidade 3 – Principais Ataques às Aplicações – Slide 16

17 Unidade 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: Márcio Moreira Unidade 3 – Principais Ataques às Aplicações – Slide 17

18 Unidade 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) Márcio Moreira Unidade 3 – Principais Ataques às Aplicações – Slide 18


Carregar ppt "Segurança em Aplicações 3. Principais Ataques às Aplicações"

Apresentações semelhantes


Anúncios Google