Por que posso obter um vírus ou trojan de um site?

16

Eu tenho visto muito isso ultimamente. Você clica no link e no trojan instantâneo. Não há necessidade de baixar ou qualquer coisa.

Como isso é possível? Existe uma maneira de verificar os links antes de visitar para me certificar de que não serei infectado?

    
por Rob 09.02.2010 / 21:06

3 respostas

14

Para responder como é possível:

O site tem algum script que é executado quando você carrega a página. Isso é o que infecta o seu PC com Windows - eu não tenho 100% de certeza dos detalhes, se ele baixa o código ou apenas o executa. Esta página tem um exemplo de como foi feito em um caso. Um navegador vulnerável também é necessário, e praticamente qualquer navegador popular é vulnerável, já que algo rodando em muitos computadores vale a pena ser segmentado.

Na maioria dos casos, os PCs com Windows ficam infectados, pois as pessoas são executadas como usuários do administrador em vez de usuários restritos. As razões para isso são muitas e variadas. Como Roger aponta em seu comentário, sua popularidade, e não qualquer fraqueza intrínseca, é o principal fator aqui:

Windows is targeted more because it is more popular. Some say that Windows is less secure than alternatives too, but I have to say that in the way you highlight, it's not. I run Linux at home and if a trojan could run under my user account it could still do quite a lot of damage to files that I care about quite a bit, it just couldn't take over the system.

Apesar de correr com um usuário de direitos restritos, você pode limitar o dano, mas não necessariamente eliminá-lo.

Com o Vista e agora 7 tendo um controle mais rígido sobre o que é executado como administrador você pode começar a ver uma queda nesses tipos de sites - embora somente quando a maioria estiver executando o novo sistema operacional .

    
por 09.02.2010 / 21:23
8

Bem, quando você abre um site, o site pode direcionar o navegador para fazer todo tipo de coisa em seu nome. No caso mais simples, ele apenas enviará textos e imagens para serem exibidos, mas também pode enviar pequenos programas que o navegador executará (em JavaScript, quais navegadores foram incorporados ou usando um plug-in do navegador, como Java ou Flash). .

Em princípio, ficar infectado apenas visitando um site deve ser impossível:

Embora os navegadores executem programas em nome dos sites que você visita, esses programas são cuidadosamente restritos, para que eles possam fazer apenas coisas "inofensivas". De JavaScript, você pode, por exemplo, alterar a página à qual o JavaScript pertence (já que ambos vêm do mesmo site, não pode haver nenhum dano), mas o JavaScript não pode alterar uma página de um site diferente (então um site não pode alterar sua página) exibição de serviços bancários domésticos) e não pode acessar diretamente os arquivos em seu computador.

Existem restrições semelhantes para a maioria dos plugins (pelo menos para Java e Flash). Isso é comumente chamado de sandboxing , pois o código está essencialmente em uma caixa própria, isolado do o computador em que é executado. Em particular, ele não pode ler arquivos em seu disco rígido ou iniciar programas para você, como programas "regulares" em execução no computador.

Agora, a coisa é: enquanto em princípio você está seguro, na prática você pode não estar. A razão é que o sistema sandbox, como todos os programas, possui bugs. Às vezes, esses bugs permitem que um programa "quebre" o sandbox e engane o navegador ou os plugins para que façam coisas que não devem ser autorizados a fazer. Esses truques podem ser bem elaborados.

Exemplos:

  • Como os programas comuns, a implementação do navegador ou plug-in pode ter estouros de buffer, o que pode permitir que um website execute códigos especialmente criados, enviando-os ao navegador como entrada.
  • Houve uma vulnerabilidade nas versões antigas do plug-in Java da Sun em relação à sandbox. O sandbox desaprovou (e ainda não permite) o acesso a todas as funções Java que podem permitir que um programa cause danos, como ler ou excluir arquivos locais. No entanto, embora o sandbox tenha bloqueado corretamente o acesso a essas funções a partir de um applet Java, os navegadores também permitiam acesso indireto a essas funções do JavaScript (por meio de uma técnica chamada "reflexão"). Esse "backdoor" não havia sido suficientemente considerado pelos desenvolvedores e permitia contornar as restrições do sandbox, quebrando o sandbox. Consulte o link para obter detalhes.

Infelizmente, tem havido várias vulnerabilidades nos sandboxes de JavaScript, Java e Flash, só para citar alguns. Ainda é um tipo de corrida entre hackers mal-intencionados que detectam essas vulnerabilidades para explorá-los e bons hackers e desenvolvedores que os detectam e consertam. Normalmente, eles são corrigidos rapidamente, mas às vezes há uma janela de vulnerabilidade.

BTW: A sandbox é a razão pela qual alguns applets Java exibem um aviso "Você confia neste applet" no lançamento: Esses applets pedem que você os liberte de sua sandbox e forneça acesso para o seu computador. Às vezes isso é necessário, mas só deve ser concedido com boas razões.

PS: O motivo pelo qual o ActiveX (pelo menos nas primeiras versões) era tão terrivelmente inseguro é que o ActiveX fez < em> não usa uma sandbox. Qualquer código ActiveX de uma página da Web tinha acesso total ao seu sistema. Para ser justo, isso foi (parcialmente) corrigido em versões posteriores.

    
por 09.02.2010 / 22:23
2

Eu menciono isso para responder sua última pergunta sobre ações preventivas. Uma opção não tão comum é usar uma máquina virtual (bem, é comum entre os círculos de segurança). Existem alguns gratuitos disponíveis. Instale seu sistema operacional, navegador e suplementos na máquina virtual e salve o estado. Você pode então navegar para qualquer site. Quando terminar, você reverte para esse estado salvo e tudo o que aconteceu na máquina virtual depois desse ponto é descartado. É muito simples quando você entra, mas pode representar uma pequena curva de aprendizado.

Observação: o estado de reversão irá literalmente descartar quaisquer alterações na máquina virtual; incluindo histórico do navegador, cookies, atualizações, etc. Nesse caso, você pode reverter para esse estado, aplicar atualizações e salvar um novo estado. O mesmo pode ser feito para qualquer outra coisa que você deseja manter. Nada disso afeta seu computador real, apenas a máquina virtual.

    
por 16.02.2010 / 19:03

Tags