Tecnologia SSL Gustavo Lobato [email protected] www.gsolucoes.com Resumo O Problema(Segurança no envio de dados sigilosos) Exemplos práticos de problemas Tecnologia SSL Como funciona? Como funciona? Internet Banking ou Sistemas Seguros A técnica de segurança Autoridade Certificadora Dicas Empresas que vendem os certificados Técnica de Hacking – Homem no Meio Referências O Problema Com o crescente uso da internet para serviços e sistemas corporativos a preocupação com segurança tem se tornado fator primordial quando se pensa em colocar no ar esses projetos web. O maior risco dessas aplicações após os grandes investimentos básicos em segurança esta na ponta(Usuário final) e se o mesmo não é obrigado a seguir padrões de acesso para utilizar os serviços estes correm sérios riscos. Exemplos Navegação em redes públicas: O usuário leigo pensa que apenas conectar o seu computador com antivírus e firewall ativo em uma rede pública, já pode começar a fazer tudo que bem entender em sua conta bancária ou compras em sites de ecommerce de forma tranqüila. Ai onde mora o problema, um cracker pode interceptar essa comunicação e esta se não estiver devidamente criptografada, ter acesso fácil a todos os dados do que esta sendo transmitidos. Exemplos Redes Wireless(Pontos de acesso, Provedores , Hotspots, Redes públicas em geral são alvos fáceis. E na sua casa/empresa eu corro risco? R->Claro! Seu provedor, pode não criptografar a conexão de sua máquina ate o roteador dele e ai morar o perigo. Exemplos Ou simplesmente o site que você acessa pode não criptografar as informações transmitidas e os dados passarem em via pública de forma que qualquer interessado capte. Ai entra a tecnologia dos certificados SSL A Tecnologia SSL Originalmente desenvolvida pela NETSCAPE. Tornou-se parte de um protocolo geral de segurança conhecido como Transport Layer Security (TLS) Os certificados digitais SSL oferecem uma autenticidade de que o site que você está visitando é realmente de quem você pensa ser e também dificultam, através da criptografia dos dados, de que as informações fornecidas não poderão ser interceptadas no trajeto entre o computador do usuário e o servidor do serviço Como funciona? (Formalizando) SSL ( Secure Sockets Layer) É uma tecnologia de segurança que é comumente utilizada para codificar os dados trafegados entre o computador do usuário e um Website. O protocolo SSL, através de um processo de criptografia dos dados, previne que os dados trafegados possam ser capturados, ou mesmo alterados no seu curso entre o navegador (browser) do usuário e o site com o qual ele está se relacionando, garantindo desta forma informações sigilosas como os dados de cartão de crédito. Identificando o uso da tecnologia Quando um visitante de um web site se conecta a um servidor que está utilizando o protocolo SSL, eles irão notar na barra de endereços, que o protocolo passa a ser https:// ( no lugar do http:// padrão). Aliado a isto, a maioria dos browsers (como o internet explorer por exemplo) mostram no browser um tradicional cadeado. Na prática Internet Banking Federalcred Central Federalcred Central A técnica de segurança A criptografia de chave pública envolve muito processamento, portanto a maioria dos sistemas utiliza uma combinação da chave pública e simétrica. Quando dois computadores iniciam uma sessão segura, um computador cria uma chave simétrica e a envia ao outro usando a criptografia de chave pública. Os dois computadores podem então se comunicar utilizando a criptografia de chave simétrica. Uma vez que a sessão é terminada, cada computador descarta a chave utilizada naquela sessão. Todas as sessões adicionais requerem que uma nova chave simétrica seja criada e que o processo seja repetido A técnica de segurança O servidor do site que está sendo acessado envia uma chave pública ao browser, usada por este para enviar uma chamada secreta, criada aleatoriamente. Desta forma, fica estabelecida a trocas de dados criptografados entre dois computadores. Baseia-se no protocolo TCP da suíte TCP/IP e utiliza-se do conceito introduzido por Diffie-Hellman nos anos 70 (criptografia de chave pública) e Phil Zimmerman (criador do conceito PGP). A Técnica de segurança Algoritmos de espalhamento A chave, na criptografia de chave pública, é baseada em um hash value. Esse é um valor que é calculado a partir de um número de entrada baixo utilizando um algoritmo de espalhamento. Basicamente, esse valor é um sumário dos valores de origem. O importante sobre esses hash value é que se torne quase impossível derivar o número original de entrada sem conhecer os dados utilizados para criá-lo. Número de entrada Algoritmo de espalhamento Hash value 10.667 # input x 143 1.525.381 A Técnica de segurança Você pode observar como seria difícil determinar que o valor 1.525.381 veio da multiplicação de 10.667 por 143. Mas se você soubesse que o multiplicador era 143, então seria muito fácil calcular o valor 10.667. A criptografia de chave pública é na realidade muito mais complexa do que esse exemplo, mas essa é a idéia básica. As chaves públicas geralmente utilizam algoritmos complexos e hash value muito grandes para criptografia, incluindo números de 40 bits ou até mesmo de 128 bits. Um número de 128 bits possui cerca de 2 elevado a 128 combinações ou (3.402.823.669.209.384.634.633.746.074. 300.000.000.000.000.000.000.000.000.000.000.000.000) diferentes combinações possíveis. Isso seria como tentar encontrar um específico grão de areia no Deserto do Saara Autoridade Certificadora As "Certification Authority" ou Autoridade Certificadora (CA) são empresas que realizam a emissão dos certificados seguros SSL. As autoridades certificadoras são responsáveis por validar a identidade de um Website. O que mais se aproxima de uma entidade normatizadora das autoridades certificadoras é o "Webtrust Compliancy Program" administrado pela AICPA/CICA. A maioria das CA's obedecem aos critérios da Webtrust. Dicas Adquira sempre um certificado que seja compatível com o maior número de navegadores possível Adquira sempre acima ou igual a 128bits É obrigado ter IP Válido e FIXO. O Custo anual de um certificado básico (Laniway) é de R$ 149,00 Empresas que comercializam Laniway.com.br(RapidSSL/Geotrust ) Certificados simples como o Rapid SSL para pequenas aplicações e segurança no acesso ao correio eletrônico Certificados GeoTrust para sites de comércio eletrônico. Certificados True Business ID que asseguram a sua identidade para os visitantes de sua aplicação ------------------------------------------------------------------ Empresas que comercializam VeriSign Brasil A VeriSign é a principal autoridade certificadora de certificados para servidores web - SSL, que tornam possivel o comércio eletrônico e as comunicações seguras. Escolha a marca de segurança da Internet que você pode confiar e ofereça a criptografia mais forte de SSL para os seus usuários disponível no mercado Técnica de Hacking, Homem no meio Quando acessamos o banco, nossa conexão parece dessa maneira: CLIENTE ————————————– SITE CANAL CRIPTOGRAFADO Isso significa que meus dados estão indo em código para o banco e vice-versa. Se eu tentasse “farejar o tráfego não conseguiria nada legível. Aí entra a técnica. Eu vou redirecionar o tráfego do computador do CLIENTE para o meu e repassar os seus dados para a página real do SITE (atenção, é a página real, não clonada) ficando assim: CLIENTE —————— HACKER ———————– SITE CRIPTOGRAFIA CRIPTOGRAFIA Técnica de Hacking, Homem no meio Ao fazer isso, eu crio duas conexões criptografadas, uma com o CLIENTE e outra com o BANCO. Assim, eu finjo ser o SITE para o CLIENTE e o CLIENTE para o SITE. Ou seja, vou capturar os dados que o CLIENTE tentar enviar para o banco e que o SITE enviar de volta ao cliente. Entenda que a criptografia ainda existe, mas como os dois lados pensam que o programa interceptador é seu companheiro de transação os dados chegam até o hacker em texto puro. Técnica de Hacking, Homem no meio O software malicioso utiliza um certificado qualquer . Consequentemente, um aviso é mostrado quando o CLIENTE tenta se conectar a um site seguro. Mas esse é um problema fácil de contornar para o invasor. Como o programa de interceptação age como um servidor proxy, o hacker envia o usuário para um site qualquer. Assim pode aproveitar erros de navegadores como o Internet Explorer para instalar um pequeno executável através de scripts ActiveX maliciosos. Ou mesmo utilizar-se de engenharia social, enviando um e-mail para o usuário com o link para o site malicioso. Maneiras não faltam. Observe as configurações avançadas do Internet Explorer: Abaixo você pode ver os dados obtidos pelo software espião: Onde entra a autenticação do certificado nessa história? Contramedidas: Atualização + PSI + Treinamento Tanto para o man-in-the-middle local ou remoto, o problema se origina da mesma maneira. Como dizem, a segurança de sua rede é igual à segurança do seu elo mais fraco: o usuário. Enquanto os usuários nãotécnicos não tiverem um treinamento específico para que não caiam nas técnicas de Engenharia Social e aprendam a atualizar seu sistema para evitar possíves falhas, sua instituição será vulnerável. Quanto aos administradores, precisam do treinamento de penetration test. Só assim descobrirão os problemas mais ocultos e poderão se utilizar de novos conceitos para tornar seus sistemas mais seguros (e seu trabalho mais prazeroso). O OpenSSL disponibilizou uma actualização de segurança que permite mitigar esta vulnerabilidade. Esta actualização de segurança não resolve a vulnerabilidade no protocolo, apenas desactiva o mecanismo de renegociação do SSL/TLS Referências http://www.laniway.com.br/br/corporativo/certificado. do http://www.verisign.com.br/ Registro.br Apresentação disponível em www.gpsolucoes.com/ssl.ppt