Profitez des offres Memoirevive.ch!
L’anti-virus qui en était un

Un ami a récemment acheté l'anti-virus Virus Barrier de chez Intego qu'il a installé sur son PowerBook avec MacOS X. Il a alors été confronté à un étrange problème. Je vous livre ici l'email qu'il m'a envoyé et qui décrit ce qui s'est passé. Je le cite tel quel et je fais des commentaires après.

Hello Fabien,

Il m'est arrivé une drôle d'histoire avec mon Mac - temporairement résolue, mais je la partage avec toi au cas où tu en aurais entendu parler.

Mon Mac (sous OS X 10.2.6) tourne depuis quelque temps assez lentement et le disque dur mouline beaucoup. J'ai attribué cela à de la fragmentation, jusqu'à hier... impossible de faire quoique ce soit! Tout tournait au ralenti. J'ouvre le Terminal, un petit "top", et surprise: une avalanche de processus "sendmail" qui défilent. En bricolant un peu, je les occis avec un "kill -1" bien placé, tout revient à la normale pour trente secondes, puis c'est à nouveau l'avalanche, initiée par des "cron" en série et par un autre programme appellé "integod". Vu qu'il est impossible d'accéder aux crontab du système (j'ai d'un coup beaucoup appris sur Unix...), j'ai pour finir redémarré sous OS9, et j'ai enlevé deux dossiers des StartupItems: cron, et tous les fichiers venant d'un programme Intego appellé... VirusBarrier, un anti-virus que j'ai acheté récemment. Je ne sais pas lequel des deux est vraiment coupable (je soupçonne la routine d'update automatique de l'anti-virus), mais je n'ai pas envie de trop passer de temps dessus ces prochains jours. Affaire à suivre... je vais déjà essayer d'aller modifier les autorisations pour aller lire les crontab.

Petites explications techniques pour les non-initiés à Unix:

  • La commande "top" permet d'afficher la liste des processus qui tournent sur la machine et quelle est leur occupation du processeur (en pourcents).
  • Le processus "sendmail" est (vous l'aurez deviné) chargé d'envoyer un email (ce qui est étrange c'est qu'il est inactif par défaut sous MacOS X Client).
  • La commande "kill" comme son nom l'indique permet de tuer un processus. C'est ce que MacOS X fait lorsque vous "forcez à quitter" une application.
  • Le "cron" est un planifieur de tâches. Il permet d'exécuter une commande à une heure déterminée. C'est par exemple grâce au cron que MacOS X effectue les tâches de nettoyage du système (d'habitude vers 3 heures du matin).
  • Le "crontab" est le fichier contenant les commandes exécutées par "cron", ainsi que l'heure à laquelle elles doivent être exécutées.
  • Le dossier "StartupItems" contient des éléments qui seront lancés au démarrage du système. Le "cron" s'y trouve. Il y a plusieurs dossiers "StartupItems", un dans chaque dossier "Bibliothèque": à la racine du disque, dans le dossier "Système", et dans votre dossier utilisateur. Le cron est placé dans le dossier Bibliothèque du dossier "Système", vous ne pouvez donc pas y toucher, d'où l'intérêt de démarrer sous OS 9.
  • Le "integod" est selon toute vraisemblance un "daemon" (petit programme qui fonctionne en tâche de fond) créé par Intego.

Bien sûr, enlever le "cron" du dossier "StartupItems" n'est pas une très bonne idée, puisque comme je l'ai dit il lance les tâches de maintenance de MacOS X. Mais aux grands maux les grands remèdes.

L'ami en question à poussé l'investigation un peu plus loin et a analysé le fichier "cron" pour tenter d'y découvrir la faille. Voici son deuxième email, que je commenterai ensuite:

J'ai compris ce qu'il s'est passé! Après avoir modifié quelques permissions d'accès, j'ai pu lire le crontab... édifiant. Je ne comprends pas comment une boîte de logiciels a pu faire une chose pareille - je te mets ci-dessous le bugreport que je leur ai envoyé.

Je coupe une partie de l'email qu'il a envoyé à Intego pour arriver à l'essentiel, le contenu du "cron":

here are the first lines of the "/var/cron/tabs/root" file:

# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/Library/Intego/virusbarrierd.bundle/Contents/Resources/.oldcron installed on
 Thu Jul 24 20:25:02 2003)
# (Cron version -- $FreeBSD: src/usr.sbin/cron/crontab/crontab.c,v 1.17 2001/06/
16 03:16:52 peter Exp $)
*/1 * * * * /Library/Intego/integod
*/1 * * * * /Library/Intego/integod

...and that goes on for probably 1000 identical lines.

Il écrit donc à la fin que le "cron" contient probablement 1000 fois la ligne:

*/1 * * * * /Library/Intego/integod
    

Pour "cron" cela signifie que toutes les minutes la commande "integod" est exécutée, et ce à peu près 1000 fois !! Vu que les processus qui remplissaient le "top" étaient des processus "Sendmail" on peut aisément conclure que la commande "integod" cherche à envoyer un email.

Ces problèmes ont commencés suite à une mise-à-jour de Virus Barrier et de NetUpdate le programme de mise-à-jour automatique d'Intego. Que cherche-t-il à envoyer ? Mystère ! Mais le résultat est là: une machine qui ne fonctionne plus.

Ce problème est survenu à la fin du mois de juillet. Mon ami a envoyé un email détaillé (dont vous avez lu un extrait) à Intego. A ce jour pas de nouvelles.

Si vous avez observé les même symptômes, vous savez maintenant à peu près comment réagir. Pour éditer le fichier "cron" vous pouvez utiliser l'excellent CronniX. Vous pourrez alors tenter supprimer le bordel qu'Intego y aura mis.

C'était: "quand l'anti-virus devient un virus"...

Aucun commentaire pour l'instant…