Pourquoi puis-je obtenir un virus ou un cheval de Troie en visitant un site Web?

16

Je les ai souvent vues ces derniers temps. Vous cliquez sur le lien et le cheval de Troie instantané. Pas besoin de télécharger ou quoi que ce soit.

Comment est-ce possible? Existe-t-il un moyen de scanner les liens avant de visiter pour m'assurer que je ne serai pas infecté?

Rob
la source
Copie
C'est possible parce que les navigateurs Web (comme Internet Explorer) sont des logiciels extrêmement complexes et bien qu'ils soient bien écrits. Les pirates découvrent des failles qui peuvent être utilisées pour exécuter un programme de leur choix sur votre machine, comme un cheval de Troie.
unixman83

Réponses:

14

Pour répondre comment c'est possible:

Le site a un script qui s'exécute lorsque vous chargez la page. C'est ce qui infecte votre PC Windows - je ne suis pas sûr à 100% des détails, qu'il télécharge le code ou qu'il l'exécute simplement. Cette page contient un exemple de la façon dont cela a été fait dans un cas. Un navigateur vulnérable est également requis, et pratiquement tout navigateur populaire est vulnérable car quelque chose qui tourne sur beaucoup d'ordinateurs mérite d'être ciblé.

Ce sont les PC Windows pour la plupart qui seront infectés lorsque les utilisateurs s'exécuteront en tant qu'administrateurs plutôt qu'en tant qu'utilisateurs restreints. Les raisons en sont nombreuses et variées. Comme Roger le souligne dans son commentaire, sa popularité plutôt que toute faiblesse intrinsèque est le principal facteur ici:

Windows est davantage ciblé car il est plus populaire. Certains disent que Windows est moins sécurisé que les alternatives aussi, mais je dois dire que dans la façon dont vous le mettez en évidence, ce n'est pas le cas. J'exécute Linux à la maison et si un cheval de Troie pouvait fonctionner sous mon compte d'utilisateur, il pouvait tout de même faire beaucoup de dégâts aux fichiers qui m'intéressaient un peu, il ne pouvait tout simplement pas prendre le contrôle du système.

Bien qu'en exécutant avec un utilisateur à droits restreints, vous pouvez limiter les dommages, mais pas nécessairement les éliminer.

Avec Vista et maintenant 7 ayant un contrôle plus strict sur ce qui est exécuté en tant qu'administrateur, vous pourriez commencer à voir une baisse de ces types de sites - bien que ce ne sera que lorsque la majorité exécutera les nouveaux systèmes d'exploitation.

ChrisF
la source
Merci. J'ai juste du mal à croire qu'il puisse automatiquement télécharger et exécuter votre navigateur. Quel genre de script serait-ce? JavaScript?
Rob
@Rob - Oui, ce sera JavaScript, et cela nécessite un navigateur vulnérable et l'utilisateur étant un administrateur.
ChrisF
Il a réussi à s'installer via FireFox. Voilà pour le navigateur le plus sûr. fml
Rob
@Rob - Firefox n'est pas le navigateur le plus sûr depuis un moment. Dès qu'il a atteint une part de marché décente, les auteurs de virus et de chevaux de Troie ont commencé à rechercher des exploits car cela en valait la peine. Si vous voulez une navigation «sûre», choisissez le navigateur avec la part de marché la plus faible;)
ChrisF
1
Malheureusement, j'ai peur du changement. Je m'en tiendrai à Firefox, car il a une tonne d'addons que j'utilise quotidiennement. FML à nouveau. Maintenant, j'ai juste besoin de savoir s'il est possible d'accepter deux réponses sur une question?
Rob
8

Eh bien, lorsque vous ouvrez un site Web, le site Web peut demander au navigateur de faire toutes sortes de choses en son nom. Dans le cas le plus simple, il n'enverra que du texte et des images à afficher, mais il peut également envoyer de petits programmes que le navigateur exécutera (en JavaScript, que les navigateurs ont intégrés, ou en utilisant un plugin de navigateur tel que Java ou Flash) .

En principe, être infecté simplement en visitant un site Web devrait être impossible:

Bien que les navigateurs exécutent des programmes au nom des sites Web que vous visitez, ces programmes sont soigneusement limités afin qu'ils ne puissent faire que des choses "inoffensives". À partir de JavaScript, vous pouvez par exemple modifier la page à laquelle le JavaScript appartient (car les deux proviennent du même site Web, il ne peut y avoir aucun mal), mais JavaScript ne peut pas modifier une page d'un site Web différent (donc un site louche ne peut pas modifier votre affichage bancaire à domicile), et il peut ne pas accéder directement aux fichiers de votre ordinateur.

Des restrictions similaires existent pour la plupart des plugins (au moins pour Java et Flash). Ceci est communément appelé sandboxing , car le code est essentiellement dans une boîte qui lui est propre, isolé de l'ordinateur sur lequel il s'exécute. En particulier, il ne peut pas lire les fichiers sur votre disque dur, ni démarrer des programmes pour vous, comme le peuvent les programmes "ordinaires" exécutés sur votre ordinateur.

Maintenant, la chose est la suivante: alors qu'en principe vous êtes en sécurité, en pratique vous ne l'êtes peut-être pas. La raison en est que le système sandbox, comme tous les programmes, a des bugs. Parfois, ces bogues permettent à un programme de "casser" le bac à sable et d'inciter le navigateur ou les plugins à faire des choses qu'il ne devrait pas être autorisé à faire. Ces astuces peuvent être assez élaborées.

Exemples:

  • Comme les programmes réguliers, l'implémentation du navigateur ou du plugin peut avoir des débordements de tampon, ce qui peut permettre à un site Web d'exécuter du code spécialement conçu en l'envoyant au navigateur en entrée.
  • Il y avait une vulnérabilité dans les anciennes versions du plugin Java de Sun par rapport au bac à sable. Le sandbox a interdit (et interdit toujours) l'accès à toutes les fonctions Java qui pourraient permettre à un programme de causer des dommages, comme la lecture ou la suppression de fichiers locaux. Cependant, alors que le bac à sable bloquait correctement l'accès à ces fonctions à partir d'une applet Java, les navigateurs permettaient également un accès indirect à ces fonctions à partir de JavaScript (via une technique appelée "réflexion"). Cette «porte dérobée» n'avait pas été suffisamment prise en compte par les développeurs et avait permis de contourner les restrictions du sandbox, brisant le sandbox. Voir https://klikki.fi/adv/javaplugin.html pour plus de détails.

Malheureusement, il y a eu plusieurs vulnérabilités dans les bacs à sable de JavaScript, de Java et de Flash, pour n'en nommer que quelques-uns. C'est toujours une sorte de course entre les pirates malveillants qui détectent ces vulnérabilités pour les exploiter, et les bons pirates et développeurs qui les détectent et les corrigent. Habituellement, ils sont corrigés rapidement, mais il existe parfois une fenêtre de vulnérabilité.

BTW: Le sandbox est la raison pour laquelle certaines applets Java affichent un avertissement "Faites-vous confiance à cette applet" au lancement: Ces applets vous demandent de les laisser sortir de leur sandbox et de leur donner accès à votre ordinateur. Cela est parfois nécessaire, mais ne devrait être accordé que pour de bonnes raisons.

PS: La raison pour laquelle ActiveX (au moins les premières versions) était si horriblement précaire est qu'ActiveX n'a pas utilisé de bac à sable. Tout code ActiveX d'une page Web avait un accès complet à votre système. Pour être juste, cela a été (partiellement) corrigé dans les versions ultérieures.

sleske
la source
2

Je mentionne cela pour répondre à votre dernière question sur les actions préventives. Une option pas si courante consiste à utiliser une machine virtuelle (enfin, c'est courant dans les cercles de sécurité). Il y en a quelques-uns gratuitement. Installez votre système d'exploitation, votre navigateur et vos compléments dans la machine virtuelle et enregistrez l'état. Vous pouvez ensuite accéder à n'importe quel site. Une fois terminé, vous revenez à cet état enregistré et à tout ce qui s'est passé dans la machine virtuelle après ce point est ignoré. C'est très simple une fois que vous y entrez, mais cela peut poser une légère courbe d'apprentissage.

Remarque: le rétablissement de l'état annulera littéralement toutes les modifications apportées à la machine virtuelle; y compris l'historique du navigateur, les cookies, les mises à jour, etc. Dans ce cas, vous pouvez revenir à cet état, appliquer des mises à jour et enregistrer un nouvel état. La même chose peut être faite pour tout ce que vous souhaitez conserver. Rien de tout cela n'affecte votre ordinateur réel, uniquement la machine virtuelle.

Ioan
la source
Ce n'est pas vraiment pratique. Noscript avec firefox est BEAUCOUP mieux.
unixman83
1
En fait, c'est très pratique du point de vue de la sécurité, c'est ce qui a été demandé. NoScript désactive simplement le chargement de JavaScript par défaut, sauf pour les sites que vous autorisez; il existe d'autres vecteurs d'attaque. Sans aide, cela peut être fastidieux et frustrant de bien faire les choses. La machine virtuelle agit comme un bac à sable, permet une navigation régulière / complète et fournit un moyen de récupération facile / rapide. Pas besoin d'utiliser la VM pour les sites de confiance / connus si votre bureau est verrouillé, juste pour les nouveaux / douteux. Ce fil a également 2 ans ...
Ioan
Seuls 5% des vecteurs d'attaque du monde réel réussissent avec les scripts désactivés et les plugins désactivés. c'est à dire avec NoScript. de nombreux sites fonctionnent sans scripts activés.
unixman83
1
C'est bien, j'ai mentionné qu'il n'était pas couramment utilisé et qu'il faut s'y habituer. Voter contre parce que vous aimez une autre solution est incorrect. La réponse n'est pas fausse. Vous feriez mieux d'ajouter votre propre réponse ou de voter pour une autre que vous préférez. C'est du moins ainsi que je comprends le fonctionnement du système de vote.
Ioan