Démystification: peut-on être infecté par un virus à cause d'un e-mail ?

vendredi 3 juin 2005

On ne peut pas, dans la majorité des cas, être infecté par un virus à cause d’un e-mail, et cela du fait même de la structure des logiciels de gestion d’e-mails. Sous certaines conditions, très restrictives, un e-mails peut toutefois être la source d’une infection virale du système. Cet article propose de voir dans quels cas un e-mails peut être dangereux, et dans quels cas il ne peut pas l’être.

Comment fonctionnent les virus ?

La première chose à préciser, c’est la façon dont fonctionnent les virus qui se transmettent par e-mail. Bien entendu, de nouvelles menaces apparaissent tous les jours et leurs auteurs ne cessent d’inventer de nouveaux moyens de détourner les systèmes de protection (antivirus, filtrage, etc.). Il est donc difficile de faire des généralités et d’affirmer en bloc que tous les logiciels malicieux fonctionnent de telle ou telle manière. On peut cependant classer la plupart des logiciels malicieux en deux catégories: les exécutables et les scripts. (Pour en savoir plus sur les divers types de menaces, v. l’article Informatique personnelle et sécurité)

Les exécutables sont des fichiers compilés, c’est-à-dire transformés en série de 0 et de 1, qui seront directement interprétés par le microprocesseur de votre ordinateur par le biais de votre système d’exploitation (Windows ou autre). Sous Windows, les exécutables sont très facilement identifiables, ils se terminent par ".exe". Attention cependant: tous les exécutables ne sont pas des virus, les exécutables sont des logiciels, et parmi eux il y a des virus. La règle générale est qu’un exécutable ne s’exécute pas tout seul: vous devez l’exécuter vous même, ou le système doit l’exécuter à votre place. Autrement dit, si vous êtes infecté par un virus contenu dans un exécutable, c’est soit parce que vous l’avez activé en double-cliquant dessus, soit que vous en avez autorisé l’exécution.

Les exécutables dépendent directement de votre microprocesseur et de votre système d’exploitation. Un exécutable Windows ne fonctionne pas sur Linux, ni sur Mac, et vice-versa (attention cependant, ce n’est pas forcément vrai: c’est par exemple faut d’une distribution Linux à une autre, parce que le système est fondamentalement le même). Si vous êtes sur Mac, Linux, BSD, Solaris, BeOS, etc… vous ne courrez aucun risque, vous ne pourrez pas exécuter les exécutables Windows, vous ne serez jamais infecté par un virus Windows. Cependant, vous pourrez contaminer des ordinateurs sous Windows. De toute manière, il n’y a pas de virus sur les systèmes précités, en raison de leur très faible part de marché.

Les scripts sont bien plus vicieux que les exécutables, mais ils sont en règle générale beaucoup moins nocifs (je peux faire un exécutable qui fera fondre votre carte mère… avec un script seul ce n’est normalement pas possible). Les scripts sont un code source non compilé qui est compilé et exécuté à la volée sur votre ordinateur. Les scripts sont habituellement contenus dans un contenant basique d’internet, par exemple une page HTML.

Les scripts peuvent également prendre d’autres formes. Ils peuvent par exemple prendre la forme de macros VBS intégrées dans un fichier Word ou Excel. Ceux là sont particulièrement vicieux car on ne soupçonne pas qu’un fichier Word puisse contenir des virus… merci Microsoft pour le cadeau ;-)

Les formats d’e-mails

Il existe basiquement 2 formats d’e-mails (en fait, il y en a d’autres, mais ils sont marginaux et ne nous intéressent pas ici). Le premier est le texte plein (plain text), le second est le HTML. Les messages en texte plein ne peuvent vehiculer que du texte brut, sans mise en forme. Les messages en HTML peuvent véhiculer du contenu multimédia, et notamment des scripts.

Les messages en texte plein ne sont donc pas dangereux: si un virus est associé au message, il sera obligatoirement en pièce attachée. Il suffira alors de supprimer cette pièce attachée. A l’inverse, les messages en HTML sont dangereux car ils peuvent contenir des scripts enbarqués ("embedded"), c’est à dire contenus directement dans la source du message et non pas en pièce jointe. Ces scripts sont alors invisibles pour l’utilisateur lambda, et s’exécutent dès l’affichage du message (pas besoin de double-cliquer sur un fichier…). Les "virus" qui se transmettent par e-mail sont en fait des "virus de script".

Ce que font ces virus

Les virus c’est de la technologie: ça évolue à vitesse grand V. Je ne peux pas vous dire ce que font tous ces virus, car chaque jour naît un nouveau virus un peu plus vicieux que les précédents.

Cependant, on peut détacher quelques grandes classes de comportements parmi les virus de script:
- S’autoexécuter sur le système du destinataire.
- S’implanter sur l’ordinateur du destinataire de manière à s’auto-insérer dans tous les e-mails qu’il envoie pour infecter sa liste de contacts.
- S’implanter sur l’ordinateur du destinataire dans le but de réaliser une opération précise.
- Tout cela à la fois.
- Plein d’autres choses très réjouissantes.

Le support des virus de script

On résume pour que ça soit bien compris. Certains messages sont écrits en HTML, ces messages sont susceptibles de contenir des scripts nocifs. Ces scripts nocifs s’exécutent sur l’ordinateur du destinataire du message infecté lorsque le message est ouvert.

Il existe actuellement 2 grandes manières de gérer ses e-mails: un client et un webmail. Un client e-mail est un logiciel dédié à travailler avec des e-mails: Outlook, Eudora, Thunderbird, etc. Un webmail est un logiciel e-mail qui ne s’exécute pas sur l’ordinateur du client (du destinataire), mais sur celui du serveur (ex: Gmail, Hotmail, Caramail, Yahoo!Mail, etc.). Vous accéder à un webmail par l’intermédiaire d’un navigateur: Internet Explorer, Firefox, Mozilla, Netscape, etc.

Quelle est la différence, concrètement ?
Le client e-mail (i.e. Outlook) télécharge les messages sur votre disque dur (par le biais du protocole POP3 ou IMAP) et les sauvegarde pour qu’ils puissent être consultés hors-ligne. Le message entier est donc rapatrié: texte brut, pièces attachées, HTML, scripts et autres réjouissances. Il s’affiche sur votre ordinateur ; et s’il contient un script, ce script sera exécuté sur votre ordinateur.
Le webmail ne fait qu’afficher le texte brut, voire la présentation HTML, à l’écran. Rien n’est téléchargé sur votre disque dur à moins que vous le demandiez explicitement (en cliquant sur le bouton "Télécharger la pièce-jointe" par exemple). Les scripts ne peuvent pas s’exécuter sur votre ordinateur. (A nuancer quand même: Internet Explorer est tellement plein de failles de sécurité, et tous les webmails ne sont pas parfaits, qu’il serait possible de countourner ce principe général. Il y a une chance sur 1000 à l’heure actuelle, et encore…). A noter aussi que les webmails intègrent un antivirus côté serveur qui scanne les pièces jointes reçues et vous avertit s’il trouve un virus.

Autrement dit, si vous utilisez un webmail, vous ne pouvez pas être victime d’un script vérolé. Vous pouvez attraper un virus si vous téléchargez et exécutez en local sur votre système un exécutable ou un script contenant un virus, mais ça sera tout à fait intentionnel.

Si vous utilisez un client e-mail du type Outlook, vous courrez d’énormes risques. Changez immédiatement de client e-mail (Thunderbird est déjà plus sécurisé), de système d’exploitation (Linux est gratuit…), ou utilisez un webmail… ou un bon antivirus !

Récapitulatif

Résumé des risques encourus selon le type d'utilisation de l'e-mail.
WEBMAIL
(ex: hotmail)
Client e-mail
(ex: Outlook)
Message texte plein
Pièce-jointe
(1)
(1)
Script
(2)
(2)
Message HTML
Pièce-jointe
(1)
(1)
Script
(2)
(DANGER)

(1): Absolument aucun danger, il vous suffit de supprimer le fichier suspect en évitant de (éventuellement, le télécharger) le lancer en double-cliquant dessus.
(2): Absolument aucun danger, le script apparaîtra comme une pièce jointe, il suffira de le supprimer.
(DANGER): il n’y a qu’une seule hypothèse dans laquelle le danger est réel.

Conseils pour éviter les virus

Si vous avez compris ce qui est expliqué ci-dessus, vous devinerez naturellement:
- Qu’il faut préférer les Webmails aux clients e-mail. Les clients e-mail sont des logiciels complexes qui ne sont plus destinés au grand public. Si vous êtes un utilisateur expérimenté qui a besoin d’utiliser un client e-mail, vous saurez de toute façon comment vous protéger des virus.
- Que les messages au format HTML sont une abomination. En plus de véhiculer des virus, ils sont très lourds (mon dieux, comme c’est horrible de reçevoir un message avec plein d’images, de sons, de vidéos, de machins et de bidules de partout… le contenu doit primer sur le contenant, pas l’inverse !!!). Les HTML est à banir. Quand vous relevez votre boîte aux lettres, la vraie pas la virtuelle, vous avez 1) des lettres toutes bêtes dans des enveloppes blanches, 2) plein de brochures de pub plastifiées et non biodégradables, toutes colorées et moches. Dans les e-mails c’est pareil: 1) les messages en texte plein, 2) les messages HTML. Les premiers sont lus, les autres finissent systématiquement à la poubelle.
- Qu’il ne faut jamais ouvrir un fichier exécutable, sauf si l’on est certain de ce qu’il contient.

En respectant ces 3 règles, vous n’aurez normalement pas de problème.

Si néanmoins vous êtes parano, rajoutez ces conseils:
- Un antivirus à jour.
- Réflechissez 2 minutes avant de cliquer partout. Les novices 1) ne lisent pas ce qui est à l’écran, 2) le réfléchissent pas à ce qui se passe, 3) cliquent partout. Ce genre d’attitude est la meilleure amie du virus. Apprenez et comprenez. Vous saurez ainsi qu’un fichier ".jpg" ne peut pas contenir de virus, mais qu’un ".js" sera dans 99,9% des cas un virus de script.
- Apprenez à détecter les messages vehiculant les virus. La plupart se propagent de liste de contacts en liste de contacts. Vous reçevrez donc probablement les virus de quelqu’un que vous connaissez. Dans ce cas l’e-mail sera presque à tous les coups vide de texte, ou avec un texte minimal, sans contexte, et incompréhensible. Si vous êtes le destinataire premier du message, il prendra la plupart du temps la forme classique des SPAM (du genre "click here for free porn sex", "click here to buy viagra and save money"). La plupart du temps ces messages sont en anglais.

Dernier conseil: arrêtez la parano. Ce n’est pas compliqué de se protéger des virus. Les virus Windows ont tant de succès car la plupart des utilisateurs ne savent pas comment se protéger, les auteurs des virus exploitent cela. La parano est la meilleure amie des virus.

Que celui qui a été infecté en utilisant un webmail me jette la première pierre.
Que celui qui a été infecté en utilisant un webmail et en triant sur le volet les pièces-jointes me jette le premier rocher.
Que celui qui a été infecté en utilisant un webmail et en ne téléchargeant jamais aucune pièce jointe me jette la première comète intersidérale.

</p></div>

à Paris le 3/06/2005

màj le 11/03/2010

On ne peut pas, dans la majorité des cas, être infecté par un virus à cause d’un e-mail, et cela du fait même de la structure des logiciels de gestion d’e-mails. Sous certaines conditions, très restrictives, un e-mails peut toutefois être la source d’une infection virale du système. Cet article propose de voir dans quels cas un e-mails peut être dangereux, et dans quels cas il ne peut pas l’être.

Comment fonctionnent les virus ?

La première chose à préciser, c’est la façon dont fonctionnent les virus qui se transmettent par e-mail. Bien entendu, de nouvelles menaces apparaissent tous les jours et leurs auteurs ne cessent d’inventer de nouveaux moyens de détourner les systèmes de protection (antivirus, filtrage, etc.). Il est donc difficile de faire des généralités et d’affirmer en bloc que tous les logiciels malicieux fonctionnent de telle ou telle manière. On peut cependant classer la plupart des logiciels malicieux en deux catégories: les exécutables et les scripts. (Pour en savoir plus sur les divers types de menaces, v. l’article Informatique personnelle et sécurité)

Les exécutables sont des fichiers compilés, c’est-à-dire transformés en série de 0 et de 1, qui seront directement interprétés par le microprocesseur de votre ordinateur par le biais de votre système d’exploitation (Windows ou autre). Sous Windows, les exécutables sont très facilement identifiables, ils se terminent par ".exe". Attention cependant: tous les exécutables ne sont pas des virus, les exécutables sont des logiciels, et parmi eux il y a des virus. La règle générale est qu’un exécutable ne s’exécute pas tout seul: vous devez l’exécuter vous même, ou le système doit l’exécuter à votre place. Autrement dit, si vous êtes infecté par un virus contenu dans un exécutable, c’est soit parce que vous l’avez activé en double-cliquant dessus, soit que vous en avez autorisé l’exécution.

Les exécutables dépendent directement de votre microprocesseur et de votre système d’exploitation. Un exécutable Windows ne fonctionne pas sur Linux, ni sur Mac, et vice-versa (attention cependant, ce n’est pas forcément vrai: c’est par exemple faut d’une distribution Linux à une autre, parce que le système est fondamentalement le même). Si vous êtes sur Mac, Linux, BSD, Solaris, BeOS, etc… vous ne courrez aucun risque, vous ne pourrez pas exécuter les exécutables Windows, vous ne serez jamais infecté par un virus Windows. Cependant, vous pourrez contaminer des ordinateurs sous Windows. De toute manière, il n’y a pas de virus sur les systèmes précités, en raison de leur très faible part de marché.

Les scripts sont bien plus vicieux que les exécutables, mais ils sont en règle générale beaucoup moins nocifs (je peux faire un exécutable qui fera fondre votre carte mère… avec un script seul ce n’est normalement pas possible). Les scripts sont un code source non compilé qui est compilé et exécuté à la volée sur votre ordinateur. Les scripts sont habituellement contenus dans un contenant basique d’internet, par exemple une page HTML.

Les scripts peuvent également prendre d’autres formes. Ils peuvent par exemple prendre la forme de macros VBS intégrées dans un fichier Word ou Excel. Ceux là sont particulièrement vicieux car on ne soupçonne pas qu’un fichier Word puisse contenir des virus… merci Microsoft pour le cadeau ;-)

Les formats d’e-mails

Il existe basiquement 2 formats d’e-mails (en fait, il y en a d’autres, mais ils sont marginaux et ne nous intéressent pas ici). Le premier est le texte plein (plain text), le second est le HTML. Les messages en texte plein ne peuvent vehiculer que du texte brut, sans mise en forme. Les messages en HTML peuvent véhiculer du contenu multimédia, et notamment des scripts.

Les messages en texte plein ne sont donc pas dangereux: si un virus est associé au message, il sera obligatoirement en pièce attachée. Il suffira alors de supprimer cette pièce attachée. A l’inverse, les messages en HTML sont dangereux car ils peuvent contenir des scripts enbarqués ("embedded"), c’est à dire contenus directement dans la source du message et non pas en pièce jointe. Ces scripts sont alors invisibles pour l’utilisateur lambda, et s’exécutent dès l’affichage du message (pas besoin de double-cliquer sur un fichier…). Les "virus" qui se transmettent par e-mail sont en fait des "virus de script".

Ce que font ces virus

Les virus c’est de la technologie: ça évolue à vitesse grand V. Je ne peux pas vous dire ce que font tous ces virus, car chaque jour naît un nouveau virus un peu plus vicieux que les précédents.

Cependant, on peut détacher quelques grandes classes de comportements parmi les virus de script:
- S’autoexécuter sur le système du destinataire.
- S’implanter sur l’ordinateur du destinataire de manière à s’auto-insérer dans tous les e-mails qu’il envoie pour infecter sa liste de contacts.
- S’implanter sur l’ordinateur du destinataire dans le but de réaliser une opération précise.
- Tout cela à la fois.
- Plein d’autres choses très réjouissantes.

Le support des virus de script

On résume pour que ça soit bien compris. Certains messages sont écrits en HTML, ces messages sont susceptibles de contenir des scripts nocifs. Ces scripts nocifs s’exécutent sur l’ordinateur du destinataire du message infecté lorsque le message est ouvert.

Il existe actuellement 2 grandes manières de gérer ses e-mails: un client et un webmail. Un client e-mail est un logiciel dédié à travailler avec des e-mails: Outlook, Eudora, Thunderbird, etc. Un webmail est un logiciel e-mail qui ne s’exécute pas sur l’ordinateur du client (du destinataire), mais sur celui du serveur (ex: Gmail, Hotmail, Caramail, Yahoo!Mail, etc.). Vous accéder à un webmail par l’intermédiaire d’un navigateur: Internet Explorer, Firefox, Mozilla, Netscape, etc.

Quelle est la différence, concrètement ?
Le client e-mail (i.e. Outlook) télécharge les messages sur votre disque dur (par le biais du protocole POP3 ou IMAP) et les sauvegarde pour qu’ils puissent être consultés hors-ligne. Le message entier est donc rapatrié: texte brut, pièces attachées, HTML, scripts et autres réjouissances. Il s’affiche sur votre ordinateur ; et s’il contient un script, ce script sera exécuté sur votre ordinateur.
Le webmail ne fait qu’afficher le texte brut, voire la présentation HTML, à l’écran. Rien n’est téléchargé sur votre disque dur à moins que vous le demandiez explicitement (en cliquant sur le bouton "Télécharger la pièce-jointe" par exemple). Les scripts ne peuvent pas s’exécuter sur votre ordinateur. (A nuancer quand même: Internet Explorer est tellement plein de failles de sécurité, et tous les webmails ne sont pas parfaits, qu’il serait possible de countourner ce principe général. Il y a une chance sur 1000 à l’heure actuelle, et encore…). A noter aussi que les webmails intègrent un antivirus côté serveur qui scanne les pièces jointes reçues et vous avertit s’il trouve un virus.

Autrement dit, si vous utilisez un webmail, vous ne pouvez pas être victime d’un script vérolé. Vous pouvez attraper un virus si vous téléchargez et exécutez en local sur votre système un exécutable ou un script contenant un virus, mais ça sera tout à fait intentionnel.

Si vous utilisez un client e-mail du type Outlook, vous courrez d’énormes risques. Changez immédiatement de client e-mail (Thunderbird est déjà plus sécurisé), de système d’exploitation (Linux est gratuit…), ou utilisez un webmail… ou un bon antivirus !

Récapitulatif

Résumé des risques encourus selon le type d'utilisation de l'e-mail.
WEBMAIL
(ex: hotmail)
Client e-mail
(ex: Outlook)
Message texte plein
Pièce-jointe
(1)
(1)
Script
(2)
(2)
Message HTML
Pièce-jointe
(1)
(1)
Script
(2)
(DANGER)

(1): Absolument aucun danger, il vous suffit de supprimer le fichier suspect en évitant de (éventuellement, le télécharger) le lancer en double-cliquant dessus.
(2): Absolument aucun danger, le script apparaîtra comme une pièce jointe, il suffira de le supprimer.
(DANGER): il n’y a qu’une seule hypothèse dans laquelle le danger est réel.

Conseils pour éviter les virus

Si vous avez compris ce qui est expliqué ci-dessus, vous devinerez naturellement:
- Qu’il faut préférer les Webmails aux clients e-mail. Les clients e-mail sont des logiciels complexes qui ne sont plus destinés au grand public. Si vous êtes un utilisateur expérimenté qui a besoin d’utiliser un client e-mail, vous saurez de toute façon comment vous protéger des virus.
- Que les messages au format HTML sont une abomination. En plus de véhiculer des virus, ils sont très lourds (mon dieux, comme c’est horrible de reçevoir un message avec plein d’images, de sons, de vidéos, de machins et de bidules de partout… le contenu doit primer sur le contenant, pas l’inverse !!!). Les HTML est à banir. Quand vous relevez votre boîte aux lettres, la vraie pas la virtuelle, vous avez 1) des lettres toutes bêtes dans des enveloppes blanches, 2) plein de brochures de pub plastifiées et non biodégradables, toutes colorées et moches. Dans les e-mails c’est pareil: 1) les messages en texte plein, 2) les messages HTML. Les premiers sont lus, les autres finissent systématiquement à la poubelle.
- Qu’il ne faut jamais ouvrir un fichier exécutable, sauf si l’on est certain de ce qu’il contient.

En respectant ces 3 règles, vous n’aurez normalement pas de problème.

Si néanmoins vous êtes parano, rajoutez ces conseils:
- Un antivirus à jour.
- Réflechissez 2 minutes avant de cliquer partout. Les novices 1) ne lisent pas ce qui est à l’écran, 2) le réfléchissent pas à ce qui se passe, 3) cliquent partout. Ce genre d’attitude est la meilleure amie du virus. Apprenez et comprenez. Vous saurez ainsi qu’un fichier ".jpg" ne peut pas contenir de virus, mais qu’un ".js" sera dans 99,9% des cas un virus de script.
- Apprenez à détecter les messages vehiculant les virus. La plupart se propagent de liste de contacts en liste de contacts. Vous reçevrez donc probablement les virus de quelqu’un que vous connaissez. Dans ce cas l’e-mail sera presque à tous les coups vide de texte, ou avec un texte minimal, sans contexte, et incompréhensible. Si vous êtes le destinataire premier du message, il prendra la plupart du temps la forme classique des SPAM (du genre "click here for free porn sex", "click here to buy viagra and save money"). La plupart du temps ces messages sont en anglais.

Dernier conseil: arrêtez la parano. Ce n’est pas compliqué de se protéger des virus. Les virus Windows ont tant de succès car la plupart des utilisateurs ne savent pas comment se protéger, les auteurs des virus exploitent cela. La parano est la meilleure amie des virus.

Que celui qui a été infecté en utilisant un webmail me jette la première pierre.
Que celui qui a été infecté en utilisant un webmail et en triant sur le volet les pièces-jointes me jette le premier rocher.
Que celui qui a été infecté en utilisant un webmail et en ne téléchargeant jamais aucune pièce jointe me jette la première comète intersidérale.

</p></div>

à Paris le 3/06/2005

màj le 11/03/2010