Antes de continuar a leitura, te aviso: se você acha que neste post vamos nos aproveitar do incidente do CCleaner para dar vantagem à ESET, ficará desapontado. Sim, falaremos deste incidente tão difundido nos últimos dias, mas apenas para ilustrar considerações e ideias subjacentes, mais profundas, que permitirão entender o problema e como preveni-lo.
Existem muitas formas pelas quais a Piriform pode ter ficado exposta ao ponto de seus servidores distribuírem versões maliciosas do CCleaner (versão 5.33.6162) e CCleaner Cloud (versão 1.07.3191). Claro que tudo é apenas especulação até que seja revelado ou determinado o que realmente aconteceu.
Este texto analisa alguns dos possíveis cenários que podem ter resultado neste incidente, que teve impacto a nível mundial. Qualquer das seguintes falhas de segurança podem ter ocorrido (em nenhuma ordem em particular):
- Um empregado descontente: desde que o Avast adquiriu o Piriform, talvez alguém não se sinta apreciado, alguém que teve que ir ou simplesmente não gostava de trabalhar para a Avast e colocou um backdoor.
- Um atacante externo: um cibercriminoso faria que este seja outro caso do que chamamos “supply chain attack”, como ocorreu com o M.E.Doc e a distribuição do DiskCoder.C.
- Um ISP ou um proxy comprometido: poderia redirecionar um download desde o site oficial usando um redirecionamento HTTP até uma localização temporária com a versão trojanizada, semelhante ao que fazia o FinFisher nas novas campanhas de espionagem. Este cenário é menos provável, considerando que a versão alterada tinha uma assinatura digital. Por isso, também implicaria em uma brecha de segurança.
- […]
Podem existir mais (improváveis) cenários, incluindo alguns nos quais ainda nem sequer pensamos.
por que apenas as versões de 32 bits foram trojanizadas é, por enquanto, um mistério
Não importa como a Piriform tenha sido comprometida, considerando que o CCleaner é uma ferramenta bastante utilizada, com uma base de centenas de milhares de usuários, o impacto será muito grande e a nível global.
No entanto, há um detalhe bastante estranho, considerando que apenas a versão de 32 bits foi afetada, o efeito poderia ter sido muito mais dramático se a versão de 64 bits também tivesse sido comprometida. Por que ocorreu isso é, por enquanto, um mistério.
Por que os cibercriminosos só poderiam assinar digitalmente esta versão? Talvez em um futuro próximo, a empresa descubra e publique os detalhes do caso para que todos possamos aprender e ver se poderia ter ocorrido o mesmo em qualquer outra empresa.
Este último é importante, porque os ataques deste tipo, chamados supply chain attacks, ainda são raros, mas estão crescendo. Poderia acontecer com qualquer um, por isso, é melhor aprender a lição por meio dos exemplos que já ocorreram e implementar melhores defesas. Dependendo da popularidade do software alvo, o impacto pode ser bastante significativo.
Enquanto que o software de contabilidade M.E.Doc explorado no caso do Diskcoder (Petya ou NÃO Petya) não é tão popular comparado com o CCleaner, o impacto daquele payload (DiskCoder.C) nas empresas afetadas foi alarmante. No caso da versão trojanizada do CCleaner, o impacto final e real ainda é desconhecido, considerando que o servidor do C&C caiu. Portanto, não se sabe quantas máquinas foram afetadas.
Se observarmos a telemétrica da ESET, veremos que a versão trojanizada do CCleaner chegou a 338.000 detecções, e o top 10 dos países é:
- Rússia
- Alemanha
- Peru
- Polônia
- França
- Ucrânia
- Estados Unidos
- Holanda
- Itália
- Espanha
Novamente, isso apenas se aplica à versão 32 bits, enquanto que a maioria dos usuários atualmente contam com sistemas de 64 bits. No entanto, tendo em conta que estes países são bastante grandes, e se considerarmos que o aplicativo CCleaner tem uma distribuição geográfica normal, cada país tem aproximadamente a mesma porcentagem de pessoas afetadas. Isso é preocupante, pois demonstra que o comprometimento de um software popular pode ter um impacto mundial.
Felizmente, em segurança temos um ecossistema bem diversificado, mas fico pensando no que pode ocorrer se tivermos um ecossistema monolítico com apenas um fornecedor de segurança. Quem quiser trojanizar uma versão de um aplicativo popular apenas terá que burlar esse único produto de segurança.
Por alguma razão, as pessoas sentem a necessidade de “limpar” o registro, embora raramente seja uma melhoria no desempenho do equipamento. A Microsoft não recomenda e nem conta com um suporte para utilidades de limpeza de registro. Uma razão muito importante que desestimula o uso é o possível impacto negativo no sistema:
Um registro do Windows danificado pode exibir uma variedade de sintomas, incluindo excessivo uso da CPU, inicialização e encerramento do sistema operacional de forma mais lenta, mal funcionamento de aplicativos ou até mesmo que o equipamento pare de funcionar em ocasiões aleatórias. Estas interrupções e suspensões aleatórias podem conduzir à perda de dados, considerando a incapacidade dos sistemas para guardar as informações no local de armazenamento durante o incidente.
E o que é mais interessante, o texto também diz:
Alguns programas disponíveis gratuitamente na Internet podem conter spyware, adware ou vírus.
Este incidente deve servir como um lembrete de que realmente não há tal coisa como software gratuito: sempre que não lhe custe dinheiro, você e os seus dados podem ser a moeda de pagamento.
No entanto, o perigo subjacente desta declaração é que está minando a importância e a confiança no software (gratuito), algo delineado no recente artigo da Electronic Frontier Foundation (EFF), “Attack on CCleaner Highlights the Importance of Securing Downloads and Maintaining User Trust”.
Por favor, mantenha a fé no seu software, gratuito ou de outra forma, e nas empresas que o produzem, e certifique-se de mantê-lo atualizado. Sim, o risco de um ataque na cadeia de suprimentos sempre existe, talvez até um risco crescente, mas não manter o software atualizado aumenta significativamente o risco.
Para os desenvolvedores de software, incluindo a ESET, este é outro alerta para manter os nossos protocolos seguros e assim evitar ataques à cadeia de suprimentos, para verificar cada etapa, assegurando que o software certo seja assinado digitalmente e disponibilizado ao usuário.
O setor de segurança tem (legitimamente) pregado sobre a adição de camadas de segurança usando técnicas como o 2FA (duplo fator de autenticação), mas é claro que a própria indústria em si deve proteger as suas linhas de suprimento, de distribuição e os sistemas internos. A 2PA (2 People Authentication), semelhante ao mecanismo Two-Man rule, pode ser um bom começo.