Upload
internet
View
105
Download
1
Embed Size (px)
Citation preview
Segurança
Raul Fernando Weber
Instituto de Informática
Univ. Federal do Rio Grande do Sul
Tipos de segurança
• Segurança Física
• Segurança Lógica– Segurança de Dados
» Integridade
» Privacidade
» Autenticidade
– Segurança de Programas
» Programas Daninhos (vírus, cavalos de Tróia, backdoors, etc)
– Segurança de Acesso
» Intrusos (humanos e digitais)
Segurança
• Segurança Lógica
• Confidencialidade– Inclui privacidade e autenticidade
– Utiliza mecanismos de controle de acesso
– Utiliza criptografia
• Integridade– Prevenção: impedir alterações
– Detecção: descobrir alterações “o mais cedo possível”
• Disponibilidade– Ataques de negação de serviço
Segurança em PCs
• Aspectos de segurança retirados no projeto
• Arquitetura aberta
• Sistema Operacional aberto
• Controle de acesso ineficaz
• Baixo custo
• Uso muito difundido
• Conhecimento disseminado
Segurança na Internet
• Início: ARPANET, 1969
• Interligação de universidades e agencias de pesquisa
• Uso acadêmico
• Pouca preocupação com segurança– Uso por especialistas
– Correio Eletrônico
– Troca de arquivos e documentos
– Acesso restrito
– Confiança mútua
– Poucos casos de má utilização
Situação atual da Internet
• Utilização para situações não previstas
• Acesso irrestrito
• Mecanismos fracos de identificação e autenticação
• Sociedade eletrônica– Utopia x Caos
– Fonte de conhecimento x Validade da Informação
– Autoestrada da Informação x Superoferta de Informação
– Código de ética não escrito
– Existência de vândalos, malfeitores, bandidos, terroristas
– Necessidade de mecanismos de defesa
Problemas de Segurança
• Atacante Passivo– Capaz de monitorar toda a transmissão
– Pode obter cópia da transmissão
– Pode reproduzir dados transmitidos
– Pode requerer equipamento sofisticado
– Fácil de ser realizado na Internet (hardware barato e software disponível)
• Atacante Ativo– Capaz de interceptar e alterar a transmissão
– Ataque do “homem no meio”
– Pode ser realizado por Engenharia Social
– Capaz de inserir dados falsos
Segurança em Computação
• Segurança é um atributo negativo
• Segurança diminui a facilidade de uso
• Segurança diminui a liberdade do usuário
• Problemas– Falta de normalização
– Falta de suporte nos sistemas de computação
– Problemas legais de exportação/importação
– Gerenciamento da segurança
– Falta de conscientização
– Problemas de engenharia social
Sistema Seguro
• Especificação segura (Política de segurança)
• Projeto seguro
• Implementação segura
• Manutenção de um estado seguro– Inicialização segura
– Execução de qualquer programa mantém estado seguro
– Fluxo de informação de acordo com a política de segurança
Política de segurança
• Promíscuo– Tudo é permitido
• Permissivo– Tudo que não é proibido é permitido
• Prudente– Tudo o que não é permitido é proibido
• Paranóico– Tudo é proibido
Ameaças a segurança
• Ataque interno x externo– Conhecimento do atacante sobre o sistema
• Ataque local x remoto– Acesso físico ao sistema
• Ataque Benigno– Cópia de informação
– Consumo de recursos (tempo de computador, espaço de armazenamento, largura de banda, etc)
• Ataque maligno– Destruição de informação/serviços
– Alteração de informação/serviços
Fases de um ataque
• Selecionar um alvo• Coletar informações sobre alvo• Lançar um ataque sobre o alvo• Destruir evidências da invasão• Obter senhas de outras contas• Obter acesso root na máquina invadida• Configurar caminhos secundários de alguns
serviços• Encontrar máquinas que confiam na máquina
invadida• Utilizar a máquina invadida como base para outros
ataques
Níveis de um ataque
• Ataque ao correio eletrônico (mail bomb)
• Suspensão de serviços (denial of service)
• Usuário local realiza leitura não autorizada
• Usuário local realiza escrita não autorizada
• Usuário remoto obtém acesso à rede local
• Usuário remoto realiza leitura não autorizada
• Usuário remoto realiza escrita não autorizada
• Usuário remoto obtém privilégios de administrador
Principais ataques
• Engenharia social
• Coleta de informação
• Varredura
• Negação de serviço
• Exploração de bugs
• Exploração de protocolos
• Sniffers
• Ataque do dicionário
• Código malicioso
Engenharia Social
• Método: enganar as vítimas, por conversa, telefone ou correio eletrônico
• Objetivos:
– Obter informações valiosas
– Obter privilégios
– Convencer a vítima a executar ações indevidas e perigosas
Engenharia Social
• Prevenção: educação e conscientização
– Não fornecer informações a estranhos
– Exigir identificação
– Escolher boas senhas
– Não executar ações sem pensar (como executar um programa anexo à uma mensagem)
Coleta de Informação
• Informações úteis (ao atacante) Sobre o domínio e seus servidores (obtida por whois e nslookup)
Sobre números IP utilizados (obtida por nslookup e traceroute)
Sobre a arquitetura das máquinas (tipo e modelo de CPU, sistema operacional)
Sobre os servidores (versões e plataforma) Sobre serviços de proteção (firewall, redes privadas (VPNs),
mecanismos de controle de acesso (ACL) Sobre acesso remoto (números de telefone, usuários autorizados) Sobre localização (endereço geográfico, conexões à Internet) Sobre usuários (nomes, cargos, funções)
Coleta de Informação
• Problema: algumas informações devem ser públicas
• Prevenção: evitar o fornecimento de informação desnecessária
• Toda a informação vital para operação deve ser obviamente fornecida, mas qualquer informação adicional deve ser suprimida
Varredura (Scanning)
• Teste sistemático dos números IP de uma organização
• Determinação dos serviços estão ativos (quais portas estão escutando)
– Varredura com ping– Consultas ICMP– Varredura de portas (strobe, udp_scan, netcat)
• Programas de varredura: COPS,ISS, SATAN, SAINT, Nessus, nmap
Varredura (Scanning)
• Prevenção: limitar o tráfego desnecessário (filtro de pacotes ou firewall)
• Bloqueio do acesso a todas as portas que não necessitem ser visíveis para a Internet
• Não ativar mais serviços em uma máquina do que o necessário (nem todo mundo precisa de sendmail ou webserver)
• Uso de programas específicos para detectar que uma varredura automática está sendo realizada
Negação de Serviço
• DoS, ou denial-of-service
• Objetivo: impedir o uso legítimo do sistema, ou “derrubar” a máquina
• Inúmeras formas
Ping of Death Teardrop Nestea Syn Flood Smurf Attack UDP Flood
Negação de Serviço
• Impedir ataques de negação de serviço é quase impossível
• Toda máquina que aceita conexões do mundo externo é passível de ser atacada
• Distribuir os serviços para a maioria permanecer operacional
• Providenciar recursos suficientes para que o sistema continue funcionando mesmo com carga extrema
• Manter-se atualizado sobre as vulnerabilidades apresentadas pela versão atual do sistema
Exploração de bugs
• Explorar “furos” de implementação para obter privilégios
• Para evitar este tipo de ataque (em programas próprios)
– Utilizar boas práticas de engenharia de software
– Verificar erros comuns que podem causar grandes danos
– Não permitir estouros de buffers ou acessos fora dos limites
– Tratar falta de memória e falta de espaço em disco
– Verificar as entradas
– Implementar a lei do menor privilégio
– Não fornecer a processos mais poder do que necessitam
Exploração de bugs
• Para evitar este tipo de ataque (em programas de terceiros)
– Verificar vulnerabilidades conhecidas
– Aplicar os patches disponíveis
– Manter-se informado e atualizado
• Nenhum sistema é seguro
• Nenhum patch é perfeito
• Mas a maioria dos atacantes só sabe explorar bugs, e não criá-los
Exploração de protocolos
• Muitos são derivados de falhas no mecanismo de autenticação
– No IP spoofing, o atacante falsifica ou utiliza um endereço IP confiável
– A idéia do DNS Spoofing é subverter (envenenar) o servidor de nomes
– O Source Routing Attack se utiliza dos mecanismos de roteamento
– Um ataque ao RIP (Routing Informatin Protocol) consiste no envio de informações de roteamento falsas
– No ICMP (Internet Control Message Protocol) as mensagens ICMP mais exploradas são redirect e destination unreachable
Sniffer
• sniffing - interface de rede que opera modo promíscuo, capturando todos os pacotes
• É fácil para um sniffer obter username e password dos usuários
• Utilização de sniffer é difícil de ser detectada
• Medidas contra sniffer requerem o uso de hardware específico, ou aplicativos que utilizem criptografia
Ataque do dicionário
• Um dos arquivos mais cobiçados por atacantes é o de senhas
• Unix: /etc/passwd• Windows: *.pwl• Windows NT: SAM• Senhas não são armazenadas na forma de um
texto normal, mas sim são cifradas através de um algoritmo unidirecional (hash), não reversível
• Para impedir que usuários com a mesma senha tenham o mesmo hash, utiliza-se um identificador único para o usuário (salt)
Ataque do dicionário
• Na autenticação (login), o hash é novamente gerado a partir da senha fornecida pelo usuário
• Se o resultado é igual ao hash armazenado, o usuário é autenticado
• Pessoas utilizam senhas facilmente memorizáveis, como nomes próprios ou palavras de uso corriqueiro
• Neste fato se baseia o ataque do dicionário• O atacante compõe um dicionário e experimenta
todas as palavras deste dicionário contra o hash armazenado no arquivo de senhas
Ataque do dicionário
• Vários programas disponíveis (Crack, etc)
• Ação preventiva: atacar o próprio arquivo de senhas
• Não utilizar senhas derivadas de palavras e nomes
• Utilizar letras iniciais de frases ou palavras com erros
Código Malicioso
• Vermes (via redes)– Verme da Internet (1988)
• Cavalos de Tróia (não se propagam)– Falsa tela de Login
– Falsa Operação
• Vírus– Vírus de Boot (bootstrap)
– Vírus de Arquivo (executáveis)
– Vírus de Macro (MS Word)
• Backdoors
• Controle Remoto (Netbus, Back Orifice)
Código Malicioso
• Prevenção: Monitores
• Detecção: Verificadores de Integridade
• Identificação: Reconhecedores de vírus e código daninho
• Impossível tratamento exato e confiável
• Manter anti-vírus atualizado
• Preparar procedimento de emergência
• Preparar procedimento manual
Medidas de segurança
• O que se está querendo proteger?
• O que é preciso para proteger?
• Qual a probabilidade de um ataque?
• Qual o prejuízo se o ataque for bem sucedido?
• Implementar procedimentos de segurança irá ser vantajoso no ponto de vista custo-benefício?
Mecanismos para segurança
• Wrappers
• Firewalls
• Mecanismos de autenticação
• Ferramentas de detecção de falhas
• Métodos criptográficos
Wrapers
• TCP Wrappers são um conjunto de programas que “encapsulam” os daemons dos serviços de rede visando aumentar sua segurança
• Funcionam como um filtro e estendem o serviço original
• O wrapper não pode ser considerado uma ferramenta para segurança total
• Visa suprir deficiências dos servidores atuais e aumentar o controle sobre sua utilização
• Ótima ferramenta para registro (log)
Firewalls
• Um firewall é um conjunto de componentes colocados entre duas redes e que coletivamente implementam uma barreira de segurança
• Sua finalidade é retardar os efeitos de um ataque até que medidas administrativas contrárias sejam executadas
• O objetivo básico de um firewall é defender a organização de ataques externos. Como efeito secundário, ele pode ser utilizado para regular o uso de recursos externos pelos usuários internos
Firewalls
• Um firewall pode ser implementado utilizando dois mecanismos básicos:
– filtragem de pacotesanálise dos pacotes que passam pelo firewall
–servidores proxyanálise dos serviços sendo utilizados
Arquiteturas firewall
• Screening router: somente um filtro de pacotes
• Dual homed host: somente um bastion host
• Screened subnet: dois filtros de pacotes e uma sub-rede para os bastion hosts. É a arquitetura mais recomendada, pois cada componente individual (filtros e hosts) tem funções simples e portanto são fáceis de configurar
• Screened host: é uma arquitetura screened subnet sem o roteador (filtro) interno
Arquiteturas firewall
Filtro Interior
Filtro Exterior
perimeter network
Rede Interna
Rede Externa
Bastion Hosts
Mecanimos de autenticação
• A grande maioria dos serviços utilizam o mecanismo “alguma coisa que você sabe” (senha)
• Senhas podem ser capturadas por sniffers ou descobertas por um ataque do dicionário
• Uma solução possível é utilizar senhas que não são reusáveis (one time passwords)
• O sistema apresenta ao usuário um desafio (challenge). O usuário realiza cálculos sobre este desafio, incluindo uma pass phrase secreta, e devolve o resultado ao servidor (que verifica o resultado)
Detecção de falhas
• Ferramentas de análise
• Verificadores de integridade
• Verificadores de senhas
• Analisadores de log
• Sistemas de Detecção de Intrusão
Ferramentas de Análise
• COPS (Computer Oracle and Password Program)
• SATAN (Security Analysis Tool for Auditing Network)
• ISS (Internet Security Scanner)
• SAINT (Security Administrator’s Integrated Network Tool)
• TIGER (auditoria e análise de arquivos)
• Nessus (um dos mais atuais)
Verificadores de Integridade
• Verificar se arquivos e configurações permanecem inalterados
• Compara a situação atual com a situação inicial
• Utiliza funções de checksum e hash
• Hash a nível criptográfico: MD5, SHA
• Exemplo: Tripwire, TAMU
Verificadores de Senhas
• Verificar se uma senha pode ser “quebrada”
– Exemplo: Crack
• Verificar se uma senha é “fácil”
– Exemplos: npasswd, passwd+
Analisadores de Logs
• Facilitar a análise de arquivos de logs
• Realizar logs mais detalhados (além de um grep)
• Exemplos: – Swatch (Simple Watcher)– Netlog– LogSurfer
Sistemas de Detecção de Intrusão
• Detectar um intruso o mais cedo possível
• Detectar tentativas de intrusão
• Detectar ações suspeitas
• Detectar desvios nos padrões dos usuários
• Análise em “tempo real” (o mais cedo possível)
Métodos criptográficos
• Não existe sistema absolutamente seguro
• Toda criptografia pode ser “quebrada”
• Complexidade temporal
• Complexidade econômica
• Segurança “computacional”
Criptografia de chave única
• Única chave para cifragem e decifragem
• Substituição, permutação, operações algébricas
• Alta velocidade
• Problemas na distribuição de chaves
• Exemplos– DES (Data Encryption Standard) - 56 bits
– 3DES - DES triplo - 112 bits
– RC4_128 - 128 bits
– RC2_CBC_40 - 40 bits
– IDEA (Inter. Data Encryption Algorithm) - 128 bits
– CAST - 64 bits
Criptografia de chave pública
• Duas chaves: uma pública e outra secreta
• Cifragem com uma chave somente é decifrada com a outra chave
• Privacidade: cifrar com chave pública; somente chave secreta pode decifrar
• Assinatura: cifrar com chave secreta; chave pública decifra e identifica usuário
• Operação: funções aritméticas complexas
• Baixa velocidade, fácil distribuição de chaves
• Exemplos: RSA, DSS, DH, El Gamal (512 a 2048 bits)
Métodos criptográficos
• PGP (Pretty Good Privacy)
• RIPEM (Riordan’s Internet PEM) - uma implementação do PEM (Privacy Enhanced Mail)
• SSH (Secure Shell)
• SSL (Secure Sockets Layer) - Netscape
• PCT (Private Communication Technology) - Microsoft
• Kerberos - um protocolo de autenticação
• SET - Secure Electronic Transaction
• IPv6 e IPsec - IP com suporte a autenticação e privacidade, implementadas através de extensões do cabeçalho
Conclusões
• Espectro de aplicações da Internet é muito maior que os seus projetistas jamais sonharam
• Com o crescimento da Internet cresceram também, e em uma escala muito maior, os seus problemas de segurança
• A maioria dos serviços da rede foi projetado e desenvolvido quando a confiança mútua ainda existia na rede, e os casos de vandalismo eram raros e isolados
• Ambiente da Internet intrinsicamente inseguro
Conclusões
• Segurança implica em:– Conscientização
– Boa administração
– Contínua atualização
– Boa compreensão das ferramentas
• Muitas soluções na própria Internet– CERT, FIRST, COAST
– PGP, SSH, Nessus
– Vários sites dedicados à segurança