Remover dados ocultos de arquivos ICO
12 Um formato feito para guardar várias imagens de uma vez, não uma única foto
ICO é o que o Windows usa para ícones de aplicativos e o que os navegadores usam para favicons - e,
diferente de qualquer outro formato deste site, um único arquivo .ico é de fato um pequeno
contêiner que pode guardar várias versões da mesma imagem em tamanhos e profundidades de cor diferentes
(16×16, 32×32, 256×256, e assim por diante), para que o sistema operacional escolha a que melhor se
encaixa no contexto. Praticamente não existe um padrão de metadados para ICO como o EXIF existe para
JPEG - nenhum GPS, nenhuma informação de câmera, nada disso jamais acaba em um. O risco real aqui está
mais perto da categoria estrutural de "não confiar nos bytes" do que da categoria de privacidade que
este site cobre para fotos de câmera.
Aprofunde-se: a única coisa com que o ICO se parece quase inteiramente, tratada de forma diferente de propósito
A assinatura do arquivo ICO são 4 bytes: 00 00 01 00. Mude exatamente um desses bytes -
00 00 02 00 - e você tem um arquivo CUR em vez disso: o formato do Windows para
cursores animados, que reutiliza quase toda a estrutura de contêiner do ICO com um campo de "tipo"
diferente e uma coordenada extra de ponto de referência por imagem. Esta ferramenta reconhece
deliberadamente apenas a assinatura do ICO e trata um arquivo CUR como não reconhecido em vez de
supor que "é basicamente a mesma coisa" - o mesmo princípio por trás de recusar confiar na extensão
de um arquivo em qualquer outro lugar deste site. Vários tamanhos de ícone incorporados dentro de um
arquivo ICO válido são todos decodificados e considerados; apenas a primeira imagem maior e
adequada é levada adiante pelo pipeline de higienização, por isso um ICO com vários tamanhos na
entrada sempre volta como uma única imagem plana na saída.
Onde o risco real de um ICO costuma estar
Como o ICO aparece com mais frequência como o favicon discretamente presente em um site, ou um ícone embutido dentro de um software que você baixou, o modelo de ameaça mais realista é o mesmo que a página de comparativo cobre para ataques estruturais em geral - um contêiner malformado ou deliberadamente manipulado enganando um analisador descuidado - em vez de um vazamento de metadados de uma câmera. Decodificar por completo para pixels brutos e reconstruir do zero, a mesma garantia que esta ferramenta aplica a qualquer formato, remove essa categoria de risco não importa o que a estrutura interna de um arquivo ICO afirmasse sobre si mesma.