A enorme lacuna de segurança da web que a maioria das pessoas não conhece e como ela está sendo corrigida

Podemos confiar nas organizações responsáveis ​​por garantir que o tráfego criptografado da web seja confiável?

A enorme lacuna de segurança da web que a maioria das pessoas não conhece e como ela está sendo corrigida

Centenas de empresas e outras entidades em todo o mundo, algumas associadas a governos nacionais, ocupam um lugar de poder na Internet que você provavelmente nem sabe que existe. As autoridades de certificação (CAs) estão no ápice da raiz da confiança que permite que a web, e-mail e outras conexões seguras subjacentes ao comércio, governo, comunidades online e tudo o mais funcionem sem interceptação efetiva por partes externas.

não pise no meu dicionário urbano



Em 18 de fevereiro, foi explicado por Kenn White em uma série de tweets como a Lenovo adware aparentemente pré-instalado que usa o enorme poder inerente aos certificados para interceptar todas as interações da web por clientes em seus laptops e reescrever páginas e inserir anúncios em sessões seguras. A Lenovo contornou as autoridades de certificação, mas aproveitou as lacunas no sistema que verifica a legitimidade.

Uma autoridade de certificação fornece validação externa de que um documento de segurança - um certificado digital - enviado por um servidor foi emitido corretamente para alguém que controla o nome de domínio desse servidor. O nome de domínio que você usa em um navegador corresponde ao nome no certificado, que corresponde ao processo de verificação pelo qual o proprietário do domínio passou para obtê-lo. Os CAs são parte de uma cadeia de confiança que inclui desenvolvedores de sistemas operacionais e navegadores e representam o elo mais fraco.



Uma CA que é sequestrada ou usada indevidamente pode emitir documentos para qualquer domínio em qualquer lugar que serão aceitos como válidos. Isso permite ataques nos quais é impossível detectar que algo deu errado. Para usuários comuns, um ícone de cadeado do navegador aparece; para software automatizado, nenhum alarme dispara. Verifique seu Gmail e tudo parece e funciona normalmente, mas cada byte está nas mãos de um intermediário.



Um certificado típico

A ameaça é real

Isso não é teórico. Várias vezes na última década, foi descoberto que certificados foram emitidos que poderiam ou levaram a pontos fracos. O mais conhecido deles é DigiNotar, um CA holandês que foi comprometido em 2011 . Um dos certificados era supostamente usado pelo governo do Irã para interceptar sessões de seus cidadãos. (Revogar certificados comprometidos continua sendo uma tarefa feia e quebrada também, embora isso esteja mudando.)

Além disso, muitos CAs são dirigido por governos ou são amplamente suspeitos de estarem sob a autoridade de governos. Uma das revelações mais recentes de documentos obtidos por Edward Snowden incluiu detalhes sobre os NSA's coleção de um grande número de sessões da web criptografadas , e sua capacidade de quebrar alguns deles. Isso provavelmente se baseou no uso de algoritmos de criptografia fracos e segurança interna insuficiente em algumas CAs.



Há poucos recursos para alterar quais partes estão envolvidas na emissão de certificados, por causa da evolução complicada das CAs e dos sistemas legados em vigor que dependem de informações desatualizadas. Ivan Ristić, o autor de SSL e TLS à prova de balas e um pesquisador da Qualys, diz, há milhares de entidades que evoluíram para projetá-lo, fabricá-lo e usá-lo, mas você precisa fazer com que todos acompanhem a jornada.

Ivan Ristic

O mercado em que essas instituições existem é estruturalmente disfuncional, diz Peter Eckersley, diretor de produtos de tecnologia da Electronic Frontier Foundation (EFF). Ele observa que não importa qual certificado se compra, desde os mais caros e sofisticados até os mais baratos: em todos esses casos, você obtém a segurança da pior CA, já que cada CA pode emitir um certificado para cada domínio.

encontre a estética do ícone do meu iphone



Confiar que as autoridades de certificação são seguras e dignas de confiança é um dos maiores problemas da Internet, apesar dos detalhes parecerem obscuros. A boa notícia é que, após anos de inatividade e falsos inícios, várias soluções estão finalmente sendo postas em prática.

A raiz da confiança

Na época em que a Netscape governava o poleiro em meados da década de 1990, ela desenvolveu o Secure Sockets Layer (SSL) como uma forma de responder às preocupações esmagadoras sobre a interceptação de dados. Isso foi antes que as onipresentes redes de celular e Wi-Fi transmitissem dados em torno de nossos ouvidos, mas a Internet com fio também não foi projetada em torno da segurança. Naqueles dias, eu entrei salas de encontro onde roteadores controlados por empresas diferentes se interconectam com pouca supervisão ou observação.

Uma chave pública é um truque de criptografia maravilhoso que é amplamente usado porque resolve um problema básico.

O SSL foi mais tarde suplantado por uma melhoria evolutiva chamada TLS (Transport Layer Security), embora o termo SSL seja frequentemente usado genericamente quando SSL / TLS ou TLS é preciso. Por qualquer nome, ele define o tipo de informação de segurança que precisa ser trocada e quais formatos são aceitos. Eles giram em torno de certificados digitais, que são pacotes de chaves de criptografia e informações de identificação. Em SSL / TLS, uma das partes inicia uma conexão - como um navegador se conectando a um servidor da web - e negocia que tipo de criptografia ambas as extremidades podem comunicar. O servidor fornece um certificado, que é validado, e então o cliente gera um número aleatório que é empregado apenas para aquela única sessão e enviado com segurança ao servidor. O cliente e o servidor derivam várias chaves de criptografia específicas da tarefa desse número.

O certificado contém o chave pública associado ao servidor ou a um conjunto de servidores. Uma chave pública é um truque de criptografia maravilhoso que é amplamente usado porque resolve um problema básico: como você passa informações entre duas partes sem que ambas compartilhem a mesma chave? Afinal, se você pudesse compartilhar a chave com segurança, isso significaria que você já tinha um método seguro de comunicação e não precisava da chave.

A solução de duas chaves

Com a criptografia de chave pública (PK), um algoritmo gera duas chaves complementares: Uma é privada e você deve protegê-la a todo custo. O outro é público e pode ser compartilhado livremente sem comprometer a chave privada. Neste momento, não há maneira prática de usar força bruta para determinar uma chave privada quando se conhece a pública.

Este par de chaves pública-privada pode ser usado de duas maneiras distintas. A primeira é para o que você pode considerar como criptografia regular. Alice quer enviar a Bob os planos de seu aquecedor de imersão sous vide proprietário e ela usa a chave pública de Bob para criptografá-lo. Quando Bob o recebe, ele usa sua chave privada para descriptografá-lo.

Um certificado digital SSL / TLS contém o componente de chave pública do par de chaves de um servidor, mas também inclui algo extra da CA. Este é o segundo principal uso de um PK: validar se um documento não foi modificado, o que é conhecido como assinatura digital. (Esta é uma tecnologia de segurança geralmente útil que também é usada fora de SSL / TLS.)

Como funcionam as assinaturas digitaisIlustração de Acdx via Wikipedia

Um documento de entrada, sejam os detalhes de um certificado SSL / TLS ou uma carta a um amigo, tem um resumo matemático calculado, conhecido como hash. Hashes são usados ​​para produzir sequências curtas de texto que variam enormemente quando até mesmo um único caractere ou dígito da fonte de entrada muda. O hash é então assinado pela chave privada.

Qualquer parte que receber o documento pode ter certeza de que ele não foi modificado, uma vez que foi assinado calculando o mesmo hash e descriptografando a parte da assinatura com a chave pública, o que deve resultar em um hash idêntico. Bob posta uma recomendação de Alice, assinada com sua chave privada, e as pessoas que querem ter certeza de que Alice não está mentindo podem validar que apenas Bob a assinou.

No caso de um CA, o CA assina um documento com sua chave privada que contém a chave pública do servidor. O problema é: como você confia que a chave pública da CA pertence à parte certa?

Essa é a base da infraestrutura de chave pública (PKI) para conexões SSL / TLS públicas e privadas. As CAs assinam certificados e suas chaves públicas e outros dados são incorporados aos navegadores e sistemas operacionais da Apple, Google, Mozilla, Microsoft e outros. As CAs nessas listas são chamadas de raízes confiáveis.

o palhaço expurgo é real?

O que provoca a próxima pergunta: como você confia na autoridade de certificação? E se a CA for totalmente confiável, como você sabe que um certificado emitido é aquele que ela legitimamente pretendia, dadas as rachaduras e subversões que aconteceram nos últimos anos?

Os esforços para resolver esses últimos problemas de confiança estão finalmente dando frutos.

Todos nós somos tão fracos quanto alguns de nós

Não existe uma lista principal de CAs raiz. Cada empresa (como a Apple) ou organização (como a Mozilla) decide por si mesma e, embora as listas se cruzem amplamente, há CAs que se encontram em uma e não em outra. A lista produzida pelo processo de comunidade orientado por consenso da Mozilla acaba sendo a escolha padrão para organizações que não querem exercer o esforço de construir suas próprias.

Richard Barnes, chefe do grupo de engenharia criptográfica da Mozilla, diz que seu programa de certificação raiz estabelece critérios para o que é necessário para que uma raiz seja admitida no programa. Isso inclui a conformidade com um conjunto de padrões da indústria que são regularmente atualizados e aumentados com novos requisitos. A Mozilla e outras partes que criam suas próprias listas raiz auditam regularmente as CAs para verificar a conformidade. CAs são removidos ou avisados ​​regularmente. (A Mozilla opera como uma parte confiável, que valida CAs para todos os seus produtos e para o mundo em geral, e como um fabricante de software que toma decisões relacionadas a certificados para o software que cria.)

1010 significa anjo
Cada uma dessas tecnologias elimina outra área de risco - outra área de superfície de ataque.

Por exemplo, alguns anos atrás, algumas autoridades emitiram certificados SSL / TLS para uso em dispositivos corporativos de inspeção de dados. Esses certificados assinados permitiram que as empresas inspecionassem os dados que fluem de funcionários e outros por meio de seu gateway de Internet. Embora existam razões benignas de segurança corporativa para isso, o risco de tais certificados serem mal utilizados por terceiros é alto. Mozilla e outros disseram que essa prática não seria mais permitida e as CAs pararam de emiti-los. Certificados específicos de domínio ainda podem ser usados ​​em tais dispositivos, mas apenas para os domínios de propriedade da empresa que os está implementando.

Essas políticas ajudam os bons jogadores a permanecerem bons. Mas quando algo dá errado - seja um erro legítimo, um hack ou roubo ou uma tentativa de interceptação apoiada pelo governo - outras ferramentas precisam entrar em ação nos sistemas operacionais, navegadores e por meio de observadores de rede globais independentes.

A aparente quebra de confiança da Lenovo descoberta ontem à noite parece ter resultado do fato de a empresa contornar os programas raiz, como o da Mozilla, e instalar sua própria autoridade de certificação artificial diretamente no Windows, bem como um certificado válido para todos os domínios que foram assinados por aquele falso CA. (A Mozilla confirmou que o Firefox permanece inalterado, porque depende de seu próprio conjunto de certificados raiz.) Esta suposta subversão da Lenovo revela as fraquezas nas verificações e balanços dos sistemas atuais, que podem mudar em breve.

Três abordagens já estão ajudando a descobrir problemas, evitar novos e impedir as partes de se envolverem em certos tipos de ataques observáveis:

  • Fixação, na qual os aplicativos indicam que apenas CAs específicos têm permissão para emitir certificados em seu nome. Isso não requer alterações por CAs e pode ser e foi adicionado unilateralmente a sistemas operacionais, navegadores e aplicativos individuais.
  • Transparência de certificado, que exige que as CAs publiquem todos os certificados que emitem. As CAs devem concordar em produzir esses dados, mas há um movimento geral para torná-los obrigatórios para, pelo menos, certificados de validação estendida (EV), que exigem uma prova de identidade mais independente por parte de uma parte registradora do certificado.
  • Projetos e ferramentas externas de verificação segura de sites liderados por várias partes, incluindo EFFs Observatório SSL , o Movimento da Internet Confiável SSL Pulse e da Universidade de Michigan ZMap . Esses esforços ajudam a deixar claro o que está acontecendo globalmente no nível do servidor, mas não requerem a participação ou aprovação de ninguém.

(Existem também duas outras abordagens. DANE (Autenticação de Entidades Nomeadas baseada em DNS), depende do sistema de nomenclatura de domínio (DNS), mas requer que a infraestrutura criptográfica do DNS evolua mais completamente, entre outras preocupações. E notários de certificados, tal como Perspectivas , que visa coletar informações de certificado e, por meio de plug-ins ou suporte do navegador, avisar um usuário quando um certificado desconhecido aparecer. Isso teve alguma força em 2012, mas está mais ou menos moribundo agora.)

Cada uma dessas tecnologias elimina outra área de risco - outra área de superfície de ataque, disse Barnes.

A fixação parece ter o impacto de curto prazo e seu uso remonta a vários anos. O Google fixou sua própria cadeia de autoridade no navegador Chrome, o que o levou a descobrir um ataque man-in-the-middle no Irã com um certificado obtido ilicitamente da DigiNotar.

O desenvolvedor Marco Arment (um colega deste repórter) tweetou recentemente sobre a fixação de certificados em seu aplicativo de podcast iOS, Overcast, que tem mais de 200.000 usuários com contas registradas. Arment disse por e-mail: Nunca ouvi falar de um único usuário que não conseguisse usar o Overcast por causa do meu uso de pinagem SSL. O Overcast não armazena informações financeiras e não tem um grande número de usuários, por isso não é um alvo particularmente tentador para ladrões ou governos. Mas Eckersley da EFF diz que as melhores práticas para aplicativos seriam fixar certificados, independentemente da categoria.

A Mozilla começou a fixar no final de 2014 com a versão 32 (34 no Android), começando com seus próprios domínios e a maioria dos do Twitter, seguindo o exemplo do Google. Ele se expandiu para cobrir o Google e, em seguida, o Dropbox, e irá adicionar mais. Cada domínio principal para o qual um navegador atribui certificados reduz grandes partes do risco de um ataque baseado em certificado para uma grande parte dos usuários da Internet, uma vez que grande parte do uso da rede está centrado em várias empresas importantes.

Isso será expandido em breve com suporte em versões mais recentes do Firefox e Chrome para HTTP Public-Key-Pinning (HPKP) , que permitirá que os servidores da web forneçam informações de fixação sempre que um navegador se conectar via https. Essa abordagem permite que um servidor pin em qualquer lugar, desde uma CA de nível raiz até os certificados individuais emitidos para o site.

Uma espécie de situação inversa tem os navegadores que limitam as raízes a ter autoridade sobre certificados apenas para domínios específicos. Depois de uma confusão com a autoridade do governo francês, ANSSI, Google restringiu o CA para apenas afirmar autoridade sobre um conjunto limitado de códigos de país de nível superior, incluindo .fr e outros territórios franceses. Barnes da Mozilla diz que isso pode restringir mais CAs. O governo dos EUA quer que sua CA seja incluída na lista raiz do Mozilla, e Barnes diz que pode ser adicionado, mas limitado a validar os domínios .gov e .mil do próprio governo por todos os motivos que você pode esperar. (Ele se recusou a entrar em detalhes, mas na esteira de Snowden, WikiLeaks e até mesmo divulgações de comitês do Congresso sobre as práticas de NSA e outras agências, é compreensível por que ele pode ser cauteloso em fornecer aos federais um papel irrestrito na segurança de certificados.)

Foto: usuário do Flickr Tanakawho

Tornando-se transparente

Transparência de certificado (CT) está menos adiantado, mas depende de um registro público de certificados emitidos que podem ser verificados independentemente como sendo emitidos por CAs. Esse log pode ser monitorado de duas maneiras diferentes: primeiro, para ter certeza de que um certificado apresentado por um servidor é aquele que foi emitido corretamente; segundo, que uma CA não emitiu um certificado para um domínio que não o solicitou. O Google está profundamente envolvido em impulsionar o CT. (Não respondeu a um pedido de comentário.)

google chrome desacelerando computador

O pesquisador de segurança Ristić observou que seria trivial operar um serviço de monitoramento em que o registro público fosse verificado continuamente para ver se o próprio domínio de alguém apareceu nele de qualquer parte ou em qualquer momento diferente do esperado.

Isso se encaixa perfeitamente com os vários projetos de digitalização globais, que fazem a varredura de maneira não prejudicial em todos os sites públicos ou protegidos, fazendo uma conexão padrão com a web, e criam um corpus de informações que pode ser resumido ou analisado por terceiros. Barnes disse que esses esforços ajudam o grupo a identificar problemas em vários níveis, incluindo relatórios de problemas para CAs ou elaboração de novas políticas.

O problema da autoridade de certificação não é resolvido de forma alguma, mas as oportunidades de dano e abuso são reduzidas por todos os esforços que limitam o escopo do que qualquer CA pode fazer e do que qualquer software ou sistema operacional está disposto a aceitar. Ristić disse sobre os CAs que, uma vez que os esforços de varredura relataram o que eles encontraram, de repente, eles perceberam que outros estavam assistindo.

Com os olhos automatizados do mundo finalmente fornecendo um escrutínio constante e sob pressão dos grupos que controlam as listas de CA raiz, as autoridades de certificação foram forçadas a evoluir. CAs não representam uma conspiração mundial, mas sim acidental. Verificar a confiança diminuirá o risco que todo usuário da Internet enfrenta hoje, sem saber.