Exploiting Semantic for the Automatic Reverse Engineering of Communication Protocols
Total Page:16
File Type:pdf, Size:1020Kb
Exploiting Semantic for the Automatic Reverse Engineering of Communication Protocols. Georges Bossert To cite this version: Georges Bossert. Exploiting Semantic for the Automatic Reverse Engineering of Communication Protocols.. Other. Supélec, 2014. English. NNT : 2014SUPL0027. tel-01146797 HAL Id: tel-01146797 https://tel.archives-ouvertes.fr/tel-01146797 Submitted on 29 Apr 2015 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. No d’ordre : 2014-27-TH SUPELEC Ecole´ Doctorale MATISSE ”Mathematiques,´ Tel´ ecommunications,´ Informatique, Signal, Systemes` Electroniques”´ THESE` DE DOCTORAT DOMAINE : STIC Specialit´ e´ : Informatique Soutenue le 17 decembre´ 2014 par : Georges BOSSERT Exploiting Semantic for the Automatic Reverse Engineering of Communication Protocols Directeur de these` : Ludovic ME´ Professeur a` Supelec´ Composition du jury : President´ du jury : Franc¸ois BODIN Professeur a` l’Universite´ de Rennes 1 Rapporteurs : Colin DE LA HIGUERA Professeur a` l’Universite´ de Nantes Christopher KRUEGEL Professeur a` l’Universite´ de Californie SB Examinateurs : Herve´ DEBAR Professeur a` Tel´ ecom´ SudParis Benjamin MORIN Chef de Laboratoire, ANSSI Membre invite´ : Dominique CHAUVEAU Chef du departement´ IMPS, DGA MI Encadrants : Fred´ eric´ GUIHERY´ Responsable R&D, AMOSSYS Guillaume HIET Professeur assistant a` Supelec´ 2 Remerciements A` l’issue de ces quatre annees,´ je suis persuade´ que la these` n’est pas un travail solitaire. Elle est le resultat´ d’un effort conjoint entre le doctorant et son encadrement. L’environnement humain au sein duquel evoluent´ ces acteurs participe egalement´ pleinement aux resultats´ de ces travaux. Il m’apparaˆıt donc primordial de remercier ces personnes dont la gen´ erosit´ e,´ la bienveillance et la bonne humeur m’ont apporte´ la force de progresser et de terminer cette these.` En premier lieu, je souhaite remercier mon encadrant Guillaume HIET, sans qui ces travaux n’auraient jamais abouti. L’energie,´ la rigueur et la patience qu’il a su deployer´ pour m’encadrer se retrouvent distillees´ tout au long de ce manuscrit. Son expertise et son experience´ furent egalement´ exploitees´ a` maintes reprises pendant l’elaboration´ des contributions exposees.´ De la memeˆ maniere,` l’encadrement assure´ par Frederic´ GUIHERY´ fut precieux.´ L’inter´ etˆ qu’il a su porter a` ce travail a largement depass´ e´ le cadre d’un encadrement et ses contributions actives au projet NETZOB se retrouvent donc tout au long de ce manuscrit. Je souhaite egalement´ exprimer toute ma gratitude a` la societ´ e´ AMOSSYS et ses directeurs Fred´ eric´ REMI´ et Christophe DUPAS pour leur confiance. La bienveillance et l’inter´ etˆ que les equipes´ d’AMOSSYS ont porte´ a` mes travaux ont tres` largement participe´ aux resultats´ de cette these.` Nos interminables debats´ techniques (ou non) et les discussions avec les membres du conseil strategique´ du jeudi soir furent de veritables´ bouffees´ d’air frais, je les remercie tous tres` sincerement` pour c¸a. Ces remerciements seraient incomplets si je n’en adressais pas a` Olivier TETARD´ qui s’est beaucoup investi pour creer´ un environnement humain et technique perein´ autour du projet NETZOB. Ses conseils m’ont accompagne´ tout au long de cette these,` je le remercie tres` sincerement` pour c¸a. Je souhaite egalement´ associer a` cette these` l’ensemble des contributeurs au projet NETZOB qui ont su donner vie a` un projet unique et plein de promesses. Mes remerciements vont egalement´ aux membres de l’equipe´ CIDre de SUPELEC pour m’avoir accueilli et pour l’ambiance de travail tres` agreable´ qu’ils ont su creer.´ Ludovic ME´ en tant que directeur de l’equipe´ et de ma these` a joue´ un roleˆ tres` important pendant ces quatre annees,´ je le remercie tres` chaleureusement. De tres` nombreuses personnes m’ont accompagne´ pendant ces annees,´ je ne peux malheureuse- ment pas les citer pour cette raison. La famille et les amis furent des points de repere` vitaux. Leurs encouragements et la chaleur qu’ils m’ont prodigue´ ont tres` largement produit le soutien affectif necessaire´ a` ce travail doctoral. Merci a` eux. Enfin, j’exprime ma gratitude aux membres du jury qui se sont rendus disponibles pour la 3 4 soutenance et pour les conseils prodigues´ sans lesquels ces travaux seraient certainement moins riches. Je suis particulierement` reconnaissant a` Colin DE LA HIGUERA et Christopher KRUEGEL de l’inter´ etˆ qu’ils ont manifeste´ a` l’egard´ de cette recherche en s’engageant en tant que rapporteurs. Resum´ e´ en franc¸ais Introduction Les protocoles de communication sont fondamentaux pour la communication des differents´ composants d’un systeme` d’information. Ils specifient´ les regles` a` suivre pour assurer la transmission de donnees´ inherentes´ a` toute communication. Avec l’accroissement des besoins en interconnexion des systemes` informatiques, l’emploi de protocoles de communication tend a` se gen´ eraliser´ au sein des systemes` d’informations personnels, industriels et militaires. Malheureusement, il est egalement´ bien connu que les protocoles de communication peuvent etreˆ vulnerables´ a` des attaques [48, 126, 118, 128]. Ces vulnerabilit´ es´ peuvent etreˆ exploitees´ pour mettre a` mal l’integrit´ e,´ la disponibilite´ et/ou la confidentialite´ des donnees´ et des applications. Certains protocoles, comme ceux utilises´ par les reseaux´ de zombies [129, 136, 6], ont memeˆ et´ e´ cre´es´ dans le seul but de realiser´ des attaques informatiques. Pour remedier´ aux vulnerabilit´ es´ d’un protocole, plusieurs solutions existent telles que l’evaluation´ de securit´ e´ des implementations´ ou l’emploi de produits de securit´ e´ dedi´ es´ tels que des systemes` de detection´ d’intrusion reseau´ (NIDS) ou des parefeu applicatifs. Cependant, la qualite´ des resultats´ ap- portes´ par ces solutions depend´ principalement de la connaissance des specifications´ des protocoles. Il est aise´ d’obtenir cette connaissance si les specifications´ du protocole sont disponibles. Cependant, si le protocole est non-documente´ et/ou proprietaire,´ un expert doit d’abord retro-concevoir´ les specifications´ du protocole. Etant´ donne´ la complexite´ de certains protocoles, cette operation´ peut etreˆ tres` couteuseˆ lorsqu’elle est execut´ ee´ manuellement. Objectifs de nos travaux Cette these` expose des contributions pour automatiser et ameliorer´ les operations´ de retro-´ conception d’un protocole de communication. Plus precis´ ement,´ ces contributions visent a` obtenir un modele` precis´ des specifications´ d’un protocole inconnu tout en reduisant´ le temps de calcul necessaire´ et en augmentant la furtivite´ de l’apprentissage par rapport aux solutions prec´ edentes.´ Ce travail embrasse la necessit´ e´ d’une methode´ efficace et rapide pour la retro-conception´ d’un protocole afin d’aider les auditeurs de securit´ e,´ les evaluateurs´ de securit´ e´ et les developpeurs´ de produits de securit´ e´ dans leur travail contre les cyber-attaques. Un protocole de communication peut se definir´ comme un ensemble de regles` qui regissent´ la nature de la communication, des donnees´ echang´ ees´ et des comportements dependant´ de l’etat´ 5 6 des systemes` qui participent a` la communication [65]. Ces regles` definissent´ le vocabulaire et la grammaire du protocole et dans une certaine mesure peuvent etreˆ consider´ ees´ comme similaires aux regles` qui regissent´ les langages de programmation. Le vocabulaire d’un protocole etablit´ l’ensemble des messages valides et leurs formats, tandis que la grammaire du protocole specifie´ l’ensemble des echanges´ valides de messages. Ces regles` peuvent etreˆ rendues complexes par le besoin d’assurer des communications entre des systemes` evoluant´ dans des milieux tres` diversifies.´ La retro-conception´ de protocoles de communication designe´ les proced´ es´ utilises´ pour obtenir les specifications´ d’un protocole non-documente.´ Cette connaissance des specifications´ du protocole est tres` precieuse´ pour mener a` bien de nombreuses operations´ ayant trait a` la securit´ e.´ Par exemple, les audits de securit´ e´ des systemes` de controleˆ industriels impliquent souvent l’analyse de materiels´ et de logiciels proprietaires.´ En outre, l’audit d’un tel systeme` proprietaire´ exige d’acquerir´ des connaissances suffisantes sur les fonctionnalites´ offertes par son protocole. Si aucune documentation n’est disponible, comme lors d’un audit en boˆıte noire, l’expert est oblige´ de retro-concevoir´ le protocole. L’importance de l’automatisation de ce processus est bien etablie´ compte tenu de la difficulte´ et le temps qu’il necessite´ lorsqu’il est execut´ e´ manuellement. En plus des evaluations´ et des audits de securit´ e,´ la retro-conception´ d’un protocole est egalement´ utile pour les developpeurs´ et les evaluateurs´ de produits de securit´ e´ tels que les systemes` de detection´ d’intrusion, les parefeu applicatifs, les outils de supervision de reseau´ et pots de miel. Au final, trois principales motivations nous ont conduit a` mener ces travaux :