80 likes | 200 Views
Segurança de Aplicações na Web. Trabalho de Conclusão de Curso Thiago Augusto Lopes Genez. Introdução. Proliferação do uso da Internet Aumento do trafego de dados na rede mundial Crescimento da Tecnologia Aplicações Web Disseminação das informações por meio da Web
E N D
Segurança de Aplicações na Web Trabalho de Conclusão de Curso Thiago Augusto Lopes Genez
Introdução • Proliferação do uso da Internet • Aumento do trafego de dados na rede mundial • Crescimento da Tecnologia • Aplicações Web • Disseminação das informações por meio da Web • E-commerce, E-mail, Banking on-line • Meio de Comunicação • Fácil e ágil • Necessidade da Segurança para as informações • Muitas aplicações estão desprevenidas • Falta de manutenção e configuração específica • Atualizações necessárias • Vários novos meios de ataques são descobertos a cada dia Característica cíclica • Resultado • Divulgação dos dados confidenciais • Nome, CPF, RG, Senhas, Informações Bancárias, Endereços.... • “Quebra” do sigilo Perda da confiabilidade pelo usuário. • Informações caírem em “mãos erradas” • Conseqüência grave para o proprietário da aplicação. Ex: Banco, Receita Federal, Cartões Créditos • Solução: • Implantar a segurança específica para cada tipo de aplicação. • Não generalizar a segurança: • Cada caso existe um tipo necessário de segurança • Objetivo: • Garantir que as informações mantenham-se intactas e protegidas durante a sua transmissão na Internet.
Conceitos Básicos de Segurança para Aplicações Web • Mundo Real x Mundo Virtual • Características em comum: paradigmas, problemas e soluções • Também ocorre na Segurança • Firewall, Política de Segurança, Rede Pública x Interna • Ambiente de Múltiplas Redes Associação de várias redes Internet • Sensação da distancia geografia Nula • Vantagem: Facilidade da manipulação e gerenciamento dos dados Economia de tempo • Problema: Segurança das informações • Serviços para garantir Segurança nas aplicações Web • Autenticação, Confidencialidade, Integridade, Não-repúdio , Controle de Acesso, Disponibilidade • Boa Segurança Não existe segurança perfeita (100% contra fraudes) • Garantia do funcionamento dos serviços acima • Obrigatoriamente: Confiabilidade, Integridade e Disponibilidade • A Tendência da Segurança: Tornando-se principal fator no projeto de uma Aplicação Web • Ataques: Objetivo Inativar os serviços de segurança • Tipos: Interrupção, Intercepção, Modificação, Fabricação • Passivos (Release ofMessageContents e Análise de Tráfego) • Caracterizado por escutas e monitoramento Sem modificação da mensagem • Difícil de ser detectado Solução: Criptografia • Ativos (masquerade, replay, modification e denialofservice) • Caracterizado pela alteração da mensagem ou pela criação de novos fluxos de dados. • O Problema da Segurança no Ambiente Web • Usuários finais Expostos aos risco da ausência de segurança Perda da privacidade • Aplicações Web: Comunicação entre usuários finais e sistema. • Por padrão o Canal é inseguro.
Criptografia básica • Conceito: ckryptós“escondido” e gráphein, “escrever” • Garantir a segurança e privacidade da informação • Arte e Ciência matemática: T • Texto legível Cifra texto ilegível • Algoritmos Simétricos • Chave única • Transmissão da Chave em um canal seguro • Intercepção da Chave ?!?! • Blockciphers • RC2, RC5, RC6, DES, TDES, AES, IDEA, Blowfish, Twofish, Serpent • Streamcipher • RC4 • Algoritmos Assimétricos • Duas chaves: a pública e a privada • Utilizado para: Confidencialidade , Autenticidade (assinatura digital) e trocas de chaves • RSS, Diffie-Hellman, ElGamal, DSS, Elliptic-Curve ECC, ECCDSA • Funções Hashes • Entrada: bloco arbitrário de dados função hash seqüência bits fixos • Não deve existir Colisões • Não é retornavél • MD4, MD5, MD6, SHA-1, SHA-2, SHA-3
Protocolos de Segurança • Usuário <--> canal <--> Aplicação • Padrão: Canal é inseguro • Mecanismo criados para “injetar” segurança na comunicação • Comunicação é baseada no Modelo OSI • A “injeção” ocorre, especificamente, nas camadas. • SSL (SecuritySocketLayer) • Promove, de forma transparente aos usuário e a aplicação : • Autenticação das extremidades • Codificação dos dados • Integridade do canal. • Utiliza: Criptografia simétrica, assimétrica, funcãohash. • Atua entre camada de transporte (TCP) e de aplicação • Capacidade de operar com qualquer aplicação que exerce sobre a camada de transporte TCP • Independente do protocolo de alto nível • Executado sob diversos protocolos de forma transparente • HTTP, Telnet, FTP, SMTP, POP • TSL (TransportLayerSecurity) • Sucessor do SSL: A padronização pelo RFC • Funcionamento Semelhante ao do SSL • Possui algoritmos criptográficos mais recentes e rápidos • HTTPS (HyperTextTransferProtocolSecure) • A posição do SSL, na pilha de protocolos, favorece a garantia de uma conexão segurança para o HTTP. • HTTPS = HTTP + SSL/TSL • HTTP foi projetado com ausência da segurança Dados trafegam de forma pura • HTTPS mensagem HTTP para SSL criptografa TCP INTERNET • Uso: solicitação por meio da URL. HTTP:80 texto puro e HTTPS:443 texto binário
Protocolos de Segurança • S-HTTP (TheSecureHyperTextTransferProtocol) • Mesmo objetivo SSL garantir segurança em conexões HTTP • Segurança “ponto-a-ponto” criptografa as mensagem da camada de aplicação • Somente mensagens HTTP Não é independente !!! • Mensagem por Mensagem (S-HTTP) VS Toda Conexão (HTTPS) • IPsec (Internet ProtocolSecurity) • Composto por um conjunto de protocolos • “Injeta” segurança no protocolo IP convencional • Oferece: autenticação, confiabilidade e gerenciamento de chaves • Os serviços ocorre na própria camada de rede. • Processo Transparente Cada pacote IP é criptografado e autenticado • Segurança nativa para todos os protocolos das camadas acima • Camada de Aplicação não precisa se preocupar segurança • WS-Security Framework • WS-Security: Promove segurança para os serviços Web • SOAP XML + HTTP = Interoperabilidade e intercomunicação entre diferentes sistemas • Criptografia XML e Assinatura XML • Camada de Política WS-Policy, WS-Trust, WS-Privacy • Políticas de confiança e de privacidade • Camada de Federação WS-SecureConversation, WS-Federation, WS-Authorization • Baseado nas políticas com o objetivo de unificar a confiança de diferentes domínios • SSL/TSL versus WS-Security para mensagens SOAP • SSL/TSL: Segurança em comunicações point-to-point • WS-Security: Garante a segurança onde SSL/TSL não protege Comunicações end-to-end • DNSSec: DNS é o primeiro serviço usado para “chegar” na aplicação Web • Garantir a segurança para o serviço DNS Endereço IP <--> Identificador Único • Problema: Identificador apontar para outro Endereço IP ?!?! • www.bb.com.br servidor hacker = site phishing • Autenticação dos dados DNS, mas não garante a CONFIABILIDADE = Dados não são criptografados (padrão) • Protege contra falsos DNS , mas não contra ataque DoS • DNSCurve • Criptografia de curva elíptica Proteção contra ataque DoS • Confidencialidade, integridade e disponibilidade
Identificação Digital • Certificação digital • Assinaturas à caneta, carimbos, selos,registro de identificação, reconhecimento de firma... • Realizado através da Internet • Economiza tempo • Processos burocráticos • Recursos financeiros • Como garantir a confiabilidade e a segurabilidade dos usuários? • Certificados e Assinaturas digitais • Tornou possível diversas transações eletrônicas • Respeitando às principais características de segurança • Integridade, autenticidade e a confidencialidade • Assinatura Digital • Esquema criptográfico demonstrar a autenticidade de uma mensagem • Bloco de dados anexado a mensagem • Destinatário pode verificar a identidade do emissor • Processo semelhante a assinatura manuscrita • Assinatura digital válida • Garante a credibilidade que a mensagem foi realmente emitida pelo dono da assinatura • A mensagem não sofreu alterações em transito • Prova inegável • Baseado por 2 processos: • A geração do código hash da mensagem • Encriptação deste hash através da criptografia de chave pública Bloco de dados anexado • Chave privada do remetente • Gerenciamentos de Chaves Públicas • Comunicação segura entre duas entidades que não compartilham uma chave-secreta em comum • A assinatura de mensagens sem a presença de uma terceira entidade confiável • Como iniciar a comunicação segura entre duas entidades desconhecidas? • Como realizar a troca das chave-pública, de forma segura, antes de iniciar o processo de comunicação? • Certificados Digitais • Certificados Digitais Em estudo! • Autoridades Certificadoras • Infra-estrutura de Chaves Públicas PKI
Próximos tópicos • Redes VPN • Principais ataques • Conclusão • Quais as principais tecnologias e técnicas utilizados atualmente? • Quais as melhores soluções para cada cenário? • Não existe segurança genérica • Sempre estar atualizado • Estabelecimento do assunto como um documento de fácil compreendimento • Para manter a segurança das aplicações na Web