-->
Mostrando postagens com marcador Segurança. Mostrar todas as postagens
Mostrando postagens com marcador Segurança. Mostrar todas as postagens

terça-feira, 30 de março de 2010

A lambança do QUIPTXT: Lições de (não) privacidade e (in) segurança.

Para quem não conhece (eu não conhecia até ontem), QUIP é (ou era) um programa de um dólar para iPhone que tinha como finalidade permitir que os usuários do telefone pudessem mandar fotos uns para os outros (possivelmente para qualquer telefone com browser), já que pelo menos em algumas redes (ou modelos de iPhone) não havia como usar MMS.Edit: Mesmo telefones com suporte a MMS podiam tirar proveito do QUIP.

Pelo que eu entendi, funcionava assim:
  • O usuário tira uma foto com o QUIP (ou escolhe uma qualquer em sua biblioteca);
  • Usando qualquer conexão à internet disponível no telefone (3G, WiFi, etc), o QUIP posta essa foto em um endereço "criptografado" no site QUIPTXT (já está fora do ar), com o nome cadastrado do remetente;
  • O QUIP envia uma mensagem para o destinatário com o endereço "criptografado" da foto. Basta clicar e ver no browser do iPhone.
O gigantesco problema estava na "criptografia".

Para "criptografar" o endereço, o serviço simplesmente gerava um nome de 5 caracteres alfanuméricos para a foto. Digamos que o nome gerado fosse "sfffb". A foto então era hospedada desse jeito:

http://pic.quiptxt.com/sfffb (era um cachorrinho, mas não adianta mais clicar)

Um leigo pensa (se der tempo de pensar alguma coisa) que não há como alguém adivinhar esse endereço. Mas qualquer um com algum conhecimento de programação percebe imediatamente que há algo potencialmente muito errado aí. E havia.

Os (mais óbvios) erros dos programadores:

  • Não criaram senha para acessar a página;
  • Não criaram um "digito verificador" (o último caractere deveria depender do checksum dos quatro anteriores). Assim qualquer pessoa que recebesse um link para "sfffb", poderia tentar "sfffa" ou "sfffc" que esbarraria numa foto de outra pessoa, porque todas as combinações estavam disponíveis. Em sistemas com dígito verificador apenas algumas combinações são válidas;
  • Não criaram nenhum mecanismo de proteção contra download massivo das imagens. Assim quando a falha acima foi descoberta e criaram scripts para gerar todas as combinações possíveis de strings com cinco caracteres para baixar as fotos, o servidor de QUIPTXT não notou nada de errado e permitiu que milhares de fotos fossem baixadas pelo mesmo endereço IP, como se fosse possível isso acontecer no uso real.
Alguns apontam o fato de que eles usaram "apenas" cinco caracteres como parte do problema, mas não é bem assim. Eles poderiam ter usado trinta, mas se atribuíssem as combinações seqüencialmente como fizeram com cinco e/ou não bloqueassem tentativas sucessivas de download de fotos diferentes vindas do mesmo IP, não iria fazer qualquer diferença.

O resultado disso tem potencial para ser (não sei quantas fotos vazaram) a maior coleção "pública" de pornô amador não-intencional da história.

Como se não bastasse, cada página de foto mostrava também o nome do usuário que a enviou. Assim essa já é a maior violação de privacidade da história do iPhone e, quem sabe, da história da telefonia. Sabendo os nomes das pessoas e com alguma pesquisa, muitas fotos constrangedoras foram linkadas aos perfis do Facebook de quem as tirou. Alguns desses perfis já saíram do ar por conta disso.

Os erros dos usuários:
  • Confiar em uma aplicação de telefone qualquer para postar fotos de sua privacidade. Ainda que isso não tivesse sido descoberto, os criadores de QUIP e qualquer pessoa com acesso ao servidor podiam a qualquer tempo observar cada foto postada no serviço, com nome de quem enviou. Os criadores de QUIP adicionalmente sabiam até o telefone. Ainda que o serviço tivesse alguma segurança contra observadores externos, seus criadores ainda teriam acesso a isso tudo.
  • Não perceberem que as fotos estavam em servidores web. Não era uma coisa "de ceular para celular" como um MMS autêntico; 
  • Provavelmente, muita gente achou que o programa era "seguro" e seus autores "confiáveis" porque baixaram o programa da Apple Store. Grande erro. 
Se todo mundo retratado nas fotos que vazaram fosse adulto eu pensaria. "Ahhhhh... que manda fotos de si mesmo pelado é exibicionista mesmo e a maioria nem deve ligar muito para isso". Mas várias fotos lá são evidentemente de adolescentes. E aí o bicho pega. Vai pegar com certeza para os autores desa m**da colossal.
 
Esse tipo de "excesso de confiança" dos usuários não é incomum. A cada rede social nova que aparece, não faltam usuários que voluntariamente fornecem nome de usuário e senha de suas contas de e-mail para "facilitar" o envio de convites para todos os seus contatos. Uma comodidade que pode lhes custar muito caro um dia, como aconteceu agora para muitos usuários do QUIP.

domingo, 7 de fevereiro de 2010

Site neste momento sob ataque de uma botnet.

Pelo menos é o que parece. E também parece ser "inofensivo".

Isso já vinha acontecendo há algumas semanas, mas na taxa de duas ou três vezes por dia. Porém nos últimos minutos dezenas de posts incompreensíveis como esses foram despejados em todos os blogs baseados em wordpress que estão hospedados em ryan.com.br:



Como  todos os blogs são moderados, ninguém além de mim vê isso aí. E o único incoveniente que tenho é ter que dar alguns clicks para apagar tudo.

Note que cada post tem um endereço IP muito diferente do outro. A princípio eu achei que fosse uma doideira do wordpress, apesar de ser altamente improvável que acontecesse em vários os blogs ao mesmo tempo. Mas eu olhei nos logs do meu servidor e esses mesmos endereços estão registrados lá. Isso para mim caracteriza a ação de uma botnet. Eu fiz um Reverse DNS lookup em alguns endereços e encontrei Brasil, Estados Unidos, Holanda e Polônia entre os países de origem.

Resta saber qual o objetivo, já que tem cara de SPAM, mas o texto parece ser aleatório, assim como os URLs.  E URLs aleatórios lembram o modus operandi do famoso vírus Conficker, que também é conhecido por criar botnets.

Eu ia colocar captchas no sistema de comentários dos blogs, mas decidi deixar do jeito que está para capturar o comportamento do bicho por enquanto.

quinta-feira, 9 de abril de 2009

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.

sexta-feira, 3 de abril de 2009

A MS finalmente permite desabilitar completamente o Autorun.

Atenção: Este post está em rascunho ainda. Estou liberando agora pois se trata de algo muito importante. Mas o texto pode mudar substancialmente .


Qualquer Power User Windows deve estar careca de saber que desabilitando o Autorun pelo método oficial da Microsoft (NoDriveTypeAutorun no Registro) ainda era possível ser infectado por um vírus de Autorun caso não se tomasse certos cuidados (que o usuário comum em geral não toma). Por isso o hack "@SYS:DoesNotExist" era usado, pois efetivamente fecha todas as brechas por onde o código malicioso apontado por Autorun ainda podia ser executado por imperícia/ignorância/descuido do usuário. Infelizmente esse hack, como visto no post anterior, tem efeitos colaterais.

Pois graças à preocupação mundial com a ameaça do Conficker a MS finalmente elaborou um patch que faz o Windows 2000/XP/2003/Vista/2008 respeitar completamente o desligamento do Autorun. Até onde pude apurar esse patch foi liberado em 24 de fevereiro, que é a data do respectivo Security Advisory. Segundo teste feito pelo US-CERT, esse patch tem exatamente o mesmo efeito do hack "@SYS:DoesNotExist" e (isso quem acrescenta sou eu) presumívelmente sem os efeitos colaterais.

O que fazer agora?
  • Se você tinha aplicado o hack "@SYS:DoesNotExist", desative-o;
  • Leia com atenção o Artigo 967715 da Knowledge Base . Lá você encontrará o link para o Hotfix correspondente à sua versão do Windows e o procedimento completo para desativar o Autorun. Se você deixa o seu Windows atualizar automaticamente (eu não deixo) você já tem o Hotfix instalado mas precisa seguir o procedimento manual de desligamento.

quinta-feira, 18 de dezembro de 2008

Visitar meu blog pode prejudicar seu computador.

Bem, pelo menos segundo o julgamento do Google Chrome:



É claro que eu fiquei surpreso quando vi isso, ainda mais com a referência a  www.downloadsglobe.com. Mas bastou uma olhada no código fonte da página que o Chrome estava bloqueando para constatar que era apenas um arquivo JPG do site que eu estava exibindo, justamente para ilustrar a fraude deles em cima do DVD Shrink.

A imagem que "pode prejudicar seu computador" é esta. 

Esta cópia (reduzida e editada) está no meu servidor, por isso o Chrome não implica com ela.

Eu acho louvável a iniciativa da Google e espero que eles continuem a fazer essa filtragem. Mas bloquear meu site por causa de um link para uma imagem não é exagero? Alguém teve notícia de alguma implementação bem sucedida do bug "JPEG of death" ou similar?

Edit: Até eu fiquei com receio de abrir minha própria página, porque o Chrome não tem mecanismos como no Firefox (através de extensões) para barrar conteúdo ativo. Imagine uma pessoa que estivesse apenas visitando.

P.S.: Eu estou usando o Chrome apenas porque o Firefox do meu PC principal resolveu não postar mais comentários no blog. 

22/01/09: Eu removi a imagem que estava criando os problemas

quinta-feira, 11 de dezembro de 2008

A Symantec admite que seu antivirus era (?) uma carroça.

Bom, pelo menos indiretamente...

Quando eu li um usuário do slashdot dizer que não sabia se dava risada ou sentia pena fiquei curioso e fui conferir. A Symantec criou um site chamado asecondchance.com.au (umasegundachance) cheio de reviews dizendo como o Norton Internet Security era criticado pela comunidade por ser bloatware, mas que agora alcançou a redenção.

Realmente, não sei se dou risada ou sinto pena e dou uma chance a eles...

quarta-feira, 10 de dezembro de 2008

Tem um "olho mágico" na sua porta?

Você sabia que sem o devido cuidado, qualquer pessoa pode usá-lo pelo lado de fora para ver o interior do seu apartamento?

Eu não sabia. E achava que o danado era seguro porque olhando pelo lado de fora do olho mágico (peep hole) a olho nu você não consegue distinguir absolutamente nada. Mas então eu esbarrei neste produto da Dealextreme. Lendo os comentários do fórum descobri que qualquer binóculo vagabundo usado ao contrário tem condições de fazer o mesmo efeito.

Em resumo, se você quiser evitar que qualquer adolescente voyeur (ou candidato a ladrão) possa ver tranquilamente todo o movimento na sua sala ou área de serviço, coloque um "tapa olho" pelo lado de dentro, para ser levantado apenas quando você for olhar de dentro para fora,

quarta-feira, 19 de novembro de 2008

Esqueça o MSConfig. Use o Autoruns.

Em várias versões do Windows (a notável exceção é o Windows 2000) existe um programa de administração oculto, que não aparece em nenhum menu, mas facilmente acessível para quem sabe que ele existe (Iniciar->Executar->msconfig.exe) . Esse utilitário é usado na grande maioria das vezes para controlar o que é executado automaticamente pelo Windows. Isso a maioria dos meus leitores deve saber.

O que muitos não sabem é que apesar do MSconfig ter ficado progressivamente mais "poderoso" com cada nova versão do Windows, a diferença entre o que o MSConfig deveria mostrar e o que ele realmente mostra foi ficando ainda maior, cancelando com larga folga qualquer ampliação na abrangência do utilitário. No Windows XP a defasagem já é enorme.

Dando um exemplo beeem simples, cada usuário do sistema no Windows XP tem seu próprio grupo "startup", em

C:\Documents and Settings\[usuário]\Menu Iniciar\Programas\Inicializar

O MSConfig mostra os programas que estão rodando por aí, mas apenas para o usuário corrente. Se você estiver logando como "Administrador", mas um malware tiver se instalado apenas no perfil do usuário "João", ao rodar o MSConfig você não verá os arquivos do grupo Startup de João, nem de qualquer outro usuário. MSConfig mostra apenas os programas comuns a todos os usuários e os programas específicos do usuário corrente.

E você ficaria surpreso com a quantidade de malware que sabe explorar isso.

Como eu disse, esse foi um exemplo beeem simples das fraquezas do MSConfig. O Windows XP tem uma quantidade impressionante de meios pelos quais um programa pode conseguir se executar (e nem todos estão no Registro) que não são cobertos pelo utilitário oficial da MS. Alguns desses, como os BHOs (Browser Helper Objects) são identificados por utilitários de terceiros como o HijackThis, mas nenhum programa se iguala ao Autoruns for Windows.

Nota: O programa se chamava originalmente "Sysinternals Autoruns". A Sysinternals foi comprada há anos pela Microsoft e os autores de Autoruns agora são seus funcionários.

Com o Autoruns você pode:
  • Enxergar e desabilitar os processos específicos de cada usuário (um de cada vez);
  • Enxergar e desabilitar BHOs (substitui o HijackThis nessa tarefa);
  • Enxergar e desabilitar extensões do shell (tudo que é evocado quando você clica com o botão direito em um arquivo ou pasta);
  • Visualizar rapidamente o conteúdo de locações "sensíveis" e raramente usadas legitimamente do Registro, como "AppInit_DLLs" e "Image File Execution Options";
  • Etc.;

Locações "perigosas" do Registro.

Nota: Este post vem sendo preparado há muito tempo e não está completo ainda. Estou publicando agora porque está atrapalhando o andamento de outras coisas, mas poderá ser largamente editado sem aviso depois da publicação.

O que vou explicar aqui, para quem não está familiarizado e não compreende imediatamente, vai soar como: "PQP! Por que a Microsoft deixa uma brecha de segurança desse tamanho aberta?!"

Na verdade, não é bem assim. Existem boas razões para a maioria dos "problemas" do Windows e esse caso é apenas mais um exemplo de algo que foi criado para dar poder ao usuário e flexibilidade ao SO, mas que pode ser explorado com fins malignos. Um usuário comum ou um xiita Linux (que por mais que diga o contrário, não entende PN de Windows) não vão conseguir enxergar o benefício oculto, por mais que você explique, mas um Power User Windows pode imediatamente lembrar de uma situação onde o domínio da aplicação dessas chaves poderia ter sido útil.



Image File Execution Options (IFEO)

HKLM\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\Image File Execution Options

Nota: "Image", neste contexto, é um termo de programação que nada tem a ver com "fotos".

Esta é a mais simples de demonstrar como funciona e a que mais é usada para enlouquecer os "amigos".

Abaixo da chave IFEO, crie uma chave chamada "calc.exe" e dentro dessa chave adicione um valor chamado "debugger" com o conteúdo "notepad.exe" (pode ter o caminho completo, se você quiser, mas não é necessário nesse caso).



Agora tente executar a Calculadora. Não importará a forma como você tente, o Bloco de Notas será exibido em seu lugar. O único meio de realmente rodar a calculadora sem reverter a alteração em IFEO é renomear o arquivo calc.exe.

Normalmente, abaixo da chave IFEO já existem várias outras chaves, com diversos parâmetros cujo propósito não é inteiramente conhecido. A única coisa realmente suspeita é a presença de sub-chaves com o valor "debugger". E é isso que é observável com o Autoruns, na aba Image Hijacks.



Ignore o valor default "Your Image File Name Here without a path". Esse é só um exemplo de como uma tentativa de documentar o funcionamento de uma chave no Registro pode acabar confundindo o usuário. Veja no exemplo que calc.exe redireciona para notepad.exe.

Um exemplo de uso benigno é feito pelo Process Explorer. Quando você seleciona "Replace Task Manager", PE acrescenta uma entrada em IFEO redirecionando taskmgr.exe para o seu próprio executável.

No geral, IFEO é raramente usada legitimamente a menos que o PC seja de um programador (somente programadores sabem usar debuggers).


AppInit_DLLs

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows

Ao contrário de IFEO, essa locação do Registro não pode ser explorada por Power Users, a menos que sejam (bons) programadores, mas um Power User precisa conhecê-la. Toda e qualquer DLL que esteja listada nesse valor (não é uma chave) é carregada por toda e qualquer aplicação que carregue USER32.DLL. Ou seja: por quase todos os programas do Windows.

O particularmente perigoso nesse caso é que a DLL é carregada no mesmo espaço de memória que a aplicação, tornando-se parte indistinguível da mesma do ponto de vista do executável. Nessa situação fica facílimo (para programadores competentes) usar técnicas de "hooks" e "injection" para alterar o funcionamento de um programa. Isso é prato cheio para malware, mas também tem usos benignos. O danado é que mesmo os usos benignos são discutíveis.

Essa locação é raramente utilizada, mas é explorada pelo Kaspersky Antivirus 2009 para supostamente (foi anunciado em julho, está instalado no meu computador, mas não consigo fazer funcionar) acrescentar um teclado virtual a toda aplicação, contornando qualquer keylogger.



O problema é que qualquer aplicação que faz uso disso tem que ser cuidadosamente construída, porque vai ser carregada no espaço de memória de todas as outras aplicações. Corrompa uma DLL listada em AppInit_DLLs e provavelmente o Windows vai entrar em parafuso. A própria Microsoft recomenda que esse caminho não seja usado.

"We do not recommend that applications use this feature or rely on this feature. There are other techniques that can be used to achieve similar results."

Veja o resultado da peripécia do Kaspersky no Process Explorer:



O que danado o tal "Mozilla Virtual Keyboard" precisa fazer no espaço de memória do Regedit? E duas vezes? Felizmente o uso de memória é pequeno pois cada DLL tem apenas 13K.




Por que a MS não enxerga essas locações como "vetores de malware" ou "brechas de segurança"?

Porque não são.

IFEO e AppInit_DLLs estão sob HKEY_LOCAL_MACHINE no Registro. Só é possível escrever nessas locações se você estiver logado como administrador e se você deu a oportunidade para um malware rodar enquanto você estava logado como administrador, a sua máquina já pertence a ele. Como dizem em inglês: "You already lost" e "pwned!".

Nessa condição o malware pode substituir ou acrescentar o arquivo que quiser, se entranhando onde bem entender e não precisa explorar essas locações pois as possibilidades são ilimitadas. Nem o Linux ou o MacOS são seguros se você rodar um malware como Root. Na realidade eu tenho mais medo das aplicações que tentam fazer uso "legítimo" dessas chaves (ou de amigos palhaços, como no caso de IFEO) do que de malware.

quinta-feira, 7 de agosto de 2008

O primeiro vírus invisível a gente nunca esquece

Era só uma questão de tempo e eu até acho que demorou bastante, mas só na semana passada eu me deparei com um vírus que não aparece de jeito nenhum nem mesmo no poderoso Process Explorer. O vírus é mais esperto que a média, conseguindo infectar até mesmo contas de usuário limitado do XP (é também o primeiro que eu encontro, apesar de não ser algo realmente difícil).


Baseado nos vários nomes diferentes dados a esse vírus eu fiz uma pesquisa no Google e a descrição que encontrei mais parecida com a do comportamento do exemplar que tenho foi esta aqui. Mas mesmo ela não cita que o vírus não aparece na lista de processos. Nenhuma das descrições que encontrei cita isso, por isso acredito que esse vírus seja uma mutação que só foi detectada porque ainda usa código conhecido. O seu autor pegou o código de um outro vírus e acrescentou a "invisibilidade".

Ao ser executado, você vê que sys32.exe aparece na lista de processos do Process Explorer mas some logo em seguida. Você só percebe que está infectado porque:
  • Se seu antivirus estiver atualizado, ele vai dizer (esse virus usa código conhecido);
  • A intervalos irregulares seu firewall vai dizer que o Windows Explorer (não o IE) está tentando acessar a porta 7000 de endereços na internet;
  • Qualquer pendrive detectado pelo Windows ganhará imediatamente uma pasta Recycler e um arquivo autorun.inf;
Eu conheço muito pouco desse assunto, mas como o firewall diz que é o Explorer que tenta acessar a Internet e o vírus não aparece na lista, eu imagino que o vírus esteja operando por "code injection" e "hooks" injetando seu código no espaço da memória RAM que o Windows acredita estar sendo ocupado apenas pelo Explorer.

A maioria das pessoas chamaria isso de "rootkit". Mas assim como a maioria das pessoas já perdeu a noção da diferença entre "pirataria" e "falsificação" (com a ajuda incansável da nossa mídia obtusa) , a maioria das pessoas não tem noção do que é realmente um (assustador) "rootkit".

Como o vírus não é realmente um rootkit, fica fácil removê-lo, principalmente porque ele não esconde as chaves do Registro que apontam para ele e seu executável não consegue se esconder completamente.

Como remover um malware que se esconde na Lixeira

OK, então o PC já está infectado e você já determinou que o filho de uma $%@## está escondido em C:\Recycler, mas você não consegue tirá-lo de lá porque ao clicar na pasta onde ele está escondido ela aparece como vazia? Isso é fácil de resolver quando você sabe por que isso acontece.

Editado: O jeito mais fácil de fazer isso mesmo é apagar a lixeira inteira porque ela é recriada automaticamente na próxima vez que o usuário jogar algo lá. O que vou explicar a seguir é para os casos onde você não quiser ou não puder apagar a(s) lixeira(s), por qualquer motivo.

Editado 2: Para o propósito deste texto, existe uma diferença bem grande entre esvaziar a lixeira e apagar a lixeira.

O comportamento "especial" de pastas como a Lixeira é definido pelo conteúdo de um arquivo desktop.ini contido nela. Apesar da Microsoft ter decretado a obsolescência dos arquivos INI há muito tempo em favor do Registro, continua usando arquivos INI para isso porque não haveria como garantir que a pasta mantivesse seu status ao mover o drive para outro PC, se o status fosse armazenado no Registro.

Quando o Windows lê um arquivo desktop.ini que diz que aquela pasta é uma Lixeira, ele só exibe os arquivos contidos nessa pasta que estiverem no banco de dados da Lixeira. Assim se o malware se copia para uma Lixeira sem usar o mecanismo de exclusão para a Lixeira do Windows, ele fica invisível. E isso é ridiculamente fácil de se fazer.

Para conseguir entrar na pasta e ver todos os arquivos, incluindo o malware, você precisa excluir o arquivo desktop.ini ou eliminar seu conteúdo, mas como fazer isso se desktop.ini também está invisível? Podem existir vários métodos para se fazer isso, mas o mais simples é este:

Com o Explorer, entre na Lixeira até onde puder ir. Geralmente será um caminho como este:

C:\RECYCLER\S-1-5-21-1177238915-261478967-625345543-1003

Copie o caminho, que aparece na barra de endereço do Explorer.

Abra o notepad, peça Arquivo->Abrir e na caixa de escolha de arquivo cole o caminho. Antes de dar o ENTER, acrescente "\desktop.ini" (sem as aspas). Você ficará com um caminho como este:

C:\RECYCLER\S-1-5-21-1177238915-261478967-625345543-1003\desktop.ini

Dê ENTER. O arquivo desktop.ini abrirá exibindo este conteúdo (se for uma Lixeira):

[.ShellClassInfo]
CLSID={645FF040-5081-101B-9F08-00AA002F954E}

Mas não importa o que está escrito. Selecione tudo, apague e salve o arquivo.

Tente entrar na pasta de novo com o Explorer. Ela será uma pasta normal agora e você verá tanto o arquivo desktop.ini quanto o malware e qualquer outra coisa que estiver escondida lá.

Se existirem várias lixeiras dentro de Recycler (o Windows cria uma para cada usuário) repita o procedimento para todas elas.

Óbviamente, você pode ter que fazer isso no Modo de Segurança ou dando boot por outra instalação, ou o malware irá impedir você de apagá-lo.

Como bloquear o Autorun para minimizar o risco de vírus

04/04/2009: O hack descrito aqui funciona muito bem, mas pode ter efeitos colaterais problemáticos, como é explicado aqui.

Para começar, você precisa ter em mente a diferença entre "Autorun" e "Menu Autoplay". Aquele menu que aparece quando o Windows detecta um pendrive é o "Menu Autoplay", que por sua vez pode executar o "Autorun" do pendrive. Um recurso não está diretamente ligado ao outro e você pode desligar um sem afetar o outro.

Também tenha em mente que para CD/DVD o Windows XP primeiro verifica se o disco tem Autorun e o executa. Se não tiver é que ele exibe o Menu Autoplay. Para as outras mídias (eu imagino que para todas que não sejam somente leitura) o XP, por segurança, exibe o Menu Autoplay inserindo o Autorun como o primeiro item. As instruções do Autorun em mídias que podem ser infectadas nunca são executadas cegamente.

Existem meios de desligar o Menu Autoplay, quando você está de saco cheio de ver aquele menu (eu mesmo quase sempre clico em Cancelar), mas não vou falar sobre isso, porque como eu disse antes isso não desabilita o Autorun, que ainda poderá ser executado de outras maneiras.

Também existem formas diversas de se desabilitar o Autorun, mas nenhuma é tão simples e eficiente quanto a explicada por Nick Brown em seu blog.

Crie com o notepad um arquivo .REG com o seguinte conteúdo (as linhas 2 e 3 devem aparecer como uma só):

REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf]
@="@SYS:DoesNotExist"


Salve e clique duas vezes para inserir o conteúdo no Registro. Isso desabilta de uma vez o Autorun para todos os usuários do PC (tudo em HKEY_LOCAL_MACHINE é global).

Nota: Se você clicar duas vezes e isso abrir o arquivo no Bloco de Notas em vez de inserir no Registro (e você não perceber no ato o motivo), você não deve ser um Power User ;)

Nick também explica detalhadamente como isso funciona. Em resumo, é usado um mecanismo que o Windows tem para substituir arquivos *.ini de aplicações antigas que seriam incompatíveis com o XP por instruções compatíveis armazenadas no Registro. Assim ele mapeou "autorun.inf" (arquivos *.inf são fundamentalmente arquivos *.ini) para uma chave do Registro chamada DoesNotExist, que realmente não existe. O XP ao encontrar um arquivo autorun.inf em qualquer mídia vai seguir o mapeamento e nada será executado.

O único problema: Todo autorun será desligado, incluindo o de mídia CD/DVD. Então o usuário terá que procurar o programa que precisa ser executado quando colocar o próximo CD com um jogo ou driver de hardware. Isso pode ser problemático em um PC doméstico, a não ser que você instrua o usuário a "ler" o arquivo autorun.inf para saber que programa precisa ser executado (para mim isso é fácil, porém existe todo tipo de usuário). Mas eu acho que se você explicar direitinho ao usuário o risco que ele corre de ser infectado ele será convencido de que abrir mão do Autorun é bom para ele, principalmente se ele tem que pagar a você para limpar seu PC toda vez que ele se infecta.

Num PC usado em empresa, eu acredito que nem é preciso pensar duas vezes. O Autorun pode trazer mais dores de cabeça do que conveniência em um ambiente corporativo.

04/04/09: Para desfazer, apague a chave 
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf

Obrigado ao Rafa Librenz pela dica que me levou a pesquisar sobre isso.

quarta-feira, 6 de agosto de 2008

Vírus de pendrive não executa sem sua ajuda!

Nota: eu prefiro os termos "flashdrive" e UFD (USB Flash Drive), mas o termo "pendrive" está tão fortemente associado a essas coisas que eu vou me render a ele por ora.

Existe um mito na internet (tanto no Brasil quanto fora) de que o Windows tem uma séria falha que permite que pela simples inserção de um pendrive contaminado com vírus você seja infectado. Não consegui encontrar nenhuma prova de que essa falha existe, em nenhuma versão do Windows. Até onde sei, o vírus entra na máquina em quase 100% dos casos por causa de hábitos equivocados dos usuários.

A única coisa que ocorre automaticamente ao inserir um pendrive é a infecção dele, caso o PC já esteja infectado com um vírus.

Como eu expliquei desde 2000 no meu artigo sobre Autorun, o mecanismo de execução automática do Windows depende de um arquivo autorun.inf apropriado na mídia. Para CDs e DVDs o Windows executa as instruções de autorun.inf cegamente, mas embora o mecanismo também funcione em pendrives a MS sábiamente implantou restrições à sua execução em todas as versões do Windows que suportam pendrives (98, ME, 2000, XP,Vista, 7,8, 8.1...).

No Windows XP, por exemplo, quando qualquer pendrive é inserido o Windows examina seu conteúdo e através de um algoritmo não documentado (mas que eu soube que é complicadíssimo) tenta determinar do que se trata. Baseado no resultado desse teste exibe um menu que chamamos de "menu autoplay".


Se o XP encontrar um arquivo autorun.inf no pendrive, lê seu conteúdo e inclui o programa que ele referencia como a primeira opção do menu autoplay.



Se o usuário tem o hábito de clicar em OK sem nem prestar atenção, é a vítima perfeita para criadores de malware.

Note como a opção de "Sempre executar a ação selecionada" fica desabilitada nesse caso. É o Windows protegendo você de fazer algo que seria potencialmente perigoso, ainda que fosse útil.

Os autores de vírus encontraram um jeito esperto de tapear o usuário e fazê-lo executar o vírus: usar o ícone e simular o texto de "abrir pasta..."



A versão em inglês acima (que tirei de um vírus real) pode até deixar alguém que não entende inglês desconfiado, mas se for traduzido:


Note o texto "Usando o programa...". Ele denuncia o vírus, mas mesmo um usuário experiente pode ser enganado por isso. Ao clicar OK você estará executando o vírus, que por sua vez abrirá a pasta. Só está realmente seguro contra esse tipo de artimanha quem analisa cuidadosamente a opção ou, melhor ainda, quem sempre clica em Cancelar.

Mas nem é essa a principal forma de infecção por pendrives. Os vírus conseguem entrar mesmo é por causa do mau hábito que os usuários tem de abrir drives clicando duas vezes na "lista" do Explorer.



O problema é que clicar duas vezes na lista invoca o autorun do drive, sem avisos ou questionamentos. Seja para CD/DVD, HDD, pendrives... tanto faz se for mídia fixa ou removível porque clicar duas vezes na lista vai invocar o autorun e isso não é uma falha de segurança. É uma funcionalidade do sistema que pode ser (e é) explorada por vírus. É uma funcionalidade porque se eu quiser executar o autorun de um disco eu clico duas vezes na lista. Se eu não quiser (e em quase 100% dos casos eu não quero), eu clico uma vez na árvore.

Mas o hábito de clicar duas vezes na lista é tão generalizado quanto a ignorância de que isso ativa o autorun na mídia, por isso quase todo usuário infectado diz que "não fez nada" e o vírus "tem que ter entrado sozinho"

Espertamente, o vírus após ser executado exibe os arquivos do pendrive, assim o usuário comum não nota que há algo errado, porque era isso que ele queria ver.

Em outro post falarei sobre como desativar o Autorun, para não precisar se preocupar com isso.

P.S.: Pode até existir um exploit real que permita a execução do vírus sem intervenção do usuário, mas eu não consegui encontrar a menor evidência disso. E qualquer busca que eu faça no Google sobre o assunto só mostra gente que, quando diz que o o problema existe, ou não parece realmente saber do que está falando ou claramente é do tipo que tem um orgasmo quando (pensa que) encontra um defeito no Windows. Todos os vírus que testei (voluntariamente ou não) dependem do duplo-clique para rodar ou da desatenção ao clicar no OK.

sábado, 14 de junho de 2008

Serviço ICS desligando sozinho após 9-10 minutos

Este problema aconteceu no meu servidor ICS (Internet Connection Sharing) que roda Windows 2000 SP4. Ontem eu cheguei em casa e percebi que o servidor 2K havia reiniciado. Achei que podia ter faltado energia na minha ausência, fiz o logon (deveria estar no automático, mas faz tempo que não está) e não dei muita atenção a isso. Mas um tempo depois eu percebi que não conseguia mais navegar. Olhei o servidor e havia um estranho e constante tráfego de upload, de apenas 5KB/s. Eu não estava usando nem o uTorrent nem o eMule e não entendia de onde vinha o tráfego. Fiz um rápido teste e constatei que não vinha do meu PC. Eu cheguei a pensar em malware, mas como o servidor não é usado para nada mais que ser servidor e sou a única pessoa a ter contato com ele, descartei a hipótese. "Minha irmã deve estar usando o e-mule", foi o que eu pensei na hora, mas estranhamente não havia atividade no switch.

O meu "sentido de aranha" deveria ter dado o sinal de alerta, mas não deu. E como eu estava com outro problema pendente, deixei esse para resolver depois.

Voltando ao problema de navegação, eu já sabia que não era um problema "normal" de rede porque eu monitorava o servidor normalmente (eu uso o VNC) e até o serviço DHCP estava funcionado. Então eu executei services.msc e constatei que o serviço "Compartilhamento de Conexões com a Internet" estava parado. Achei estranho, mas reiniciei o serviço, e voltei às pesquisas que estava fazendo.

Porém não passou muito tempo e a navegação parou de novo. Fui conferir e o mesmo serviço estava parado outra vez. Reiniciei-o e após algum tempo havia parado novamente. Reiniciei o servidor e o problema persistiu.

Executei eventvwr.msc e procurei por quaisquer erros ou alertas ocorrendo no momento do desligamento do ICS. Nada.

Aí eu passei a cronometrar. O serviço estava sendo interrompido a intervalos irregulares de entre 9 e 10 minutos. Fiz uma pesquisa no Google a respeito e encontrei outras pessoas com o mesmo problema, mas nenhuma solução ou mesmo uma dica relevante.

E o tráfego de 5KB/s de upload não parava nem por um momento.

Como o Windows 2000 não tem um Msconfig.exe, usei o Autoruns para procurar por possíveis intrusos. A quantidade de informação exibida por Autoruns intimida e acaba sendo fácil deixar algo passar despercebido, além do fato de que eu considerava uma invasão ao meu servidor algo pouco provável. Por isso se não fosse por um pequeno detalhe eu talvez não tivesse notado o intruso:




A presença da variável %WINDIR% na listagem chamou minha atenção. Não é indício de vírus mas é um erro de programação incomum. Mas foi a atenção que eu precisava para notar que o arquivo svchost.exe legítimo do Windows deveria estar em System32 e não em System.

Nota: O MSCONFIG não teria mostrado esse intruso, pois não olha em HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\shell

No caso, o processo estava sendo executado assim:
Explorer.exe %WINDIR%\system\svchost.exe

Matei o processo com o Process Explorer (o Gerenciador de Tarefas do Windows não me mostraria qual dos vários SVCHOST.EXE era o ilegítimo, pois não mostra o caminho) e no ato o upload de 5KB/s parou. Removi o arquivo e reiniciei o servidor. O problema sumiu. Submeti o arquivo ao Avast, que não reportou nada. Submeti o arquivo então ao Serviço VirusTotal, que acusou apenas 25% (em 13/06) de positivos, principalmente de antivirus de pouca notoriedade. Mas os 25% já não deixam qualquer dúvida.

Procurei por outros indícios da invasão no servidor e encontrei um outro arquivo de apenas 58KB e nome aleatório na raiz de C:. Submeti o arquivo ao VirusTotal e o resultado foi de 31.25%.

Pelo que pude apurar, este segundo arquivo é apenas um "downloader" e entrou primeiro no meu PC. Ele fez o download de svchost.exe e o instalou no servidor.

Horas depois do vírus ter sido removido eu percebi uma coisa estranha: Eu não conseguia acessar os compartilhamentos do servidor. Fui verificar e dois dos três compartilhamentos de rede do servidor haviam sumido. Eu até posso entender porque um malware removeria os compartilhamentos (proteger-se da "competição" seria um motivo) mas não entendo por que apenas dois deles.

Pausa para fazer um mea culpa: A raiz de C: havia sido compartilhada por mim. Eu realmente não esperava nennhuma invasão desta máquina, já que havia desligado o netbios e compartilhamentos para a placa wireless e tomado outras precauções para "esconder" o PC.

Já vi que não foi suficiente. :/

E mais: o servidor não roda nem anti-virus (teria sido inútil) nem firewall de terceiros. Um firewall extra poderia ter denunciado o intruso, mas por causa de alguns problemas de desempenho da rede que tive ao usar firewall eu deixei o servidor sem nenhum :/

Casa de ferreiro...

Mas é o primeiro problema em seis meses de operação 24H.

O desligamento do serviço ICS faz sentido. O serviço responsável pelo firewall é o mesmo do ICS e você não pode desligar um sem desligar o outro. A linha de comando para isso é "net stop sharedaccess". A intenção do malware era desligar o firewall e no meu caso isso não passa despercebido porque impede todos os outros computadores da minha rede de acessar a internet.

O engraçado é que se o malware não estivesse desligando o serviço ICS e eu estivesse usando P2P, o tráfego de 5KB/s dele teria passado despercebido, porque a banda mínima oferecida por meu provedor é de 16KB/s, chegando a mais de 80KB/s dependendo do horário. O programador foi esperto ao limitar o tráfego. Como eu não estou usando P2P eu teria eventualmente percebido o tráfego estranho por causa do meu monitoramento com o NetMeter, mas poderia levar dias.

sábado, 12 de abril de 2008

A importância de se usar um software firewall

O que vou explicar aqui pode ser o óbvio ululante para muitos de meus leitores, mas às vezes eu preciso fazer esses posts para dar suporte a explicações mais elaboradas que serão dadas adiante.

Esqueça o firewall do Windows XP. É melhor do que nada, mas não é o suficiente. Esqueça também o firewall embutido em seu modem ADSL. Ele falha no mesmo quesito em que o firewall do XP.

O problema é que nenhum dos dois te protege de uma ameaça que se instalou em seu PC, pois, para simplificar a vida do usuário, o firewall (o do XP e o do modem) considera que qualquer conexão iniciada pelo seu PC é confiável, pois todas são benignas por default. Você é protegido das tentativas de conexão que se iniciam fora do seu computador, que são hostis por default. Essa configuração é lógica e baseada em simples estatística.

Você talvez já tenha se deparado com a pergunta do firewall do XP, sobre se você quer autorizar a aplicação "tal".



Essa pergunta apenas ocorre com aplicações que se instalam como "servidores", como o e-mule e outros programas de P2P. Um programa que tenha o papel exclusivo de "cliente" não chama a atenção do firewall do XP.

E ser "cliente" é tudo o que um malware qualquer precisa ser. É absolutamente desnecessário instalar um "servidor" em sua máquina para roubar suas senhas, por exemplo. Em outras palavras, um programa que rouba suas senhas só vai ser detectado pelo firewall do Windows XP ou barrado pelo firewall do seu modem se seu criador for um programador muito ruim.

Nota: O firewall do Windows Vista supostamente faz o serviço completo.

É importante que ao ler a palavra "servidor" você não tenha a compreensão errada. Essa palavra sempre lembra aplicações complexas, porque é geralmente associada a elas. Mas quando se trata de comunicação em rede, "servidor" é qualquer software que pode receber conexões que ele não iniciou. "cliente" é o software que inicia uma conexão. Muitos softwares, como as aplicações P2P, operam como clientes e servidores ao mesmo tempo, mas muitos só precisam ter uma das duas funções, como um software de FTP qualquer é apenas cliente (é sempre você que inicia uma conexão com o servidor FTP e nunca o contrário).

Um malware tanto pode ser cliente, como servidor. Depende do que seu criador tinha em mente. Se tudo o que o malware quer é roubar suas senhas bancárias, ele só precisa ser cliente (e nunca vai ser notado pelo firewall do XP). Mas se o programador quer assumir o controle do seu PC ou usá-lo como proxy para repassar SPAM, ele precisa ser um servidor. E será detectado pelo firewall do XP se (e é um "se" bem grande) o criador do malware não for esperto o suficiente para desligar silenciosamente o firewall do Windows XP ou até adicionar uma exceção para si. O que é perfeitamente possível se o usuário estiver logado como administrador na hora da invasão.

Mas quantos usuários domésticos de Windows usam o SO como Usuário Limitado? 5%?

A vantagem que um software completo de firewall como o ZoneAlarm (ZA) proporciona é impedir que qualquer processo que não esteja explicitamente autorizado possa acessar a internet como cliente ou agir como servidor. O ZA, por exemplo, avisa todas as vezes que um novo processo tenta abrir uma conexão e pergunta ao usuário o que fazer. As opções são quatro:
  • Autorizar só desta vez (vai perguntar de novo na próxima);
  • Bloquear só desta vez (vai perguntar de novo na próxima);
  • Autorizar definitivamente;
  • Bloquear definitivamente;
O problema para a maioria dos usuários é: tomar essa decisão não é tão simples quanto parece.

Um Power User Windows pode discernir, quando o firewall faz a pergunta, se o processo deveria mesmo estar querendo acessar a Intenet. E ainda assim com um certo grau de incerteza. Para complicar, alguns softwares firewall não dão informação suficiente, como é o caso do próprio ZA.

Já um usuário "comum" não vai saber que resposta dar ao firewall e tanto pode bloquear o que deveria permitir quanto permitir o que deveria bloquear. O firewall instalado na máquina de um usuário comum precisa ser configurado por um Power User, que vai dar permissão a todos os programas que esse usuário vai usar (jogos, IMs, browsers, etc) e depois bloquear todo o resto. Preferencialmente configurando para bloqueio automático com nenhuma pergunta sendo feita ao usuário. Mas aí nenhum software instalado pelo usuário posteriormente vai conseguir conversar com o mundo exterior.

Supondo que você tenha o conhecimento necessário para dar as respostas adequadas, um software firewall "decente" se torna tão indispensável quanto um anti-virus. Para quem não sabe dar as respostas mas precisa mais de segurança do que da conveniência de poder instalar qualquer software sozinho, também.

segunda-feira, 24 de dezembro de 2007

Não use mais o Internet Explorer...

... se você costuma usar o recurso "salvar senha" do browser.

Nota: este post está em rescunho desde abril. Só agora eu lembrei de finalizar e publicar. Não estou satisfeito ainda, mas decidi publicar assim mesmo porque senão nunca vai sair.

Qualquer um que siga meu blog há algum tempo sabe que estou muito longe de ser um "Openxiita", "MS-hater" ou fanboy. Eu nunca recomendaria isso se não achasse o perigo real.

Um mísero minuto
é tudo o que um indivíduo com um flashdrive ou disquete precisa para roubar várias de suas senhas da internet.

Você está no grupo de risco se:
  • Usou ou está usando qualquer versão do Internet Explorer (IE);
  • Você usa o recurso "lembrar senha" que o IE oferece.
O indivíduo precisa de um minuto logado com o seu login e senha do Windows. Isso sendo otimista, porque 30 segundos podem ser suficientes. Isso pode ser feito tanto "localmente" por alguém que tenha acesso físico ao seu computador (isso inclui colegas de trabalho, "amigos" e técnicos na Assistência) quanto remotamente, se você executar algum programa com o código necessário.

O método de exploit depende da versão do IE que você usou ou está usando.

1) Se você usa ou usou o IE anterior à versão 7 (9x, 2000 e XP);

Nesse caso, as opções são maiores.

Com o freeware Protected Storage Explorer(PSE), de míseros 160K, e logado como de costume no PC eu pude ver login e senha dos seguintes serviços:
  • Meu site inteiro (login e senha do meu provedor de hospedagem);
  • Meu fórum;
  • Meu provedor de acesso;
  • Minha conta google (Gmail, Blogger, Orkut...).
  • Outros serviços e sites.
Imagine o estrago que um indivíduo mal intencionado pode fazer com isso. Se você usa algum tipo de "esquema" para construir senhas, a análise das várias senhas que o indivíduo vai obter pode ser suficiente para que ele deduza que esquema é esse, e invadir contas suas que nem guardadas no browser estão.

O problema é que a segurança do serviço "Protected Storage", uma área do registro destinada à armazenagem de senhas pelo IE/OE, foi comprometida. E outros programas podem ler o que apenas o IE/OE deveria ser capaz.

Eu uso há muitos meses o Firefox como browser principal. Mas como eu de vez em quando chaveio para o IE fazendo testes, meus logins e senhas estavam gravados e acessíveis.



O PSE não precisa ser instalado, tem uma aparência inocente, seu nome não denuncia seu propósito, e permite salvar em arquivo texto todas as informações, no mesmo diretório onde está o .exe. O indivíduo leva mais tempo esperando que o flashdrive seja reconhecido pelo Windows do que executando o programa e salvando as chaves da sua vida privada em um arquivo texto.

E o PSE não é o único. O Protected Storage Passview (PSP) é ainda menor (52KB) e tem vários extras úteis:
  • Visualização mais organizada de login e senha;
  • Possibilidade de deletar registros (eu já tratei de fazer isso no meu PC);
  • Funciona por linha de comando, por isso é possível criar um arquivo .bat que salvará as senhas no mesmo diretório onde está o .exe, sem chamar atenção.
2) Se você usa ou usou o IE7 (2000, XP, Vista);

Se o browser usado é o IE7, é preciso usar um programa diferente: o IE Passview. Isso porque o IE7 mudou a forma de gravar os dados, tornando-a mais inteligente, mas ainda insegura.



Eu conheço pelo menos um exemplo de trojan que inclui uma cópia do PSP. Ao rodar o trojan este envia os comandos para o PSP e todas as senhas são silenciosamente coletadas em um arquivo, que é rapidamente enviado pela internet para o autor do malware. O autor de malware nem mesmo precisa saber como se coleta as senhas, já que pode pedir ao PSP que faça isso por ele.

PSE e PSP tem usos legítimos, claro. Você pode eventualmente localizar senhas das quais não se lembra mais e deletar informações de logins que você acidentalmente salvou, para que outra pessoa não veja.

Depois de descobrir que isso existe, não vou mais deixar que um estranho sente na frente no meu PC e coloque um pendrive ou disquete com a desculpa de que precisa ver/imprimir/salvar um documento a não ser que eu faça logoff e deixe ele entrar como outro usuário que eu tenha criado só para isso. Estou usando o Firefox, que até onde sei não foi comprometido, mas quando eles forem eu certamente não vou ser o primeiro a saber.

Minha recomendação: Deixe de usar o IE. Se tiver que usar, jamais salve senhas nele. Se precisa usar de vez em quando o computador de outras pessoas, experimente a versão ThinExe do Firefox, ou a do Opera, que rodam direto do flashdrive, com todas as suas personalizações.

Nota: Comentários do tipo: "não use mais o Windows!" são inúteis e indesejáveis.

domingo, 23 de dezembro de 2007

Cuidado com onde enfiam o seu pendrive...

Este post começou a ser escrito em maio e só agora lembrei de finalizar e publicar.

Transportar informação confidencial sem proteção criptográfica sempre foi um problema: você pode perder o container (hoje, geralmente é um flash drive) ou tê-lo roubado de alguma forma, mas já existe há muito tempo uma forma simples de roubarem a informação sem que você sequer perceba.

O minúsculo USBDumper detecta a inserção de qualquer flash drive e automaticamente começa a copiar o conteúdo sem que o usuário perceba. A única coisa que o proprietário pode estranhar é uma certa lentidão no acesso ao drive.

O USBDumper original já é reconhecido por muitos anti-virus (o Avast o chama de "Win32:USBDump [trj]") e supostamente (nunca testei) é capaz de fazer uma imagem do seu pen-drive, o que permitiria até mesmo a recuperação de arquivos que você já havia deletado. Já o USBDumper2 além de ser detectado por apenas 4 entre 32 anti-virus, mesmo estando no ar desde 2006, vem com um monte de "aperfeiçoamentos":
  • Tem uma GUI;
  • Pode anexar macros à sua escolha a todos os documentos Excel e MSWord encontrados;
  • Pode copiar arquivos à sua escolha automaticamente para o flash drive;
  • Você pode escolher a pasta para onde vão os arquivos copiados do pendrive (a versão 1 não permitia);
  • Você pode escolher que tipos de arquivos quer copiar (apenas *.txt, *.doc e *.xls, por exemplo). Nota: USBdumper não entende os asteriscos e espera que você coloque apenas as extensões separadas por espaços. Por exemplo: "txt doc xls";
É importante salientar que o fato do anti-virus detectar ou não o USBdumper é de pouca relevância, porque este é um software que geralmente vai rodar na máquina de uma pessoa maliciosa, que pode muito bem desligar o anti-virus. A detecção só ajuda nos casos em que o USBDumper é aplicado por um terceiro que teve acesso de administrador às máquinas (para implantar o software) e continua tendo acesso físico ou pela rede (para ir buscar os arquivos) sem o conhecimento do administrador.

É ainda mais importante ter me mente que o que USBDumper faz não é nada espetacular, por isso qualquer programador com um razoável conhecimento pode fazer sua própria versão, indetectável por qualquer anti-virus. Eu mesmo tenho o conhecimento, neste exato momento, para criar um programa que faz tudo o que USBDumper2 faz, exceto detectar a inserção do pendrive e anexar macros nas planilhas. Mas se eu estivesse determinado a fazer meu próprio USBDumper, o google me ajudaria a aprender o que eu ainda não sei fazer. Até mesmo porque o USBDumper vem com código-fonte (em C++, que eu não entendo, mas consigo analisar).

Sabe aquele conhecido que você sabe que é alma sebosa? Desconfie da próxima vez que ele pedir o seu pendrive para copiar alguma coisa para você. Mesmo olhando por cima do ombro dele você não vai notar o que realmente ele está fazendo. Ceder o drive por um momento para um estranho, então, nem se fala...

Editado: Aqui um defensor do software livre levianamente atribui a existência do USBDumper à "insegurança" do Windows. Qualquer Sistema Operacional pode ter sua própria versão do USBDumper. É preciso ser muito ignorante ou fanboy (redundância?) para achar que isso pode ser feito apenas no Windows.

Além disso, existem os dispositivos "USB On the GO", muito usados por fotógrafos. Esses dispositivos permitem copiar cartões de memória e flash drives sem a necessidade de computador. Alguns copiam para outros flash drives enquanto outros tem um HDD interno. O pilantra só precisa de alguns minutos (depende da velocidade e quantidade de dados) sem que você dê pela falta do flash drive.

Você carrega informação confidencial e desprotegida no flash drive? Não deveria!