Comment nous avons perdu 230 euros chez CJ Affiliate (Conversant)
[accueil] [menu] [suivez-nous !] [chercher]
Paru dans
Pirates Magazine n°12Les secrets de Viguard
Après notre premier article (lire Pirates
Mag' 9), la polémique sur
le "firewall antiviral" Viguard ne
s'est pas totalement calmée. L'éditeur Tegam avait
notamment mis en doute les propos de Guillermito qui prétendait
avoir compris le fonctionnement et les limitations du logiciel.
Blessé, celui-ci a entrepris de démontrer ses
affirmations sur son site Internet. En voici les détails.
Alain
Godet, Saint-Emilion, Marc Rees et Olivier
Aichelbaum
Si
l'on en croit ses
publicités, Viguard, de l'éditeur français
Tegam, est un logiciel
capable d'arrêter toutes les menaces virales auxquelles peuvent
faire face les
ordinateurs actuels (virus Boot, EXE, macros, vers et trojans). Pour
parvenir à
cette prouesse, l'éditeur se fait le chantre du principe de la white
list :
tout ce qui n'est pas explicitement bon pour l'ordinateur
(déclaré comme tel
par l'utilisateur ou déterminé automatiquement par le
programme) est mauvais.
Sa démarche est originale dans le sens où elle va
à l'encontre de celle
utilisée par les éditeurs d'antivirus traditionnels, pour
lesquels tout ce qui
n'est pas explicitement mauvais (répertorié comme une
menace par le programme)
est bon. Cependant, comme nous l'avions vu dans Pirates Mag' 9,
Viguard
ne détecte pas tous les virus : nous avions trouvé
lors de nos tests
d'anciens codes malfaisants sous Dos ou de plus récents
sous Windows qui
passaient au travers. À quoi l'éditeur avait
répondu que ces souches étaient
anciennes, issues de laboratoire et inconnues dans la nature :
elles ne
représentent selon lui aucun danger.
Ne
partageant pas cet avis,
Guillermito, un des détracteurs de l'éditeur
français, a mis à profit ses
connaissances du fonctionnement des virus informatiques pour
décortiquer Viguard
(édition monoposte) et nous en dit un peu plus sur son site web
(www.pipo.com/guillermito/viguard/index.html). A-t-il ou non averti
l'éditeur avant de propager ses
découvertes, comme il est d'usage ? Selon l'éditeur,
non. Selon
Guillermito, oui, mais pas systématiquement.
Des
fichiers sensibles insuffisamment protégés
Premier
constat, et le plus
important : nombre de fichiers sensibles de Viguard sont
peu ou pas
protégés. Ce qui faciliterait grandement le travail d'un
développeur de code
malicieux qui souhaiterait s'attaquer aux PC protégés
avec ce produit.
Cependant, l'absence de protection est, en partie, due aux lacunes de Windows
9x/Me en matière de gestion de droits sur les
fichiers : les
démonstrations de Guillermito pourraient être moins
réussies sur un système
d'exploitation plus sécurisé, comme Windows NT et
ses descendants (2000
et XP). Selon lui, l'absence de protection est
particulièrement gênante
sur les fichiers certify.bvd, dans lesquels Viguard stocke les
données
de vérification d'intégrité et de reconstruction
des fichiers surveillés :
laissé dans sa configuration par défaut, Viguard
n'empêche théoriquement
pas leur effacement ou leur modification et, au besoin, les
régénère
automatiquement ! Idem pour les fichiers vistart.ini, viundo.ini
et
pcpass.def, tous trois très importants pour la surveillance du
système :
ils ne semblent protégés par aucun moyen ! En
particulier, pcpass.def
contient les hashes cryptographiques MD5 des fichiers
réputés
inoffensifs pour le système. Il suffit à un programme
d'ajouter le hash
de son choix dans ce fichier pour que l'application correspondante soit
considérée comme inoffensive par Viguard, qui la
laissera tourner (voir
plus loin). À ces remarques, Tegam signale simplement qu'en
environnement multiposte,
les fichiers originaux sont conservés au niveau du serveur
central et régénérés
sur chaque poste s'ils sont modifiés en local. Mais ne semble
pas contredire
les découvertes de Guillermito sur la version monoposte,
commercialisée auprès
du grand public.
Des traces de signatures
Plus drôle :
Guillermito a procédé à un dump mémoire des
fichiers
sdmain32.exe et sdload32.exe. Il y a trouvé des chaînes de
caractères
correspondant à des textes que l'on trouve dans certains virus.
Cela
pourrait s'apparenter à des signatures (primitives, il est vrai)
! Un
comble quand on sait que Tegam se bat depuis des années contre
le
système des signatures, qu'il juge insuffisant…
Enfin, le bidouilleur a
analysé la recherche de fichiers exécutables
considérés comme vérolés par Viguard. Sa conclusion : ce dernier
se
contente simplement de vérifier la structure du programme. Si
celle-ci
correspond à un critère précis (point
d'entrée supérieur ou égal à
l'offset de la dernière section), il estime le programme
potentiellement dangereux. D'où de fausses alertes, comme sur
les
applications Kazaa et Morpheus ou encore le programme
d'installation de
certains jeux d'Ubi Soft. Tegam indique que, sur demande de ses
utilisateurs, il ajoute les programmes incriminés dans les
listes
d'exception des nouvelles versions de son programme. On pourrait se
demander si un virus se faisant passer pour une des applications
contenues dans cette liste d'exception pourrait passer les protections
de Viguard… Difficile
à dire, l'éditeur n'ayant pas répondu à
cette
question. Mais, plus grave : les virus non construits selon cette
structure passent inaperçus aux yeux de Viguard !
Des
protections trop perméables
Fort
de ces observations,
Guillermito a entrepris de tenter de désactiver Viguard,
comme pourrait
le faire un virus. Il propose deux méthodes, douce et forte. La
première est un
simple programme simulant l'appui sur les boutons adéquats, afin
de fermer
naturellement Viguard. La seconde est plus brutale puisqu'elle
consiste
en une fermeture sauvage des processus de l'application. Cependant, la
méthode
douce ne fonctionnera pas sur un poste où le programme est
protégé par un mot
de passe administrateur, sauf à retrouver le moyen de
désactiver ce fameux mot
de passe (moyen trouvé par le hacker, mais non publié
pour des raisons
légales). Quant à la méthode dure, outre
d'éventuels problèmes de droits
utilisateurs sous Windows NT, elle implique un reboot
automatique
du PC, qui ne manquerait pas d'être remarqué par
l'utilisateur. Cependant,
étant donnée l'instabilité de Windows, un
tel phénomène pourrait passer
pour « normal » à des yeux non
avertis !
Évidemment,
si le logiciel est
paramétré en mode blocage, un exécutable qui
tenterait d'effectuer n'importe
laquelle de ces manipulations serait théoriquement
bloqué. Théoriquement. Car
Guillermito est parvenu à exécuter n'importe quel fichier
dans le mode de
protection maximale, à cause de l'absence de protection des
fichiers clés cités
au début ! En particulier, les fichiers batch
n'étant pas interdits d'exécution
par défaut par le logiciel, il a trouvé là un
moyen simple de tromper sa
vigilance : le fichier batch génère
l'exécutable contenant la charge
« destructrice » et le fichier de certification
de Viguard
correspondant. L'exécutable dangereux est ainsi automatiquement
considéré comme
sain par le logiciel de Tegam qui n'y voit que du feu (voir
encadré) !
Si
l'utilisateur, prévoyant,
ajoute les fichiers BAT à la liste des extensions à
bloquer, il ne sera pas
pour autant protégé. En effet, cela ne fonctionne
pas ! Un bogue
involontaire ou une erreur de conception plus profonde ? Tegam
écrit qu'un
« un virus dont l'infection repose sur la modification
d'autres
fichiers BAT, par exemple, n'a aucune chance de survivre ».
Mais ici,
on pourrait avoir un virus BAT qui génère un EXE
prétendu sain, qui génère un
BAT, et le logiciel n'y verrait rien !
Des virus qui passent trop inaperçus
Après
toutes ces analyses
théoriques, Guillermito a confronté plusieurs versions de
Viguard à un
panel de véritables virus. Première alerte : le
logiciel semble ne pas
réagir aux virus compagnons. Pourquoi ? La réponse
est simple : selon
Tegam, un virus exécutable ne modifie pas
l'intégralité d'un fichier, mais
seulement une partie. Dans l'autre cas, il s'agit selon les
concepteurs, par
exemple, de mises à jour, théoriquement saines. Dans les
faits, plutôt que
d'alerter l'utilisateur, Viguard se contente simplement de
recertifier
silencieusement le fichier modifié. Guillermito a ainsi
réussi à infecter un PC
protégé avec les virus Win32.Pilsen, Win32.Parrot,
Win32.Companion.HLLC.4096, Win32.Eclipse.8192, Win32.Emotion.4608
et Win32.StupRed.HLLC.321536
(autant de virus que Tegam qualifie soit de virus de laboratoire, soit
de
faibles menaces pour l'utilisateur). En testant d'autres virus,
Guillermito a
mis en avant d'autres failles de Viguard : avec le virus stealth
et résident Win95.Craddle_Of_Filth, l'application laisse
infecter le
disque dur et ne signale les problèmes qu'au redémarrage.
On aurait préféré
qu'il bloque l'infection ! Ensuite, un nettoyage avec la disquette
créée à
l'installation montre que le programme oublie de nettoyer les drivers
audio,
les codecs et d'autres fichiers PE aux extensions non
répertoriées.
L'utilisateur pourra corriger cet oubli en ajoutant, dans le menu Options/Exécutables,
les extensions adéquates (.AX, .ACM et .WPC au minimum).
Une nouvelle version mise au point
N'oubliez
pas qu'en cas
d'infection non bloquée sur un disque dur NTFS, les disquettes Dos
ne
permettent pas, par défaut, d'accéder aux partitions de
ce type (ce problème
est lié à la plupart des programmes qui créent des
disquettes de
démarrage) ! Il faudra donc veiller à
acquérir un utilitaire adéquat,
comme l'outil libre de notre collègue Christophe Grenier
(www.cgsecurity.org).
Quant
au virus Win95.Zerg (qui,
selon Tegam, ne fonctionne correctement que sur Windows 95, ce
qui
limiterait sa propagation), il ne déclenche aucune alerte. Le
nettoyage avec la
disquette Viguard, permet de réparer presque tous les
dégâts. Presque,
puisqu'une vingtaine de fichiers résistent au nettoyeur. Le PC
n'est pas
désinfecté ! Avec Win98.Dammit, l'infection
du fichier notepad.exe est signalée, mais non
stoppée. La
désinfection par la disquette de Viguard
n'est pas autorisée, puis le fichier n'est plus signalé
comme vérolé !
L'infection peut donc continuer. Enfin, le logiciel ne surveille pas
les
fichiers HLP successibles de contenir une charge malicieuse, ainsi que
le
montre le test avec HLP.Puma.
Bref,
beaucoup de failles pour
un produit censé être une panacée
universelle ! C'est d'autant plus
dommage qu'il y a dans Viguard plusieurs bonnes idées
(voir encadré),
notamment la white list. Affiner leur
implémentation et
mieux les
protéger pourrait en faire un bien meilleur produit (Guillermito
va même
jusqu'à faire des suggestions). L'éditeur a mis au point
un correctif. Reste à
savoir s'il est suffisamment complet et s'il a été
distribué à tous les
clients.
Les bonnes
idées de Viguard
Bien
qu'il se soit employé à
montrer les déficiences de Viguard, Guillermito a
trouvé dans ce
programme quelques bonnes idées. Ainsi, il estime que le
système de
surveillance du boot est une idée intelligente,
même si elle est
insuffisamment protégée et donc trop facilement
contournable par un programme
dédié. Rappelons que ce système permet d'avertir
l'utilisateur lorsqu'une
application (commerciale ou code malfaisant) décide de se
charger
automatiquement au démarrage, par quelque biais que ce soit.
Guillermito
apprécie également
le système d'extraction de macros, qui permet de les analyser
sans les
exécuter. Il souligne toutefois l'insuffisance de cette
technologie face aux
virus qui ne font pas appel aux macros auto-exécutables, voire
ceux non basés
sur les macros (voir Pirates Mag' 9). Viguard se montre
malgré
tout assez performant au niveau de la prévention des virus
macros
auto-exécutables classiques, même si on pourra objecter la
présence de «
fausses alertes » (à nos yeux rares en utilisation
courante, ces macros étant
rarement employées, surtout chez les particuliers) !
Enfin,
dans une certaine mesure, nous apprécions le système
d'analyse des scripts. Viguard
se base sur une analyse statistique de la présence de certains
mots-clés :
qu'un fichier rentre dans les critères de cette analyse et il
sera déclaré
comme dangereux. Après, libre à l'utilisateur de
certifier les scripts qu'il
souhaite. Une méthode somme toute plus fine que de tout bloquer
au niveau du
serveur ou du client mail. Bien sûr, là encore le concept
pourrait être
amélioré notamment pour limiter les fausses alertes.
|
|
VGTotalBaise, ou
comment faire du neuf avec du vieux
Pour
parfaire sa démonstration
des failles de Viguard, Guillermito a développé un
programme sur mesure.
Ce programme est en apparence un simple fichier batch, VGTOTALBAISE.BAT
(finesse, quand tu nous tiens !). Ce programme de quelques Ko
génère un fichier
binaire (le fichier de certification de Viguard) et un fichier
exécutable (le programme avec l'éventuelle charge
destructrice.
Les
techniques utilisées par ce
fichier .BAT sont très simples. Tout d'abord, la commande
« echo » permet
d'afficher du texte. Si vous tapez « echo Bonjour »
à la ligne de commande du Dos,
le mot « Bonjour » apparaîtra sur la ligne suivante.
Par défaut le texte est
envoyé à l'écran, mais vous pouvez l'écrire
dans un fichier, sur l'imprimante,
etc. Pour le cas qui nous intéresse (l'écriture dans un
fichier), il suffit
d'ajouter à la suite de la commande echo le signe « >
», suivi du nom du
fichier. Ainsi, « echo Bonjour >toto.txt » créera
un fichier « toto.txt »
contenant le mot « Bonjour ». Attention, si un fichier
« toto.txt » était déjà
présent dans le répertoire courant, il sera
écrasé sans pitié ! Si on remplace
le « > » par un « >> », on pourra
ajouter du texte à la fin de notre
fichier. Si on tape « echo Salut >>toto.txt », le
fichier « toto.txt »
contiendra deux lignes : Le « Bonjour » de tout à
l'heure, plus « Salut ». À
noter, la redirection « > nul » permet d'empêcher
tout affichage de texte.
Par exemple, « dir >nul » n'affiche pas le contenu du
répertoire courant à
l'écran, bien que la commande ait été
exécutée correctement.
Un autre type de redirection nous servira également : «
<
» sert à simuler une saisie
de texte au clavier depuis un fichier (dans notre cas). En utilisant
toutes ces
redirections, VGTOTALBAISE.BAT génère un fichier
automatisé contenant
l'ensemble des commandes à taper dans l'utilitaire Debug.
C'est ce
dernier qui va générer à son tour les deux
fichiers souhaités. Enfin,
l'exécutable est lancé, sans intervention de Viguard qui
a été trompé par la
présence du fichier certify.bvd parfaitement valide ! Il est
clair qu'un tel
système tombe à l'eau si l'utilisateur supprime le
fichier debug.exe de son
disque dur. Mais on pourrait alors utiliser la méthode vue dans Pirates
Mag' 9, en générant les fichiers
depuis un tableau XLS ou depuis un fichier HLP,
par exemple.
Extrait du
trojan BAT
Echo
E 01B0 FA CD BF 53 25 14 67 86 C1
92 74 FC 59 60 56 3B>>scr2bin
Echo
E 01C0 CA 9C 32 3E 5D AC D0 CF 9B CE F8 14 CD F1 A6
82>>scr2bin
Echo E 01D0 03 50 A4 92 F2 BF 4C 25 3E 67 86>>scr2bin
Echo
RCX>>scr2bin
Echo
1db>>scr2bin
Echo
W 0>>scr2bin
Echo
Q>>scr2bin
debug
< scr2bin > nul
del
scr2bin
Les commandes de Debug
N
permet de donner
le nom du fichier qu'on veut créer.
E
placera
les 16 valeurs en mémoire à
l'adresse définie. Par exemple « e 0000 01 CD 03 04 05 06
07 08 09 0A 0B 0C 0D 0E 0F 10 » mettra l'octet 0 à la
valeur 01, l'octet 1 à CD, etc.
RCX
suivi d'un chiffre permet
d'indiquer le nombre d'octets que contient le fichier qu'on veut
sauvegarder.
W
permet
d'enregistrer le fichier qu'on vient de générer via nos
lignes de datas.
Q
quitte Debug
|
|
|
Une
démonstration universelle
Sur
bien des points, la
démonstration de Guillermito pourrait s'appliquer à n'importe quel
antivirus.
Elle pourrait simplement être rendue plus difficile en fonction
du niveau de
protection des fichiers de données des autres éditeurs
(cryptage efficace ou
surveillance par l'antivirus). On notera que le virus Klez parvient
à
décharger de la mémoire les principaux antivirus du
marché, d'AVP à Norton
Antivirus, par une instruction TerminateProcess similaire
à celle
utilisée par Guillermito pour sa démonstration. De
même, on se souviendra du
logiciel MS Antivirus de Microsoft et de son frère Central
Point
Software Antivirus, de l'éditeur éponyme : ces
programmes étaient
automatiquement désactivés par le virus Tremor
qui se contentait
d'écrire trois instructions NOP (rien) à certains
emplacements de la mémoire !
Et on pourrait trouver d'autres exemples.
Les trojans batches ? Hormis Norton
Antivirus qui peut bloquer tous les BAT (option
désactivée par défaut), les
solutions en amont restent rares. Les modules heuristiques, qui
commencent à
apparaître suite à notre précédent article,
ne sont pas la panacée, comme pour
les EXE, à cause de nombreuses fausses alertes ou des codes
malfaisants non
détectés. Et, dans bien des cas, seule la signature
pourra alors s'avérer
efficace. Mais, comme d'habitude, ces signatures interviennent a
posteriori
: les utilisateurs qui auront perdu leurs données entre temps
apprécieront !
Et
on ne
parlera pas de ces antivirus qui se désactivent entre eux... |
|
Et pendant ce
temps, au tribunal...
Dans
Pirates
Mag' 9, nous vous présentions Roland Garcia à
l'origine des messages sur l'internet les plus virulents concernant Viguard
et son éditeur, Tegam International. La société,
longtemps silencieuse, a
finalement demandé en référé l'intervention
de la justice. Le défendeur a
vainement tenté de soulever l'incompétence territoriale
du juge et fait valoir
son droit à la liberté d'expression. Après avoir
reconnu sa pleine compétence,
le TGI
de Paris a estimé au contraire que les « propos
tenus, par leur
fréquence et leur répétition, excède [...]
la libre critique [...] et
participe d'une opération de dénigrement ». Le
fait que M. Garcia soit,
d'après le juge, consultant auprès d'un distributeur
d'antivirus concurrent,
Alphasys, n'est peut être pas étranger à cette
solution. Il est condamné à
cesser ce trouble sous astreinte de 100 € par nouvelle
infraction
constatée et à 1.000 € au titre de l'article 700
du Nouveau Code de
Procédure Civile. Aucune des parties n'a souhaité
s'exprimer sur cette
ordonnance, mais les deux laissent entendre qu'il y aura un jugement
sur le
fond... En attendant, personne n'a fait appel du
référé.
|
|
Vous voulez soutenir une information indépendante ? Rejoignez notre
Club privé !
Vous cherchez un ancien numéro ?
Nous avons peut-être un exemplaire pour vous ! !
Certains liens présents dans cette page peuvent être affiliés. Sauf si c'est spécifié dans le texte, cela ne veut pas dire que la rédaction vous recommande les produits/services en question.
[homepage] [RSS] [archives]
[contact & legal & cookies] [since 1997]