You are on page 1of 22

CBPF-NT-007/00

Scurit Informatique e e

Attaques Informatique

Jean-Olivier Gerphagnon , Marcelo Portes de Albuquerque & Mrcio Portes de Albuquerque a Centro Brasileiro de Pesquisas F sicas CBPF/CNPq Coordenao de Atividade Tcnicas CAT ca e Rua Dr. Xavier Sigaud 150 22290-180 Rio de Janeiro RJ Brazil

Introduction

La scurit informatique est de nos jours devenue un probl`me majeur dans la gestion des e e e rseaux dentreprise ainsi que pour les particuliers toujours plus nombreux a se connecter ` Ine ` a ternet. La transmission dinformations sensibles et le dsir dassurer la condentialit de celles-ci e e est devenu un point primordiale dans la mise en place de rseaux informatiques. Ce document e a pour but de prsenter globalement la mani`re dont les Hackers op`rent an de pntrer les e e e e e syst`mes informatiques en esprant quil aide a pallier a ce type de probl`me de plus en plus e e ` ` e frquent. . . e

Les mcanismes dauthentication e

Lauthentication est le premier rempart aux attaques informatique, il sagit la plupart du temps du couple nom dutilisateur/mot de passe (login/password). Cette premi`re mthode e e constitue une scurit relativement able lorsquelle est bien utilise: mot de passe correct, cone e e dentialit assure, chier protg,. . . Elle pose tout de mme certains probl`mes comme par e e e e e e exemple le cas o` un utilisateur a besoin de se connecter sur plusieurs stations direntes. Il u e va alors rapidement trouver cette mthode dauthentication relativement lourde (considrons e e que lutilisateur est une personne srieuse qui poss`de un mot de passe dirent sur chaque e e e station ou que le rseau utilise NIS (Network Information Service)).Il sera alors tenter dutiliser e une mthode moins contraignante: les services r*. Ces services (rlogin, rsh, rcp, . . . ) sont e bass sur une authentication beaucoup moins lourde pour lutilisateur mais galement beaue e coup moins sre: ladresse IP de la station source ainsi que le nom dutilisateur. Ce type u dauthentication est, malgr`s de nombreux probl`mes de scurit, encore tr`s utilis dans les e e e e e e rseaux locaux actuels. e Une autre mthode dauthentication permettant un niveau de scurit plus lev utilise un e e e e e serveur dauthentication (Authentication Server ) qui permet dviter les probl`mes engendrs e e e par lauthentication IP. Le serveur dauthentication reoit une demande de connection et, an c de vrier que la station est bien celle quelle prtend tre, tablit une seconde connection TCP e e e e avec la station source (qui ne sera donc pas sous le contrle dun ventuel attaquant). o e

triton@softhome.net marcelo@cbpf.br mpa@cbpf.br

CBPF-NT-007/00

Une mthode beaucoup plus scurise, mais plus contraignante et plus dicile a mettre en e e e ` oeuvre, appelle One-Time Password System (OTP) permet dviter les probl`mes de circulation e e e des mots de passe sur le rseau (Sning,. . . ). Se sont des pseudo mots de passe qui circulent e alors sur le rseau et dont la validit est restreinte ` la dite connection. Le fonctionnement des e e a One-Time Passwords peut se rsumer ainsi: le client demande une connection a un serveur, ce e ` dernier renvoit un Challenge au client qui devra alors gnrer un One-Time Password ` laide e e a dun mot de passe (ou dune phrase) connu des deux stations ainsi que du Challenge reu. Ce c pseudo mot de passe sera alors retransmis au serveur qui pourra ainsi le vrier et autoriser (ou e non) la connection. Actuellement, le programme Secure Shell est tr`s apprci, il peut apporter la facilit e e e e des authentications par adresses IP tout en assurant une tr`s bonne scurit grce ` un e e e a a syst`me dencryptage des donnes qui transitent sur le rseau. Il utilise pour cela un mcanisme e e e e dencryptage assymtrique (principe des cls publiques et prives) bien connu. Il sagit du e e e syst`me RSA (Rivest, Shamir, Aldeman). Cette solution peut permettre aux utilisateurs de ne e pas tre oblig dentrer a chaque fois leur mot de passe tout en vitant les probl`mes des services e e ` e e r* ou du telnet (Sning). Dautres mthodes dauthentication existent galement, comme par exemple Kerberos (gese e tion de tickets), SSL (Secure Socket Layer), S-HTTP (Secure HTTP), les signatures digitales (Digital Signature) et les certications. . .

Principe de fonctionnement des Firewalls

En informatique, un Firewall est un priphrique ou un ordinateur qui prot`ge la partie e e e prive dun rseau de la partie publique. Cest en ralit llment qui permet de distinguer la e e e e ee partie prive du rseau de celle que lon nommera publique (Internet,. . . ), lui seul peut donc en e e atteindre les deux extrmits. Il permet donc de protger le rseau priv dventuelles attaques e e e e e e provenant d Internet et peut galement contrler certaines actions eectues de lintrieur du e o e e rseau priv. Il y a en ralit deux principaux types de Firewall: e e e e Firewall IP Filter ou Chokes : ce type de Firewall travail au niveau des paquets transmis sur les rseaux, il permet de contrler le ux de paquets en fonction de lorigine, de la e o destination, des ports et du type dinformation contenue dans chacun deux. Cest un syst`me relativement facile ` mettre en place en instaurant un certains nombre de r`gles e a e permettant de contrler les paquets entrants ou sortants du rseau priv. Il sagit soit dun o e e ordinateur soit dun priphrique de communication permettant de restreindre le ux de e e paquets entre les rseaux. e Gates : il sagit dun programme, dun priphrique ou dun ordinateur qui reoit les e e c connections des rseaux externes et les retransmet dans le rseau priv. Aucun utilisateur e e e nest autoris ` accder ` ce Gate pour des raisons de scurit ( seule une connection sur la ea e a e e console par ladministrateur est autorise ). Sur ce Gate, un ou plusieurs des programmes e suivants doivent tre utiliss: e e Network Client Software : les utilisateurs doivent, dans cette conguration, avoir un compte sur le Gate pour pouvoir utiliser des applications tels que ftp, telnet, netscape. . . Les utilisateurs doivent donc se connecter sur le Gate an daccder ` e a lextrieur. Cest un syst`me facile ` mettre en place mais tr`s peu scuris du fait de e e a e e e lacc`s dutilisateurs sur llment protegeant la partie prive de la partie publique. e ee e Proxy Server : un Proxy est un programme qui transmet les donnes quil reoit a un e c ` autre programme situ sur une autre machine du rseau. Dans le cas dun Firewall, e e

CBPF-NT-007/00

un Proxy sert ` forwarder une requte ( Web, FTP,. . . ) a travers le Firewall du a e ` rseau interne au rseau externe. e e Network Server : il est galement possible de lancer des serveurs (daemon) comme e par exemple Sendmail sur le Gate an de fournir dautres services aux utilisateurs. Par contre, il nest pas conseill dinstaller un serveur Web comme Apache sur un e Gate pour des raisons de scurit. e e

Voici quelques exemples de congurations pour lutilisation dun Firewall:

4
4.1

Techniques de Hacking
Lingnierie sociale & lirresponsabilit e e

Lorsque quelquun dsire pntrer dans un syst`me informatique, sa premi`re arme est le e e e e e baratin. Il ny a gnralement pas dattaques russies sans relations humaines. On appel ceci e e e lingnierie sociale (social engineering), elle est base sur quatres grands principes: e e Le contexte : en ayant une bonne connaissance de lorganigramme de lentreprise cela permet ` lagresseur davoir dores et dj` un pied dans lentreprise. Le but en gnral a ea e e est de conna tre quelles sont les personnes qui sont en droit de demander tels ou tels informations, et galement ` qui les demander, dans le but de se faire ultrieurement e a e passer pour elles. . . Laudace ou le blu : le bagout et lart de la parole sont deux qualits indispensables e lorsque lon veut utiliser le social engineering. lI sagit ici davoir susament dappoint et de connaissances techniques an de faire croire a linterlocuteur quil a aaire a un ` ` responsable technique de lentreprise (ou dun fournisseur de service). Tout ceci an quil lui transmette les informations demandes sans aucun probl`me. e e La chance : la chance est galement une part importante dans le social engineering, cela e ne marche pas ` chaque fois ! Il faut de la pratique an de bien ma a triser le squencement e du dialogue a tablir. `e La patience calcule : il faut de plus savoir se montrer patient an dobtenir les infore mations dsires. Malg`s tout, la mthode du social engineering demande une certaine e e e e rapidit ( max. 1 heure ) pour obtenir les informations voulues, pass ce dlais, il est e e e prfrable de changer dentreprise ou dattendre quelques jours an de ne pas veiller les ee e soupons. . . c En gnral, les personnes ne sont pas formes ` la notion de scurit informatique ce qui e e e a e e entra des situations qui auraient facilement p tre vites. A titre dexemples, voici quelques ne ue e e cas frquemment trouvs au sein des entreprises: e e Disquettes ou sauvegardes jetes ` la poubelle sans tre dtruites au pralable. La plupart e a e e e des Hackers sont friants des poubelles des entreprises quils dsirent pntrer car elles e e e recellent toujours dinformations tr`s prcieuses: chiers de mots de passe, informations e e sur le syst`mes, heures des sauvegardes, heures de connection des administrateurs,. . . Il e faut donc toujours veiller a vrier les informations stockes sur les disquettes et/ou les ` e e sauvegardes qui seront jetes ` la poubelle. La meilleure solution consiste ` les dtruire e a a e an de les rendre inutilisables.

CBPF-NT-007/00

Figure 1: Firewall utilisant une station UNIX quippe de deux ports rseau, un e e e pour le rseau priv et un pour le rseau publique. Pour un maximum de scurit, e e e e e on interdira les comptes utilisateurs sur cette station et on installera un Proxy pour que les informations traversent le Firewall.

Figure 2: Il sagit de ltrer les paquets a laide dun Choke. On pourra ici utiliser ` un routeur pour slectionner les paquets ( TCP ou UDP ) qui sont autoriss et pour e e quels services. Il sagit dune conguration facile a mettre en place et tr`s utilise ` e e actuellement.

CBPF-NT-007/00

Figure 3: Il sagit dun type de Firewall plus scuris utilisant ` la fois un Choke e e a et un Gate. Le Gate doit tre un ordinateur spcique sur le rseau faisant tourner e e e le serveur de mail ainsi que le Proxy (le serveur Web et le serveur FTP anonyme doivent tre installs sur une autre machine devant le Firewall). Le Choke peut-tre e e e un routeur avec deux interfaces permettant de relier le Gate et le rseau interne. e

Figure 4: Pour une plus grande scurit, ce type de Firewall est prconis. Dans e e e e cette situation, si un intrus arrive a prendre le contrle du Gate, il reste encore un ` o troisi`me rempart permettant dviter quil ne puisse utiliser le Gate pour lancer e e une attaque contre le reste du rseau priv. e e

CBPF-NT-007/00

Papiers ou Post-It o` lon note ses mots de passe qui seront par la suite jets ` la poubelle u e a (mme cas quau pralable), ou encore poss sur le bureau ou colls dans un tiroir an de e e e e toujours lavoir a port de main. Il peut savrer utile dinscrire son mot de passe sur un ` e e papier lorsquil est impos par un administrateur mais il est prfrable de pouvoir le xer e ee soit mme en respectant un certains nombre de r`gles visant ` rendre sa mmorisation facile e e a e mais sa dcouverte tr`s dicile (il est tr`s facile pour un Hacker de lancer un programme e e e qui tentera de le casser en utilisant une liste de mots de passe pr-tablie). Dans tous les ee cas, il faut veiller a conserver la condentialit de ses mots de passe et donc den liminer ` e e toutes traces facilement accessibles (lisibles). Les changes de mots de passe sont galement tr`s frquents. Ceci doit tre vit au e e e e e e e maximum car lidentit de lutilisateur nest plus assure. Les actions quil engendre alors e e lui seront peut-tre reproches alors quil sagissait dun tiers a qui il avait eut le malheur e e ` de coner son mot de passe. Le couple nom dutilisateur (Login) et mot de passe (Password) est personnel et ne doit en aucune mani`re tre transmis ` quelquun dautre e e a mme pour rendre service. . . e Il sagit ici du principe mme du Hacking, les Hackers savent o` trouver linformation et ene u suite comment techniquement sen servir an de pntrer les syst`mes informatique. Les sections e e e suivantes visent ` prsenter, de mani`re non exhaustive, ces direntes techniques permettant a e e e aux Hackers de passer outre les Firewalls et les syst`mes dauthentication. e

4.2

Les Denial-of-Service (DoS)

Les attaques de type Denial-of-Service ont pour but de saturer un routeur ou un serveur an de le crasher ou en prambule dune attaque massive. Ces types dattaque sont tr`s e e faciles ` mettre en place et tr`s dicile ` empcher (cqfd. ` arrter ). Mais quelles sont les a e a e a e raisons qui peuvent pousser un attaquant a utiliser les DoS en sachant que cela peut mener ` ` a la destruction du routeur ou du serveur vis : e Rcuprer un acc`s : une attaque de type Denial-of-Service fait, la plupart du temps, e e e partie dune attaque visant a obtenir le contrle dune machine ou dun rseau. Par ` o e exemple lattaque de type SYN Flood, tr`s rpendue, est souvent utilise de paire avec e e e une tentative de Spoong ( cf. ci-dessous ). Masquer les traces : ce type dattaque permet galement de crasher une station qui e par exemple aurait p contenir des traces du passage dun Hacker . En dtruisant cette u e station, il sassure ainsi une certaine prnit. ee e Se venger : tr`s frquemment, ces attaques sont utilises an dassouvir une vengeance e e e personnelle contre une personne, un administrateur ou bien encore une entreprise. . . ... Voici quelques exemples de programmes disponibles sur Internet permettant de raliser ce e genre dattaque: Ping O Death : il sagit de saturer un routeur ou un serveur en envoyant un nombre important de requtes ICMP REQUEST dont les datagrammes dpassent la taille maximum e e autorise. Des patches existent an de se prmunir de ce type dagression sous les syst`mes e e e MacOS, Windows NT/9x, Sun Solaris, Linux et Novell Netware. Land - Blat : cette attaque permet de geler la plupart des syst`mes ayant plus ou moins e un an. Il sera alors obligatoire de redmarrer la machine an den reprendre le contrle. Il e o

CBPF-NT-007/00

sagit denvoyer un paquet forg (spoof ) contenant le ag SYN sur un port donn (comme e e e 113 ou 139 par exemple) et de dnir la source comme tant ladresse de la station cible. Il e e existe un certains nombre de patches pour ce bug pour les syst`mes UNIX et Windows. e Jolt : spcialement destine aux syst`mes Microsoft (NT, 9x et 2000), cette attaque permet e e e de saturer le processeur de la station qui la subie. La fragmentation IP provoque, lorsque lon envoie un grand nombre de fragments de paquets identiques (150/sec), une saturation totale du processeur durant toute la dure de lattaque. Des pr-patches existent dj` pour e e ea tenter de contrer ce type dattaque. TearDrop - SynDrop : probl`me dcouvert dans le noyau du syst`me Linux dans la partie e e e concernant la fragmentation des paquets IP. Il sagit dun probl`me de reconstruction du e paquet. Lorsque le syst`me reconstitue le paquet, il excute une boucle qui va permettre e e de stocker dans un nouveau buer tous les paquets dj` reus. Il y a eectivement un ea c contrle de la taille du paquet mais uniquement si ce dernier est trop grand. Sil est trop o petit cela peut provoquer un probl`me au niveau du noyau et planter le syst`me (probl`me e e e dalignement des paquets). Ce probl`me a galement t observ sur les syst`mes Windows e e ee e e (NT/9x) et des patches sont d`s ` prsent disponibles. e a e Ident Attack : ce probl`me dans le daemon identd permet aisment de dstabiliser une e e e machine UNIX qui lutilise. Un grand nombre de requtes dauthorization entra une e ne instabilit totale de la machine. Pour viter cela, il faut installer une version plus rcente e e e du daemon identd ou alors utiliser le daemon pidentd-2.8a4 (ou ultrieur). e Bonk - Boink : mme probl`me que le TearDrop mais lg`rement modi an de ne pas e e e e e tre aect par les patches fournis pour le TearDrop. Il existe de nouveaux patches mieux e e construits qui permettent galement dviter ce nouveau type dattaque. e e Smurf : ce programme utilise la technique de lICMP Flood et lamplie de mani`re ` e a crer un vritable dsastre sur la (ou les) machines vises. En fait, il utilise la technique e e e e du Broadcast Ping an que le nombre de paquets ICMP envoys ` la station grandisse e a de mani`re exponentielle causant alors un crash presque invitable. Il est dicile de se e e protger de ce type dattaque, il nexiste aucun patches mais des r`gles de ltrage correctes e e permettent de limiter son eet. WinNuke : il sagit encore dun programme permettant de crasher les syt`mes Windows e NT/95 par lenvoie de donnes de type OOB (Out Of Band) lors dune connection avec e un client Windows. NetBIOS semble tre le service le plus vulnrable ` ce type dattaque. e e a Appraremment, Windows ne sait pas comment ragir a la rception de ce type de paquet e ` e et il panique. . . De nombreux patches existent contre ce type dattaque et les versions rcentes de Windows (98/2000) sont d`s ` prsent protges. e e a e e e

4.3

LIP Spoong

La technique de lIP Spoong est une technique dont le principe est relativement ancien (aux alentours de 1985) mais la premi`re attaque connue lutilisant ne remonte qu` 1995. Kevin e a Mitnick, un cl`bre Hacker , la utilis an de sinlter dans le rseau dun expert en scurit ee e e e e informatique, Tsutomo Shimomura. Le Spoong nest pas lattaque en tant que tel, il sagit dune technique permettant de sinltrer dans un ordinateur en se faisant passer pour un autre en qui il a conance (Trusted Host). Avant de rentrer dans des dtails plus techniques, voici un bref rsum du fonctionnement de e e e cette technique: une station se fait passer pour une autre en envoyant un paquet dont ladresse IP est autorise par le serveur vis. . . La source IP envoye trompe donc la cible qui accorde e e e lacc`s en pensant avoir aaire ` une machine de conance. Il existe dirents types de Spoong, e a e

CBPF-NT-007/00

nous naborderons ici que les notions dIP Spoong, celles ayant attraits aux DNS Spoong, Web Spoong,. . . ne seront donc pas prsentes. En ce qui nous concerne, il existe deux types dIP e e Spoong qui di`rent par les moyens ncessaires ` leur application. e e a 4.3.1 Non Blind Spoong (NBS)

Dans ce contexte, lutilisation de la technique du Spoong a pour but dinterfrer avec une e connection dont les paquets traversent un sous-rseau dont le Hacker a acc`s. Il peut donc e e aisment capturer et analyser les paquets qui sont changs. En gnral, cette technique est e e e e e utilise lorsquil sagit dinteragir entre deux machines du mme sous-rseau ou alors il faut e e e avoir un acc`s sur un routeur important (transatlantique par exemple) - la place rve pour un e e e Hacker. Comme les paquets doivent imprativement traverser le sous-rseau, il est tr`s facile de e e e rcuprer les paquets et dobtenir les numros de squence (SEQ) et dacknowledgment (ACK). e e e e Ce type de Spoong est principalement utilis pour les trois attaques suivantes: e

Figure 5: Conguration ncessaire pour le Non Blind Spoong: lordinateur A va e demander une connection sur lordinateur C alors que lordinateur B espionne le trac sur le rseau local. Il est donc possible pour lordinateur B dinterrompre la e relation entre A et C puis de se faire passer pour lordinateur A car il a acc`s e aux numros de squence (SEQ) et dacknoledgment (ACK). e e

SYN Flooding : le but du SYN Flooding est douvrir ` moiti un nombre de connection a e dpassant la taille du backlog (queue permettant de stocker les connections en attentes e de n douverture, cest-`-dire la terminaison du 3-way handshake TCP) qui est limite a e en gnral a 5 sous BSD (` 6 sous Linux). Cela a pour eet de bloquer totalement les e e ` a nouvelles demandes de connection vers la station vise. Voil` bri`vement comment cela e a e sav`re possible: la station B envoie un paquet de type SYN forg (spoof en tant que e e e station A) vers la station C. Lorsque la station A est inaccessible (unreachable) la station C va alors attendre une rponse (notion de timeout), dans le cas contraire (station A e accessible), ce type dattaque na aucun eet sur la station C car elle indiquera quaucune demande de connection na t eectue de sa part. En excutant cette opration un grand ee e e e nombre de fois, la station C ne va plus pouvoir rpondre aux nouvelles demandes de e connection et deviendra alors inacessible (et certainement instable). Connection Killing : dans ce cas de gure, lobjectif est de faire stopper une connection TCP, prcdemment tablie, entre deux stations (ici entre A et C). Il existe deux e e e techniques pour eectuer ce type dattaque, toutes les deux sont bases sur le Spoong e et sur les ags TCP. La premi`re utilise le ag RST (Reset) alors que la seconde utilise e le ag FIN (Fin). La seconde est plus dicile a mettre en oeuvre car elle exige que les `

CBPF-NT-007/00

numros de squence et dacknolegment soient tous deux corrects (ce qui nest pas le cas e e de la premi`re: seulement les numros de squence). e e e Voici donc comment fonctionne la mthode utilisant le ag RST (la seconde est base sur e e le mme principe avec le numro dacknolegment en plus): il faut tout dabord attendre e e un paquet en provenance de la station B a destination de la station A. Ensuite, il faut ` calculer ` partir du (ou des) paquets reus le numro de squence ` indiquer dans le paa c e e a quet, contenant le ag RST, que nous allons envoyer a la station C (rappel du calcul des ` numros de squence et dacknoledgment sur la gure 6). Il ne reste plus qu` envoyer le e e a dit paquet et la connection sera logiquement rompue.
A
Port X SYN SYN, ACK ACK TCP Connection {3 ways handshake}

B
Port Y

SEQ=x, ACK=y Time Data Exchange [principe] SEQ=y, ACK=x + data size

SEQ=1, ACK=8 data size = 2 bytes Data Exchange [example] SEQ=8, ACK=10

TCP Exchange

Figure 6: Connection et principe des changes dans le protocole TCP (Transport e Control Protocol).

Connection Hijacking : ce type dutilisation de lIP Spoong est relativement plus intressante (en terme dacc`s) que les deux prcdentes. La Connection Hikacking e e e e permet de sinltrer dans une connection TCP existante dans le but de lutiliser pour son propre intret. Pour cela, il faut qune connection TCP utilisant par exemple Telnet e soit dj` tablie entre deux stations (A et C dans notre cas). Comme toujours, nous ea e avons galement besoin dune troisi`me machine (B) pour analyser les paquets mis e e e sur le rseau. Cette technique ncessite plus de prcision que les deux prcdente e e e e e car il faut savoir jongler avec les numros de squence (SEQ) ainsi quavec les numros e e e dacknoldgement. Voici en quelques lignes comment fonctionne ce type dattaque: lobjectif de cette manipulation est de rcuprer une connection existante, on dit Hijacker une connection. Le e e protocole TCP spare les bons des mauvais paquets a laide de leurs numros SEQ/ACK. e ` e Si lon arrive a faire en sorte que la station C ne croit plus aux paquets de la station qui ` avait tablie la connection (station A) mais par contre aux paquets forgs par la station e e B (paquets spoofs en tant que station A) il est possible de continuer a proter de e ` la connection en utilisant des paquets de numros SEQ/ACK valides pour la station C. e Une fois arriv ` ce niveau, nous avons rcupr la connection: la station A est perdue ea e ee et la station C accepte sans probl`me nos donnes. e e

CBPF-NT-007/00

10

La question qui se pose alors est: Comment faire en sorte que la station A mette des pae quets dont les numros SEQ/ACK soient rejets par la station C ?. Il sut simplement e e dinsrer, au bon moment, dans le eau de donnes, un paquet supplmentaire que seuls e e e les stations B et C connaitront. Dans ce cas, le serveur C acceptera bien les donnes e et mettra ` jour le numro dacknoledgment (ACK). La station A continuera de tenter a e denvoyer des paquets avec lancien numro de squence (SEQ) qui ne seront donc plus e e accepts par le serveur B. La gure 7 prsente ` laide de paquets TCP le fonctionnement e e a de cette technique. Cette technique nest utile que pour pntrer les syst`mes utilisant des syst`mes dauthentie e e e cation de type One-Time Password. Lutilisation de ces syst`mes rend lutilisation des e techniques de Sning inoprantes car les mots de passe ne sont jamais transmis sur le e rseau (notion de Challenge, cf. Les mcanismes dauthentication). e e 4.3.2 Blind Spoong (BS)

La technique du Blind Spoong (aveugle) ncessite une tout autre conguration que pour e le Non Blind Spoong (cf. gure 8). Lavantage est quelle ne requi`re pas que lattaquant e (Hacker Server) soit capable de capturer les paquets mis par la station cible (Target Host). e Cest pourquoi cette technique est appelle aveugle. Lattaquant doit donc pouvoir prdire les e e paquets qui seront envoys par la station quil dsire attaquer. An dutiliser le Blind Spoong, e e il est ncessaire de conna les adresses IP de quatre stations: e tre La cible vise (Target Host). e Une machine de conance pour la cible vise (Trusted Host). e Une adresse dont la station nest pas accessible sur le rseau (unreachable). e Un attaquant. . . (Hacker Server). Lutilisation de cette technique est base sur le principe de la relation de conance quil est e possible dinstaurer entre deux machines a laide par exemple des syst`mes utilisant les chier ` e /etc/hosts.equiv ou les chiers ~/.rhosts. En utilisant ces mcanismes, lauthentication se e fera uniquement par vrication de ladresse IP (Internet Protocol) de la station qui demande e la connection (pas de vrication didentit ` laide dun mot de passe par exemple). Dans ce e ea contexte, le Spoong peut savrer intressant. . . . e e Lattaque a proprement parl va se drouler en cinq tapes bien distinctes: ` e e e Choix de la station cible (Target Host) selon des crit`res personnels: ds technique, e e vengeance,. . . Recherche et dcouverte dune station de conance (Trusted Host) (showmount, rpcinfo,. . . ). e Elimination de la station de conance et sampling des num`ros de squence TCP. e e Tentative de forgeage de paquets IP en tant que station de conance et connection sur la machine cible. Mise en place dune Backdoor (cf. section suivante). Le principe de fonctionnement est relativement simple, la station attaquante (Hacker Server) va tenter de se faire passer pour une station de conance (Trusted Host) aux yeux de la station cible (Target Host). Il sagit, une fois que la station de conance a t trouve, de ee e rendre inaccessible (unreachable) cette derni`re (` laide dun DoS par exemple) an quelle e a

CBPF-NT-007/00

Figure 7: Prsentation de la technique de Connection Hijacking ` laide e a dchanges de paquets TCP. Les trois premiers paquets changs entre le Client e e e (A) et le Serveur (C) montre le type de paquet transmis lors dune connection en telnet. Le paquet suivant provient de lattaquant (B) qui forge un paquet en se faisant passer pour la station A. Le serveur va alors, dans le paquet suivant, retourner les informations a la station A, ce paquet passera par la station B qui ` pourra alors renvoyer un acknoledgement. Les numros de squence (SEQ) et d ace e knoledgment ont donc changs et le client (A) ne peut plus alors envoyer des paquets e valides pour le serveur (C). . .

Client A 192.168.8.1 Port 1040 (> 1024) 1 byte (01) SEQ=5C8223EA, ACK=C34A67F6 ACK. PUSH (Shell Command)

Hacker B 192.168.8.194 = 192.168.8.1

Server C 192.168.10.23 Port 23 (telnet)

SEQ=C34A67F6. ACK=5C8223EB ACK. PUSH (Server Return) 0 byte (00) SEQ=5C8223EB. ACK=C34A67F7 ACK (Acknoledgment)

1 byte (01)

10 bytes (0A) SEQ=C34A67F7 ACK=5C8223F5 ACK, PUSH (Server Return) IGNORE ! SEQ/ACK invalids

SEQ=5C8223EB. ACK=C34A67F7 ACK. PUSH (Shell Command) 5 bytes (05) SEQ=5C8223F5, ACK=C34A67FC 5C8223F5= 5C8223EB + 0A

0 byte (00)

ACK (Acknoledgment)

10 bytes (0A) TimeOut

SEQ=5C8223EB, ACK=C34A67F7 ACK, PUSH (Shell Command) SEQ=5C8223EB, ACK=C34A67F7 ACK, PUSH (Shell Command) 5 bytes (05) SEQ=5C8223F5, ACK=C34A67FC ACK, PUSH (Shell Command)

C34A67FC= C34A67F7 + 05 Reject, bad SEQ/ACK

10 bytes (0A) 10 bytes (0A) Reject, bad SEQ/ACK

11

CBPF-NT-007/00

12

Figure 8: Exemple de conguration des stations lors dune attaque de type Blind Spoong. La station attaquante est le Hacker Server dadresse IP 194.206.11.194, la station inacessible (permettant lattaque de type Denial Of Service) est celle dadresse 195.202.202.90, la station de conance est 193.48.250.216 et enn, la cible 152.84.253.23 (derri`re une passerelle: 152.84.253.1). On pourra noter que les e adresses IP sont bien de sous-rseaux dirents. e e

CBPF-NT-007/00

13

ne puisse par interfrer avec la tentative dattaque. Ensuite, il est ncessaire dtablir une e e e premi`re connection avec la station cible an de se faire une ide prcise de ltat actuel des e e e e numros de squence (SEQ) et dacknoledgment. Pour cela, une simple connection sur un port e e TCP quelconque (SMTP par exemple), juste avant de lancer une attaque, permettra dobtenir le numro de squence initial fournit par la station cible (il sera judicieux deectuer cela plusieurs e e fois an galement dobtenir un RTT (Round Trip Time) moyen). A partir de l`, il est possible e a de tenter de forger un paquet IP (le plus rapidement possible) a destination de la station cible ` en se faisant passer pour la station de conance. Le probl`me tant que lattaquant ne voit e e pas les paquets qui vont tre mis par la station cible, il faudra donc quil arrive a les prdire e e ` e an de ragir en consquence. e e

4.4

Les Backdoors

Depuis que les intrusions informatique existent, leurs ad`ptes ont mis au point un certains e nombre de techniques leur facilitant lacc`s aux syst`mes pnrs. La technique la plus connue, e e e te et sans doute la plus utilise, est celle des Backdoors (portes drobes ou portes de service). Elles e e e permettent, a celui qui en connait lexistence et le fonctionnement, de revenir sur un syst`me ` e de faon dtourne, cest-`-dire sans passer par les mthodes dauthentication habituelles. c e e a e En r`gle gnral, les Backdoors permettent dirents types dactions sur le syst`me o` elles e e e e e u sont installe: e se reconnecter sur la machine mme apr`s un changement de mots de passe ou dajouts e e de syst`mes de scurit. e e e rendre invisible les connections et les actions ralises. e e faciliter lacc`s ` la station sans avoir ` utiliser des trous de scurit existants (security e a a e e holes). dranger le travail des utilisateurs par lenvoie de messages, la modication de chiers, e lachage dimages, la lecture de chiers son. . . excuter certaines commandes bien cibles permettant davoir une vision de ltat de la stae e e tion (processus, connections rseau, utilisateurs. . . ) ou de modier le contenu de certains e chiers de conguration (mots de passe, rseau,. . . ). e Il existe dirents types de Backdoors, certaines nont une utilit quune fois lacc`s ` la e e e a station accord, dautres permettent par exemple de contourner les dirents types de Firewalls. e e Voici quelques exemples de Backdoors frquemment trouves sur les syst`mes UNIX: e e e Password Cracking : il est possible de faire tourner (on dit aussi mouliner) un programme permettant de casser lencryption des mots de passe du syst`me (le logiciel e Crack par exemple). Ainsi, lintrus peut obtenir de nouveaux comptes sur la machine et tenter de sen servir sur dautres stations du rseau. Il est galement possible de rechercher e e les comptes qui ne sont jamais (ou tr`s rarement) utiliss et qui ont des mots de passe e e trop faciles. Il sagit ensuite de modier leurs mots de passe an de sassurer que ladministrateur ne les changera pas de sa propre initiative (en vriant les mots de passe e a ` laide du programme Crack par exemple). Rhosts + + : les service r* utilisent les adresses IP comme moyen dauthentication (cf. section sur les mthodes dauthentication). Les chiers ~/.rhosts permettent dindiquer e quelles sont les machines et les utilisateurs autorises ` se connecter sans autres formes e a dauthentication. Il est donc facile de rajouter dans ces chiers une entre permettant e dautoriser toutes machines et tous utilisateurs ` se connecter (lentre + +). a e

CBPF-NT-007/00

14

Login : en modiant le programme de login (chier login.c), il est possible dajouter un mot de passe ou un nom de login spcial permettant daccder au syst`me sans avoir de e e e vrications relles de lidentit de lutilisateur. e e e Telnetd : les administrateurs vrient frquemment le chier binaire de login sur les e e stations UNIX a laide de la commande strings (achage des cha ` nes dans un chier binaire). De ce fait, il peut tre prfrable de modier le chier in.telnetd en ajoutant e ee un compte spcial ou encore en vitant la procdure dauthentication si le terminal de e e e connection est dni selon un certains type. . . e Network Services : ce type de Backdoor est bas sur le mme principe que pour la e e prcdente. Il sagit de modier les dmons pour les services tels que FTP, rsh, rlogin, e e e finger,. . . Il est galement possible de crer son propre dmon avec un protocole rseau e e e e bien dni puis de le rajouter dans le chier de conguration /etc/inetd.conf. e Cronjob : la crontab permet de planier lexcution de certaines tches ` des heures e a a bien dnies. Il sut donc de lancer un dmon ` une certaine heure donne (durant la e e a e nuit de prfrence) donnant alors lacc`s au syst`me. On peut galement modier le code ee e e e source dun des programmes dj` xcuts par la crontab an quil fournisse ce type de eae e e service. Shared Library : pratiquement tous les syst`mes UNIX actuels utilisent des librairies e partages (Shared Library). Ces derni`res permettent la rutilisation de routines sans avoir e e e a ` les intgrer directement dans le chier binaire. Il est donc possible de modier certaines e routines utilises par les procdures dauthentication (la fonction crypt() par exemple) e e pour que dans certaines conditions elles accordent lacc`s sans relles vrications. e e e System Kernel : le noyau (Kernel) est la base dnissant comment le syst`me tout entier e e fonctionne. Il est donc galement possible de tenter dinclure certaines fonctions dans le e noyau agissant en tant que Backdoors. File System : ce type de Backdoor ne vise pas ` conserver le contrle de la station mais a o y participe activement en permettant de cacher certains chiers et rpertoires o` sont e u gnralement stock les programmes utiliss par les Hackers. Il faut donc modier les e e e e programmes comme ls, du, fsck,. . . an de masquer ces chiers et rpertoires. e BootBlock : il est possible de rajouter, dans le BootBlock du syst`me, des morceaux de e code visant ` donner acc`s au syst`me sans aucune authentication apr`s un redmarrage. a e e e e Process Hiding : limportant pour un intrus est de ne pas se faire reprer par un admine istrateur un peu trop curieux. Les processus sont la premi`re chose qui pourrait le trahir. e Pour viter cela, il faut modier le programme ps (le programme top galement) an que e e certains processus napparaissent pas lors de lachage des processus sur le syst`me. On e peut, plus facilement, renommer les programmes ou encore modier la variable argv[] dans un programme crit en langage C. e Il est facile de trouver sur Internet des archives combinant plusieurs de ces Backdoors, se sont les RootKits. Chaque syst`me en poss`de une ddi an dtre assur de son bon fonctione e e e e e nement. En plus de ces Backdoors, les Hackers tiennent a ne pas laisser de traces au niveau de leurs ` activits sur le reau. Une connection sur le port telnet (23) est souvent monitore et donc e s e visible pour ladministrateur, il en est de mme pour les routeurs qui dnissent des rgles de e e e ltrage qui ne laisseront pas passer une connection de ce type de lextrieur vers lintrieur e e du rseau. Un certains nombre doutils ont donc t dvelopp an de contourner ce type de e ee e e

CBPF-NT-007/00

15

probl`me. Ils utilisent, souvent, le mme principe que le remote login (rlogin) mais avec des e e ports suprieurs ` 1024 (ports souvent moins contrls et ne faisant pas partie des ports dits e a oe scuriss.) ainsi quun protocole rseau propritaire. Voil` les trois grandes familles de Shell e e e e a Backdoors que lon peut actuellement trouver: TCP Shell : il est possible dinstaller des remote shells sur des ports TCP susament levs (High Port Numbers) pour ne pas tre contrls par le routeur ou monitors par e e e oe e le syst`me de logs. Cela permet souvent de pouvoir viter les Firewalls. Il est galement e e e possible de modier un dmon TCP (comme SMTP par exemple) an quil puisse fournir e dautres services que ceux pour lesquels il tait destin: shell, excution de commandes,. . . e e e UDP Shell : en r`gle gnral le trac TCP est relativement contrl, certains Hackers e e e oe prf`rent donc contourner le probl`me en utilisant le protocole UDP (User Datagram ee e Protocol). Par exemple, il est intressant dinstaller des Backdoors sur les services relevant e du DNS (named ou bind) car ils utilisent le port 53 (domain) qui est rarement contrl oe tant par les ltres que par les syst`mes de logs. e ICMP Shell : la commande ping est sans aucun doute la plus utilise lorsquil sagit de e vrier la prsence dune station sur le rseau. Il est possible de modier le contenu des e e e paquets ICMP an de permettre lchange de donnes ` travers ce protocole. Ntant pas, e e a e a ` lorigine, un protocole dchange de donnes mais dinformations, lICMP est rarement e e stopp par les Firewalls et encore plus rarement monitor. e e En plus de cela, il est tr`s courant aujourdhui dutiliser des algorithmes de cryptage rendant e encore plus dicile la dcouverte des Backdoors car ladministrateur ne peut pas comprendre e les donnes qui sont changes et donc ragir en consquence. e e e e e Ce type de probl`me est tr`s frquent sous les syst`mes UNIX mais aujourdhui, avec la e e e e monte en puissance dInternet, les syst`mes qui ntaient pas destins aux rseaux les subissent e e e e e galement. Les programmes comme BackOrifice du CDC (Cult of the Dead Cow) ou encore e NetBus permettent dagir a distance sur les syst`mes Microsoft (9x/NT/2000): messages, cap` e tures dcran, redmarrage, ouverture du lecteur de CD, excution de programmes,. . . e e e Bien entendu, un administrateur peut envisager dinstaller un certain type de Backdoor an, par exemple, de rcuprer rapidement le contrle de son syst`me apr`s une intrusion ou davoir e e o e e une vue gnral de ltat dune station. Dans ce cas, lutilisation de Backdoors peuvent savrer e e e e utile mais il sagit alors de bien les concevoir et de les garder secr`tes an que leur utilisation e ne soit pas dtourne. e e

4.5

Remote Buer Overow Exploits

La fonction principale dun processeur est de traiter et de dplacer des donnes. Lors de e e ces traitements, le processeur a besoin dun emplacement an de sauvegarder rapidement les donnes traites. La taille des registres ne permet pas ` ceux-ci de jouer ce rle. Ces infore e a o mations sont donc sauves, ` laide de commandes spciques et plus rapides, dans une zone e a e mmoire appelles pile. Elle est stocke en mmoire ` une adresse spcique (qui peut-tre e e e e a e e change) et est de taille variable. e 4.5.1 Structure de la pile

Voil`, bri`vement, comment fonctionne le processeur a ce niveau: si le registe N est utilis a e e et quune sous-procdure est excute et quelle requi`re lutilisation de ce mme registre (N), e e e e e le processeur doit sauver le contenu de ce registre dans la pile an de pouvoir le restaurer apr`s e

CBPF-NT-007/00

16

-2048 bytes -1024 bytes SP +4 bytes +8 bytes

local array1[1024] local array2[1024] base pointer return @ parameters

size 1024 bytes size 1024 bytes size 4 bytes size 4 bytes size 4 bytes

Figure 9: Exemple de pile contenant deux tableaux, le pointeur de pile (SP) et ladresse de retour.

la terminaison de la sous-procdure. Pour cela, le processeur doit conna ladresse de retour e tre lorsque la sous-procdure se termine. Cette adresse est donc galement sauve dans la pile avant e e e son excution. Lorsque la sous-procdure se terminera le processeur sautera (jump) a ladresse e e ` de retour prcdemment stocke dans la pile. La pile a une seconde utilite, celle de stocker en e e e e mmoire les nouvelles donnes cres ou reues par le programme. e e ee c NB: La gestion des entres/sorties dans la pile utilise la mthode du LIFO (Last In - First Out) e e 4.5.2 Abuser ladresse de retour

Lors de lexcution de la procdure le processeur sauve ladresse de retour dans la pile, lorsque e e la procdure se terminera le processeur retournera ` ladresse spcie et continuera son travail... e a e e Si (par hasard !) une procdure crivait plus doctets (bytes) dans une variable locale an que e e la taille ncessaire ` son stockage dans la pile dpasse celle de ladresse de retour, on appellerait e a e ceci un Buer Overow. En reprenant la structure de pile prcdente et en inscrivant 1032 fois e e le caract`re X dans le tableau local array2, la procdure va alors dpasser sa propre adresse e e e de retour (cf. gure 10).

-2048 bytes -1024 bytes SP +4 bytes +8 bytes

local array1[1024] 1024 times "X" 4 times "X" 4 times "X" parameters

size 1024 bytes size 1024 bytes size 4 bytes size 4 bytes size 4 bytes

Figure 10: Exemple de Buer Overow en saturant le tableau array2 ainsi que le Stack Pointer et ladresse de retour de sous-procdure. e

CBPF-NT-007/00

17

Au lieu de stupidement inscrire des caract`res ` ladresse de retour, il serait plus judicieux e a (et plus intressant) dindiquer une nouvelle adresse mmoire dans la pile. Il sera alors possible e e dindiquer au programme une nouvelle adresse de retour contenant un code totalement dirent. e Le programme sautera alors automatiquement ` ladresse spcie. . . Cela sav`re dautant plus a e e e intressant lorsque lon arrive a forcer le programme a sauter vers une adresse o` est situ un e ` ` u e code assembleur destin par exemple ` excuter un shell UNIX (/bin/sh). e a e

-2048 bytes -1024 bytes SP +4 bytes +8 bytes

local array1[1024] our code (asm_sh) 4 bytes of crap adress of our code parameters

size 1024 bytes size 1024 bytes size 4 bytes size 4 bytes size 4 bytes

Figure 11: Utilisation dun Buer Overow an de rcuprer un shell UNIX. Le e e tableau array2 contient le code assembleur permettant lappel au chier /bin/sh donnant alors la possiblit dutiliser le syst`me ` des ns dtournes. e e a e e

Lutilisation des Buer Overow sav`re tr`s intressante (pour un Hacker ) lorsquelle est e e e applique ` des programmes o` le Sticky Bit est activ (programmes SUID). Ce mode spcial e a u e e de certains programmes UNIX permet leur excution sous un autre nom dutilisateur (souvent e root). Il est alors possible de rcupre un compte administrateur (root) ou encore dexcuter e e e une commande quelconque sur le syst`me. . . e

4.5.3

Pourquoi Remote ?

Ce qui a t expos prcdemment concerne le principe de fonctionnement des Buer Overee e e e ow, ces derniers peuvent tre utiliss localement ou par lintermdiaire dun rseau informae e e e tique. Ils permettent alors a des attaquants de pntrer les syst`mes informatiques sans avoir ` e e e recours aux mthodes dauthentication conventionnelles. Ce type dattaque nest pas encore e tr`s frquent car les programmes capables de les raliss sont tr`s diciles ` mettre au point e e e e e a (transmission des informations, dure, ractivit,. . . ). Cependant, un certains nombre de proe e e grammes capables de raliss ce type dattaque existent. On pourra par exemple citer les proe e grammes visant les services FTP ou DNS. . .

Et maintenant ?
` ce niveau, tous le rseau est compromis, cest ltat de si`ge a e e e Les objectifs des intrus peuvent, comme nous avons pu le voir Dans (pratiquement) tous les cas, lobjectif nal est de rcuprer e e machines cibles et de le garder le plus longtemps possible. Il va

Lorsquun intrus est arriv e ! Que va-t-il faire a prsent ? ` e prcdemment, tre tr`s varis. e e e e e un contrle total sur la, ou les, o

CBPF-NT-007/00

18

donc falloir vincer le personnel charg de ladministration et de la gestion du rseau et sassurer e e e un retour ais ` la prochaine connection. ea

5.1

Rcupration dautres comptes e e

En r`gle gnrale, la premi`re opration consiste ` obtenir dautres voies dacc`s au syst`me e e e e e a e e et cela par lintermdiaire de dirents comptes dutilisateurs. Pour cela plusieurs techniques e e peuvent tre utilises, voici une prsentation, non exhaustive, de quelques une: e e e Cassage (Cracking) des mots de passe contenus dans le chier /etc/passwd (version accessible aux utilisateurs classiques, dans le cas des chiers /etc/shadow par exemple, lacc`s au compte root est requis). Cette mthode a linconvnient majeur de ncessiter e e e e beaucoup de temps car il faut tester toutes les possiblits de mots de passe, de les e encrypter et de les comparer avec ceux contenu dans le chier prcdemment rcuprer. e e e e Des logiciels spciques permettent de raliser cette tche: Crack 5.0 ou encore John The e e a Ripper 1.6. Une politique et un contrle correct des mots de passe rend cette mthode o e sans fondement ! Espionnage des connections dutilisateurs (TTY Snoop), cette technique reprend le principe des Backdoors, il sagit par exemple de changer le chier binaire du programme de login an qu` chaque connection le couple login/password soit envoy ` une adresse ou stock a ea e dans un chier sur le syst`me. Il est tr`s facile de raliser un programme permettant e e e de raliser cette opration. Ce type de probl`me est facilement vitable en utilisant des e e e e programmes calculant des checksums sur chaques chiers importants du syst`me et en e les vriant frquemment (ex: TripWire). e e /* Login Trojan (/bin/login) */ /* Inscrit dans /home/Ofh/toto le login/password de celui qui lutilise */ /* Triton(c) - 1998/2000 */ #include <stdio.h> void main(void) { char *name[80]; char *pw[20]; char *prompt[20]; FILE *strm; printf("\033[2J") printf("Welcome to Nasca...\n"); printf("On a Linux 2.2.13 Powered.\n\n"); printf("Nasca login: "); scanf("%s", &name); strcpy( prompt, name ); strncat( prompt, "s Password: ", strlen("s Password: ")); strcpy( pw, ( char * )getpass(prompt)); strm = fopen("/home/Ofh/toto","a"); if( strm == NULL ) { strm = fopen("/home/Ofh/toto", "w" );

CBPF-NT-007/00

19 } fprintf( strm, "User: (%s), Password: [%s]\n", name, pw ); fclose( strm ); printf("Bus Error - core dumped\n"); exit(1);

Espionnage du rseau local (Sning), cette technique tr`s utilise actuellement ne peute e e tre mise en dfaut que par lutilisation du cryptage. Il sagit de capturer toutes les e e trames qui circulent sur le rseau en congurant linterface rseau de la station dans un e e mode spcial, promiscious, qui permet de recevoir toutes les trames qui circulent sans pour e autant en tre le destinataire. Il est alors possible de rcuprer les comptes des utilisateurs e e e utilisant FTP ou Telnet par exemple. Connection Telnet de 192.168.9.194 vers 192.168.8.197 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -------------------------------------192.168.9.194[1093]->192.168.8.197[23] -------------------------------------BDEDBH @M#L^@^@^@^@ACCyyu^CyuXyu_yu yuy!yu^@LINUXyXyLINUXyyAyuAfrank^M @frank21^M@frank21^M@frank21^M@frank21^Mexit^@ (ici on peut trouver le compte et le mot de passe: frank/frank21) -------------------------------------192.168.8.197[23]->192.168.9.194[1093] -------------------------------------telnet (aix) AIX Version 4 (C) Copyrights by IBM and by others 1982, 1996. login: frank franks Password: 3004-610 You are required to change your password. Please choose a new one. franks New password: Enter the new password again: ******************************************************************************* * * * * * Welcome to AIX Version 4.2! * * * * * * Please see the README file in /usr/lpp/bos for information pertinent to * * this release of the AIX Operating System. * * * * * *******************************************************************************

CBPF-NT-007/00

20

% exit

Buer Overow, il est tr`s frquent dutiliser des Buer Overow an de rcuprer le e e e e compte de ladministrateur du syst`me (but ultime). Il existe un nombre impressionant e de programmes permettants lutilisation de cette technique malgr`s toutes les mises ` jour e a ou patches proposs par les constructeurs. Cette mthode est sans nulle doute lune des e e plus utilise et des plus dicile ` dtecter. e a e Maintenant que lintrus est pass ma e tre ` bord, il lui faut sassurer une certaine prnit a ee e an de ne pas tre drang et surtout dlog de sa position. Pour cela il mettra en oeuvre e e e e e les direntes techniques qui ont t prsentes mais de plus, il lui faudra prter attention aux e ee e e e dirents mcanismes de traage installs par les administrateurs (syslog, accton,. . . ). e e c e

5.2

Laisser place nette

Rentrer, sortir, traquer le syst`me, chercher des informations, utiliser des exploits,. . . peuvent e tre des occupations passionantes mais laissent des traces visibles par un administrateur cone sciencieux. En r`gle gnral les mcanismes de tracabilit sont souvent dlaisss car les admine e e e e e e istrateurs voient simplement en eux des chiers volumineux et inutiles en temps normal (ce qui nest pas enti`rement faux). Malgr`s tout, ces chiers sont tr`s utils en cas de probl`mes, que e e e e ce soit du fait dune tentative dintrusion ou dun probl`me technique. Ils ont pour but daider e ladministrateur a grer correctement ses stations. ` e Le mcanisme le plus connu sous UNIX est sans aucun doute le dmon syslogd qui permet e e denregistrer des informations relatives au syst`me et aux dirents processus tournant sur la e e machine. Cela peut aller de la simple tentative de login a des messages de debugging de cer` tains dmons. Dautres programmes permettent dassurer des fonctions de logging plus pousss e e comme par exemple le programme daudit accton tr`s rpandu sur les syst`mes SUN mais e e e rarement congur. Sur certains syst`mes il est galement possible de trouver dautres types e e e de programmes de logs permettant par exemple danalyser en temps rel le trac rseau ou les e e direntes tentatives de connection. En plus de ces divers mcanismes, le syst`me UNIX tient e e e en r`gle gnral une base dinformations concernant les direntes tentatives et russites/checs e e e e e e de login sur le syst`mes dans les chiers *tmp (utmp & wtmp). e Les Hackers ont mis au point dirents programmes permettant de retirer leurs traces dans e les dirents chiers de log prsent sur le syst`me. Ces programmes sont plus ou moins caces e e e e mais dans tous les cas il est prfrable de maintenir une sauvegarde distante de tous ces chiers ee sur une machine non accessible a partir du rseau. ` e

Conclusions

Actuellement, le probl`me est de correctement dnir les risques engendrs par la criminalit e e e e informatique. Il faut pour cela avoir une vision globale du probl`me et conna globalement e tre les techniques utiliss par les nouveaux ibustiers. Il sagira ensuite danalyser correctement les e vulnrabilits propre a chaque site, de dnir le niveau de scurit requis et enn de mettre en e e ` e e e place une politique de scurit acceptable. Lors de cette tape il faut bien veiller ` examiner le e e e a probl`me tant du ct de ladministrateur que de celui du simple utilisateur an de ne pas en e oe crer de nouveaux. . . e

CBPF-NT-007/00

21

Rfrences ee
[1] Simson Garnkel & Gene Spaord, Practical UNIX & Internet Security, OReilly & Associates, Second Edition, 1996, ISBN 1-56592-148-8. [2] Lars Klander, Hacker Proof - The Ultimate Guide to Network Security, Jamsa Press, 1997, ISBN 1-884133-55-X. [3] David Rudder, Firewall and Proxy HOWTO, 1997. [4] Hans Husman, Introduction to Denial-of-Service, 1996. [5] Philippe Leroy & Jrme Thorel, Les clefs pour une scurit matrise, Plan`te Internet, 17 : eo e e e e 56-65, 1997. [6] Ajay Kumar Gummmadi et al, Advanced Networking Security - Final Report, 1996. [7] Chuck Semeria, Internet Firewalls and Security - A Technology Overview, 3Com Corporation, 1996. [8] Brecht Claerhout, A short overview of IP spoong, 1996. [9] Deamon9, Route, Innity, IP-spoong Demystied, Phrack Magazine, 7, 1996. [10] CERT Coordination Center, TCP SYN Flooding and IP Spoong Attacks, CA-06.21, 1998. [11] Rick Farrow, Sequence Number Attacks, 1997. [12] Steven M. Bellovin, Defending Against Sequence Number Attacks, Network Working Group - RFC1948, 1996. [13] W. Richard Steven, TCP/IP Illustrated - Volume 1, Addison-Wesley, 1993, ISBN 0-20163346-9. [14] Steven M. Bellovin, Security Problems in the TCP/IP Protocol Suite, Computer Communications Review, 19.2 : 32-48, 1989. [15] Edward W. Felten, Dirk Balfanz, Drew Dean, and Dan S. Wallach, Technical Report 540-96, Department of Computer Science - Princeton University, 1996. [16] Robert T. Morris, A Weakness in the 4.2BSD UNIX TCP/IP Software, AT&T Bell Laboratories, 1985. [17] D. Brent Chapman, Network (In)Security Through IP Packet Filtering, Great Circle Associates. [18] Steven M. Bellovin, Packets Found on an Internet, 1993. [19] Steven M. Bellovin, There Be Dragons, In Proceedings of the Third Usenix UNIX Security Sympisum, 1992. [20] CERT Coordination Center, IP Spoong Attacks and Hijacked Terminal Connections, Advisory CA-95.01, 1997. [21] P. Ferguson & D. Senie, Network Ingress Filtering : Defeating Denial of Service Attacks which employ IP Source Adress Spoong, Network Working Group - RFC2267, 1998. [22] Laurent Joncheray, A Simple Active Attack Against TCP, Merit Network Inc., 1995. [23] IDA Architecture Guidelines - Part IV, Security Tutorial - Cryptography and Authentication services, Version 3.2.1, 1998. [24] N. Haller, C. Metz, P. Nesser, M. Straw, A One-Time Password System, Network Working Group - RFC2289, 1998. [25] J. Kohl, C. Neuman, The Kerberos Network Authenticatin Service (V5), Network Working Group - RFC1510, 1993.

CBPF-NT-007/00

22

[26] T. Ylonen, The SSH (Secure Shell) Remote Login Protocol, Network Working Group - Draft SSH Protocol 00, 1995. [27] Craig Hunt, TCP/IP Network Administration, OReilly & Associates, Second Edition, 1997, ISBN 1-56592-322-7. [28] Bill Cheswick, An Evening with Berferd in which a Cracker is Lured, Endured, and Studied, USENIX Proceedings, 1990. [29] Christopher Klaus, Backdoors, Technical Report, 1997. [30] Van Hauser, Placing Backdoors Through Firewalls, THC [The Hackers Choice], 1998. [31] Dan Farmer & Wietse Venema, Improving the Security of Your Site by Breaking Into it. [32] J. Reynolds & J. Postel, Assigned Numbers, Network Working Group - RFC1010, 1987. [33] THC [The Hackers Choice], Stack Overow Exploits on Linux, BSDOS, FREEBSD, SunOS, Solaris, HP-UX, 1996. [34] Aleph One, Smashing The Stack For Fun And Prot, Phrack 49 le 14, 1999.