Esconder um rosto, uma matrícula ou um IBAN numa imagem — em definitivo
Publicado a 21/08/2026 · 12 min de leitura · Ferramentas para programadores
Daniel Okonkwo — Programador front-end e redator de Tecnologia na Allin
Desempenho web · Formatos de ficheiro
Verificado a partir de 3 fontes
Sim, a ferramenta de censura destrói os dados de píxel em vez de desenhar uma camada por cima, e a transferência é um PNG plano gerado a partir do mapa de bits da tela — o ficheiro exportado contém apenas os blocos IHDR, IDAT e IEND, sem metadados, sem miniatura e sem qualquer forma de guardar um original por baixo. Mas destruir píxeis não é destruir informação. Pegámos numa zona de 120 por 44 píxeis com quatro dígitos, censurámo-la com o próprio código da ferramenta e depois gerámos os 10 000 candidatos de quatro dígitos, passámos cada um pela censura idêntica e comparámos. A pixelização devolveu os dígitos verdadeiros no lugar 1 de 10 000 — erro zero, um único candidato coincidente, em menos de dois segundos — e o desfoque fez o mesmo em quarenta segundos. O preenchimento sólido não: os 10 000 candidatos coincidiam todos por igual e na perfeição, ficando o valor verdadeiro em 4472.º. Como a pixelização e o desfoque preservam a disposição espacial da zona, e um mosaico mais grosseiro significa apenas menos amostras e não menos pistas, ambos os modos foram retirados. A ferramenta oferece agora dois: um preenchimento sólido da cor que escolher, que não deixa passar rigorosamente nada, e uma mancha de cor média, que substitui a zona por uma única cor plana tirada da própria zona. Perante o mesmo ataque de 10 000 candidatos, a cor média deixava o valor verdadeiro dentro de um empate de 246, sem nunca o singularizar, em todas as posições do cursor; mas entrega esse único número, por isso para um valor curto e previsível como um código, uma data de nascimento ou um IBAN, escolha o preenchimento sólido.
O desfoque e a pixelização são reversíveis — não desfazendo as contas, mas adivinhando para a frente. Contra os modos de desfoque e pixelização desta ferramenta, um ataque de recuperação devolveu o valor escondido no lugar 1 em 10 000. Ambos os modos foram entretanto retirados. Eis o que resta, e porque não pode ser atacado da mesma maneira.
Destrói os píxeis ou desenha por cima?
É a única pergunta que conta, e é aquela a que a maioria das ferramentas nunca responde. Uma tarja desenhada como camada separada — uma forma num PDF, um objeto num ficheiro de paginação, uma anotação numa aplicação de fotografias — deixa o original por baixo, e o original volta assim que alguém abre o ficheiro num programa que percebe de camadas. Aconteceu a peças judiciais, a relatórios públicos e a mais do que um extrato bancário publicado na internet. A primeira coisa a estabelecer é, portanto, se o retângulo preto faz parte da imagem ou está pousado sobre ela.
Aqui a resposta é limpa. Os dois modos atuam sobre a matriz bruta de píxeis de uma tela HTML: o modo sólido preenche um retângulo diretamente no mapa de bits, e o modo de cor média lê a zona, extrai dela uma única cor e repinta essa cor por todo o retângulo. Não há camada, porque uma tela não tem camadas: é uma grelha de píxeis e mais nada. A transferência é gerada a partir dessa grelha como PNG, e ao inspecionar os bytes exportados o ficheiro continha exatamente quatro blocos: o cabeçalho, dois blocos de dados de imagem comprimidos e a marca de fim. Nenhum metadado, nenhuma pré-visualização incorporada, nenhuma segunda cópia de coisa alguma. O que estava sob o retângulo não está no ficheiro.
Destruído não é o mesmo que irrecuperável
É aqui que a maioria das explicações para, e é aqui que começa o risco real. A pixelização e o desfoque deitam ambos informação fora — isso é verdade. Mas ambos são determinísticos: dê a mesma imagem à entrada e obtém a mesma saída, sempre, sem acaso em parte alguma. Isso transforma o ocultamento num enigma com resposta verificável. Se um atacante conseguir adivinhar o que estava sob o retângulo, pode fabricar o seu palpite, passá-lo pela transformação idêntica e ver se o resultado bate certo com o que publicou. Quando o conjunto de valores possíveis é pequeno — uma matrícula, uma data de nascimento, um código de quatro dígitos, um montante, um nome de uma lista conhecida — o conjunto inteiro pode simplesmente ser experimentado.
Por isso experimentámo-lo nesta ferramenta, quando ainda oferecia ambos. Construímos uma pequena zona de documento — 120 píxeis por 44, com quatro dígitos, do género que se censura no fim de um número de conta — e censurámo-la com o próprio código da ferramenta. Depois gerámos as dez mil cadeias de quatro dígitos, passámos cada candidata pela censura idêntica com o ajuste idêntico e ordenámo-las pela semelhança. Não é um ataque engenhoso. É o mais óbvio que existe, não precisa de aprendizagem automática nem de equipamento especial, e correu dentro de um separador de navegador comum.
Os resultados estão na tabela abaixo e eram inequívocos. A pixelização no ajuste mais forte que a ferramenta oferecia devolveu os dígitos verdadeiros no lugar um em dez mil, com um erro exatamente zero e uma única candidata coincidente, em menos de dois segundos. O desfoque no seu ajuste mais forte fez o mesmo, mais devagar, em quarenta. O retângulo sólido comportou-se de forma completamente diferente: as dez mil candidatas produziram uma saída idêntica, empatadas com erro zero, e o valor verdadeiro ficou em quatro mil quatrocentos e setenta e dois — ou seja, em lado nenhum, porque não havia nada por que ordenar. Não é a tarja sólida ganhar por uma margem. É estar noutra categoria: não sobra informação para atacar, portanto nenhuma potência de cálculo muda o resultado. Subir a intensidade também não mudava nada, porque nunca foi a força do efeito que contou — contou que o efeito deixava intacta a disposição da zona. É por isso que nenhum dos dois modos é aqui oferecido.
O que os substituiu, e o que ainda deixa passar
Restam dois modos. O preenchimento sólido pinta o retângulo da cor que escolher, e é aquele a que se deve recorrer sempre que a coisa escondida for curta e adivinhável. O outro substitui a zona por uma única cor plana tirada da própria zona — a sua média — de forma que se lê como suavizada e não como uma tarja preta, que era o que a maioria queria do desfoque desde o início. Ambos destroem qualquer vestígio da disposição da zona, e verificámo-lo em vez de o supor: relendo os píxeis em cada posição do cursor de margem, todo o retângulo tem um só valor, byte a byte, nos quatro canais. Nada lá dentro varia de sítio para sítio, portanto não sobra nada com que comparar uma candidata.
O modo de cor média deixa de facto passar um número, e vale a pena saber exatamente quanto. Esse número é o tom médio da zona — mais coisa menos coisa a tinta que continha. Ao lançar contra ele o mesmo ataque de dez mil candidatas, os códigos de quatro dígitos reduziram-se a apenas vinte e quatro cores médias distintas, e o valor verdadeiro saiu dentro de um empate de duzentas e quarenta e seis, de forma idêntica, em todas as posições do cursor de margem. Isso estreita dez mil possibilidades para umas duas centenas; nunca escolhe uma. Duas das dez mil têm azar: 0000 leva mais tinta do que qualquer outra combinação e 7777 menos, pelo que cada uma possui a sua cor média em exclusivo e seria devolvida tal e qual. O preenchimento sólido não tem nada disto, porque a cor que escolhe nada tem que ver com o que estava por baixo. Para um código, uma data de nascimento ou um IBAN, use-o.
Como tapar para que fique tapado
Prefira o preenchimento sólido, e trate como sinal de alarme tudo o que ainda se pareça com o original. A investigação independente aponta no mesmo sentido: a empresa de segurança Bishop Fox, que construiu uma ferramenta que reconstitui texto pixelizado, conclui que as tarjas opacas são o único método aceitável e cita o desfoque, o esborratado e a torção ao lado da pixelização entre as coisas a evitar. As nossas próprias medições chegam à mesma conclusão pelo outro lado, e é por isso que dois dos três modos desta ferramenta já não existem. Se ainda se parece com o original de alguma maneira, está a transportar informação sobre o original — e isso vale em qualquer editor que abra, não só neste.
Dois hábitos tornam o resto seguro. Trace o retângulo maior do que aquilo que esconde: um limite que corta um dígito ao meio continua a mostrar o topo desse dígito, e o contorno de um maxilar chega para estreitar um rosto. E verifique o ficheiro descarregado em vez da vista de edição: abra a imagem exportada em tamanho real e amplie dentro do retângulo. Se vir ali qualquer estrutura — bandas, o fantasma de um limite, blocos de cinzento ligeiramente diferente — a tarja não pegou. Um preenchimento sólido ampliado a 800 por cento é uma única cor plana, e é essa planura que está a verificar.
| Modo e ajuste | Melhor correspondência | Lugar do valor verdadeiro | Candidatos empatados | Tempo para percorrer os 10 000 |
|---|---|---|---|---|
| Pixelização, intensidade 12 — retirada | Exatamente o certo | 1 em 10 000 | 1 | 1,3 segundos |
| Pixelização, intensidade 30, o máximo — retirada | Exatamente o certo | 1 em 10 000 | 1 | 1,5 segundos |
| Desfoque, intensidade 12 — retirado | Exatamente o certo | 1 em 10 000 | 1 | 17,6 segundos |
| Desfoque, intensidade 30, o máximo — retirado | Exatamente o certo | 1 em 10 000 | 1 | 40,3 segundos |
| Cor média, qualquer ajuste de margem — atual | Nenhuma melhor — 246 empatadas com erro zero | Um entre 246 empatados, nunca isolado | 246 | 2,6 a 3,3 segundos |
| Preenchimento sólido, qualquer cor — atual | Nenhuma melhor — tudo coincidia | 4472 em 10 000, ou seja, sem significado | Os 10 000 | 1,6 segundos, e não aprendeu nada |
Perguntas frequentes
- O desfoque alguma vez chega?
- Para nada a que se chame tarja, e é por isso que esta ferramenta já não o oferece. O desfoque é uma operação linear e determinística, portanto um atacante que consiga adivinhar o conteúdo pode desfocar o seu palpite da mesma maneira e confirmar. No nosso teste, o desfoque mais forte que a ferramenta oferecia devolveu os dígitos escondidos tal e qual, primeiro entre dez mil candidatos, em quarenta segundos. O desfoque é uma escolha estética razoável para um fundo que não se está a tentar ocultar; não é uma forma de esconder um valor que conta, nem aqui nem em qualquer outro editor.
- Se a pixelização deita informação fora, como se pode revertê-la?
- Não se reverte desfazendo as contas — isso sim é impossível. Reverte-se adivinhando para a frente. O atacante não inverte nada: fabrica um candidato, aplica-lhe a mesma pixelização e compara. A informação só se perde no sentido de que muitos originais dão a mesma saída; quando os originais plausíveis se contam aos milhares e não aos milhares de milhões, quase sempre coincide exatamente um. Um código de quatro dígitos tem dez mil possibilidades. Uma data de nascimento, algumas dezenas de milhares. Não são números grandes para uma máquina.
- Posso censurar duas coisas na mesma imagem?
- Sim — censure tantas zonas quantas quiser, uma a seguir à outra, e todas sobrevivem à transferência. Nem sempre foi assim. A ferramenta redesenhava o original intacto antes de cada censura, desfazendo em silêncio a anterior, e confirmámo-lo censurando duas zonas à vez e relendo os píxeis: a primeira tinha voltado à sua cor original. Está corrigido. As censuras acumulam-se agora num único mapa de bits de trabalho, o retângulo de seleção que arrasta é desenhado sobre uma cópia e não lhes pode mexer, e o ficheiro que descarrega é esse mapa de bits — sem o contorno cor-de-rosa.
- O ficheiro descarregado ainda contém o original por baixo?
- Não. A exportação é um PNG escrito a partir da grelha de píxeis da tela, e ao ler os bytes exportados continha apenas o cabeçalho de imagem, os dados de píxel comprimidos e a marca de fim — nenhum bloco de metadados, nenhuma pré-visualização incorporada, nenhuma segunda imagem. Isto significa também que a ferramenta deita fora tudo o que o ficheiro de origem transportava: a localização, a marca temporal e os detalhes da câmara de uma fotografia não sobrevivem à cópia censurada. É um benefício colateral e não o objetivo, e vale mais confirmá-lo do que supô-lo se o original for sensível por razões alheias ao retângulo.
- E o vídeo — um rosto pixelizado num clipe é mais seguro?
- Costuma ser pior, não melhor. Uma imagem fixa dá ao atacante uma medida por bloco; um vídeo dá uma por fotograma, e se a câmara ou o sujeito se mexerem minimamente, a grelha de blocos desliza sobre o conteúdo e cada fotograma amostra-o de forma ligeiramente diferente. Investigadores da Positive Security demonstraram-no exatamente assim, estabilizando um clipe para deixar quieta a zona tapada e empilhando os fotogramas para recuperar uma matrícula e um formulário bancário. Se tiver de tapar em vídeo, cubra a zona com uma forma opaca em cada fotograma, e verifique os fotogramas à volta dos cortes e dos movimentos de câmara.
Artigos que podem interessar-lhe
Todos os guias →Ferramentas relacionadas
O ataque de recuperação aqui descrito foi corrido contra os próprios algoritmos desta ferramenta em agosto de 2026 — contra os dois modos que daí foram retirados, e de novo contra os dois que restam — sobre uma zona sintética com um conjunto pequeno e conhecido de valores possíveis; fotografias reais, tipos de letra e posições desconhecidas tornam o mesmo ataque mais difícil, não impossível. Nada disto garante que um retângulo sólido cumpra uma obrigação legal ou contratual de anonimizar, e o software muda — verifique você mesmo o ficheiro exportado antes de publicar aquilo que não deve ser lido.
Fontes
Detetaste um erro neste artigo?