Quando uma atualização de software defeituosa da empresa de segurança CrowdStrike desencadeou inadvertidamente o caos digital em todo o mundo no mês passado, os primeiros sinais foram de que os computadores Windows exibiam a Tela Azul da Morte. À medida que sites e serviços caíam e as pessoas tentavam desesperadamente entender o que estava acontecendo, informações conflitantes e imprecisas circulavam por toda parte. O pesquisador de segurança do Mac de longa data, Patrick Wardle, rapidamente tentou entender a crise e sabia que havia apenas uma fonte para obter os fatos: relatórios de travamentos de computadores afetados pela falha.
“Mesmo não sendo um pesquisador do Windows, fiquei intrigado com o que estava acontecendo e havia essa falta de informação”, disse Wardle à WIRED. “As pessoas diziam que era um problema da Microsoft porque os sistemas Windows exibiam telas azuis e havia muitas teorias malucas. Mas na verdade não teve nada a ver com a Microsoft. Então olhei para os relatórios de acidentes, que para mim contêm a verdade suprema. E se você olhar lá, poderá descobrir a causa subjacente e dizê-la muito antes do CrowdStrike.”
Na conferência de segurança Black Hat em Las Vegas na quinta-feira, Wardle argumentou que os relatórios de falhas são uma ferramenta subutilizada. Esses instantâneos do sistema fornecem aos desenvolvedores e mantenedores de software uma visão sobre possíveis problemas com seu código. E Wardle enfatiza que eles podem ser particularmente uma fonte de informações sobre vulnerabilidades de software potencialmente exploráveis – tanto para defensores quanto para invasores.
Em sua palestra, Wardle apresentou vários exemplos de vulnerabilidades que encontrou no software quando o aplicativo travou e examinou o relatório em busca da possível causa. Os usuários podem visualizar facilmente seus próprios relatórios de falhas no Windows, macOS e Linux. Eles também estão disponíveis para Android e iOS, embora o acesso possa ser mais difícil em sistemas operacionais móveis. Wardle ressalta que obter insights a partir de relatórios de falhas requer uma compreensão básica das instruções escritas em código de máquina de baixo nível chamado assembly, mas enfatiza que vale a pena o esforço.
Em sua palestra sobre o Black Hat, Wardle apresentou diversas vulnerabilidades que descobriu apenas examinando relatórios de falhas em seus próprios dispositivos – incluindo bugs na ferramenta de análise YARA e na versão atual do sistema operacional macOS da Apple. Quando Wardle descobriu em 2018 que um bug do iOS estava causando o travamento de aplicativos toda vez que exibiam o emoji da bandeira de Taiwan, ele chegou ao fundo da questão usando, e você adivinhou, relatórios de travamento.
“Conseguimos demonstrar claramente que a Apple cumpriu as exigências da China de censurar a bandeira de Taiwan, mas o seu código de censura tinha uma falha – ridículo”, diz ele. “Meu amigo que notou isso inicialmente disse: ‘Meu telefone está sendo hackeado pelos chineses. Sempre que você me envia uma mensagem de texto, ela trava. Ou você está me hackeando? E eu disse: ‘Rude, eu não hackearia você. E além disso, rude, se eu hackeasse você, não quebraria seu telefone. Então peguei os relatórios de acidentes para ver o que estava acontecendo.”
Wardle enfatiza que, se ele consegue encontrar tantas vulnerabilidades apenas olhando os relatórios de falhas de seus próprios dispositivos e dos de seus amigos, os desenvolvedores de software também precisam procurar lá. Tanto os criminosos sofisticados como os hackers bem financiados e apoiados pelo Estado provavelmente já se inspiram nos seus próprios relatórios de falhas. Ao longo dos anos, as notícias indicaram que agências de inteligência, como a Agência de Segurança Nacional dos EUA, estão avaliando os registros de falhas. Wardle ressalta que os relatórios de falhas também são uma fonte valiosa de informações para detecção de malware porque podem revelar atividades anômalas e potencialmente suspeitas. O infame corretor de spyware NSO Group, por exemplo, muitas vezes incorpora mecanismos em seu malware para excluir relatórios de falhas imediatamente após um dispositivo ser infectado. E o fato de que o malware costuma apresentar bugs aumenta a probabilidade de travamentos e os relatórios de travamentos também são valiosos para que os invasores entendam o que deu errado com seu código.
“Quando se trata de relatórios de acidentes, a verdade está em algum lugar”, diz Wardle. “Ou, eu acho, em algum lugar lá dentro.”