Hoje eu vou contar pra vocês sobre o caso do Log4J para explicar sobre as vulnerabilidades que podem acontecer no uso de bibliotecas terceiras dentro de um projeto. Esse caso, que aconteceu no ano passado, ficou super famoso. Eu vou deixar algumas matérias linkadas no final falando sobre o caso.
O Java é uma linguagem super conhecida e utilizada no mundo inteiro por diversas empresas, e ele possui uma ferramenta de log [registro de atividades] chamada Log4J, que é usada, segundo o Google, por mais de 35mil aplicações. O Log4J é mantido pela Apache Foundation, uma das maiores organizações de sistemas open source do mundo, que é extremamente reconhecida e tem centenas de milhares de desenvolvedores no mundo inteiro que colaboram com os projetos. Eu dei uma olhada rápida no GitHub do Log4J, eu vi que o projeto tem mais de 140 desenvolvedores contribuintes, e tem mais de 3 mil stars [o equivalente a uma curtida ou favoritada dentro do GitHub].
Mas o que é que aconteceu com o Log4J? Em 2021, uma empresa de auditoria de softwares detectou uma vulnerabilidade dentro do jogo Minecraft. Pra quem não sabe, o Minecraft é escrito em Java e utiliza o Log4J pra poder fazer o controle de logs. Pra vocês entenderem o nível de problema, essa falha no Log4J dava a possibilidade de, através de um texto inputado dentro do jogo, o invasor tomar conta por completo da máquina que estava hospedando daquele sistema. O nome dado para essa técnica de invasão foi Log4Shell, já que utiliza o Log4J como uma backdoor para os sistemas. Mas não foi só no Minecraft que encontraram essa falha, ela estava em diversos sistemas, em várias empresas, inclusive na Microsoft e na Apple.
Olha o nível do problema: Uma falha numa biblioteca terceira de log, que é mantida por uma empresa extremamente reconhecida, que é confiável, que passa por uma série de programadores no mundo inteiro analisando, que é utilizada em mais de 35 mil aplicações, ainda assim passou pela vista de todo mundo esse problema e afetou as maiores empresas do mundo. Outra empresa que usa o Java é o próprio Google, o Android é feito em Java, então olha o nível de problema que essa vulnerabilidade causa. E essa vulnerabilidade do Log4J justamente entra naquela categoria de vulnerabilidades de uso de bibliotecas terceiras que eu comentei no meu último post que eu fiz, analisando o relatório do Ministério da Defesa, eu vou deixar o link aqui: