Caract´erisation des attaques observ´ees sur le pot de miel haute interaction 

Télécharger le fichier pdf d’un mémoire de fin d’études

Naissance de la piraterie

Le programme Elk Cloner est le premier a` s’ˆetre r´epandu hors d’un laboratoire, en 1982, avant mˆeme la formalisation des virus[Ove07]. Son cr´eateur, un ´etudiant de 15 ans, lui donna la capacit´e d’infecter un ordinateur au d´emarrage, depuis une disquette infect´ee. En 1983, Fred Cohen d´eveloppa, `a des fins de recherche, un des premiers programmes poss´edant la capacit´e d’infecter d’autres programmes et de se reproduire[Coh87]. Leonard Adleman baptisa ce programme virus[Adl90].
En 1988, le premier ver ayant une conception adapt´ee pour Internet fit son appa-rition. Ce ver nomm´e Morris, du nom de son concepteur, causa de gros d´egats en raison de la forte connectivit´ des machines sur Internet. Sa vitesse de propagation importante suscita l’int´erˆet des pirates informatiques. Depuis, elle a nettement et´ augment´ee. Des travaux ont montr´e qu’il est possible, en th´eorie, d’infecter plus de 300 000 machines en moins de 15 minutes[SPW02]. Cette vitesse, bien que th´eorique, a et´ approch´ee par le ver Code Red, lanc´e `a l’encontre des serveurs Web de Microsoft en 2001. Il a infect´ plus de 350 000 machines en moins de 14 heures[pro].
Les virus n’ont cess´ d’´evoluer[CR04, Fil04]. Ils profitent de nouveaux vecteurs de propagation. En 2005, le premier virus sur t´el´ephones mobiles a et´ d´etect´ : Commwar-rior. Il utilise la technologie des Mms pour se r´epandre. Ces logiques malignes ne sont pas les seules armes des pirates informatiques. Les attaques par d´eni de service sont aussi tr`es r´epandues. Elles visent `a inonder un serveur de requˆetes afin de le rendre in-disponible. De nombreux serveurs sur Internet en sont victimes : Google, Microsoft, le site du Pentagone, etc. Le nombre d’incidents report´ n’a cess´e d’augmenter[CER07], tout comme le nombre de vuln´erabilit´es identifi´ees. Les pirates informatiques sont om-nipr´esents sur Internet et plus organis´es. Ils se regroupent en communaut´es. L’une des communaut´es les plus c´el`ebres est le « Cult of the death Cow ». Ce groupe allemand de pirates est `a l’origine de plusieurs outils destin´es aux pirates et aux administrateurs de syst`emes informatiques. Le piratage est un ph´enom`ene de soci´et´ tr`es complexe.

Motivation des pirates informatiques

Internet tient une place de plus en plus importante dans le commerce, les loi-sirs et la vie politique. Il constitue un lieu privil´egi´ pour les pirates informatiques. Le pourquoi de leurs agissements trouve sa r´eponse au niveau de leurs motivations. Elles peuvent ˆetre de plusieurs natures[Des03]. Elles r´ev`lent soit des ambitions ´eco-nomiques, soit des positions politiques, soit une curiosit´e simplement ludique.
Pour les trafics de drogue, d’armes et d’argent, le recrutement d’interm´ediaires brouille les pistes. Certains d’entre eux, les mules, jouent le rˆole de passeur, parfois `a leur insu. Ils se rendent alors coupables de complicit´e de fraude. Derni`erement, ce principe a et´ adapt´e au monde informatique[Clu07]. Les activit´es de blanchiment, de vol et de d´etournement d’argent sont `a l’origine d’une recrudescence de spam. Le principe est simple. Un fraudeur r´edige un message ´electronique en masquant ses intentions. Le paravant d’une action humanitaire est souvent utilis´e. Le message est envoy´ `a plusieurs internautes. Chacun se voit sollicit´e pour devenir collaborateur d’une soi-disant transaction. Le contrat tient en quelques lignes : accepter de recevoir une somme d’argent sur son compte, la transmettre sur un autre compte tout en empochant une petite somme. Le d´epˆot de cette somme sur le compte destinataire devient l´egitime. Si ce contrat est all´echant pour l’internaute, il le place dans une situation d´elicate : complicit´e de blanchiment d’argent.
Un autre sc´enario mettant en ´evidence les ambitions ´economiques des pirates in-formatiques concerne les bookmaker. Ces personnes, morales ou physiques, permettent de parier sur divers ´ev`enements. Leur activit´e est intense. La moindre seconde d’in-disponibilit´e de leur service peut entraˆıner de lourdes pertes. Ainsi, des pirates infor-matiques exploitent cette faille pour ran¸conner les bookmaker[Ber03], l’une de leurs cibles privil´egi´ees. Ils leur envoient des messages ´electroniques pour les menacer d’at-taques de grandes envergures visant `a rendre indisponible leur service. Leur demande correspond au versement d’une somme ridicule face aux dommages occasionn´es par les indisponibilit´es. Pour le bookmaker, le pari est risqu´e : c´eder au chantage et verser une somme ridicule ou ignorer les menaces et risquer la disponibilit´e de son ser-vice. Ces activit´es sont fr´equentes. L’une des derni`eres victimes en date est le site winamax.com[Ban07], appartenant `a une soci´et´ anglaise de pari en ligne.
Les pirates informatiques anim´es de motivations politiques sont nomm´es hackti-vistes. Ils mettent `a profit leurs savoirs sur les techniques informatiques pour d´efendre leurs id´ees. Parfois, les motifs de leurs actes transparaissent nettement dans les cons´e-quences. Par exemple, le piratage des sites de personnalit´es politiques est souvent porteur d’un message de m´econtentement affich´e en clair. D’autres fois, le lien entre le piratage et les faits politiques est plus subtil. Prenons, `a titre d’exemple, le cas des attaques qui ont cibl´e le r´eseau estonien survenues en avril 2007. Pendant plusieurs jours, le r´eseau estonien a du faire face `a des attaques de grande envergure. Il a et´ submerg´ par un nombre important de connexions. Le r´esultat a et´ l’indisponibi-lit´e du r´eseau estonien, entraˆınant des cons´equences fˆacheuses pour les utilisateurs quotidiens[Jac07]. Selon l’Asymmetric Threats Contingency Alliance (Atca), une as-sociation compos´ee d’experts internationaux, la Russie serait mˆel´ee `a ces attaques. Elle aurait lou´e les services de botnets, ensemble de machines exploit´ees conjointe-ment de mani`ere malveillante, pour donner `a ces attaques une dimension imparable. Quelques jours auparavant, l’Estonie envisageait le d´eplacement du monument erig´ `a la m´emoire des soldats russes morts pendant la seconde guerre mondiale, sur le sol estonien.
Une autre motivation des plus importantes est d’ordre ludique. Pour le plaisir de repousser leurs limites ou simplement pour assouvir leurs curiosit´es, des pirates in-formatiques mettent en pratique leurs connaissances en informatique pour pirater sur Internet. Parfois, leur identit´ est retrouv´ee par les autorit´es. Souvent, ils utilisent des recettes de cuisine obtenues sur Internet. Dans tous les cas, ces m´efaits occasionnent des gˆenes incontestables. Pour illustrer ces propos, citons quelques exemples issus de l’actualit´e. Un individu de 28 ans a et´ arrˆet´ en juin 2007 pour avoir lanc´e un virus ayant infect´ 115000 t´el´ephones portables[Pir07]. Un internaute a et´ interpell´ pour avoir pen´etr´ les sites du pentagone et de la Nasa, `a la recherche d’informations sur les ovnis[Cab07].

Approche `a la compr´ehension du comportement des pirates

Pour faire face aux d´egats qu’engendre le piratage, des m´ecanismes et outils de pro-tection ont et´ d´evelopp´es en tant que contre-mesure, par exemple des pare-feux, des outils de detection d’intrusion, etc. Malgr´e ces efforts, le nombre d’incidents report´ ne cesse de croˆıtre[CER07]. Une bonne compr´ehension des menaces et du comportement des attaquants est n´ecessaire pour am´eliorer l’efficacit´ de m´ecanismes de protection vis-`a-vis des malveillances. Aussi, une ´etude directe sur les comportements des com-munaut´es de pirates nous permettrait de mieux penser ces outils de contre-mesure.
Dans [Hum06], l’auteur privil´egie une enquˆete de terrain. En abordant le pro-bl`eme de la cybercriminalit´ du cˆot´e des sciences humaines, il tente d’enrichir les connaissances sur les pirates informatiques. L’un des moyens mis en œuvre est un questionnaire en ligne[Hum] dont le but est de d´eterminer une repr´esentation sociale du cybercriminel. R´epondre a` un questionnaire est un acte volontaire. Certaines com-munaut´es de pirates informatiques peuvent s’y refuser. Pour les mˆemes motivations que pr´ec´edemment, nous allons aborder le probl`eme de la cybercriminalit´ du cˆot´e technique. En collectant des informations sur les pirates informatiques pendant leur actions et `a leur insu, nous allons enrichir nos connaissances. Notamment, nous cher-chons `a observer leur comportement pour mieux nous prot´eger.
Le th`eme des travaux pr´esent´es dans ce manuscrit est l’observation, la caract´eri-sation et la mod´elisation du comportement des attaquants. Dans la suite, nous com-mencons par pr´esenter des el´ements de terminologie pour mieux situer nos travaux par rapport au domaine g´en´eral de la sˆuret´ de fonctionnement.
Pr´ec´edemment, nous avons utilis´e la notion de vuln´erabilit´e et d’attaque. Elles s’inscrivent pleinement dans le domaine de la sˆuret´ de fonctionnement. Nous allons les d´efinir dans cette section. Mais, avant tout, il convient d’introduire une partie du vocabulaire, en consid´erant les concepts introduits dans le « Guide de la Sˆuret´ de Fonctionnement »[L+96] et mis a` jour dans [ALRL04]. Plus pr´ecis´ement, nous commencons par d´efinir les notions de sˆuret´ de fonctionnement, faute, erreur et d´efaillance pour ainsi aborder avec plus d’aisance la d´efinition d’une vuln´erabilit´ et situer nos travaux par rapport au th`eme et aux moyens classiques de la sˆuret´ de fonctionnement en g´en´eral et de la s´ecurit´ informatique en particulier.

La sˆuret´ de fonctionnement

La sˆuret´ de fonctionnement d’un syst`eme informatique est la propri´et´ qui permet `a ses utilisateurs de placer une confiance justifi´ee dans le service qu’il leur d´elivre. Le service d´elivr´ par un syst`eme est son comportement tel que per¸cu par ses utilisateurs.
Ces derniers peuvent ˆetre humains ou physiques. La sˆuret´ de fonctionnement infor-matique s’articule autour de trois principaux axes : les attributs qui la caract´erisent, les entraves qui empˆechent sa r´ealisation et les moyens de l’atteindre (cf. figure 1.1).
La sˆuret´ de fonctionnement d’un syst`eme peut ˆetre per¸cue selon diff´erentes pro-pri´et´es. Ces propri´et´es se nomment les attributs de sˆuret´ de fonctionnement. Les attributs `a consid´erer d´ependent des applications auxquelles le syst`eme est destin´. Les six attributs sont les suivants :
– la disponibilit´e : aptitude du syst`eme `a ˆetre prˆet `a l’utilisation,
– la fiabilit´e : continuit´e du service,
– la s´ecurit´-innocuit´e : absence de cons´equences catastrophiques pour l’environ-nement,
– la confidentialit´ : absence de divulgations non-autoris´ees de l’information,
– l’int´egrit´ : absence d’alt´erations inappropri´ees de l’information,
– la maintenabilit´ : aptitude aux r´eparations et aux ´evolutions.
Les attributs pr´ec´edents peuvent ˆetre mis `a mal par des entraves. Une entrave `a la sˆuret´ de fonctionnement est une circonstance ind´esirable mais non inattendue. Elle est la cause ou le r´esultat de la non-sˆuret´ de fonctionnement. Nous en distinguons trois sortes :
– la d´efaillance : survient lorsque le service d´elivr´ d´evie de la fonction du syst`eme,
– l’erreur : partie de l’´etat de syst`eme susceptible d’entraˆıner une d´efaillance,
– la faute : cause adjug´ee ou suppos´ee de l’erreur. Ces fautes s’enchaˆınent pour former une chaˆıne fondamentale en sˆuret´ de fonc-tionnement : faute → erreur → dafaillance → faute etc. Pour minimiser l’impact de ces entraves sur les attributs retenus d’un syst`eme, nous disposons de moyens. Ce sont des m´ethodes et des techniques permettant de conforter les utilisateurs dans le bon accomplissement de la fonction du syst`eme. Elles peuvent ˆetre utilis´ees conjointement pour le d´eveloppement d’un syst`eme sˆur de fonctionnement. Elles sont class´ees en quatre moyens :
– la pr´evention : empˆeche l’occurrence ou l’introduction de fautes,
– la tol´erance : fournit un service qui remplit la fonction du syst`eme en d´epit des fautes,
– l’´elimination : r´eduit la pr´esence (nombre, s´ev´erit´e) des fautes,
– la pr´evision : estime la pr´esence, la cr´eation et les cons´equences des fautes. Dans la suite de ce document, nous nous int´eressons `a l’association de la confiden-
tialit´e, de l’int´egrit´ et de la disponibilit´e, nomm´e s´ecurit´-immunit´e[Lap04][ALRL04].

Les malveillances

Les concepts de la sˆuret´ de fonctionnement pr´esent´es dans le paragraphe pr´ec´-dent ont et´ con¸cus pour ˆetre g´en´eriques et applicables `a diff´erents contextes. Une adaptation au contexte particulier de la s´ecurit´ informatique et aux malveillances a fait l’objet de travaux effectu´es dans le cadre du projet Maftia[MAF03].
Le projet Maftia a port´e sur le d´eveloppement de techniques de tol´erance aux fautes accidentelles et aux malveillances pour des applications r´eparties `a grande ´echelle sur Internet. En particulier, une terminologie des malveillances a et´ introduite dans le cadre de ce projet. Nous en reprenons quelques d´efinitions.
Les fautes malveillantes se d´eclinent en deux classes principales : les logiques ma-lignes et les intrusions. Les logiques malignes sont des parties du syst`eme con¸cues pour provoquer des d´egˆats (bombes logiques) ou pour faciliter des intrusions futures (vul-n´erabilit´es cr´e´ees volontairement). Elles peuvent ˆetre introduites d`es la cr´eation du syst`eme (par un concepteur malveillant), ou en phase op´erationnelle (par l’installation d’un logiciel contenant un cheval de Troie ou par une intrusion). La d´efinition d’une intrusion est ´etroitement li´ee aux notions d’attaque et de vuln´erabilit´e[MAF03] :
– une attaque : faute d’interaction malveillante visant `a violer une ou plusieurs propri´et´es de s´ecurit´. C’est une faute externe cr´e´ee avec l’intention de nuire, y compris les attaques lanc´ees par des outils automatiques : vers, virus, zombies, etc.
– une vuln´erabilit´ : faute accidentelle ou intentionnelle (avec ou sans volont´e de nuire), dans la sp´ecification des besoins, la sp´ecification fonctionnelle, la concep-tion ou la configuration du syst`eme, ou dans la fa¸con selon laquelle il est utilis´e. La vuln´erabilit´ peut ˆetre exploit´ee pour cr´eer une intrusion.
– une intrusion : faute malveillante interne d’origine externe, r´esultant d’une at-taque qui a r´eussi `a exploiter une vuln´erabilit´ qui peut produire des erreurs pouvant provoquer une d´efaillance vis-`a-vis de la s´ecurit´e, c’est-`a-dire une vio-lation de la politique de s´ecurit´ du syst`eme.
Les moyens de la sˆuret´ de fonctionnement ne sont pas limit´es aux fautes acciden-telles. Effectivement, les intrusions, les attaques et les vuln´erabilit´es sont des fautes. Or, les fautes peuvent ˆetre tol´er´ees, elimin´ees, pr´evues, etc. Ces moyens peuvent ˆetre appliqu´es aux fautes malveillantes, afin d’am´eliorer la s´ecurit´-immunit´e d’un syst`eme. Chaque moyen peut ˆetre appliqu´e sur les diff´erentes fautes malveillantes (attaque, vul-n´erabilit´ et intrusion). Pour chaque moyen, les techniques `a employer d´ependent de la conjugaison entre le moyen et la faute. Le tableau 1.2 pr´esente ces techniques en fonction des moyens et des fautes[MAF03]. La section suivante d´ecrit ces m´ethodes, pour chaque moyen.

Tol´erance aux fautes

La tol´erance aux fautes, telle qu’elle est d´efinie dans la section 1.2.1, correspond `a un ensemble de moyens destin´es a` assurer qu’un syst`eme remplit sa fonction en d´epit des fautes. Elle est obtenue grˆace a` la mise en œuvre de techniques de traitement d’erreurs et de fautes[LA90], en deux ´etapes. La premi`ere ´etape, la d´etection d’erreur, permet d’identifier un ´etat erron´. La seconde ´etape, le r´etablissement, permet de ramener le syst`eme dans un ´etat de confiance. Du point de vue des fautes malveillantes, un syst`eme tol´erant aux intrusions est un syst`eme capable de s’auto-diagnostiquer, se r´eparer et se reconfigurer tout en continuant `a fournir un service acceptable aux utilisateurs l´egitimes pendant les attaques[DBF91].
Les m´ethodes de d´etection des intrusions visent `a d´etecter des atteintes `a la poli-tique de s´ecurit´ d’un syst`eme. Deux approches existent : l’approche comportementale et l’approche par sc´enario. La premi`ere[DMD06] se base sur l’hypoth`ese qu’un com-portement malveillant entraˆıne une activit´e inhabituelle sur le syst`eme. Elle cherche `a r´epondre `a la question : « le comportement actuel de l’utilisateur et/ou application est-il coh´erent avec son comportement pass´e ? ». Ainsi, une atteinte `a la politique de s´ecurit´ d’un syst`eme est d´etect´ee lorsqu’un comportement observ´ est non r´ef´erenc´ dans cette base de comportements normaux. Une base d’attaques n’est pas n´eces-saire. Des activit´es malveillantes bas´ees sur des attaques inconnues peuvent alors ˆetre d´etect´ees. Par contre, les comportements erratiques sont difficiles `a ´evaluer. Une im-pl´ementation de cette approche est l’outil eTrust[ETR]. Quant `a l’approche `a base de sc´enario, elle utilise une base de signatures de sc´enarios anormaux. Elle d´etecte une atteinte `a la politique de s´ecurit´ lorsqu’une s´equence d’informations – li´ee `a un comportement – poss`ede une signature r´ef´erenc´ee dans la base de signatures de sc´e-narios anormaux. Cette base doit ˆetre constamment mise `a jour, sous peine de ne pas d´etecter les attaques non connues. Une impl´ementation r´epandue de cette approche est l’outil snort[Sno02]. De mani`ere g´en´erale, les m´ecanismes de d´etection d’intru-sions soul`event un nombre important de fausses alertes et certaines violations de la politique de s´ecurit´ ne sont pas d´etect´ees. L’analyse de ces alertes est rendue dif-ficile. Aussi, afin d’obtenir des outils plus efficaces, des travaux proposent d’utiliser diff´erents outils de detection d’intrusion conjointement[MMM+01, CM02]. Un ´etat de l’art r´ecent sur les techniques de detection d’intrusion est pr´esent´ dans [DMD06] et une bibliographie imposante est pr´esent´ee dans [MM01].
Un syst`eme tol´erant aux intrusions est un syst`eme capable de s’auto-diagnostiquer, se r´eparer et se reconfigurer tout en continuant `a fournir un service acceptable aux utilisateurs l´egitimes pendant les attaques[DBF91, DP06]. La tol´erance aux intrusions peut ˆetre appliqu´ee avec diff´erentes techniques de s´ecurit´e. Parmi les techniques clas-siques de s´ecurit´e, nous pouvons citer le chiffrement, la r´eplication, et le brouillage des donn´ees. La technique de fragmentation, redondance et diss´emination a pour but une approche globale de la tol´erance aux fautes accidentelles et intentionnelles, pour le traitement, le stockage et la transmission d’informations confidentielles. Pour at-teindre ce but, elle d´ecoupe l’information en fragments, duplique ces fragments et les disperse sur diff´erents sites. Les conditions que doit remplir le pirate pour reconstituer la donn´ees sont plus nombreuses, rendant sa tˆache nettement plus difficile. Concernant la redondance avec diversification, l’id´ee sous-jacente repose sur un constat simple : une attaque qui cible une vuln´erabilit´ d’un syst`eme fonctionnant sur une architecture mat´erielle particuli`ere a peu de chance de fonctionner sur un autre syst`eme fonction-nant sur une autre architecture mat´erielle. Le principe de cette technique est donc d’utiliser plusieurs sous-syst`emes diff´erents sur des architectures mat´erielles diff´erentes et fournissant le mˆeme service, avec un m´ecanisme de vote majoritaire pour former le syst`eme globale. De la sorte, une attaque susceptible d’engendrer des d´egats sur un des sous-syst`emes sera in´efficace sur les autres. Le syst`eme global sera toujours disponible sous r´eserve, au moins, que la majorit´e des sous-syst`emes soient aussi disponibles.
Une des premi`eres architectures tol´erantes aux intrusions a et´ d´evelopp´ee dans le cadre du projet Delta-4 dans les ann´ees 1980, pour des serveurs de stockage de donn´ees, d’authentification et d’autorisation. Plus recemment, l’utilisation des prin-cipes de tol´erance aux intrusions a et´ employ´ee dans d’autres projets, par exemple [VNC+06, BSC+07, VAC+]. Notamment, le projet Dit[VAC+] propose une architec-ture tol´erante aux intrusions bas´ee sur une diversification de serveurs Web et d’archi-tectures mat´erielles. Les travaux r´ealis´es dans le projet Maftia ont vis´e `a d´evelopper des politiques d’autorisation plus efficaces en se basant sur des techniques de frag-mentation, redondance et diss´emination et les cartes `a puces Java. Les politiques propos´ees dans ce projet sont tol´erantes aux fautes accidentelles et aux intrusions.

Elimination des fautes

Malgr´e l’application de techniques de pr´evention de fautes et en raison de la dif-ficult´e de d´evelopper correctement les syst`emes, certaines fautes peuvent persister. Ce sont les fautes de conception, par exemple l’absence de test d’un indice dans un tableau. Ces fautes peuvent ˆetre exploit´ees `a des fins malveillantes. L’´elimination des fautes vise `a en r´eduire le nombre. Ce moyen s’appuie sur des analyses statiques (re-vues, inspections), des v´erifications formelles ou semi-formelles, des techniques de test, etc.
La v´erification formelle est une technique permettant de d´emontrer que les pro-pri´et´es attendues du syst`eme sont v´erifi´ees. Elle se base sur la description formelle du syst`eme et une liste des propri´et´es `a v´erifier. Une approche courante consiste `a appliquer des outils de model-checking (SMV, NuSMV, …) pour identifier des contre-exemples ´eventuels. De plus, certaines m´ethodes permettent l’analyse du code source du syst`eme en vue de d´etecter des fautes particuli`eres, telles que les d´epassements de tampon[AH07][HB03][LE01]. Toutefois, la technique de v´erification formelle ne suffit pas `a elle seule. Elle doit ˆetre suivie d’un diagnostic permettant de localiser la faute, pour aboutir `a la cr´eation d’un correctif : un greffon. Certains travaux ont permis, `a partir d’un greffon et du syst`eme `a greffer, d’identifier la faute pour, ´eventuelle-ment, une exploitation maligne[Fla05]. Une bonne pratique consiste donc `a appliquer ce greffon d`es sa disponibilit´e.
Le test est une technique largement utilis´ee pour r´ev´eler les fautes r´esiduelles. Il consiste `a activer le syst`eme r´eel ou un prototype avec des entr´ees sp´ecifiques caract´e-risant des activit´es normales ou anormales du syst`eme et de v´erifier si les propri´et´es at-tendues sont satisfaites `a partir des sorties observ´ees. Diff´erents types de test existent en fonction des crit`eres consid´er´es pour la s´election et la g´en´eration des entr´ees. En particulier, le test de robustesse bas´e sur l’injection de fautes permet de tester la r´e-action du syst`eme cible dans des conditions extrˆemes et en pr´esence d’entr´ees valides et invalides. Deux types distincts de domaines d’entr´ee sont distingu´es : les activit´es et les fautes. Le test `a base d’activit´es permet de mettre sous pression le syst`eme afin d’observer son attitude `a y faire face, comme r´ealis´ dans [WTF99]. Le test `a base de fautes permet de soumettre d´elib´erement des fautes en entr´ee du syst`eme, telles que des changements de bit[ACK+03] ou des instances de classe incorrectes[CS04]. L’ob-jectif est d’´etudier les effets des fautes qui peuvent affecter le syst`eme evalu´ pendant son ex´ecution.
Dans le domaine de la s´ecurit´e, outre les techniques classiques de test vis-`a-vis des fautes de conception, des techniques sp´ecifiques ont et´ developp´ees pour l’analyse des malveillances. Nous citons par exemple les tests de p´en´etration par des experts en s´ecurit´ (appel´es parfois red team ou tiger team) qui tentent de violer les objectifs de s´ecurit´ en contournant les m´ecanismes de protection. Les techniques d’´elimination de fautes incluent ´egalement des v´erifications de configuration du syst`eme et des vuln´erabilit´es pr´esentes en analysant le syst`eme de fichier et en s’appuyant sur des bases de donn´ees de vuln´erabilit´es connues. C’est l’approche employ´ee, par exemple, dans des outils de recherche de vuln´erabilit´es tels que nessus[Lau02], esope[ODK99] ou cops[DS90]. Nous pouvons aussi citer des techniques de v´erification de l’int´egrit´ des fichiers du syst`eme pour s’assurer qu’ils n’ont pas fait l’objet de modifications malveillantes.

Pr´evision des fautes

La pr´evision des fautes a pour objectif d’identifier les vulnerabilit´es, fautes, erreurs et modes de d´efaillances potentiels du syst`eme et d’analyser voire quantifier leur im-pact sur le comportement de ce syst`eme, vis-`a-vis des propri´et´es attendues. Elle peut ˆetre conduite en s’appuyant sur diff´erents types d’´evaluations qui sont compl´emen-taires : des ´evaluations 1) qualitatives ou ordinales, 2) quantitatives ou probabilistes a` base de mod`eles ou 3) exp´erimentales. Dans la suite, nous pr´esentons bri`evement ces trois m´ethodes et leur utilisation pour l’analyse des malveillances et l’´evaluation de leur impact sur la s´ecurit´.

L’´evaluation ordinale bas´ee sur des crit`eres

L’´evaluation ordinale, ou qualitative, est destin´ee `a identifier, classer et ordonner les d´efaillances ou les m´ethodes et techniques mises en œuvre pour les ´eviter, par un organisme ind´ependant. Elle se base par exemple sur des crit`eres d’´evaluation dont le but est de donner confiance `a l’utilisateur dans le syst`eme. Les premiers tra-vaux ont et´ initi´e par le conseil scientifique de l’arm´ee am´ericaine (Defense Science Board) afin ´etudier les diff´erentes approches de protection des donn´ees classifi´ees dans les syst`emes informatiques. Parmi leurs productions, le document Trusted Computer Security Evaluation Criteria »(Tcsec) datant de 1985, plus connu sous le nom de
« livre orange », est devenue une norme du D´epartement de la D´efense am´ericaine (DoD)[TCS85]. Ce document est la r´ef´erence en mati`ere d’´evaluation de la s´ecurit´ des syst`emes informatiques. Les crit`eres offrent une classification `a sept niveaux de s´ecurit´ (A1, B1, B2, B3, C1, C2), regroup´es en quatre classes (A, B, C, D). Quatre fa-milles de crit`eres sont d´efinies pour chaque niveau. Elles traitent respectivement de la politique d’autorisation, de l’audit, de l’assurance et de la documentation. L’´evaluation d’un produit consiste a` lui attribuer un des sept niveaux de s´ecurit´e. Cette attribu-tion n’aboutit que si le produit r´epond `a tous les crit`eres du niveau en question. La politique d’autorisation employ´ee ne permet pas de prendre en compte les contraintes li´ees aux pratiques commerciales. Cette limite a suscit´e la cr´eation de nouveaux cri-t`eres dans d’autres pays, avec, par exemple, les « Canadian Trusted Computer Product Evaluation Criteria »[CTC93] (Ctcpec) pour le Canada et les « Japanese Computer Security Evaluation Criteria »[JCS92]. Nous citons ci-dessous l’exemple des « Infor-mation Technology Security Evaluation Criteria »(Itsec) adopt´e par la Communaut´e Europ`eenne et des « Crit`eres Communs »(Cc). Les Itsec sont le r´esultat de l’harmo-nisation de travaux r´ealis´es au sein de quatre pays europ´eens : l’Allemagne, la France, les Pays-Bas et le Royaume-Uni[ITS91]. Les Itsec se diff´erencient essentiellement du livre orange par la d´efinition d’un certain nombre de classes de fonctionnalit´es d’une part et un certain nombre de classes d’assurance d’autre part. Une classe de fonctionnalit´e d´ecrit les m´ecanismes que doit mettre en œuvre un syst`eme pour ˆetre evalu´ a` ce niveau de fonctionnalit´e. Une classe d’assurance permet, quant `a elle, de d´ecrire l’ensemble des preuves qu’un syst`eme doit apporter pour montrer qu’il im-pl´emente r´eellement les fonctionnalit´es qu’il pr´etend assurer. Les Itsec utilisent le terme cible d’´evaluation (Target of Evaluation ou Toe). Le contenu d’une cible d’´eva-luation comprend : une politique de s´ecurit´e, une sp´ecification des fonctions requises d´edi´ees `a la s´ecurit´e, une d´efinition des m´ecanismes de s´ecurit´ requis et le niveau d’´evaluation vis´e. Les crit`eres communs (Cc) [CC999, CCS] sont n´es de la tentative d’harmonisation des crit`eres canadiens (Ctcpec), des crit`eres europ´eens (Itsec) et des crit`eres am´ericains (Tcsec). Ils contiennent deux parties bien s´epar´ees comme dans les Itsec : fonctionnalit´e et assurance. De mˆeme que dans les Itsec ´egalement, les Cc d´efinissent une cible d’´evaluation et une cible de s´ecurit´ (Security Target). Une cible d’´evaluation d´esigne le syst`eme ou le produit `a ´evaluer. La cible de s´ecu-rit´e contient les objectifs de s´ecurit´ d’une cible d’´evaluation particuli`ere. La cible de s´ecurit´ pour une cible d’´evaluation repr´esente la base d’entente entre d´eveloppeurs et ´evaluateurs. Elle peut contenir les exigences d’un ou de plusieurs profils de pro-tection (Protection Profiles) pr´ed´efinis. Une des diff´erences essentielles entre Itsec et Cc r´eside dans l’existence de ces profils, qui avaient auparavant et´ introduits dans les Crit`eres F´ed´eraux[Tec92]. Un profil de protection d´efinit un ensemble d’exigences de s´ecurit´ et d’objectifs, ind´ependants d’une quelconque impl´ementation, pour une cat´egorie de cible d’´evaluation.

L’´evaluation quantitative bas´ee sur des mod`eles

Les m´ethodes d’´evaluation ordinale de la s´ecurit´ bas´ees sur des crit`eres sont utiles pour guider le d´eveloppement des syst`emes. Cependant, elles ne sont pas adapt´ees pour estimer l’impact des fautes r´esiduelles, effectuer des analyses comparatives en consid´erant diff´erentes variantes d’architectures ou diff´erentes configurations du sys-t`eme, ou bien pour suivre l’´evolution de la s´ecurit´ en op´eration. De telles analyses sont courantes quand on consid`ere des fautes accidentelles. En effet, plusieurs m´e-thodes bas´ees sur des mod´elisations analytiques sont utilis´ees dans cette optique dans le domaine de l’´evaluation de la fiabilit´e, la disponibilit´e ou la s´ecurit´ innocuit´e des syst`emes. On peut citer par exemple des mod`eles bas´es sur les arbres de fautes, les diagrammes de fiabilit´e, les chaˆınes de Markov, etc. D`es les ann´ees 1990, des travaux ont et´ effectu´es dans l’objectif d’´etendre ces techniques et de d´evelopper des me-sures et des m´ethodes d’´evaluation quantitatives adapt´ees `a la s´ecurit´-immunit´e et aux malveillances. Un tour d’horizon sur les travaux men´es dans ce cadre et sur les technique d’´evaluation quantitative de la fiabilit´e et de la s´ecurit´ `a base de mod`eles est effectu´ dans [NST04]. Les travaux sur l’´evaluation quantitative de la s´ecurit´ ont d´emarr´ en particulier dans le cadre du projet europ´en PDCS en collaboration avec l’Universit´ de City (GB), Le LAAS-CNRS et l’Universit´ de Chalmers (SE). Dans [BLOJ94], les auteurs ont etudi´ les similarit´es entre la fiabilit´e et la s´ecurit´ dans le but d’obtenir une mesure de la s´ecurit´ similaire aux mesures de fiabilit´e exis-tantes. Notamment, ils ont d´efini ce que doit repr´esenter une mesure de la s´ecurit´ :
« la capacit´e d’un syst`eme `a r´esister aux attaques ». Pour valider cette approche, des exp´erimentations ont et´ men´ees o`u des ´etudiants ont jou´e le rˆole de pirates pour p´en´- trer un syst`eme. L’approche pr´esent´ee dans[BLOJ94] est de type « boˆıte noire ». Une approche de type « boˆıte blanche » bas´ee sur de principes similaires a et´ d´evelopp´ee dans [DKD93, Dac94]. En particulier, un mod`ele formel appel´e « graphe des privi-l`eges » a et´ d´efini pour d´ecrire les vuln´erabilit´es du syst`eme pouvant ˆetre exploit´ees par des attaquants pour mettre en d´efaut des objectifs de s´ecurit´ [DD94]. Ce graphe sert ensuite `a g´en´erer des sc´enarios d’attaques en consid´erant des hypoth`eses sur la strat´egie qu’un attaquant va adopter pour exploiter ces vuln´erabilit´es. L’analyse de l’association de ces sc´enarios aux efforts permet d’obtenir des mesures quantitatives pour caract´eriser la s´ecurit´. Un outil mettant en œuvre cette approche (Esope) a et´ aussi d´evelopp´. Une exp´erimentation sur le r´eseau du LAAS a permis de d´emon-trer la faisabilit´e de cette approche et de valider la pertinence des mesures propos´ees pour suivre l’´evolution de la s´ecurit´ en op´eration[ODK99]. Depuis le d´eveloppement du graphe des privil`eges plusieurs travaux ont et´ men´es sur le d´eveloppement de formalismes `a base de graphes pour d´ecrire des vuln´erabilit´es et des sc´enarios d’at-taques (voir par exemple [PS98, SHJ+02, JNO03]). Par exemple, les arbres d’attaques
« Attack trees » d´efinis dans [Sch99] pr´esentent une m´ethode structur´ee similaire aux arbres de fautes pour d´ecrire diff´erentes possibilit´es pour mener une attaque au sein d’un syst`eme. Des nouveaux r´esultats sur l’´evaluation probabiliste de la s´ecurit´ ont et´ obtenus ´egalement par exemple sur l’´evaluation de syst`emes tol´erants aux intru-sions [GLR+03, WMT03], la mod´elisation de la propagation de malware bas´ee sur des mod`eles epid´emiologiques [SPW02, ZGT02, ZGTG05], ou bien l’utilisation de mo-d`eles plus r´ecents, tels que la th´eorie des r´eseaux complexes issues de la physique ou bien la th´eorie des jeux [LW05, SHK06].

L’´evaluation exp´erimentale

Les mod`eles d´ecrits dans la section pr´ec´edente s’appuient sur des hypoth`eses concernant le comportement des attaquants ou les vuln´erabilit´es et les malveillances susceptibles d’affecter la s´ecurit´ des syst`emes cibles. Ces hypoth`eses doivent ˆetre le plus proche possible de la r´ealit´ afin d’obtenir des mesures significatives. L’´evalua-tion exp´erimentale peut fournir les donn´ees n´ecessaires pour ´elaborer ces hypoth`eses et valider les mod`eles correspondants. Elle regroupe les techniques et m´ethodes per-mettant de collecter des donn´ees caract´erisant des activit´es malveillantes issues de l’observation op´erationnelle du comportement des syst`emes cibles ou bien bas´ees sur des exp´eriences contrˆol´ees (pendant des phases de test). Les informations collect´ees doivent ˆetre choisies judicieusement pour aboutir a` des analyses repr´esentatives. De plus, un volume de donn´ees suffisamment grand et une longue p´eriode d’observation sont deux pr´erequis suppl´ementaires. De mani`ere g´en´erale, l’´evaluation exp´erimentale est r´ealis´ee en trois ´etapes. L’´etape de collecte des donn´ees, `a proprement parler, est tout d’abord r´ealis´ee. Pour ce faire, la mani`ere de mener a` bien cette collecte doit ˆetre r´efl´echie. Elle constitue le point cl´e pour les ´etapes suivantes. Ensuite, les don-n´ees doivent ˆetre valid´ees, afin d’´eliminer celles qui sont erronn´ees ou qui ne sont pas repr´esentatives des processus mis en jeu. A ce probl`eme des donn´ees, vient se greffer le probl`eme des donn´ees non observ´ees, des donn´ees manquantes. Ces deux probl`emes doivent ˆetre r´esolus avant toute analyse, pour fournir des donn´ees valides `a l’´etape suivante et ainsi pour ne pas aboutir a` des r´esultats d´etach´es de toutes repr´esentations physiques. Quant `a la derni`ere ´etape, elle permet d’obtenir les mesures de sˆuret´ de fonctionnement. Elle se base sur les donn´ees valides pour mener une analyse statis-tique. L’´evaluation exp´erimentale dans le domaine de la sˆuret´ de fonctionnement a toujours et´ un th`eme de recherche tr`es actif. Historiquement, l’effort a d’abord port´e sur l’´etude de syst`emes et de fautes du mat´eriel. Des travaux ont ensuite et´ consacr´es `a la caract´erisation du comportement en pr´esence de fautes de logiciels et syst`emes d’exploitation, de pilotes de p´eriph´eriques, de syst`emes distribu´es, des r´eseaux, de serveurs bas´es sur Internet et plus r´ecemment sur des syst`emes mobiles [SCK04]. La majorit´e de ces travaux s’int´eressent aux fautes accidentelles. La caract´erisation et la collecte de donn´ees permettant l’analyse du comportement de syst`eme en pr´esence de malveillances a fait l’objet de plusieurs travaux durant la derni`ere d´ecennie. Ces tra-vaux incluent 1) le recensement des vuln´erabilit´es connues dans des bases de donn´ees (par exemple Bugtrack[BUG], Cve[CVE], etc.), 2) le d´eveloppement d’approches exp´erimentales pour l’analyse de l’efficacit´ de m´ecanismes de d´etection d’intrusions (voir par exemple les exp´eriences du Lincoln Lab[LHF+00, McH00] ou les travaux pr´esent´es dans [DDW98, PZC+96]), 3) et le d´eploiement d’environnements pour la collecte de donn´ees caract´erisant des attaques r´eelles sur Internet bas´es en particulier sur des sondes et des pots de miel. Les travaux pr´esent´es dans le cadre de cette th`ese s’int´eressent en particulier `a ces derni`eres approches bas´es sur les pots de miel. La section suivante pr´esente plus en d´etail les travaux connexes effectu´es sur ce th`eme.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

1 Cadre des travaux et ´etat de l’art 
1.1 Introduction
1.1.1 Historique et usage d’Internet
1.1.2 Naissance de la piraterie
1.1.3 Motivation des pirates informatiques
1.1.4 Approche `a la compr´ehension du comportement des pirates . . 8
1.2 Pr´esentation des menaces sur Internet – terminologie
1.2.1 La sˆuret´e de fonctionnement
1.2.2 Les malveillances
1.3 Moyens pour faire face aux malveillances
1.3.1 Pr´evention des fautes
1.3.2 Tol´erance aux fautes
1.3.3 Elimination des fautes
1.3.4 Pr´evision des fautes
1.3.4.1 L’´evaluation ordinale bas´ee sur des crit`eres
1.3.4.2 L’´evaluation quantitative bas´ee sur des mod`eles
1.3.4.3 L’´evaluation exp´erimentale
1.4 Sondes et pots de miel
1.4.1 Les sondes
1.4.2 Les pots de miel
1.4.2.1 Historique des pots de miel
1.4.2.2 Les pots de miel basse interaction
1.4.2.3 Les pots de miel haute interaction
1.4.2.4 Les pots de miel interm´ediaires
1.4.3 Les projets bas´es sur les sondes et les pots de miel
1.4.3.1 Les projets Caida et Internet Motion Sensor . 21
1.4.3.2 Le projet Dshield
1.4.3.3 Le projet Leurre.com
1.5 Conclusion : orientation et contributions de la th`ese
2 Caract´erisation des processus d’attaques `a partir des pots de miel basse interaction 
2.1 Architecture des pots de miel et base de donn´ees
2.1.1 Architecture
2.1.2 La base de donn´ees
2.2 Vue globale et analyses pr´eliminaires des donn´ees
2.2.1 Pr´esentation et analyse pr´eliminaire
2.2.2 Probl`eme li´e aux p´eriodes de silence suspectes
2.2.3 Discussion
2.3 M´ethodologie d’analyse
2.3.1 Notations et d´efinitions
2.3.2 M´ethodologie
2.4 Pr´etraitement des donn´ees
2.4.1 M´ethodes d’identification des valeurs aberrantes
2.4.2 Identification des p´eriodes de silence suspectes
2.4.3 S´election des donn´ees
2.5 Mod´elisation des intervalles entre attaques
2.5.1 Estimation des param`etres : l’algorithme Em
2.5.2 Validation des mod`eles : tests statistiques
2.5.2.1 Test du χ2
2.5.2.2 Test de Kolmogorov-Smirnov
2.5.3 Application aux processus d’attaque observ´es
2.5.4 Densit´es de probabilit´e empiriques
2.5.5 Mod´elisation
2.6 Analyse des corr´elations
2.6.1 Evolution dans le temps du nombre de sessions
2.6.2 R´egression lin´eaire et coefficient de corr´elation
2.6.3 Mod`ele de r´egression
2.6.4 Corr´elation entre les environnements
2.6.5 Corr´elation en fonction de l’origine g´eographique
2.7 Propagation des attaques
2.7.1 Principe de la propagation des attaques
2.7.2 Mod`ele de propagation
2.7.3 Illustration
2.8 Conclusion
3 D´eveloppement d’un pot de miel haute interaction 
3.1 Introduction
3.2 Caract´eristiques des pots de miel haute interaction
3.2.1 La transparence
3.2.2 L’observabilit´e
3.2.3 La flexibilit´e
3.2.4 La nature
3.3 Impl´ementations de pots de miel haute interaction
3.3.1 Un pot de miel avec VMware
3.3.2 Uml comme pot de miel
3.3.3 Sebek
3.3.4 Uberlogger
3.4 Architecture du pot de miel haute interaction
3.4.1 Les objectifs et les donn´ees `a collecter
3.4.2 L’observation des activit´es des attaquants
3.4.2.1 Remarques pr´eliminaires
3.4.2.2 Fonctionnement de ssh
3.4.2.3 Moyens d’observation des connexions ssh
3.4.3 La redirection des rebonds
3.4.4 Architecture g´en´erale
3.5 Conception et impl´ementation
3.5.1 La modification du noyau des syst`emes d’exploitation
3.5.2 Archivage des donn´ees collect´ees
3.5.3 R´ecup´eration des donn´ees archiv´ees
3.5.4 Vue globale de la collecte des donn´ees
3.5.5 Le m´ecanisme de redirection des connexions
3.6 D´eploiement
3.7 Conclusion
4 Caract´erisation des attaques observ´ees sur le pot de miel haute interaction 
4.1 Aper¸cu de l’activit´e des connexions
4.1.1 Analyses pr´eliminaires
4.1.2 Origine des connexions
4.1.3 Discussion et m´ethodologie
4.2 Construction de l’ensemble des sessions
4.2.1 Fenˆetre glissante
4.2.2 D´efinition formelle d’une session
4.2.3 Choix de la valeur du seuil
4.3 Identification des classes de comportement
4.4 Le processus d’attaque
4.5 Etude des attaques par dictionnaire
4.5.1 Pr´esentation des attaques par dictionnaire observ´ees
4.5.2 Distance inter-textuelle
4.5.3 D´efinition de la distance entre deux vocabulaires
4.5.4 Partitionnement des donn´ees
4.5.5 Classement des vocabulaires
4.5.6 Identification des coeurs de dictionnaire
4.6 Etude des intrusions
4.6.1 Identification des diff´erentes communaut´es
4.6.2 Nature des intrus : ˆetres humains ou outils automatiques
4.6.3 Les activit´es des intrus
4.6.4 Comp´etences des intrus
4.6.5 Enseignements apport´es par l’emploi du m´ecanisme de redirection
4.7 Conclusion
Conclusion g´en´erale 
Bibliographie 

Télécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *