O bug é conhecido como Heartbleed .
Eu sou vulnerável?
Geralmente, você é afetado se executar algum servidor para o qual você gerou uma chave SSL em algum momento. A maioria dos usuários finais não é (diretamente) afetada; pelo menos o Firefox e o Chrome não usam o OpenSSL. SSH não é afetado. A distribuição dos pacotes Ubuntu não é afetada (depende de assinaturas GPG).
Você estará vulnerável se executar qualquer tipo de servidor que utilize o OpenSSL versões 1.0-1.0.1f (exceto as versões do curso que foram corrigidas desde que o bug foi descoberto). As versões afetadas do Ubuntu são as versões 11.10 oníricas e 14.04 confiáveis. É um bug de implementação, não uma falha no protocolo; portanto, apenas os programas que usam a biblioteca OpenSSL são afetados. Se você tiver um programa vinculado à versão antiga 0.9.x do OpenSSL, ele não será afetado. Somente programas que usam a biblioteca OpenSSL para implementar o protocolo SSL são afetados; programas que usam o OpenSSL para outras coisas não são afetados.
Se você executou um servidor vulnerável exposto à Internet, considere-o comprometido, a menos que seus logs não mostrem conexão desde o anúncio em 07/04/2014. (Isso pressupõe que a vulnerabilidade não foi explorada antes do anúncio.) Se o servidor foi exposto apenas internamente, a necessidade de alterar as chaves dependerá de outras medidas de segurança.
Qual é o impacto?
O bug permite que qualquer cliente que possa se conectar ao seu servidor SSL recupere cerca de 64 kB de memória do servidor. O cliente não precisa ser autenticado de forma alguma. Repetindo o ataque, o cliente pode despejar diferentes partes da memória em tentativas sucessivas.
Uma das partes críticas de dados que o invasor pode recuperar é a chave privada SSL do servidor. Com esses dados, o invasor pode se passar por seu servidor.
Como me recupero em um servidor?
Coloque todos os servidores afetados offline. Enquanto estiverem em execução, eles estão potencialmente vazando dados críticos.
Atualize o libssl1.0.0
pacote e verifique se todos os servidores afetados foram reiniciados.
Você pode verificar se os processos afetados ainda estão em execução com o `` grep 'libssl. (excluído) '/ proc / / maps`
Gere novas chaves . Isso é necessário porque o bug pode ter permitido que um invasor obtenha a chave privada antiga. Siga o mesmo procedimento que você usou inicialmente.
- Se você usar certificados assinados por uma autoridade de certificação, envie suas novas chaves públicas à sua CA. Quando você receber o novo certificado, instale-o no seu servidor.
- Se você usa certificados autoassinados, instale-o no seu servidor.
- De qualquer maneira, mova as chaves e os certificados antigos para fora do caminho (mas não os exclua, apenas verifique se eles não estão mais sendo usados).
Agora que você possui novas chaves descomprometidas, pode colocar seu servidor novamente online .
Revogue os certificados antigos.
Avaliação de danos : todos os dados que estiveram na memória de um processo que atende às conexões SSL podem ter vazado. Isso pode incluir senhas de usuários e outros dados confidenciais. Você precisa avaliar quais podem ser esses dados.
- Se você estiver executando um serviço que permita autenticação por senha, as senhas dos usuários que se conectaram desde pouco antes da divulgação da vulnerabilidade devem ser consideradas comprometidas. (Um pouco antes, porque a senha pode ter permanecido sem uso na memória por um tempo.) Verifique seus logs e altere as senhas de qualquer usuário afetado.
- Também invalide todos os cookies de sessão, pois eles podem ter sido comprometidos.
- Os certificados de cliente não são comprometidos.
- Quaisquer dados que foram trocados um pouco antes da vulnerabilidade podem ter permanecido na memória do servidor e, portanto, podem ter sido vazados para um invasor.
- Se alguém gravou uma conexão SSL antiga e recuperou as chaves do servidor, agora pode descriptografar a transcrição. (A menos que o PFS tenha sido garantido - se você não sabe, não foi.)
Como me recupero em um cliente?
Existem apenas algumas situações nas quais os aplicativos clientes são afetados. O problema no lado do servidor é que qualquer pessoa pode se conectar a um servidor e explorar o bug. Para explorar um cliente, três condições devem ser atendidas:
- O programa cliente usou uma versão de buggy da biblioteca OpenSSL para implementar o protocolo SSL.
- O cliente conectado a um servidor malicioso. (Por exemplo, se você se conectou a um provedor de e-mail, isso não é uma preocupação.) Isso aconteceu depois que o proprietário do servidor ficou ciente da vulnerabilidade, presumivelmente após 07-04-2014.
- O processo do cliente tinha dados confidenciais na memória que não foram compartilhados com o servidor. (Portanto, se você apenas correu
wget
para baixar um arquivo, não havia dados a serem vazados.)
Se você fez isso entre 07/04/2014 à noite UTC e atualizou sua biblioteca OpenSSL, considere comprometidos os dados que estavam na memória do processo do cliente.
Referências