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

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!