[ieee 2011 conference on network and information systems security (sar-ssi) - la rochelle, france...

8
Modelling to Simulate Botnet Command and Control Protocols for the Evaluation of Network Intrusion Detection Systems. Georges Bossert AMOSSYS-SUPELEC, Rennes [email protected] Guillaume Hiet SUPELEC, Rennes [email protected] Thibaut Henin AMOSSYS, Rennes [email protected] Abstract —The purpose of this paper is the modeliza- tion and simulation of zombie machines for the evalua- tion of Network Intrusion Detection Systems (NIDS), used to detect botnets. We propose an automatic method to infer zombies behaviours through the anal- ysis of messages exchanged with their masters. Once computed, a model provides a solution to generate realistic and manageable traffic, which is mandatory for an NIDS evaluation. We propose to use a Stochas- tic Mealy Machine to model zombies behaviour, and an active inference algorithm to learn it. With our approach, it is possible to generate a realistic traffic corresponding to the communications of botnets while ensuring its controllability in the context of an NIDS evaluation. I. Introduction Ces derni` eres ann´ ees, les syst` emes de d´ etection d’in- trusion r´ eseau (NIDS 1 ) sont de plus en plus sollicit´ es pour la d´ etection des r´ eseaux de zombies [3], [13]. Il est donc n´ ecessaire d’´ evaluer les qualit´ es de d´ etection de ces syst` emes, en ce qui concerne la menace particuli` ere que constituent les r´ eseaux de zombies (botnet). La mise en place d’une m´ ethodologie d’´ evaluation appli- cable au domaine de la d´ etection de r´ eseau de zombies est conditionn´ ee au respect de plusieurs crit` eres assurant les garanties d’une exp´ erience scientifique rigoureuse. Parmi ces crit` eres, nos travaux adressent notamment les deux crit` eres suivants : Reproductibilit´ e: se r´ ef` ere ` a la possibilit´ e, pour une personne ind´ ependante et ext´ erieure au processus orginial, de r´ ealiser de nouveau l’exp´ erimentation et d’obtenir des esultats similaires ` a l’exp´ erimentation initiale. Exactitude : traduit le degr´ e de concordance entre une valeur dite « de r´ ef´ erence » ou consid´ er´ ee comme v´ eritable avec la valeur obtenue par l’´ evaluation. De ces deux crit` eres g´ en´ eriques d´ ecoulent deux condi- tions : le r´ ealisme et la contrˆ olabilit´ e de l’exp´ erience. Le ealisme de l’´ evaluation assure l’exactitude des r´ esultats. La contrˆ olabilit´ e assure la reproductibilit´ e, en n´ ecessitant une caract´ erisation compl` ete de l’´ evaluation [21]. L’´ evaluation d’un NIDS n´ ecessite, entre autres, l’utilisa- tion d’un trafic r´ eseau repr´ esentatif de ses conditions op´ e- 1 en anglais, Network Intrusion Detection System. rationnelles. Parmi les diff´ erentes m´ ethodes utilis´ ees pour en´ erer du trafic r´ eseau, il est possible de distinguer les trois familles principales suivantes : le rejeu, la g´ en´ eration synth´ etique et la g´ en´ eration hybride. La m´ ethode du rejeu consiste ` a utiliser un trafic pr´ ealablement captur´ e pour ˆ etre ensuite rejou´ e. Cette ethode est souvent utilis´ ee par un ´ evaluateur pour sa facilit´ e` a reproduire un r´ esultat. Cependant, elle n´ ecessite, pour ˆ etre exacte, de caract´ eriser compl` etement l’ensemble des ´ ev` enements pr´ esents dans la capture. Cette op´ eration coˆ uteuse, en temps et en expertise [4], est n´ ecessaire afin de ne pas introduire de comportements hors-p´ erim` etres, tels que des attaques non caract´ eris´ ees ou le rejeu d’un pro- tocole incompatible avec le NIDS. ` A cette probl´ ematique, se rajoute le droit au respect de la vie priv´ ee des acteurs impliqu´ es dans les traces captur´ ees, qui peuvent ne pas souhaiter voir leurs identit´ es r´ eseaux utilis´ ees et publi´ ees. La ethode de en´ eration synth´ etique permet de pallier ` a ces probl` emes. Cette solution repose sur la g´ en´ eration compl` ete d’un trafic en se basant sur des heuristiques et des statistiques g´ en´ eralement admises [15] pour mod´ eliser l’´ evolution du comportement d’un acteur dans le temps. Cependant, le trafic g´ en´ er´ e est souvent trop simple et souffre d’un manque de r´ ealisme. La m´ ethode hybride est une solution de g´ en´ eration de trafic r´ eseau qui respecte ` a la fois les crit` eres de r´ ealisme et de contrˆ olabilit´ e [12]. Contrairement ` a la g´ en´ eration syn- th´ etique, la g´ en´ eration hybride inf´ er` ere les caract´ eristiques ` a partir d’un enregistrement r´ eseau pr´ ealablement captur´ e, pour les r´ e-utiliser au sein d’un processus de g´ en´ eration synth´ etique. Cette fois-ci, le trafic g´ en´ er´ e repr´ esente de mani` ere pr´ ecise la r´ ealit´ e, du moins, ` a la hauteur des caract´ eristiques utilis´ ees. La condition de contrˆ olabilit´ e est ´ egalement satisfaite car la m´ ethode implique la g´ en´ eration du trafic et non un simple rejeu. Cette derni` ere approche est celle que nous mettons œuvre dans nos travaux. Le reste de cet article est organis´ e comme suit. Dans la section II, nous pr´ esentons les botnets et les travaux s’attachant ` a les d´ etecter. Ensuite, dans la section III, nous introduisons une extension stochastique de la machine de Mealy que nous utilisons pour mod´ eliser le comportement d’un zombie. Dans la section [IV], nous d´ ecrivons notre 978-1-4577-0737-7/11/$26.00 ©2011 IEEE

Upload: thibaut

Post on 22-Feb-2017

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: [IEEE 2011 Conference on Network and Information Systems Security (SAR-SSI) - La Rochelle, France (2011.05.18-2011.05.21)] 2011 Conference on Network and Information Systems Security

Modelling to Simulate Botnet Command and

Control Protocols for the Evaluation of Network

Intrusion Detection Systems.

Georges BossertAMOSSYS-SUPELEC, [email protected]

Guillaume HietSUPELEC, Rennes

[email protected]

Thibaut HeninAMOSSYS, Rennes

[email protected]

Abstract—The purpose of this paper is the modeliza-tion and simulation of zombie machines for the evalua-tion of Network Intrusion Detection Systems (NIDS),used to detect botnets. We propose an automaticmethod to infer zombies behaviours through the anal-ysis of messages exchanged with their masters. Oncecomputed, a model provides a solution to generaterealistic and manageable traffic, which is mandatoryfor an NIDS evaluation. We propose to use a Stochas-tic Mealy Machine to model zombies behaviour, andan active inference algorithm to learn it. With ourapproach, it is possible to generate a realistic trafficcorresponding to the communications of botnets whileensuring its controllability in the context of an NIDSevaluation.

I. Introduction

Ces dernieres annees, les systemes de detection d’in-trusion reseau (NIDS1) sont de plus en plus sollicitespour la detection des reseaux de zombies [3], [13]. Il estdonc necessaire d’evaluer les qualites de detection de cessystemes, en ce qui concerne la menace particuliere queconstituent les reseaux de zombies (botnet).

La mise en place d’une methodologie d’evaluation appli-cable au domaine de la detection de reseau de zombies estconditionnee au respect de plusieurs criteres assurant lesgaranties d’une experience scientifique rigoureuse. Parmices criteres, nos travaux adressent notamment les deuxcriteres suivants :

Reproductibilite : se refere a la possibilite, pour unepersonne independante et exterieure au processus orginial,de realiser de nouveau l’experimentation et d’obtenir desresultats similaires a l’experimentation initiale.

Exactitude : traduit le degre de concordance entre unevaleur dite « de reference » ou consideree comme veritableavec la valeur obtenue par l’evaluation.

De ces deux criteres generiques decoulent deux condi-tions : le realisme et la controlabilite de l’experience. Lerealisme de l’evaluation assure l’exactitude des resultats.La controlabilite assure la reproductibilite, en necessitantune caracterisation complete de l’evaluation [21].

L’evaluation d’un NIDS necessite, entre autres, l’utilisa-tion d’un trafic reseau representatif de ses conditions ope-

1en anglais, Network Intrusion Detection System.

rationnelles. Parmi les differentes methodes utilisees pourgenerer du trafic reseau, il est possible de distinguer lestrois familles principales suivantes : le rejeu, la generationsynthetique et la generation hybride.

La methode du rejeu consiste a utiliser un traficprealablement capture pour etre ensuite rejoue. Cettemethode est souvent utilisee par un evaluateur pour safacilite a reproduire un resultat. Cependant, elle necessite,pour etre exacte, de caracteriser completement l’ensembledes evenements presents dans la capture. Cette operationcouteuse, en temps et en expertise [4], est necessaire afin dene pas introduire de comportements hors-perimetres, telsque des attaques non caracterisees ou le rejeu d’un pro-tocole incompatible avec le NIDS. A cette problematique,se rajoute le droit au respect de la vie privee des acteursimpliques dans les traces capturees, qui peuvent ne passouhaiter voir leurs identites reseaux utilisees et publiees.

La methode de generation synthetique permetde pallier a ces problemes. Cette solution repose surla generation complete d’un trafic en se basant sur desheuristiques et des statistiques generalement admises [15]pour modeliser l’evolution du comportement d’un acteurdans le temps. Cependant, le trafic genere est souvent tropsimple et souffre d’un manque de realisme.

La methode hybride est une solution de generation detrafic reseau qui respecte a la fois les criteres de realisme etde controlabilite [12]. Contrairement a la generation syn-thetique, la generation hybride inferere les caracteristiquesa partir d’un enregistrement reseau prealablement capture,pour les re-utiliser au sein d’un processus de generationsynthetique. Cette fois-ci, le trafic genere represente demaniere precise la realite, du moins, a la hauteur descaracteristiques utilisees. La condition de controlabilite estegalement satisfaite car la methode implique la generationdu trafic et non un simple rejeu. Cette derniere approcheest celle que nous mettons œuvre dans nos travaux.

Le reste de cet article est organise comme suit. Dansla section II, nous presentons les botnets et les travauxs’attachant a les detecter. Ensuite, dans la section III, nousintroduisons une extension stochastique de la machine deMealy que nous utilisons pour modeliser le comportementd’un zombie. Dans la section [IV], nous decrivons notre

978-1-4577-0737-7/11/$26.00 ©2011 IEEE

Page 2: [IEEE 2011 Conference on Network and Information Systems Security (SAR-SSI) - La Rochelle, France (2011.05.18-2011.05.21)] 2011 Conference on Network and Information Systems Security

methode d’apprentissage du modele. Enfin, nous presen-tons l’implementation et les resultats de notre architecturedediee a l’evaluation des mecanismes de detection debotnet (section V).

II. Travaux anterieurs

A. Les botnets

Un botnet est un ensemble de systemes compromis, sousle controle d’un proprietaire et/ou de plusieurs systemesde commandes denommes maıtres du botnet. Les systemesou hotes compromis, aussi appeles zombies, echangentdes informations et des ordres avec leurs maıtres via uncanal de communication appele C&C pour « Commandand Control ». Certaines architectures de botnet distri-buees [8] introduisent la possibilite qu’un zombie puissecommuniquer directement avec un autre zombie. Afin dene pas limiter nos travaux aux seules architectures non-distribuees, nous definissons le zombie a l’origine directedu message comme le maıtre relatif du zombie qui doiteffectuer la commande et/ou repondre a l’ordre. Nous nedifferencions pas un maıtre relatif du veritable proprietairedu reseau.Le maıtre communique sur le canal C&C pour controler

les zombies de son reseau et leur assigner une serie d’opera-tions malveillantes a executer. Les resultats de l’executionde ces operations lui sont ensuite renvoyes. Parmi celles-ci, on peut citer l’envoi massif d’emails, l’execution d’at-taques decentralisees (DDOS) ainsi que des techniques derecuperation d’informations personnelles sur les systemescompromis.De nos jours, une grande partie des botnets deployes

utilise pour leur C&C, des protocoles reseaux commeIRC (Internet Relay Chat), XMPP (Extensible MessagingProtocol and Presence Protocol), l’envoi d’emails, et memedes services de reseaux sociaux comme Twitter2. Nousavons fait le choix d’appliquer notre solution au protocoleIRC. Il s’agit en effet d’un des protocoles les plus utilisesd’apres les statistiques annuelles publiees par Shadow Ser-ver3. Toutefois, ce choix n’est pas restrictif et la methodes’adapte facilement a d’autres protocoles.Nos travaux adressant la problematique de l’evaluation

des mecanismes de detection de botnet, nous presentonspar la suite les principales solutions existantes.

B. Detection de botnet

Les methodes de detection de botnet s’organisent entrois grandes familles.La premiere regroupe les methodes de detection se

focalisant sur l’impact d’un zombie sur un systeme. Pourse faire, le code executable du zombie est analyse pourcomprendre son fonctionnement et etablir des signaturesvirales [16], [9]. Ces codes sont souvent collectes par despots de miels dedies [10], [2].

2http://twitter.com3http://www.shadowserver.org

La deuxieme famille rassemble l’ensemble des meca-nismes consistant a caracteriser la proliferation des zom-bies ainsi que leur topologie reseau. Parmi ces travaux,ceux de Hyunsang et al. [7] s’orientent notamment versl’identification de botnets via la modelisation et l’analysede communautes.La derniere famille considere la presence d’un canal de

communication de type C&C comme le symptome d’uneinfection [11], [5], [22]. Cette derniere methode apparaıtcomme la plus interessante puisqu’elle cible le point faibled’un botnet, a savoir son systeme de communication.En effet, comme le montrent les travaux de Guoefei

Gu [14], la premiere etape d’une lutte efficace contre laproliferation des botnets consiste a detecter leurs canauxde communication. Cela permet d’une part d’identifierles acteurs de la communication, puis en interrompantla connexion, d’empecher le controle des zombies par lemaıtre, rendant le botnet inutilisable.Afin d’evaluer les NIDS reposants sur cette derniere

approche, il nous parait indispensable de modeliser lelangage utilise sur le C&C afin de generer un trafic quipuisse etre a la fois controlable et realiste.Les travaux de Peter Wurzinger et al. [22] presentent

une modelisation du comportement d’un zombie sur soncanal de communication. Cependant, contrairement a nostravaux, le modele utilise ne prend pas en compte l’inter-dependance des messages au sein d’une sequence de com-mandes. Cette modelisation a deux etats (reception d’unecommande, reponse a cette commande) engendre un tropfort risque de faux positifs.Les travaux de Guofei Gu et al. [14] introduisent la

correlation spacio-temporelle des acteurs d’un C&C pourmodeliser un botnet. Cependant, il apparait que cettesolution est beaucoup trop tributaire de la synchronisationtemporelle des acteurs d’un botnet. Si cette condition n’estpas assuree (QoS, mutation des codes, etc.), un memebotnet ne sera pas modelise de la meme maniere.Chian Yuan Cho et al. [6] s’interessent egalement a la

modelisation des zombies. Leurs travaux proposent notam-ment l’utilisation d’une machine de Mealy pour modeliserle comportement d’un zombie sur son canal de communi-cation. Ce modele a deux limitations : d’une part, il neprend pas en compte le temps separant deux messages ;d’autre part, il suppose, de part son determinisme, l’envoid’une meme reponse a un meme message, quelle que soitl’instance du zombie. Cette modelisation est incompatibleavec certaines commandes, par exemple, la commandewho4 sous Unix. Il est donc necessaire d’integrer un facteurd’indeterminisme sur les messages de sorties pour repre-senter ces differents cas. Pour se faire, nous utilisons unmodele indeterministe que nous detaillons au travers descontributions suivantes :

• Nous employons une machine de Mealy stochastiqueafin d’etendre la modelisation aux cas de botnets com-

4Who : commande transmettant la liste des utilisateurs connectes

Page 3: [IEEE 2011 Conference on Network and Information Systems Security (SAR-SSI) - La Rochelle, France (2011.05.18-2011.05.21)] 2011 Conference on Network and Information Systems Security

plexes ainsi que pour accelerer l’apprentissage. Cettemachine sequentielle stochastique permet notammentde fusionner les modeles associes a plusieurs instancesd’un meme zombie.

• Nous presentons un algorithme d’apprentissage d’unemachine de Mealy stochastique en utilisant l’inferencepassive et active de sa grammaire.

• Nous proposons une solution d’evaluation des me-canismes de detection d’un botnet en utilisant ungenerateur de trafic realiste et controlable.

III. Modelisation d’un zombie par MMSTD

Une des solutions pour evaluer un NIDS consiste a utili-ser de vrai zombies. Cependant, les deployer n’est pas uneoperation triviale. En effet, meme confine sur un reseauprotege, le zombie risque de se comporter differemments’il n’a pas l’autorisation de realiser ses commandes mali-cieuses. En outre, certains zombies mettent en place dessolutions de protection face aux tentatives de manipulationdes experts (anti-virtualisation, obscurcissement, etc.) ren-dant leurs analyses longues et fastidieuses. Modeliser unzombie en vue de simuler son comportement permet doncde simplifier la generation de trafic.Afin de limiter le nombre de parametres decrivant le

comportement du zombie, nous considerons que la mode-lisation des echanges sur un canal de communication sereduit a la modelisation de la grammaire employee par sesacteurs. En effet, nous ne considerons pas les parametresd’une transmission tels que les erreurs, le bruit de fondet les delais de propagation specifiques au support elec-tronique. La modelisation du C&C d’un botnet necessitedonc la modelisation de ses acteurs : le maıtre et le zombie.La modelisation d’un maıtre est une operation compli-

quee puisque qu’elle implique tres souvent (dans le cas desarchitectures non P2P) l’analyse du comportement d’unhumain. En outre, elle necessite dans un premier tempsde connaıtre le langage utilise par le zombie. Nous avonsdonc choisi de nous interesser a la modelisation du zombieet de considerer ulterieurement celle du maıtre.Pour toutes ces raisons, nous avons fait le choix de

modeliser le comportement d’un zombie sur son C&C pourpouvoir creer ensuite un zombie equivalent a partir de cemodele. Ce dernier est ensuite utilise pour la generationd’un trafic realiste et controlable d’un botnet.Parmi les modeles a base d’automates integrant l’inde-

terminisme necessaire, la famille des modeles de Markovcaches (HMM5) constitue un sous-ensemble aujourd’huitres utilise. Un HMM [18] est une specialisation desmachines stochastiques ou l’alphabet d’entree est vide.Toutefois, nous considerons que ce modele n’est pas adaptea notre problematique puisqu’il ne permet pas aisementde modeliser les communications d’un botnet. En effet,il est necessaire de prendre en compte la relation entreles messages d’entree (les commandes du maıtre) et lesmessages de sortie associes (les reponses du zombie).

5en anglais, Hidden Markov Models

Il existe egalement une extension des HMM denommeeIOHMM6, ou l’emission d’un message et la transitiondependent a la fois de l’etat courant et de la reception d’unmessage, tout en etant probabiliste. Ce modele caracterisela relation entre une sequence d’entree et une sequence desortie. Il est similaire a la machine de Mealy stochastique,qui est notamment evoquee par Paz [17] et qui nous sembleparticulierement adaptee a notre problematique.

A. La machine de Mealy stochastique a transitions deter-ministes (MMSTD)

La machine de Mealy stochastique (MMS), membre dela famille des machines sequentielles stochastiques (SSM7),est introduite par plusieurs travaux independants, publiesdes le debut des annees 1960. La modelisation suivante esttiree de Paz [17] :Definition 3.1: Machine sequentielles stochastiques

(SSM)Une SSM est un quintuplet M = 〈 S,X, Y, T, q0 〉 ou S

represente l’ensemble des etats, X et Y , les alphabetsd’entree et de sortie et q0 l’etat initial de la machine. T estun ensemble fini de matrices carrees, avec |T | = |X|× |Y |,tel que T = {A(y|x)} avec y ∈ Y et ∈ X. Les matricesA(y|x) definissent les probabilites de l’emission d’unmessage y apres reception d’un message x.

Dans notre cas, l’alphabet X regroupe l’ensemble desmessages envoyes par le maıtre au zombie et l’alphabet Y ,l’ensemble des reponses envoyees par le zombie au maıtre.

La probabilite de l’emission d’un message y suite a lareception d’un message x est definie par la matrice detransition A(y|x) = {ai,j(y|x)}. Chaque element de cettematrice est de la forme ai,j(y|x) = p(sj , y|si, x) et exprimela probabilite de passer a l’etat sj en emettant le messagey suite a la reception du message x alors que l’etat courantest si.Nous faisons l’hypothese que les differentes instances

d’un meme zombie possedent un graphe de transitioncommun, mais qu’elles peuvent emettre des messages dif-ferents. En effet, ces derniers caracterisent l’environne-ment au sein duquel chaque instance evolue. A partirde cette hypothese, nous faisons le choix d’utiliser laversion stochastique de la machine de Mealy a transitionsdeterministes et a sorties indeterministes. En outre, cetteextension permet de factoriser la representation du modelequi caracterise differentes instances d’un meme zombie, enoffrant la possibilite d’associer plusieurs sorties au memecouple (etat, entree).Cette approche permet de modeliser l’ensemble des zom-

bies a transitions deterministes et utilisant un vocabulaireinvariant. Cela exclut donc les codes evolutifs ainsi que lesbotnets a communications chiffrees qui representent unefaible proportion des botnets existants.Definition 3.2: Machine de Mealy stochastique a tran-

sitions deterministes (MMSTD)

6en anglais, Input/Output Hidden Markov Models.7en anglais, Stochastic Sequential Machine.

Page 4: [IEEE 2011 Conference on Network and Information Systems Security (SAR-SSI) - La Rochelle, France (2011.05.18-2011.05.21)] 2011 Conference on Network and Information Systems Security

Une MMSTD est une SSM telle que pour un etat donneet un message recu, il existe une seule transition possible :

∀x ∈ X, ∀si, sj ∈ S p(sj |si, x) ∈ {0, 1} (1)

B. La prise en compte du temps de reaction

Comme presente dans la section II, plusieurs meca-nismes de detection de botnet utilisent la correlation tem-porelle. Pour evaluer ces solutions, il est donc necessaired’integrer un facteur temporel dans notre modele, ce quin’est pas le cas, par defaut, des modeles a bases de MMS.Pour ce faire, nous ajoutons a la definition d’une tran-

sition, une variable aleatoire T traduisant le temps dereaction avant l’emission d’une reponse. Cette variable suitune loi normale que nous parametrons avec la moyenne m

et l’ecart type s des temps de reaction observes.

C. La reduction de l’alphabet d’entree

Dans le cas general, nous ne distinguons pas les para-metres des commandes dans les messages echanges. Ainsinous considerons « .debug false » et « .debug true » commedeux messages distincts.Toutefois, cette approche complexifie le modele. Cela est

particulierement vrai pour les commandes presentant lescaracteristiques suivantes :

• des parametres dont le domaine est de taille impor-tante (par exemple, des adresses IP, des dates, etc.) ;

• une variation de ces parametres n’a pas d’impact surla sequence des actions realisees mais peut conduire ades sorties differentes.

Nous avons donc decide de distinguer certains para-metres que nous representons sous la forme d’un motif quiabstrait les differentes valeurs qu’ils peuvent prendre. L’in-tegration de ces motifs, de la forme ${type parametre},dans l’alphabet d’entree permet de reduire sa taille etsimplifie le modele.Pour un ensemble de messages d’entree consideres

comme equivalents, il devient possible de creer une seuletransition comprenant l’ensemble de messages de sortiesassocie. Parmi les motifs utilises, nous retrouvons :

• $IP, qui represente une adresse IP ;• $EMAIL, qui represente une adresse email ;• $DATE, qui represente une date au format yyyy-mm-

dd ;• $HOUR, qui represente une heure au format

hh :mm :ss.

Chaque message x ∈ X est donc de la forme : [<com-mande> | <motif>]* avec <commande> une chaıne decaracteres non typee et <motif> un parametre identifiepar son motif.La figure 1 illustre la modelisation d’un zombie par une

machine de Mealy stochastique a transitions deterministes.Les transitions y sont representees a l’aide d’une flecheorientee et utilisent la notation (e, {(oi, p(oi))}) avec e

le message d’entree, oi un message de sortie et p(oi) laprobabilite d’avoir oi.

Des parametres generiques (motifs) et l’operateur denegation ( !) sont utilises dans l’alphabet d’entree. Pourplus de lisibilite, la figure 1 n’integre pas les termes relatifsaux temps de reaction. Ainsi, une fois dans l’etat S2 lezombie passe a l’etat :

S1 s’il recoit le message e4=$IP avec $IP le motifdecrivant n’importe quelle adresse IP. Cette tran-sition emet alors le message o5=«Attack success-full » avec une probabilite de 0, 4 et le messageo6=«Attack failed » avec une probabilite de 0, 6 ;

S2 s’il recoit le message e5= !$IP avec !$IP le motifdecrivant n’importe quel contenu different d’uneadresse IP. Cette transition emet alors le messageo4=« IP of target ? ».

Figure 1. Exemple d’une MMSTD d’un botnet

IV. Apprentissage automatique de la MMSTD

Pour realiser la simulation du C&C d’un botnet, nousutilisons le resultat de la modelisation d’un zombie. Cettemodelisation permet d’obtenir un generateur de trafic non-malicieux mais disposant d’une grammaire equivalentea celle utilisee par des zombies. Toutefois, l’equivalencedepend des besoins de l’utilisation du modele. Dans notrecas, celui-ci doit permettre d’evaluer une solution de de-tection des botnets. Le trafic genere doit donc respecterl’ensemble des caracteristiques exploitees par ces solutionsde detection. Nous avons donc dresse la liste des equiva-lences importantes a considerer :Equivalence syntaxique : les solutions de detection

d’un C&C utilisent le vocabulaire du zombie ou du maıtrepour realiser des regles de detection. Il est donc importantd’apprendre le vocabulaire utilise.

Page 5: [IEEE 2011 Conference on Network and Information Systems Security (SAR-SSI) - La Rochelle, France (2011.05.18-2011.05.21)] 2011 Conference on Network and Information Systems Security

Equivalence semantique : en plus de considerer le vo-cabulaire, certaines solutions de detection utilisent l’ordred’apparition de ces messages dans la signature de detectiond’un C&C. Il faut donc apprendre la grammaire, c’est-a-dire l’ensemble des etats et des transitions du modeledu zombie, pour pouvoir simuler des enchaınements demessages realistes.Equivalence temporelle : finalement, une derniere

caracteristique employee concerne la repartition dans letemps de l’echange de messages. Les solutions telles que[14] mesurent le temps entre deux messages pour determi-ner si l’echange etudie est le resultat d’une communicationd’un zombie et de son maıtre.L’apprentissage du modele se deroule en quatre etapes.

1) Dans un premier temps, nous effectuons une (ouplusieurs) capture(s) reseau des echanges entre unmaıtre et une (ou plusieurs) instance(s) de zombies.Ces captures sont realisees dans un environnementrealiste et non confine.

2) Dans un second temps, nous analysons ces capturesafin d’extraire l’alphabet d’entree, le temps entre lesmessages ainsi que des sequences completes d’uti-lisation de ces messages. Cette etape nous permetd’assurer l’equivalence syntaxique et temporelle denotre apprentissage.

3) Dans un troisieme temps, nous telechargeons et nousconfinons le zombie au sein d’un environnement maı-trise et invariant. Nous realisons ensuite l’apprentis-sage du graphe de transition de cette instance duzombie, en simulant un maıtre. Cette etape garantil’equivalence semantique.

4) Finalement, la derniere etape consiste a generaliserles sorties du modele en integrant, dans le graphede transition extrait a l’etape precedente, l’ensembledes sequences de messages observes dans les tracesreseaux.

A. Capture des echanges entre une instance de zombie etson maıtre

La premiere etape consiste a capturer des echangesentre une ou plusieurs instances d’un meme zombie et unmaıtre. Les traces doivent contenir l’enregistrement com-plet de chaque message echange incluant son horodatage.Il existe differentes methodes pour capturer ces messages :au niveau du reseau, au niveau du C&C ou au niveaude la memoire, en fonction des besoins (chiffrement descommunications).

B. Extraction des alphabets, du temps de reaction et dessequences valides

A partir d’un ensemble de traces reseau, notre systemedetermine les alphabets d’entree et de sortie, le tempsentre chaque message ainsi qu’une ou plusieurs sequencesde messages valides. Les couples (xi, yi) associes a la cap-ture d’une commande xi et a sa reponse yi sont extraits.Les alphabets d’entres X et de sorties Y sont ensuite

definis tels que X = {ǫ, x1, x2, ...} et Y = {ǫ, y1, y2, ...}avec ǫ un message vide.En plus de l’alphabet, cette etape permet egalement

de mesurer le temps entre la reception d’un messageet la reponse associee (cf. section III-B). Ces mesurescorrespondent au delai entre l’observation d’un messageen destination du zombie et la reponse associee. Pourassurer la precision de cette mesure du temps de reaction,il est important de positionner l’observateur a une distance« temporelle » negligeable du zombie, devant le temps dereponse de ce dernier. Si cette condition ne peut pas etreassuree, l’implementation doit permettre de prendre encompte le delai associe a l’ecart entre l’observateur et lezombie.

C. Extraction du graphe de transition

Pour la troisieme etape, nous utilisons une solution d’in-ference active. Cette etape s’articule autour de la stimu-lation d’une entite appelee oracle par notre modelisateur,pour en inferer son graphe de transition. Nous utilisons entant qu’oracle une instance d’un zombie confine, auquelle modelisateur soumet des requetes d’appartenances. Enreponse a ces requetes, l’oracle fournit une informationbooleenne indiquant si la requete soumise est gramma-ticalement correcte. Toutefois, l’oracle etant deterministe(il s’agit d’une instance particuliere du zombie), il permetseulement de decouvrir le graphe de transition du zombieet non les differentes reponses possibles (pour un memecouple entree/etat).Le choix des requetes d’appartenance s’effectue selon

l’algorithme L* developpe par D. Angluin [1] pour l’ap-prentissage des langages reguliers. Cet algorithme a en-suite ete adapte a l’apprentissage des machines de Mealypar Shahbaz et al. [20]. Nous avons fait le choix d’utilisercet algorithme en raison de son efficacite a inferer ungraphe de transition deterministe en un temps polynomial.Nous avons donc utilise la bibliotheque LearnLib [19],

maintenue par l’universite technologique de Dortmund8,pour realiser l’inference du graphe de transition du zombie.

D. Mise a jour du graphe de transition

La derniere etape consiste a generaliser notre modeleen integrant l’indeterminisme sur les messages de sortie.Pour ce faire, nous utilisons les sequences extraites destraces reseaux (cf. section IV-B). En considerant que cessequences sont valides, nous les comparons avec notremodele infere. L’oracle et le zombie possedant un graphede transition equivalent, il est possible de simuler lessequences extraites a travers le modele de l’oracle afind’identifier les differences provenant uniquement de l’in-deterministe des sorties du zombie.Pour effectuer cette operation, nous appliquons l’al-

gorithme 1 presente en pseudo-code ou nous retrouvonse ∈ E une sequence de commandes (x, y) avec x ∈ X

8http://faelis.cs.uni-dortmund.de

Page 6: [IEEE 2011 Conference on Network and Information Systems Security (SAR-SSI) - La Rochelle, France (2011.05.18-2011.05.21)] 2011 Conference on Network and Information Systems Security

un message d’entree et y ∈ Y un message de sortie. Latransition d’un etat si a un etat sj , suite a la lectured’un message x, est definie par la fonction sj = σ(si, x).Finalement, la table (table(s, x, y)) permet de stocker lenombre d’occurrences de l’emission d’un message y dansl’etat s sachant que le message x a ete recu.

1 foreach {e in E}2 s2 := q03 foreach {(x , y ) in e}4 s1 := s25 s2 := σ ( s1 , x )6 t ab l e ( s1 , x , y ) := tab l e ( s1 , x , y)+17 end( foreach )8 end( foreach )

Listing 1. Calcul du poids de l’emission d’un message ysachant que l’on est dans l’etat s1 et que l’on receptionnele message x

La probabilite de l’emission d’un message y sachantqu’un message x a ete recu et que l’automate se trouvedans un etat s est ensuite calculee de la maniere suivante :

p(y|s, x) =table(s, x, y)

∑z∈Y table(s, x, z)

(2)

V. Implementation et validation de la

plateforme

A. Implementation

Dans cette section, nous presentons l’implementationde la modelisation et de l’apprentissage d’un botnet pourl’evaluation, ainsi que son application a la simulation d’unequipement de securite.

La figure 2 illustre l’architecture generale de la plate-forme utilisee pour valider le bon fonctionnement de notreapproche. Celle-ci est notamment composee des elementssuivants :Extracteur passif : cet element effectue l’extraction

des communications entre un zombie et un maıtre a partird’un enregistrement reseau au format PCAP. Developpeen Java, ce module s’appuie sur la librairie jpcap9 pourl’analyse des paquets IP. A partir de ces derniers, il extraitl’ensemble des communications entre plusieurs instancesd’un zombie et un maıtre. L’extraction est ensuite misea la disposition des autres modules sous la forme d’undocument XML representant les echanges.Modelisateur : ce module effectue l’apprentissage actif

de la grammaire du zombie en utilisant les resultats de l’ex-tracteur passif et une instance du zombie comme oracle. Ilimplemente la solution d’apprentissage presentee dans lechapitre IV-C en determinant les experiences a executerpour decouvrir le modele a inferer. Ces experiences sontsoumises a l’oracle apres qu’il soit positionne dans lecontexte souhaite. A la fin de l’inference, le modelisateurpublie ses resultats sous un format XML representant lemodele appris.

9http://sourceforge.net/projects/jpcap/

Generateur de zombies : ce module permet de creerun zombie a partir de la description XML de son modelecomportemental. En suivant les transitions declarees dansle modele, ce module respecte la grammaire, le vocabulaireet les durees inferees prealablement. Lorsque, pour uneentree donnee, le zombie generique peut emettre plusieursreponses possibles, il effectue un tirage aleatoire selon laloi normale.Generateur de maıtre : ce module genere un zombie

generique dans le role du maıtre du botnet. Toutefois,contrairement au « Generateur de zombies », il choisitaleatoirement, parmi l’ensemble de ses possibilites, latransition qu’il souhaite emprunter dans le modele duzombie infere. La caracterisation de ce choix se traduitpar l’emission d’un message aux zombies auxquel il estconnecte.

B. Experimentation

Pour valider notre plateforme, nous avons applique nostravaux a l’inference et a la simulation d’un botnet tresrepandu, a savoir le PHP/Bot10 (ou pBot). Ce codemalveillant est installe par le proprietaire du botnet surdes serveurs web vulnerables aux injections de codes PHP.Nous l’avons utilise en raison du grand nombre de serveursinfectes (la recherche « ”class pbot”, filetype :txt » sur lemoteur de recherche Google fournit pres de 600 references)et de la facilite d’acces a son code source, ce qui nous apermis de valider le modele infere par retroconception.

Apres avoir transforme l’une de nos machines en zombie,nous avons captures l’ensemble des messages echanges avecson maıtre sur le C&C prealablement identifie. Nous avonsensuite applique la methode d’apprentissage presenteedans la section IV en utilisant le zombie ainsi que lescaptures reseaux.La MMSTD representee sur la figure 3 correspond au

comportement du zombie appris (pour des raisons delisibilite nous avons limite le nombre d’etats representessur le schema et nous n’avons pas represente le temps dereaction). Apres l’analyse des resultats, nous avons identi-fie une specificite de la version utilisee du pBot : elle n’au-torise pas l’execution successive de la meme commande. Leresultat est fidele a l’analyse realisee par retroconceptiondu code source du PHP/Bot. En outre, nous avons simulele comportement du zombie sur un serveur IRC local etverifie experimentalement la bonne detection du zombiesimule par la regle « BLEEDING-EDGE TROJAN pBot(PHP bot) Commands » du NIDS Snort11

VI. Conclusion et perspectives

Nous avons propose une solution pour l’evaluation desmecanismes implementes au sein des NIDS pour la de-tection de botnets. Cette solution est basee sur la mo-delisation et l’apprentissage automatique de l’utilisationdu C&C par un zombie pour ensuite le simuler au sein

10http://owned-nets.blogspot.com11http://www.snort.org

Page 7: [IEEE 2011 Conference on Network and Information Systems Security (SAR-SSI) - La Rochelle, France (2011.05.18-2011.05.21)] 2011 Conference on Network and Information Systems Security

Figure 2. Architecture de la plateforme utilisee

d’une plateforme d’evaluation. Contrairement aux tra-vaux anterieurs dans le domaine de la modelisation dezombies, nous utilisons une MMSTD afin d’etendre lecomportement infere aux cas indeterministes. En outre,nos travaux integrent le temps de reaction d’un zombie etune factorisation du modele afin d’assurer une plus grandeequivalence entre le zombie infere et le zombie simule.Finalement, nous utilisons le modele infere pour genererun trafic reseau realiste et controlable dans le cadre del’evaluation des mecanismes de detection de botnets.Dans un futur proche, nous allons automatiser la collecte

de zombies en couplant notre infrastructure a celle d’unpot de miel dedie aux botnets. L’objectif est de pouvoirvalider experimentalement notre demarche sur un plusgrand nombre de codes malveillants. Nous souhaitons ega-lement etendre notre approche en modelisant les actionsmalveillantes realisees par un zombie suite a la receptiond’une commande.

References

[1] D. Angluin. Learning regular sets from queries and counte-rexamples. Inf. Comput., 75 :87–106, November 1987.

[2] P. Baecher, M. Koetter, M. Dornseif, and F. Freiling. Thenepenthes platform : An efficient approach to collect malware.In Proceedings of the 9 th International Symposium on RecentAdvances in Intrusion Detection, pages 165–184. Springer, 2006.

[3] J. R. Binkley. An algorithm for anomaly-based botnet detection.In Proceedings of USENIX Steps to Reducing Unwanted Trafficon the Internet Workshop, pages 43–48, 2006.

[4] M. Bishop, R. Crawford, B. Bhumiratana, L. Clark, and K. Le-vitt. Some problems in sanitizing network data. In 15th IEEEInternational Workshops on Enabling Technologies : Infrastruc-ture for Collaborative Enterprises, pages 307–312, 2006.

[5] J. Caballero, P. Poosankam, C. Kreibich, and D. Song. Dis-patcher : enabling active botnet infiltration using automaticprotocol reverse-engineering. In Proceedings of the 16th ACMconference on Computer and communications security, CCS ’09,pages 621–634, New York, NY, USA, 2009. ACM.

[6] C. Y. Cho, D. Babic, E. C. R. Shin, and D. Song. Inferenceand analysis of formal models of botnet command and controlprotocols. In Proceedings of the 17th ACM conference onComputer and communications security, CCS ’10, pages 426–439, New York, NY, USA, 2010. ACM.

[7] H. Choi, H. Lee, and H. Kim. Botgad : detecting botnets bycapturing group activities in network traffic. In Proceedings ofthe Fourth International ICST Conference on COMmunicationSystem softWAre and middlewaRE, COMSWARE ’09, pages2 :1–2 :8, New York, NY, USA, 2009. ACM.

[8] D. Dittrich and S. Dietrich. P2p as botnet command andcontrol : a deeper insight. In Proceedings of the 3rd InternationalConference On Malicious and Unwanted Software, pages 46–63,2008.

[9] R. F. Erbacher, A. Cutler, P. Banerjee, and J. Marshall. Amulti-layered approach to botnet detection. In Security andManagement, pages 301–308, 2008.

[10] F. C. Freiling, T. Holz, and G. Wicherski. Botnet tracking : Ex-ploring a root-cause methodology to prevent distributed denial-of-service attacks. In Proceedings of 10 th European Symposiumon Research in Computer Security, pages 319–335, 2005.

[11] F. Giroire, J. Chandrashekar, N. Taft, E. Schooler, and D. Pa-pagiannaki. Exploiting temporal persistence to detect covertbotnet channels. In Proceedings of the 12th InternationalSymposium on Recent Advances in Intrusion Detection, 2009.

[12] S. Gorbunov and A. Rosenbloom. Autofuzz : Automatednetwork protocol fuzzing framework. In IJCSNS InternationalJournal of Computer Science and Network Security, volume 10,August 2010.

[13] G. Gu, P. Porras, V. Yegneswaran, M. Fong, and W. Lee. Bo-thunter : detecting malware infection through ids-driven dialogcorrelation. In Proceedings of 16th USENIX Security Sym-posium on USENIX Security Symposium, pages 12 :1–12 :16,

Page 8: [IEEE 2011 Conference on Network and Information Systems Security (SAR-SSI) - La Rochelle, France (2011.05.18-2011.05.21)] 2011 Conference on Network and Information Systems Security

Figure 3. La MMSTD simplifiee du zombie PHP/Bot

Berkeley, CA, USA, 2007. USENIX Association.[14] G. Gu, J. Zhang, and W. Lee. Botsniffer : Detecting botnet

command and control channels in network traffic. In NDSS,2008.

[15] S. Luo and G. A. Marin. Modeling networking protocols to testintrusion detection systems. In Proceedings of the 29th AnnualIEEE International Conference on Local Computer Networks,LCN ’04, pages 774–775, Washington, DC, USA, 2004. IEEEComputer Society.

[16] V. Nivargi, M. Bhaowal, and T. Lee. Machine learning basedbotnet detection. Technical report, CS229, Standford, 2006.

[17] A. Paz. Introduction to Probabilistic Automata. Academic Press,1971.

[18] L. R. Rabiner. A tutorial on hidden markov models and selectedapplications in speech recognition. In Proceedings of the IEEE,pages 257–286, 1989.

[19] H. Raffelt, B. Steffen, and T. Berg. Learnlib : a library for

automata learning and experimentation. In Proceedings of the10th international workshop on Formal methods for industrialcritical systems, FMICS ’05, pages 62–71, New York, NY, USA,2005. ACM.

[20] M. Shahbaz and R. Groz. Inferring mealy machines. InProceedings of the 2nd World Congress on Formal Methods, FM’09, pages 207–222, Berlin, Heidelberg, 2009. Springer-Verlag.

[21] C. Wright, C. Connelly, T. Braje, J. Rabek, L. Rossey, andR. Cunningham. Generating client workloads and high-fidelitynetwork traffic for controllable, repeatable experiments in com-puter security. In Proceedings of the 13th International Sympo-sium on Recent Advances in Intrusion Detection, 2010.

[22] P. Wurzinger, L. Bilge, T. Holz, J. Goebel, C. Kruegel, andE. Kirda. Automatically generating models for botnet detection.In Proceedings of the 14th European conference on Research incomputer security, ESORICS’09, pages 232–249, Berlin, Heidel-berg, 2009. Springer-Verlag.