Segurança Raul Fernando Weber Instituto de Informática Univ. Federal do Rio Grande do Sul

Preview:

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

Recommended