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

16

Eu tenho visto isso muito 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 garantir que não seja infectado?

Roubar
fonte
Possível duplicado: superuser.com/questions/13507/…
Hello71
Isso é possível porque os navegadores da Web (como o Internet Explorer) são peças de software extremamente complexas e apesar de bem escritas. Existem falhas descobertas pelos hackers que podem ser utilizadas para executar um programa de sua escolha em sua máquina, como um cavalo de Tróia.
Unixman83 9/12/12

Respostas:

14

Para responder como é possível:

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

Na maioria das vezes, os PCs com Windows serão infectados quando as pessoas executam como administrador, em vez de usuários restritos. As razões para isso são muitas e variadas. Como Roger ressalta em seu comentário, sua popularidade é mais que qualquer fraqueza intrínseca que é o principal fator aqui:

O Windows é direcionado mais porque é mais popular. Alguns dizem que o Windows também é menos seguro que as alternativas, mas devo dizer que, da maneira que você destaca, não é. Eu executo o Linux em casa e, se um cavalo de Troia pudesse ser executado na minha conta de usuário, ele ainda causaria muitos danos aos arquivos com os quais me importo bastante, mas não poderia assumir o controle do sistema.

Embora executando com um usuário com direitos restritos, você possa 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 seja apenas quando a maioria estiver executando os sistemas operacionais mais recentes.

ChrisF
fonte
Obrigado. No entanto, acho difícil acreditar que ele possa fazer o download do navegador automaticamente e executá-lo. Que tipo de script seria esse? JavaScript?
Rob
@Rob - Sim, será JavaScript e requer um navegador vulnerável e o usuário sendo um administrador.
ChrisF
Ele conseguiu se instalar através do FireFox. Tanta coisa para o navegador de internet mais seguro. fml
Rob
@Rob - O Firefox não é o navegador mais seguro há um tempo. Assim que alcançou uma quota de mercado decente, os criadores de vírus e cavalos de Troia começaram a procurar explorações à medida que valia a pena. Se você quiser navegar "seguro" escolher o navegador com o menor quota de mercado;)
ChrisF
11
Infelizmente tenho medo de mudar. Eu vou ficar com o Firefox, pois ele tem uma tonelada de complementos que eu uso diariamente. FML novamente. Agora só preciso saber se é possível aceitar duas respostas em uma pergunta?
Rob
8

Bem, quando você abre um site, ele pode direcionar o navegador para fazer todos os tipos de coisas em seu nome. No caso mais simples, ele enviará apenas texto e imagens para exibição, mas também pode enviar pequenos programas que o navegador executará (em JavaScript, que navegadores incorporaram ou usando um plug-in de navegador como Java ou Flash) .

Em princípio, ser 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". No JavaScript, você pode, por exemplo, alterar a página à qual o JavaScript pertence (já que os dois vêm do mesmo site, não pode causar danos), mas o JavaScript não pode alterar uma página de um site diferente (portanto, um site desprezível não pode alterar sua home banking) e pode não acessar diretamente os arquivos no seu computador.

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

Agora, a questão é: enquanto em princípio você está seguro, na prática você pode não estar. O motivo é que o sistema sandbox, como todos os programas, possui bugs. Às vezes, esses erros permitem que um programa "quebre" a caixa de areia e engane o navegador ou plug-ins para fazer coisas que não deveriam ser permitidas. Esses truques podem ser bastante elaborados.

Exemplos:

  • Como programas regulares, a implementação do navegador ou plugin pode ter estouros de buffer, o que permite que um site execute código especialmente criado enviando-o ao navegador como entrada.
  • Havia uma vulnerabilidade nas versões antigas do plug-in Java da Sun em relação à sandbox. A sandbox proibia (e ainda não permite) o acesso a todas as funções Java, o que poderia permitir que um programa causasse danos, como a leitura ou exclusão de arquivos locais. No entanto, enquanto a sandbox bloqueou corretamente o acesso a essas funções a partir de um applet Java, os navegadores também permitiram acesso indireto a essas funções a partir do JavaScript (por meio de uma técnica chamada "reflexão"). Esse "backdoor" não havia sido suficientemente considerado pelos desenvolvedores e permitido ignorar as restrições do sandbox, quebrando o sandbox. Consulte https://klikki.fi/adv/javaplugin.html para obter detalhes.

Infelizmente, existem várias vulnerabilidades nas caixas de proteção de JavaScript, Java e Flash, apenas para citar algumas. Ainda é um tipo de corrida entre hackers mal-intencionados que detectam essas vulnerabilidades para explorá-las, e bons hackers e desenvolvedores que as detectam e corrigem. Geralmente, eles são corrigidos rapidamente, mas às vezes há uma janela de vulnerabilidade.

Entre: o sandbox é o motivo pelo qual alguns applets Java exibem um aviso "Você confia neste applet" no lançamento: esses applets solicitam que você os deixe sair do sandbox e lhes dê acesso ao computador. Às vezes, isso é necessário, mas só deve ser concedido por boas razões.

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

sleske
fonte
2

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 navegar para qualquer site. Ao terminar, você reverte para esse estado salvo e tudo o que aconteceu na máquina virtual após esse ponto é descartado. É muito simples quando você entra, mas pode representar uma ligeira curva de aprendizado.

Nota: O estado de reversão descartará literalmente 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 o seu computador real, apenas a máquina virtual.

Ioan
fonte
Isso não é realmente prático. Noscript com o Firefox é MUITO melhor.
Unixman83 9/03/12
11
Na verdade, é muito prático do ponto de vista de segurança, que foi o que foi solicitado. O NoScript simplesmente desativa o carregamento de JavaScript por padrão, exceto os sites que você permite; existem outros vetores de ataque. Sem ajuda, isso pode ser entediante e frustrante para acertar. A VM funciona como uma sandbox, permite uma navegação regular / completa e fornece um meio de recuperação fácil / rápida. Não é necessário usar a VM para sites conhecidos / confiáveis, se a área de trabalho estiver bloqueada, apenas para sites novos / questionáveis. Este tópico também tem 2 anos ...
Ioan
Apenas 5% dos vetores de ataque do mundo real são bem-sucedidos com scripts desativados e plug-ins desativados. ou seja, com NoScript. muitos sites funcionam sem scripts ativados.
unixman83
11
Tudo bem, eu mencionei que não era comumente usado e leva tempo para se acostumar. A votação para baixo porque você gosta de outra solução está incorreta. A resposta não está errada. Seria melhor adicionar sua própria resposta ou votar em outra que você preferir. Pelo menos, é assim que eu entendo o sistema de votação para funcionar.
31412 Ioan