-->
Mostrando postagens com marcador Mitos. Mostrar todas as postagens
Mostrando postagens com marcador Mitos. Mostrar todas as postagens

sexta-feira, 10 de abril de 2009

O mito em torno de "Remover Hardware com Segurança".

Este mito é bem recente. Nem de longe é tão antigo (e difícil de combater) quanto o mito da necessidade de estabilizador, que impera no Brasil desde o PC XT (1982). Eu diria que ele começou a se formar em 2000, por causa do Windows 2K, mas só ganhou força mesmo com a popularização do Windows XP e, principalmente, dos pendrives.

A maioria das pessoas parece acreditar que se você desplugar um pendrive do computador sem primeiro seguir todo o ritual envolvendo o ícone "Remover Hardware com Segurança" (vou chamar de "RHS" daqui em diante), uma ou mais dessas catástrofes vai acontecer:
  • Vai fritar o pendrive;
  • A porta USB vai pro beleléu;
  • Seu gato vai morrer de fome;
  • Um tsunami vai varrer Brasília (humm... se fosse só no Congresso...);
  • etc..

O engraçado é que a maioria nem sabe qual o real motivo para o procedimento existir. Para mim toda essa preocupção é desnecessária e até cômica (como quando alguém faz aquela cara de espanto quando puxo meu pendrive de vez).

Quando você segue o ritual, o Windows se certifica do seguinte:
  • Que nenhum arquivo no pendrive esteja em uso. Se estiver, diz que você não pode fazer a remoção;
  • Que não haja nenhuma operação de escrita (cache) pendente para ele.;
Para evitar que você siga o procedimento, demore a retirar o pendrive e acabe fazendo algo perigoso para os dados nesse meio tempo, o Windows desconecta o pendrive logicamente (até onde sei, não é uma desconexão física) e ele some do Explorer. Pode ser até que o Windows faça mais alguma coisa, mas não acredito que seja relacionada com hardware.

Elementos que confirmam minha crença:
  • Apenas dispositivos do tipo "mass storage" habilitam o procedimento RHS. Sua webcam aparece na lista de dispositivos a remover com segurança? E a impressora? E o adaptador Bluetooth? Mouse e teclado também não? O que exatamente existe de "mais delicado" entre um pendrive e um (mais caro) adaptador bluetooth USB para que eu possa remover este último sem precisar me preocupar com nenhum ritual preparatório?;
  • A Microsoft, aprendendo com as reclamações oriundas do Windows 2000, desligou no XP (por default, mas pode ser religado) o cache de escrita para discos removíveis e eliminou a mensagem de alerta. Assim você puxa de vez o pendrive e não recebe mais aquele aviso chato do Windows 2000. Se o problema fosse relacionado com hardware eu não creio que a MS teria seguido por esse caminho e sim teria reforçado os avisos.
Esta é a (irritante) mensagem que aparece no Windows 2000 sempre que você puxa o pendrive sem seguir o procedimento RHS:


Esta mensagem aparece apenas para dispositivos "mass storage". Se você usa Windows 2000 puxe o cabo da impressora, do mouse, do teclado, da webcam... e veja se o Windows faz a menor objeção.

Perceba que o texto da mensagem não menciona dano ao hardware. "Falhas no computador" é uma expressão genérica que não está centrada em hardware. O fato é que puxar o pendrive com um arquivo aberto pode fazer com que o programa que usava esse arquivo tome diversas atitudes que vão desde uma inócua mensagem de erro até entrar em um loop consumindo 100% da CPU e travando o computador. Nada a ver com hardware, mas produz uma "falha no computador" assim mesmo.

Eu tentei encontrar evidências do ponto de vista eletrônico para a alegação de que simplesmente puxar o pendrive pode danificar o hardware, mas não encontrei nenhuma. Pelo contrário: USB é e sempre foi explícitamente uma tecnologia "hot plug". Não existe "hot plug" se você tem que pedir permissão para remover o dispositivo. E no plug USB os pinos de alimentação são propositalmente mais longos que os de dados justamente pensando nisso.

Na especificação USB (documento oficial do padrão) eu só encontrei citações que reforçam o meu ponto de vista (destaques em negrito são meus):

4.6 System Configuration

The USB supports USB devices attaching to and detaching from the USB at any time. Consequently, system software must accommodate dynamic changes in the physical bus topology.

...

7.2.4.2 Dynamic Detach

When a device is detached from the network with power flowing in the cable, the inductance of the cable will cause a large flyback voltage to occur on the open end of the device cable. This flyback voltage is not destructive.

...

9.2.1 Dynamic Attachment and Removal

USB devices may be attached and removed at any time. The hub that provides the attachment point or port is responsible for reporting any change in the state of the port.

Como experiência adicional (mas não muito científica), eu coloquei um multímetro na alimentação de uma das portas USB do meu PC e me certifiquei de que media 5V, conectei um pendrive nessa porta e segui o procedimento RHS para fazer a ejeção. O Windows "desconectou" o pendrive, mas em nenhum momento a tensão no mesmo deixou de ser 5V. Ou seja: se você acredita que o procedimeno remove a alimentação do pendrive, está enganado. Isso pode até ser verdade em alguma placa-mãe, mas eu honestamente duvido disso.

A fé nesse mito já se espalhou para longe das fronteiras da informática. E por isso já tem gente por aí inventando seu próprio ritual para conectar e desconectar pendrives nas portas USB de DivX players. O fato de não existir uma opção "ejetar USB" nesses aparelhos deveria servir de dica de que o procedimento não é necessário, mas a fé no mito é tão grande que algumas pessoas preferem acreditar que os fabricantes de DivX players (Philips, LG, Pioneer, etc) não estão dando a devida atenção ao problema.

Fato: Desconectar um pendrive repentinamente pode (não necessariamente vai, a não ser que você use Linux) fazer com que você perca os dados que estava escrevendo (veja nota abaixo) nesse pendrive. Se você conectou o pendrive apenas para ler seu conteúdo, nada vai acontecer (nem ao hardware, nem aos seus dados) se você desconectá-lo repentinamente.

Nota: conforme foi bem lembrado nos comentários, todo o conteúdo do pendrive pode ser perdido e não apenas o que você estava escrevendo. A FAT pode ser corrompida e requerer formatação especial.

Até que alguém apareça com evidências técnicas do contrário, o resto para mim é mito.

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.

terça-feira, 29 de maio de 2007

O mito da necessidade de estabilizador nos computadores.

Estabilizador de computador só estabiliza mesmo é o lucro do vendedor.

Disso eu sei há muito tempo. Há pelo menos 10 anos eu só recomendo estabilizador quando é uma forma prática (já vem com fusível, chave, tomadas, caixa e luzinhas) e barata de reduzir os 220V de nossa tensão de rede (Recife) para os 110V que muitos equipamentos requerem. Se não há nenhum equipamento que requeira 110V, ligo direto na tomada ou no no-break (quando o caso exige um).

Infelizmente essa é uma visão que contraria radicalmente o "conventional wisdom" no Brasil. Até mesmo nas assistências técnicas a primeira coisa que o "técnico" pergunta quando o micro chega com problemas é se você está usando estabilizador. Se estiver na garantia, é melhor que esteja (ou que você minta), porque é capaz da loja querer negar o conserto se souber que você não usa.

Mas a verdade mesmo é que, se você não precisa rebaixar de 220V para 110V, o tal "estabilizador" mais atrapalha do que ajuda.

A fonte do PC, por mais vagabunda que seja, é uma maravilha técnica, comparada com o estabilizador. Ela mesma se estabiliza, muito mais rápido e com uma precisão muito maior;

Eu tentei dizer isso há dois anos no forumpcs, mas fui agredido verbalmente. Hoje percebo que já existe gente competente entrando no combate ao "mito" de que estabilizador é um item importante. Neste tópico, que tem apenas 30 dias de publicação, o usuário Faller do forumpcs dá uma explicação muito boa e bem didática do motivo pelo qual você deveria dispensar o estabilizador.

Outros tópicos interessantes do forumpcs onde se discute o assunto e eu participei. Nestes haviam outras pessoas com a mesma opinião que eu:

Neste eu falo sobre filtros de linha e varistores
http://www.forumpcs.com.br/viewtopic.php?t=123676

Este é um debate sobre estabilizadores e sua ineficácia geral
http://www.forumpcs.com.br/viewtopic.php?t=127671

Este é novamente sobre filtros de linha e varistores
http://www.forumpcs.com.br/viewtopic.php?t=128255