Um descuido de desenvolvedores deixou uma API da empresa Givenergy, do Reino Unido, fragilmente protegida, conforme demonstrado a ela no relatório de Ryan Castellucci, especialista em pesquisa de segurança cibernética. A API era protegida por uma assinatura com chave RSA de 512 bits, cujos fatores Castellucci descobriu em menos de 24 horas. Com a mesma chave e alterando apenas o número de ID do usuário ele conseguiu acesso como usuário número um, que era o administrador. “Os IDs de conta pareciam ser sequenciais, então eu podia simplesmente mudar isso e acessar qualquer um deles (…) Tentei definir o ID da conta como ‘1’, imaginando que provavelmente seria uma conta de administrador. De fato, era, e aparentemente não estava sujeita a nenhuma verificação de permissão, pois eu podia acessar dados do meu próprio sistema a partir dela”.
Leia também
TIVIT lança plataforma de IoT com nuvem e AI
Descoberta botnet repleta de roteadores e dispositivos IoT
Embora fazer isso não seja acessível a quem não conheça matemática e criptografia, a quebra das chaves demonstra que os cuidados com a segurança exigem um exame profundo e constante ds ativos digitais: neste caso, o problema era o uso de uma biblioteca cuja segurança está superada: “A primeira fatoração publicamente conhecida de um módulo RSA de 512 bits foi concluída em agosto de 1999”, comentou Castellucci em seu blog.
“Em 2009, várias chaves de assinatura RSA de 512 bits para calculadoras gráficas da Texas Instruments foram quebradas por amadores. O ponto foi ainda mais reforçado em 2015 pelo artigo sobre fatoração como serviço; apesar disso, muitas bibliotecas de criptografia modernas ainda oferecem suporte ao uso e até mesmo à criação dessas chaves quase uma década depois”, acrescentou Castellucci.
Descoberto, problema foi informado à Givenergy em 8 de Julho. A empresa corrigiu o problema, Castellucci confirmou a correção e depois disso tanto ele quanto a empresa publicaram detalhes em seus blogs. Diz Castellucci em alerta: “O suporte para RSA de 512 bits é uma mina terrestre, mas pode ser neutralizada. Agora estou trabalhando para fazer com que as principais bibliotecas de criptografia abandonem o suporte a ele. A biblioteca de criptografia do Python fez isso coincidentemente em um lançamento há algumas semanas (a confirmação foi em janeiro). Enviei uma solicitação de pull para o OpenSSL. Mudanças semelhantes para a biblioteca de criptografia do Go estão agora em discussão . Essas mudanças levarão algum tempo para serem amplamente distribuídas, mas eventualmente as pessoas não cometerão mais esse erro”.