François FOUCHET
unread,Jan 31, 2015, 4:32:35 AM1/31/15Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Forum NAVIGATION
Bonjour,
Ce problème de détection de virus revient régulièrement sur le tapis, je pense
qu'il est bon de faire le point.
Si c'est Avast qui pose problème, le lancer, cliquer sur "Etat des composants",
et regarder ce qu'il y a dans "Eléments stockés en quarantaine". Si ce n'est pas
zéro, cliquer dessus, et voir s'il a trouvé Navigation.exe, puis regarder le
type de virus. Si c'est indiqué [Susp] (pour Suspected/Suspecté), c'est
probablement une fausse alerte. Cliquer sur la ligne, "Envoyer à Avast Software"
et écouter ce qu'ils racontent. Il est en effet possible que je sois infecté, et
que le virus essaye de se transmettre au travers des programmes générés.
Ils vont déterminer s'il est vraiment infecté (peu probable mais il faut
vérifier) ou si c'est juste une fausse détection (il suffit que par hasard il y
ait une suite de caractères qui ressemble à celle présente dans un fichier
infecté pour qu'un virus soit suspecté).
Si l'anti-virus n'est pas Avast, procéder de la même façon, la majorité des AV
intègrent les mêmes fonctions.
Ceci posé, il semble intéressant d'expliquer un peu le souci chronique des
anti-virus, et la façon dont ils tentent de se comporter : la fonction de base,
c'est de reconnaitre dans un programme quelconque la modification qu'un virus
pourrait apporter en s'y intégrant. On cherche donc dans le programme (ou le
fichier de façon générale, on arrive à mettre des charges dans des images, des
fichiers Excel ou des PDF) un "bout de code" (comprendre une séquence
d'instruction en langage machine) qui représente le virus. Pour prendre une
image, imaginons que le virus se repère parce qu'en lisant son code on trouve
une séquence qui se lit "méchant". On va donc chercher cette suite d'octets dans
les fichiers. Si on la trouve, on dit que le fichier est infecté. Ça peut être
le cas, ou pas ...
Comme d'habitude, dès qu'il y a une contre-mesure, les attaquants se sont
adaptés en faisant des virus à géométrie variable. Par exemple, ils ont scindés
"méchant" en "mech-" et plus loin "ant", ou ils ont fait une variante "pasbeau".
Là encore, les fournisseurs d'anti-virus se sont adaptés. Ceci dit, la fiabilité
de détection en prend un coup, et on a quelques fois de "faux positifs" (ça dit
que c'est un virus mais ce n'est pas le cas).
Pour corser un peu le tout, en prenant un peu de hauteur on remarque que tout ça
est basé sur la connaissance du virus et de sa "signature". Donc par
définition, il y a toujours une période pendant laquelle le virus n'est pas
détecté, car pas connu. Pour faire simple, tant que quelqu'un ne l'a pas pris
dans la figure, qu'on n'a pas diagnostiqué le fait que c'est un virus et qu'il
n'a pas été envoyé à au moins un labo pour analyse, ben il se propage gentiment
avec la bénédiction de tout le monde.
Les fournisseurs d'AV sont au courant, et ont tenté de répondre à ça en
intégrant une partie "heuristique" lors de l'analyse. En gros, ils essaient de
repérer des comportements suspects (appels à certaines primitives, tentative
d'accès à certains parties du système, modification de certaines parties du
registre, bricolage dans la structure disque pour se cacher, ...) et concluent ,
lorsque qu'un peu trop de ces fonctions sont utilisées, qu'on a affaire à un virus.
Là encore, c'est imparfait, et pose des problèmes avec les installeurs qui par
nature utilisent pas mal de ces techniques de façon légitime.
Autre possibilité, le bac à sable (sandbox). L'idée est de créer un
environnement plus ou moins virtuel dans lequel on fait tourner le programme,
avec une modification des primitives les plus agressives afin de les isoler. Par
exemple, les primitives d'accès au registre sont modifiées pour faire en sorte
que les écritures soient redirigées dans une partie privée et ne modifient pas
le système. Du coup, si un virus positionne l'état de l'anti-virus au démarrage
à off, au lieu d'écrire dans le "vrai" registre, il va le faire dans sa partie
privée, qu'il sera le seul à lire. Pareil pour les fichiers : s'il modifie une
dll, il sera le seul à l'utiliser, les autres programmes utilisant soit leur
copie privée, soit une copie commune non polluée.
Comme toujours, ça ne fonctionne pas à tous les coups (certains programmes
plantent), ça pose des soucis lorsque les programmes sont liés (par exemple
entre Navigation et NavigationMAJ qui doivent travailler ensemble), la
modification des primitives pose un pb de performance ...
Je pense qu'avec ces explication "édulcorées" et "imagées" chacun peut
comprendre que ça n'est pas un sujet facile, et qu'il arrive par nature que ça
puisse merdouiller à un moment ou un autre au travers d'un faux positif. Ça ne
doit pas être la raison pour ne pas utiliser d'anti-virus (IMHO). De mon côté,
je préfère avoir un AV qui peut gérer ces multiples facettes, en augmentant les
chances de blocage d'un virus (même encore inconnu), certes au prix d'une
performance moindre, qu'une protection basique.
Et pour ceux qui l'auraient raté, on peut avoir une idée du "génie" humain en ce
qui concerne les virus en recherchant sur Internet des articles sur le virus
"Stuxnet" développé spécifiquement pour attaquer les automates industriels (non
connectés à Internet) de façon spécifiques (l'idée était de toucher les
centrifugeuses iraniennes, ce qui a visiblement marché). Dans ce cas, il semble
probable que c'est le système d'exploitation temps réel embarqué des automates
qui ait été infecté chez le constructeur (européen) puis diffusé infecté partout
dans le monde.
Maintenant, il existe pratiquement toujours le moyen d'indiquer à l'anti-virus
de ne pas scanner un fichier ou un répertoire. Ceux qui pensent que je ne
mettrais jamais volontairement de virus dans Navigation *ET* que je ne me ferais
jamais infecter peuvent inclure le répertoire d'installation de Navigation dans
cette liste.
Sinon, il faut attende soit que je génère une nouvelle version qui fera
disparaître la séquence incriminée, soit que le producteur d'anti-virus change
sa détection heuristique (ce qui arrive assez fréquemment).
Bons vols,
FouFou