A história sobre o pequeno cadeado no browser

Sempre que vê um pequeno cadeado na barra de endereços do browser da Internet, bem como quando usa aplicações, email e mensagens, você conta com algo chamado de “transport layer security” ou TLS. É um protocolo que nos mantém seguros online.

Por trás desse pequeno cadeado está um código criptográfico que garante a segurança dos dados que passam entre você e, por exemplo, o site que está a visualizar.

De facto, o TLS garante a segurança em três frentes: autenticação, criptografia e integridade. Autenticação para que os dados vão para onde se pensa que estão a ir; criptografia, para que não vá para nenhum outro lugar [ou sejam visíveis por quem não deve]; e integridade, para que não seja adulterado no caminho.

“É o protocolo de segurança mais popular da Internet, protegendo essencialmente todas as transacções de comércio electrónico”, refere Eric Rescorla, director de tecnologia da empresa de tecnologia americana Mozilla.

Andaimes
Nas duas décadas anteriores a 2018, houve cinco revisões do TLS para acompanhar a sofisticação dos ataques online. Depois disso, muitos especialistas acreditavam que a última encarnação, TLS1.2, era segura o suficiente para o futuro próximo, até investigadores como Karthik Bhargavan e os seus colegas do National Institute for Research in Digital Science and Technology (INRIA) em Paris se interessarem.

Como parte do projecto CRYSP, os investigadores estiveram a desenvolver maneiras de melhorar a segurança das aplicações de software. Geralmente, os programadores de software confiam no TLS como um construtor depende de um andaime – por outras palavras, eles consideram a sua segurança garantida.

Para melhorar a segurança no nível do software, no entanto, Bhargavan e colegas tiveram que verificar minuciosamente se as suposições subjacentes ao TLS1.2 – que não apresentavam falhas graves – eram justificadas.

“Num dado momento, percebemos que não eram”, recorda.

Após descobrirem algumas linhas de código instáveis, os investigadores trabalharam com a Microsoft Research e assumiram o papel de hackers, realizando alguns ataques simulados ao protocolo para testar a extensão da sua vulnerabilidade. Os ataques revelaram que era possível ser um “man in the middle” entre um utilizador da Internet e um fornecedor de serviços, como o Google e, assim, roubar os dados desse utilizador.

“Teria que ser uma sequência bastante complexa de acções”, explicou Bhargavan. “Normalmente, ‘a pessoa no meio’ tem que enviar mensagens estranhas para cada actor para as atrair para uma parte incorrecta do código”.

Se, como essa pessoa, “eu for bem-sucedido, posso roubar os detalhes de pagamento de alguém”, continuou. “Ou poderia fingir ser a Apple ou o Google e fazer download (inserir) de malware por meio de uma actualização de software para obter acesso aos computadores pessoais”.

Ameaça séria
Esse hacker precisaria de grande experiência e poder computacional, o de uma agência governamental, por exemplo, além de acesso a parte da infra-estrutura física próxima dos principais actores. No entanto, a Internet Engineering Task Force (IETF), uma organização internacional que promove normas para a Internet, considerou a ameaça suficientemente grave para garantir uma nova versão do protocolo criptográfico.

Bhargavan realça que estava longe de ser o único investigador em computação a solicitar a revisão. Havia quatro ou cinco outros grupos de investigação à procura de problemas com o protocolo actual, pressionando-se entre eles numa rivalidade saudável, segundo ele.

Ainda assim, diz que o seu grupo descobriu algumas das falhas mais surpreendentes do TLS1.2, que acredita poderem ser sido os “pregos finais no caixão” do protocolo.

O seu grupo também fez parte de uma ampla colaboração na comunidade da Internet, supervisionada por um grupo de trabalho da IETF, para desenvolver o sucessor mais seguro TLS 1.3, usando algoritmos e técnicas modernas. “Bhargavan foi um participante importante nesse esforço”, disse Rescorla, que supervisionava o TLS na IETF nessa altura.

O TLS 1.3 foi lançado oficialmente em Agosto de 2018. Desde então, foi implementado pelos principais browsers da Internet, como o Mozilla Firefox e o Google Chrome.

Em resultado disso, estão os utilizadores da Internet mais seguros?

Erro humano
É verdade que, para a maioria das violações de segurança online, o TLS não é o culpado. Geralmente, os dados pessoais ficam nas mãos erradas por causa de “bugs” no software – no que o grupo de Bhargavan estava a trabalhar antes – ou por erro humano.

Mas Bhargavan acredita que há conforto em saber que o protocolo subjacente é seguro. “Não é tudo, mas desde que se clique no cadeado, tem-se alguma confiança na segurança – é a coisa mais básica”, disse ele.

Além disso, os utilizadores da Internet não se preocupam apenas com os hackers. Desde 2013, e os “leaks” de Edward Snowden, ex-funcionário de uma empresa subcontratada pela National Security Agency dos EUA, muitas pessoas estão preocupadas com a quantidade de dados pessoais acumulados pela espionagem estatal e pelas grandes empresas.

Concebido tendo as revelações de Snowden em mente, o TLS 1.3 fecha a porta para alguns tipos dessa monitorização abrangente baseada na rede, por meio da criptografia de dados e dos metadados do utilizador. Também evita a descriptografia retrospectiva – uma das fraquezas da versão anterior.

Houve uma longa discussão no grupo de trabalho da IETF sobre se a prevenção da vigilância era um dos objectivos do TLS, diz Bhargavan. “E a resposta acabou sendo positiva”.

Agora, Bhargavan está de volta à questão da segurança de software. Ele acredita que a maioria das vulnerabilidades restantes pode ser eliminada no estágio de design.

Verificado
Para o fazer, ele e os seus colegas estão a desenvolver uma biblioteca, a HACL, de código criptográfico totalmente verificável, que outros programadores podem usar para criar novo software. Neste projecto, conhecido como CIRCUS, eles também estão a criar um paradigma de referência fácil de seguir que informa os programadores como desenvolver software sem introduzir falhas de segurança.

O software de elevada garantia resultante já foi utilizado pelos programadores da Mozilla e da Microsoft, entre outros. “Queremos que todos sigam essas técnicas”, disse Bhargavan.

Por fim, o seu objectivo não é proteger tudo online, mas encontrar os locais mais seguros nos sistemas de computador altamente complexos. “Acho que nunca chegaremos a um ponto em que tudo será verificado”, disse ele, “mas podemos encontrar a cesta mais segura na qual podemos colocar as nossas chaves, senhas e dados financeiros”.

* Texto original publicado na Horizon, the EU Research and Innovation Magazine (CC BY 4.0). Foto: D H (CC BY-NC-SA 2.0)

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão /  Alterar )

Google photo

Está a comentar usando a sua conta Google Terminar Sessão /  Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão /  Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão /  Alterar )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.