O “cadeado”
Olá novamente! Hoje mais uma vez vamos falar de um sistema que utilizamos todos os dias e nem nos apercebemos. Todos nós estamos habituados a ver o "cadeado" quando visitamos um site na internet. Todos os que possuem ou gerem sites estão a ser incentivados a implementar tecnologia que coloque esse "cadeado" sob pena de poder descer no ranking dos sistemas de pesquisa bem como serem identificados como sites "não seguros".
Mas será que é bem assim, sites sem cadeado são automaticamente inseguros? Bem, depende da definição de segurança que estivermos a considerar. Vamos analisar melhor para esclarecer!
Cada vez que visitamos um site é estabelecida uma ligação entre o nosso computador e o computador que está a disponibilizar o site, chamado de servidor. Após o estabelecimento dessa ligação a informação é trocada; tipicamente o nosso computador faz um ou mais pedidos ao servidor e assumindo que tudo corre bem, o servidor devolve a informação pretendida. Até aqui tudo bem... um pede e o outro responde... que problema há nisto? Bem... o problema é que nesta troca de informação o pedido vai "em claro", e com o equipamento correcto é possível observar tanto os pedidos como as respostas e no pior dos casos é possível manipula-las e transmitir ao nosso computador dados nefastos, maliciosos ou por vezes somente errados (como por exemplo mostrar as cotações da bolsa erradas para criar pânico). Um paralelo que pode ser estabelecido é por exemplo entregar uma carta aos CTT mas sem a colocar num envelope. Ou seja, os CTT conseguem ler a carta sem problema algum e qualquer pessoa com acesso à carta e alguma perícia pode alterar as palavras da carta para que a pessoa que a receba leia algo diferente do original.
Tendo em conta a quantidade de coisas importantes que tratamos na internet este tipo de segurança não é de todo aceitável pois alguém podia modificar o valor de uma transferência bancaria ou indicar que a declaração do IRS foi entregue quando na realidade não foi de forma a criar problemas legais a alguém. Então foi preciso usar algo que ao mesmo tempo pudesse impedir a leitura dos dados durante o percurso entre os dois computadores bem como detectar se alguma coisa foi modificada para que esses dados não sejam considerados validos. E é aqui que entra o SSL, ou na sua vertente mais recente o TLS. Esta tecnologia utiliza técnicas de criptografia para cifrar os dados ponto-a-ponto, o que significa que os dados são codificados numa ponta e descodificados noutra e todos os equipamentos entre estes dois computadores somente conseguem ver os dados em código e por isso nada de perceptível pode ser identificado por terceiros.
Sendo isto já um grande salto na privacidade dos dados, falta uma maneira de garantir que (mesmo na sua forma codificada) qualquer alteração dos dados é detectada para que essa mensagem seja invalidada pois como foi alterada depois de sair do computador de origem, já não pode ser confiada. O TLS também inclui uma espécie de assinatura em cada mensagem; assinatura essa que é validada no lado receptor e nos permite garantir que a mensagem que recebemos não foi modificada intencionalmente ou por algum erro em algum dos pontos onde a informação passou.
Ou seja passamos de uma carta em claro enviada sem envelope, para uma carta escrita em código colocada num envelope fechado com os selos que colocam nos dispositivos electrónicos para que a garantia seja nula no caso de tentarmos abrir o equipamento. Isto resulta numa grande capacidade de segurança das nossas mensagens pois até podem ler o conteúdo mas como esta em código não sabem nada de útil, ate podem modificar o conteúdo codificado mas como quebram o selo de segurança nos sabemos que o conteúdo foi mexido e não aceitamos a mensagem.
E é isto que o "cadeado" significa; que as mensagens que trocamos com o computador que disponibiliza o site são codificadas ponto-a-ponto e que conseguimos perceber se alguém modificou o conteúdo afim de rejeitar a mensagem. Mas o que é que isto tem que ver com vírus e outras coisas manhosas? Qualquer site sem ligação segura é logo para evitar? Sim e não. Ou seja, um site sem uma ligação segura pode à mesma servir um propósito honesto, mas existe a possibilidade de alguém malicioso alterar o conteúdo que lhe é disponibilizado para o levar a fazer algo que seja ou prejudicial para si e/ou benéfico para o atacante. E os sites com "cadeado"? São a 8ª maravilha do mundo certo? Também não. Os sites com "cadeado" certificam que a ligação é segura, ou seja ninguém consegue ver nem mexer no que é trocado mas nada diz sobre o objectivo do site que usa tal segurança pois sites com "cadeado" podem à mesma ser sites desonestos e que disponibilizam aplicações ou páginas com uma intenção maliciosa.
Resumindo:
- Antes as nossas comunicações a nível informático iam às claras e podiam ser interceptadas e modificadas sem que déssemos conta;
- Devido à importância crescente da internet, foi necessário criar mecanismos para garantir a privacidade e a integridade das comunicações;
- A utilização do SSL/TLS, o tal "cadeado" certifica que a ligação entre os dois computadores não é lida nem manipulada por ninguém mas nada diz sobre o conteúdo ou a honestidade do site. Ou seja, um site que SSL/TLS não é obrigatoriamente um site honesto.
Para reforçar:
- O facto de um site não ter "cadeado" é automaticamente malicioso? Vou sempre apanhar um vírus? Não, significa que ao longo do caminho entre o seu computador e o servidor do site a informação trocada pode ser vista e/ou manipulada por terceiros maliciosos, manipulação essa que pode resultar com que o seu computador carregue algo malicioso. Em todo o caso aconselha-se que se evite este tipo de sites e que não sejam introduzidos dados pessoais/bancários;
- Então todos os sites que usam "cadeado" são absolutamente seguros, certo? Não, proceder ao aumento do nível de segurança da ligação de um site é cada vez mais encorajado e fácil pelo que mesmo agentes maliciosos podem ter um site tecnicamente seguro (cadeado) mas com objectivos nefastos, pelo que o "cadeado" não é um atestado da honestidade do site mas sim um atestado que a informação trocada entre o seu computador e o servidor do site não é vista/manipulada por terceiros ao longo do caminho.
Espero que tenham gostado deste tema!
Fiquem seguros,
Rui