O business case para uma solução multi-inquilino, baseado em nuvem Recovery-as-a-Service
Jay Freeman, aka @ saurik , detalhou outro bug implementação Zip na pré-4.4 (Kit Kat) versões do Android que, de forma semelhante à vulnerabilidade APK notório exposto no início deste ano, abre um buraco que o malware pode esgueirar-se através.
Freeman - cujas credenciais incluem segurança anterior análise de vidro Google e descobrir o dodginess do "iMessage para Android" app - escreveu em seu blog que ele descobriu a vulnerabilidade adicional em junho, mas esperou até Android 4.4 (com correção) foi transporte.
Densa de Freeman pós é aqui , e é desfeito e explicada por Sophos Paul Ducklin em Segurança Nu aqui .
Em breve, a vulnerabilidade APK adicional oferecido um caminho para um invasor explorar a forma como Android usado cabeçalhos de arquivo Zip para verificar o software. Como Ducklin explica, Zip ainda carrega um obsoleto de sua história ao redor com ele: um monte de redundância nome nos arquivos de caso teve que ser dividida em disquete múltipla (lembre-se daqueles?) Discos. Para ajudar um programa de navegação de um arquivo, o cabeçalho inclui um campo de comprimento arquivo - isso permite que um extrator navegar para onde o arquivo de dados é, ignorando o cabeçalho.
Como Ducklin escreve, o problema é o seguinte: "O código Java no Android 4.3 e anteriores, que extrai os dados do arquivo para verificar isso, utiliza a extensão nome do arquivo a partir do diretório central. Mas o código C, que extrai o arquivo para instalar e executá-lo usa o comprimento de nome no cabeçalho do local. "
Um intruso poderia então ter um aplicativo verificada, adicionar o seu malware, e modificar o tamanho do cabeçalho do carregador C-código usa para não apontar para o aplicativo legítimo, mas para o malware. A ilustração de Ducklin mostra isso de forma simples:
Imagem: Paul Ducklin, Segurança Nu
Como Saurik escreve: "O diretório central inclui um deslocamento para cada cabeçalho de arquivos local, de modo que uma vez que o código Java terminou verificar um arquivo, ele pode saltar directamente para o próximo, evitando assim os dados do cabeçalho locais que fazem com que pular para a frente de forma incorreta. Os dados impostor, espremida entre o arquivo legítimo eo próximo cabeçalho locais, é simplesmente ignorado. "
A correção no Kit Kat é forçar Java para olhar os mesmos dados que o C-loader para que a discrepância é identificada. ®
Nenhum comentário:
Postar um comentário