haute interaction
CHAPITRE 3. D´ EVELOPPEMENT D’UN POT DE MIEL HAUTE INTERACTION
3.4.2 L’observation des activit´ es des attaquants
Le but d’un pot de miel est la collecte d’informations sur les activit´es des
atta-quants. Pour r´ealiser cette collecte, le pot de miel est instrument´e. En ce qui concerne
notre pot de miel haute interaction, l’instrumentation doit ˆetre pens´ee de mani`ere
`a collecter, entre autres, les caract`eres qui transitent dans les connexions ssh. Pour
savoir de quelle mani`ere cette collecte doit ˆetre men´ee, nous nous penchons sur ce
que nous savons, a priori, des attaquants humains. Ensuite, nous rappelons le
fonc-tionnement d’une connexionssh. Pour finir, nous pr´esentons diff´erentes mani`eres de
collecter les caract`eres ainsi que celle que nous adoptons.
3.4.2.1 Remarques pr´eliminaires
Les attaquants, lorsqu’ils p´en`etrent un syst`eme, ne cherchent pas forc´ement `a
´eveiller les soup¸cons. Cacher leur activit´e peut mˆeme ˆetre l’un de leurs principaux
soucis. Si le moyen de cacher leur connexion leur est offert, ils l’utiliseront
proba-blement. Les attaquants peuvent donc communiquer avec leurs cibles au travers de
connexions chiffr´ees. De la sorte, ils masquent un minimum leurs activit´es. Leurs
cibles proposent souvent en standard les librairies n´ecessaires pour r´ealiser ce genre
de connexions. Citons, par exemple, la librairie SSL sur les syst`emes d’exploitation
Unix. Dans le cas contraire, il peut ˆetre ais´e pour les attaquants de t´el´echarger et
d’ex´ecuter sur leurs cibles – et dans les pr´emices de leurs attaques – un programme
qui embarque ces librairies. Les connexions chiffr´ees rendent difficile l’´etude de
l’acti-vit´e des attaquants. Or, les renseignements qui transitent au travers de ces connexions
– et qui sont interpr´et´es par le pot de miel – sont d’une grande importance pour
col-lecter des informations sur les activit´es des attaquants au sein du pot de miel. Afin
d’assurer un minimum d’observabilit´e, nous devons consid´erer ce probl`eme et trouver
une mani`ere de visualiser le contenu de ces connexions.
3.4.2.2 Fonctionnement de ssh
Avant d’entrer dans le cœur de cette probl´ematique, rappelons le fonctionnement
du servicessh. La figure 3.3 donne la s´equence suivie pour l’´echange de cl´e utilis´ee par
CHAPITRE 3. D´EVELOPPEMENT D’UN POT DE MIEL HAUTE INTERACTION
ce protocole[YL06]. Tout d’abord, un client, qui d´esire se connecter `a distance sur un
serveur, envoie une requˆete aupr`es du serveur. Se d´eroule alors l’´etape de n´egociation
de la m´ethode `a utiliser pour le chiffrement des donn´ees. Ensuite, le serveur envoie
des informations sur le corps dans lequel le chiffrement sera r´ealis´e, p et g. Le client,
`a la r´eception de ces donn´ees, g´en`ere al´eatoirement une variable x. En aucun cas
cette valeur ne doit circuler en clair sur le r´eseau. Par contre, la valeur g
xmod p
est envoy´ee. Que cette derni`ere valeur circule en clair n’est pas un probl`eme : une
bonne partie de la s´ecurit´e de ssh repose sur la difficult´e – voire l’impossibilit´e – de
retrouver la valeur x `a partir de g
xmod p,p et g (probl`eme du logarithme discret).
Le serveur, d`es reception de g
xmod p, g´en`ere `a son tour une valeur al´eatoire, y, et
envoie g
ymodp au client. D`es `a pr´esent, la valeur secr`ete g
xymod p, nomm´ee cl´e
de session, peut ˆetre calcul´ee par les deux protagonistes de la communication. La cl´e
de session sera employ´ee en tant que cl´e de chiffrement dans le protocole sym´etrique
de chiffrement n´egoci´e pr´ec´edemment. Cet ´echange se nomme l’´echange de cl´e
Diffie-Hellman[MW98].
Fig. 3.3 – L’´echange de cl´e Diffie-Hellman
3.4.2.3 Moyens d’observation des connexions ssh
Pour visualiser le contenu des connexions chiffr´ees, nous pouvons adopter plusieurs
solutions diff´erentes. La premi`ere consiste `a r´ealiser une instrumentation en modifiant
directement les logiciels install´es sur le pot de miel, tels que le syst`eme d’exploitation.
Cette approche, souvent utilis´ee, pr´esente l’inconv´enient majeur d’ˆetre facilement
d´e-tectable par les attaquants. Par cons´equent, elle peut modifier le comportement des
attaquants. La seconde solution consiste `a se baser uniquement sur les traces r´eseau
afin d’en d´eduire les activit´es au cœur du pot de miel. Elle se base sur des notions de
cryptanalyse, et le plus souvent sur les biais statistiques introduits par les algorithmes
de chiffrement dans les programmes permettant les connexions chiffr´ees. La
pr´esen-tation de SEBEK, dans la section 3.3, nous a familiaris´e avec la premi`ere solution.
Penchons-nous sur la seconde solution.
Dans [SWT01], l’auteur propose une m´ethode statistique d’´etude des connexions
chiffr´ees, dans le but d’inf´erer le contenu de ces connexions. Cette m´ethode est illustr´ee
La m´ethode pr´esent´ee dans [SWT01] s’appuie sur les constatations suivantes :
– Un clientssh envoie un paquet r´eseau par touche press´ee par l’utilisateur, pour
assurer un haut niveau d’interactivit´e. Autrement dit, l’´emission d’un paquet
r´eseau correspondant `a la pression d’une touche n’est pas temporis´ee.
– La dur´ee entre les ´emissions de deux paquets cons´ecutifs, du cˆot´e de l’utilisateur,
d´epend des deux touches press´ees. Par exemple, cette dur´ee est tr`es faible pour
la s´equence de touches (v, o) (emploi d’un doigt de chaque main) et plus ´elev´ee
pour la s´equence de touches (v, r) (emploi du mˆeme doigt de la main gauche).
Fig.3.4 – M´ethode d’inf´erence du contenu de connexions chiffr´ees
La figure 3.4 illustre cette m´ethode. En disposant (1) des distributions de
proba-bilit´es des dur´ees entre ´emissions de deux touches cons´ecutives pour chaque couple
de touches et (2) des dur´ees entre les ´emissions des paquets cons´ecutifs, il est alors
possible de d´eterminer le contenu de ces paquets, avec plus ou moins de certitude. Un
attaquant peut observer un r´eseau, collecter les paquets ´echang´es lors d’une connexion
s´ecuris´ee entre un serveur et un utilisateur et utiliser cette m´ethode pour en extraire
des informations int´eressantes (des mots de passe par exemple). Nous pourrions
uti-liser ces m´ethodes – `a notre tour – pour instrumenter un pot de miel sans modifier
les logiciels install´es sur ce pot de miel. Mais cette m´ethode est lourde. Non
seule-ment elle ne permet pas d’obtenir des informations avec certitude, mais elle doit ˆetre
calibr´ee en fonction de la vitesse de frappe de l’attaquant observ´e (ne permettant
pas d’observation en temps r´eel). De plus, dans notre cas, nous disposons du contrˆole
de la machine qui va ˆetre cibl´ee par l’attaquant. Donc, pour observer l’activit´e des
attaquants qui utilisent des connexions chiffr´ees, nous pouvons modifier l´eg`erement le
pot de miel, au lieu d’utiliser cette m´ethode.
Comme modification, nous pourrions tr`es bien employer la m´ethode “homme au
milieu” (en anglais,man in the middle). Cette m´ethode utilise le concept de “proxy”
en ins´erant un serveur entre le client et le serveur pour intercepter les acc`es au service
sshdu serveur[ste01]. Dans notre cas, nous pourrions intercepter les acc`es au pot de
miel, par l’attaquant, afin de r´ecup´erer les frappes de touches de cet attaquant. Mais,
plˆutot que de d´eployer un tel outil, il pourrait nous suffire de disposer de la cl´e de
session utilis´ee pendant la communication,g
xymod p. Pour ce faire, une modification
minime du serveurssh pourrait suffire. Cette modification consiste `a rendre
pr´edic-tive la g´en´eration de la valeur al´eatoirey par le serveur. Nous disposerions alors des
valeursp,g etg
xmodp qui circulent en clair sur le r´eseau et de la valeury. Il serait
CHAPITRE 3. D´EVELOPPEMENT D’UN POT DE MIEL HAUTE INTERACTION
alors possible de calculer g
xymodp, pour ainsi d´echiffrer les ´echanges entre les
atta-quants et le serveur ssh du pot de miel. Cette approche est moins d´etectable que la
modification des logiciels install´es sur le pot de miel mais elle se trouve limit´ee par un
point important. Un attaquant peut installer sur le pot de miel ses propres librairies
de chiffrement. Dans ce cas, nos modifications seront inutiles et nous nous trouverons
dans l’impossibilit´e de d´echiffrer les connexions. Reconstituer l’activit´e de l’attaquant
sera alors irr´ealisable. Cette solution n’est donc pas suffisante. Nous devons `a nouveau
consid´erer une modification plus importante.
Effectuer une importante modification sur le pot de miel consiste `a transformer
les logiciels install´es. Bien entendu, pour ce faire, nous n’allons pas modifier tous les
programmes du syst`eme de fichiers en utilisant les techniques deHijacking. Le travail
serait trop long et cette strat´egie est facile `a contourner par le t´el´echargement sur le
pot de miel de nouveaux fichiers ex´ecutables. Nous allons donc adopter la strat´egie
r´epandue qui consiste `a modifier le noyau du syst`eme d’exploitation. Deux approches
existent. La premi`ere consiste `a cr´eer un greffon `a appliquer au noyau du syst`eme
d’exploitation et la deuxi`eme consiste `a utiliser un module `a ins´erer dynamiquement
dans le noyau. Nous avons opt´e pour la premi`ere approche, afin d’obtenir un bon
niveau de transparence. Les impl´ementations pr´esent´ees dans la section 3.3 r´ealisent
de telles transformations. Elles emploient des techniques bien connues des attaquants.
Elles sont, de ce fait, facilement d´etectables. De plus, la plupart emploient des
mo-dules `a charger dynamiquement. Nous allons donc tenter de cr´eer une impl´ementation
originale, sous forme d’un greffon.
Le greffon va op´erer `a plusieurs niveaux. Il va modifier deux routines du noyau. La
premi`ere concerne l’ex´ecution des programmes. La seconde concerne la communication
avec un utilisateur distant. En plus de ces modifications, il est n´ecessaire de donner
la possibilit´e `a l’administrateur du pot de miel d’enrichir les informations collect´ees.
Cette capacit´e donne un bon niveau de flexibilit´e au pot de miel. Elle est r´ealis´ee
par le greffon en enrichissant le noyau d’un nouvel appel syst`eme permettant `a des
processus ex´ecut´es au niveau de l’espace utilisateur de stocker des informations au
niveau de l’espace noyau. Des programmes qu’il nous semble pertinent de modifier
peuvent profiter de cet appel syst`eme. L’un de ces programmes est ssh. Nous l’avons
modifi´e de mani`ere `a r´ecup´erer des informations sur les tentatives de connexions (nom
d’utilisateur, mot de passe, adresse de l’attaquant...).
Dans le document
Observation, caractérisation et modélisation de processus d'attaques sur Internet
(Page 87-90)