Tecnologia

Pesquisador de infosec relembra pânico após bug falso positivo

Greg Linares, conhecido pelo handle Laughing Mantis, compartilhou uma história engraçada no X sobre como ele e sua equipe anunciaram uma grande vulnerabilidade zero-day no Office 2007, apenas para descobrir que era um erro da parte deles. Para salvar sua reputação, empregos e talvez até o negócio, eles tiveram que correr para encontrar um bug real. Isso aconteceu no final de 2006, quando Linares trabalhava na empresa de segurança digital eEye, e eles estavam testando a nova suíte Microsoft Office em busca de vulnerabilidades.

Como a eEye é uma das instituições líderes em gerenciamento de ameaças, era trabalho da empresa verificar se a versão mais recente de uma das suítes de software corporativo mais usadas na época tinha alguma falha zero-day. Dentro de 36 horas do lançamento, Linares encontrou um bug na função de conversão do Word Art, que o Word usa para converter estruturas antigas de Word Art em modernas para o Office 2007.

Ele enviou essa descoberta para seu superior, Marc Maiffret (que agora é o CTO da BeyondTrust, empresa que adquiriu a eEye em 2012), que concordou com a descoberta de Linares e a enviou para o Microsoft Security Response Center (MSRC). Ao mesmo tempo, a eEye publicou vários comunicados de imprensa sobre o bug, e alguns grandes meios de comunicação cobriram a história com base no anúncio da eEye…

Ops, um falso positivo

Pouco depois do lançamento do comunicado de imprensa e da ampla cobertura da mídia, David LeBlanc, um dos principais especialistas em segurança que trabalhou no Office 2007, percebeu que você só poderia explorar o bug quando houvesse um depurador anexado ao programa — algo que quase todos os usuários comuns não teriam e não funcionaria no uso diário da suíte. LeBlanc disse: “Então, sobre aquele crash… ele só é explorável quando um depurador está anexado.” Isso significava que a descoberta de Greg Linares era um falso positivo, então a eEye teria que retratar seus anúncios. Ou talvez não?

Greg estava na eEye há menos de dois meses e se sentiu devastado porque seu erro poderia potencialmente custar a reputação da empresa. Se a eEye tivesse que rescindir suas descobertas de uma vulnerabilidade zero-day no Microsoft Office, o emprego de Linares na empresa provavelmente também estaria em risco.

Mas Marc teve uma ideia diferente: em vez de retratar o comunicado de imprensa, ele disse à equipe de pesquisa para encontrar um novo bug zero-day no Office 2007 o mais rápido possível. Enquanto isso, a eEye ganhou algum tempo dizendo ao MSRC que a equipe enviou o arquivo errado e forneceria uma atualização em breve.

Então, Linares começou a fazer fuzzing manualmente — ou inserir aleatoriamente entradas inválidas e inesperadas — na suíte Office para tentar encontrar algo. Mas ele não estava sozinho em seu esforço, toda a equipe de pesquisa foi até ele e disse: “Estamos juntos nisso. Vamos fazer isso.” Nenhum dos membros da equipe saiu do escritório por dias e suas esposas e parceiros estavam todos preocupados com eles. Mas eles não podiam desistir até encontrar outro bug para sustentar seu primeiro anúncio.

Após quatro dias de fuzzing aleatório, uma ferramenta de análise, um decompilador binário e várias pilhas de pizza, um fuzzer fez um acerto — e trouxe toda a equipe de volta à realidade. Eles rodaram o fuzzer novamente sem o depurador, e ele encontrou o mesmo crash: 0x4141414141, uma substituição completa do ponteiro de instrução estendida (EIP) que permitiria à equipe assumir o controle do aplicativo.

Os outros colegas de Greg, Yuji e Derek, começaram a reverter o bug para encontrar sua origem e descobriram que ele afetava o Microsoft Publisher, o software de publicação de desktop da Microsoft que não era tão popular quanto Excel, PowerPoint ou Word. Após retestar a vulnerabilidade com um depurador e em um sistema operacional novo, a equipe confirmou o bug.

A equipe então encaminhou a vulnerabilidade para o MSRC, e ela era tão grave que a Microsoft teve que chamar LeBlanc de volta ao escritório para analisá-la. A equipe da eEye então demonstrou totalmente as vulnerabilidades e confirmou suas descobertas para a imprensa. A Microsoft então respondeu à equipe que encontrou o problema e confirmou. SafeInt — a biblioteca portátil que LeBlanc construiu para evitar estouros de inteiros — não foi aplicada à estrutura, o que levou à vulnerabilidade.

Com o MSRC confirmando o problema, a eEye redigiu o aviso informando a todos os detalhes da vulnerabilidade. A empresa não teve que retratar seu anúncio inicial, e Greg conseguiu manter seu emprego na eEye como pesquisador de segurança. Hoje, ele trabalha há mais de 20 anos na indústria de segurança da informação e é afiliado à Huntress Labs, uma empresa de cibersegurança que se especializa em trabalhar com pequenas e médias empresas.

Shares:

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *