teste de upload
DESCRIPTION
teste de documentoTRANSCRIPT
1.264 – Aula 18
Segurança da Web:Certificados, autoridades
Ipsec, PKIAtaques, iniciativas
Segurança de Software
Autoridades de certificação e chaves públicas
• Como se obtém as chaves públicas– Não pode manter todas as chaves possíveis dos destinatários em seu
sistema.– Não pode solicitar ao destinatário para enviá-la a você, porque ele/ela
talvez seja um adulterador de programas.– Não tem (não pode ter?) uma grande base de dados pública:
• Os custos, desempenho para centenas de milhões de chaves são uma preocupação.
• Autoridades de certificação (ACs)– As entidades comerciais, cujas chaves públicas estão em seu
navegador.– Solicite ao usuário para enviar-lhe seu certificado digital, assinado por
um AC, antes de você comunicar-se com eles.– A partir do certificado, verifique a identidade deles e obtenha sua
chave pública.– A AC criptografa o certificado e a sua função de hashing com a chave
particular da AC.– O usuário (você) descriptografa o certificado com a chave pública da
AC e verifica a função de hashing para certificar-se de que o certificado não foi alterado.
Operação dos certificados digitais
1. Gere um par de chaves públicas/ particulares em seu sistema.2. Mantenha a chave particular e envie o “pedido de certificado”
para a AC:Inclui a chave pública e as informações de identificação sobre você
3. Pague uma taxa à AC.4. A AC verifica sua identidade, de forma abreviada ou
extensivamente.5. Se você estiver em ordem, a AC cria um corpo do certificado com
sua chave pública e as informações da identificação:O certificado do navegador (“pessoal”) tem nome e endereço de e-mailO certificado do servidor (“site”) tem URL.
6. A AC gera uma resenha de mensagem a partir do certificado e assina a função de hashing com sua chave particular, criando-se o certificado atual.
7. A AC envia o certificado a você.
Raiz das ACs e cadeias de certificados
• A raiz das ACs tem certificados no navegador ou no servidor da Web.
– É preciso acreditar que a Microsoft, o Netscape e o seu vendedor do sistema estejam em ordem.
• A raiz das ACs pode assinar outros códigos públicos das ACs.– A assinatura inclui o certificado de raiz das ACs– Podem ser criadas cadeias de certificados..
• O último certificado contém os certificados de cada AC na cadeia, então pode-se rastrear de volta a raiz original da AC
• Você usa primeiro a chave pública das ACs para obter a segunda chave pública das ACs, a qual você usa para obter a terceira chave pública das ACs, e etc.
• Cadeias tipicamente usadas hoje nas intranets para verificar navegadores via cadeia de servidores.
• O SET e os esquemas de pagamento digital também usam cadeias.• É razoável gerar e administrar suas próprias chaves públicas e
particulares quando o número de sites é limitado.
Problemas de Certificados
• Eventos que invalidam os pares de chaves públicas/ particulares.– Furto, alteração da informação de identificação, comprometimento da
chave– Corrupção do disco (a chave particular é criptografada via senha no
disco)– Lista de revogação do certificado (CRL) pretendida mas não
implementada• Tecnicamente, deverá verificar contra a CRL antes da comunicação
– Os certificados geralmente expiram em um ano, mas isto é uma história de longa data...
• A privacidade é impossível, porque você é identificado por outra parte
– O algoritmo Diffie-Hellman permite a criptografia sem autenticação.– O D-H é suscetível aos ataques do tipo “homem no meio”:
A C (“homemno meio") B
IP Protegido: IPsec• O TCP/IP (e o próprio IP) não são protegidos.
– Nunca pretendido para uso atual• O IPsec permite a criptografia dos cabeçalhos e/ou dados do
TCP/IP – O IPsec exige a substituição da pilha do TCP/IP de todo servidor com
acesso a PCs.– Ninguém aceita os custos de suporte disto; isto ocorrerá
paulatinamente.– O IPsec é muito similar ao SSL, porém ele criptografa pacotes de IP
(os quais contêm tráfego de HTTP e do HTML).– O IPsec deve trabalhar em muito mais situações, sendo bem mais
complexo.• As chaves, certificados, etc., constituem a Infraestrutura da
chave pública (PKI). Os certificados são o X.509 padrão, vários outros são PKI.
• Esta conferência foi, na íntegra, essencialmente sobre a segurança das redes.
– Agora retornamos brevemente ao servidor e à segurança ao cliente.– A segurança do servidor é mais uma questão de configuração e
cuidado.
Firewalls (barreiras de proteção)
• Sem as barreiras de proteção Firewall, o mais frágil PC na rede interna pode ser atacado e comprometido, e por sua vez comprometendo outros ao seu redor.
– O agressor substitui algumas chamadas do sistema de operação do PC por suas próprias.
– É quase impossível monitorar todos os PCs em relação a atividades suspeitas.
• Os Firewalls colocam uma máquina especial entre a rede interna e a Internet.
– Não é permitido o tráfego direto dos PCs para a Internet; todo o tráfego deverá ser via firewall.
• O Firewall roda na versão extraída do WinNT ou UNIX.– Não requer serviços de manutenção desnecessários, sem software não
confiável.– Registros de todas as atividades.– Proxies inspecionam os pacotes em nível de aplicativo.
• P.ex. o proxy http pode buscar e não conceder permissão para objetos do ActiveX.– Os proxies em nível de pacote verificam os cabeçalhos, destinações, etc
Configuração do firewall 1
Internet Roteador Firewall Estações deTrabalho
Web server(servidor da Web)
(Filtros?)
DMZ LAM
O Provedor de Serviços da Internet (PSI) pode rodar um roteador e você pode não ter controle sobre o mesmo.O Firewall costuma ser configurado somente para permitir o tráfego do http (porta 80).Mas você poderá precisar de outras portas (smtp, ftp, telnet, IIOP,...).
Configuração do firewall 2
InternetFirewall/proxy
Estações deTrabalho
Web server(servidor da Web)
DMZ
LAM
O Firewall também pode rodar o servidor proxy da Web, que é o único dispositivo que permite acesso à Internet.O Firewall possui regras que permitem somente ao proxyconectar-se à Internet.O Firewall e o proxy podem rodar na mesma máquina.O proxy pode estar na LAN como alternativa.
Edições de segurança atualizadas
• Recusa de serviço (DoS), recusa distribuída do serviço (DDoS).– Imersões dos pacotes (TCP-SYN, ACK, RST; UDP; ICMP-ping)– A fonte da sobrecarga muitas vezes é um sistema comprometido.– Muitas vezes é usada a adulteração do IP (endereço falso da fonte de
IP).– O TCPv4 não foi projetado com recursos de segurança/proteção.– Existem ‘Kits’ na Internet para gerar alguns destes ataques
• Interface do usuário para selecionar o alvo, tipo de ataque e máquinas comprometedoras, se possível.
– Os sistemas da Microsoft são mais visados agora do que o UNIX; oUNIX foi anteriormente o alvo primário.
– Chat (IRC) usado para controlar os agentes, espalhar os ataques.– Alto grau de automação nos ataques do DoS.– Janela pequena para os ataques do DoS trabalharem antes de serem
tomadas as medidas de segurança.
Edições de Segurança Atualizadas, pág.2• Ataques do DNS (BIND)
– A solução é rodar a última versão do DNS.• Aberturas nos scripts do CGI
– A maioria dos exemplos dos scripts na Net têm aberturas de segurança.– Não use o CGI
• Chamadas de procedimentos remotos (COM, CORBA, e outros)– Desabilite se não estiver usando; mova para o SOAP.
• Servidor da Web Microsoft IIS– Algumas comutações são recomendadas para o Apache/Tomcat– O Microsoft precisa para corrigir todas as vulnerabilidades
• O envio de e-mail (UNIX) roda com privilégio de raiz.– Atualização da última versão. Foi gravada como um projeto de estudante
graduado.• O NFS, montado, compartilhar os discos remotos de montagem (UNIX,
Win)– Dá um privilégio de raiz (UNIX), permissões padrão de leitura-gravação (Win).
• A contas frágeis ou sem senhas, incluindo a raiz/Administrativa.• Os protocolos de e-mails IMAP, POP têm segurança frágil.• O SNMP tem segurança frágil (senha “particular” padrão raramente é
restabelecida).– Podem permitir que os hackers controlem os roteadores.. A área visada é a
atual.
Edições de Segurança Atualizadas, Pág.3
• Todos estes pontos fracos são explorados por:– Worms: o programa o copia para outras máquinas e se
propaga.– Vírus: o programa altera ou infecta os programas ou arquivos
existentes, os quais então os propagam.– Cavalos de Tróia: Programa que nem copia tampouco
reproduz, mas danifica diretamente o sistema atacado. Tipicamente se alastra por e-mail.
– Definições em http://www.symantec.com/avcenter/refa.html
Iniciativas de Segurança
• Código à prova de transporte, autorização à prova de transporte– O código enviado pelo servidor contém prova de segurança em que o
código obedece a uma apólice de seguro declarada.– O cliente tem um validador de provas.
• Cartões inteligentes, biométrica para autenticação.• Padrão de criptografia avançado (PCA) ou algoritmo de Rijndael,
para substituir o DES.– Algoritmo de chave simétrica de 128 a 256 bits.. Veja nist.gov– Algoritmo Twofish perdido para o Rijndael na concorrência do AES
(veja SSL)• Firewalls com análises de criptografia de programas
– O ZoneAlarm (alarme de zona) é livre e eficiente.• Detecção de Intrusos
– Analise o tráfego da rede, examine os pacotes individuais dentro do fluxo de dados para identificar as ameaças dos usuários autorizados, os hackers que têm frustrado os sistemas de controle.
– Os firewalls não são suficientes.
Iniciativas de Segurança, pág.2• AAA (autorização, autenticação, administração ou contabilidade) para os
servidores da Web e aplicativos.– RADIUS (Serviço de Discagem Direta do Usuário de Autenticação Remota),
protocolo do cliente/servidor para servidores de acesso remoto, para comunicação com o servidor central para autenticação dos usuários de discagem direta ou remotos, e autorizar seu acesso ao sistema ou serviço solicitado. Movendo-se para os servidores de aplicativos.
– O RADIUS é um padrão industrial de fato, proposto para a norma IETF.– TACACS+ (Sistema de Controle2 de Acesso a Terminais) é o padrão antigo.
• Como sempre, lembre-se de que as pessoas são os elementos-chave.− Experiências da equipe Tiger− ‘Dentro’ dos trabalhos.
Segurança do Java• Dois modos: aplicativo e applet.• Os applets são limitados à área de segurança “sandbox” em um
modelo de segurança original– Não podem ler ou gravar a partir do disco local.– Não podem acessar o hardware físico: memória, disco, teclado, tela...– Não podem acessar o ambiente do sistema.– Não podem chamar os comandos do sistema ou rodar programas externos– Não podem abrir as conexões da rede para qualquer máquina que não seja
aquela na qual o download foi executado a partir da (“restrição de telefone residencial”).
• O gerenciador de segurança do Java reforça a segurança– Faz com que o applet aborte se tentar fazer uma operação ilegal.– Roda um verificador de código de bytes para verificação contra elementos
internos.• Modelo original apertado demais
– Evita muitas coisas ruins, mas também evita muitas coisas boas.– Os applets não podem imprimir, salvam arquivos convertidos em disco e
enviam os resultados à rede.– Os usuários podem conceder privilégios assinados dos applets para
arquivos selecionados, etc.– Os applets podem ser assinados com certificados dos autores.
Modelo(s) de Segurança Antigos do Java
Modelo de Segurança Atual do Java
Modelo de Segurança da Plataforma do Java 2
O código roda com permissões diferentes, nenhuma noção interna de código confiado.
Segurança do ActiveX
• Não considerado desde o início, como foi a segurança do Java.
• O ActiveX é um processo de reintegração do COM/OLE.– Os controles do ActiveX têm pleno ambiente para uso dos
aplicativos.– O código de autenticação é usado pela Microsoft e Verisign
(CA) para atribuir controles, como uma solução parcial.– A maioria das aberturas de segurança é introduzida
inadvertidamente pelos desenvolvedores; estas são depois encontradas e exploradas por maus elementos.
– O modelo de segurança do ActiveX não protege contra este problema.
• Basicamente, este é um caso sem esperança.– Tudo bem em usar os controles do ActiveX em um ambiente
de servidores onde eles são permanentemente carregados, mas não é razoável carregá-los a partir de uma rede.
Segurança do Javascript
• Desde o inicio, não foi projetado pensando em segurança. • Problemas diversos
– Pode enviar mensagens de e-mail com o nome do usuário– Pode obter listagens de diretórios, em seguida colocar um
comando inocente na página da Web que carrega todos os arquivos para o servidor, desconhecido ao usuário.
– Podem abrir janelas de dimensão zero e rodar scripts para espionar.
– Recusa de Serviço: abre as janelas mais rápido do que você possa fechá-las.
• O VBScript (e os macros VB) têm apresentado problemas similares
• Ambos os VBScript e JavaScript também são um caso sem esperança.– Novamente, instale no servidor mas não o carregue da rede.
Resumo
• Infraestrutura de chaves públicas(IPC) para segurança de redes.– Certificados, criptografia, autorizações de certificados, Ipsec
(futuro)– Atualmente muito caro– Implementações de multivendedores não funcionam bem.– Expectativa para melhorar drasticamente nos próximos 12
meses.• Mover para XML, XSL, Xlink, e desenfatizar o JavaScript,
applets, etc. para segurança do cliente.– O XML pode ser enviado e recebido simetricamente pelos
clientes, servidores.– Utiliza porta 80 (HTTP), que é um protocolo razoavelmente
seguro (restrito).• O melhoramento contínuo nos sistemas de operação do
servidor para segurança do servidor.– O CERT (www.cert.org), e outros serviços de segurança
continuam alertas e fixos.