Páginas

Seja bem-vindo. Hoje é

Mural de recados

quinta-feira, 19 de maio de 2011

Uma pasta autorun.inf pode barrar um vírus de pendrive?

Hoje, até pode ser. Mas eu não confiaria muito nisso se fosse você. Certamente não barraria nada criado por mim.
A idéia é impedir que um malware infecte seu pendrive (ou disco removível de qualquer tipo) criando uma pasta chamada “autorun.inf” na raiz dele. O sucesso inicial disso se baseia em três pontos:

•Você não pode ter um arquivo com o mesmo nome de uma pasta;
•Você não pode sobreescrever uma pasta com um arquivo;
•Comandos (em um software) para deletar arquivos geralmente não deletam pastas, então tentar deletar autorun.inf achando que se trata de um arquivo acaba falhando por se tratar de pasta;
Como o vírus que infecta discos removíveis depende da criação de um arquivo autorun.inf para ter uma chance de se autoexecutar em outros PCs, ele pode até colocar uma cópia de si mesmo no disco, mas não consegue completar o serviço.

É possível elaborar mais, colocando nessa pasta autorun.inf outras pastas e arquivos de modo que até um comando para deletar pasta falhe porque esta não está vazia. Em um software, primeiro você tem que apagar o conteúdo e depois a pasta.
Elaborando ainda mais, você pode manipular os atributos dos arquivos dentro da pasta de forma que nem mesmo você consiga apagá-los pelo Explorer.

Esse truque é explorado pelo programa Flash Disinfector, que cria uma pasta que não pode ser apagada via Windows Explorer.

Outro método é criar (através de métodos especiais) arquivos dentro da pasta que são “ilegais” para o Explorer. Como arquivos de nome “con” e “aux”.
Isso funciona? Sim. A princípio conseguiria barrar boa parte dos vírus atuais, mas apenas porque eles não esperam por isso e não porque seja realmente difícil para um vírus passar por cima desses obstáculos. Se esse método se tornar popular, os criadores de vírus vão simplesmente pôr mais algumas linhas de código para deletar a pasta.

Para demonstrar, eu criei um simples utilitário:


DeltreeMax pode apagar a pasta criada por Flash Disinfector sem nenhum esforço. Nos meus testes só foi possível detê-lo através de permissões NTFS (que em quase 100% dos casos não são usadas em um pendrive). E não testei ainda com estruturas propositalmente corrompidas.

E olha que eu sou um programador medíocre. Pode ter certeza de que o cara que cria um vírus capaz de “code injection” pode fazer melhor que isso. Eu levei mais tempo criando salvaguardas para evitar o apagamento acidental de um HDD inteiro do que implementando o código que faz o apagamento.

E o programador de vírus não tem essa preocupação.

Lembre-se: Ter uma falsa sensação de segurança é pior do que não ter segurança alguma e saber disso. O truque com a pasta é bom, desde que você não acredite que ele é infalível.
NOTA 1: Este texto foi iniciado em 08/08/2008, mas eu perdi o interesse por ele antes que ficasse pronto. Comentários recentes neste outro post me fizeram voltar ao assunto.

NOTA 2: É sempre bom lembrar que bloquear o autorun, por qualquer meio que seja, oferece proteção zero quando o vírus é do tipo “file infector”, como este. Porque nesses casos o vírus não precisa se preocupar com ser executado automaticamente pois você pessoalmente vai executá-lo mais cedo ou mais tarde.
NOTA 3: DeltreeMax tenta provar meu argumento de uma forma radical deletando a pasta. Mas você precisa saber que existem outros meios de se chegar ao mesmo resultado. Por exemplo, renomear a pasta funciona mesmo em situações onde deletar não é possível e vai surtir o mesmo efeito para o propósito deste post

Seja o primeiro a comentar!

Postar um comentário

Related Posts Plugin for WordPress, Blogger...

Veja mais...

2leep.com

Sign by Danasoft - For Backgrounds and Layouts