Skip to content. | Skip to navigation

Emergences

Lettre d'information n° 31

Image emergences pour impression
Personal tools
You are here: Home 2014 Lettre d'information n° 31 Traque au virus dans le code binaire
Document Actions

Traque au virus dans le code binaire

Quelques lignes d'instructions dissimulées dans un logiciel : il n'en faut pas plus pour corrompre la sécurité d'un système. Au centre Inria Rennes-Bretagne Atlantique, une équipe scientifique étudie comment des méthodes formelles pourraient permettre une analyse du code binaire afin d'en améliorer la lisibilité et ainsi mieux repérer les programmes malveillants qui s'y cacheraient. Ces travaux sont menés avec DGA Maîtrise de l’information, l’établissement rennais de la Direction générale de l’armement (DGA).

Quelques lignes d'instructions dissimulées dans un logiciel : il n'en faut pas plus pour corrompre la sécurité d'un système. Au centre Inria Rennes-Bretagne Atlantique, une équipe scientifique étudie comment des méthodes formelles pourraient permettre une analyse du code binaire afin d'en améliorer la lisibilité et ainsi mieux repérer les programmes malveillants qui s'y cacheraient. Ces travaux sont menés avec DGA Maîtrise de l’information, l’établissement rennais de la Direction générale de l’armement (DGA).

Ils détruisent des disques durs. S'infiltrent. Espionnent. Dérobent des numéros de cartes bleues. Subtilisent des mots de passe. Ou modifient subrepticement la vitesse de rotation de centrifugeuses industrielles. Dans un monde hyper-connecté, les vers, virus, chevaux de Troie et autres malware constituent une menace en rien virtuelle.

Dirigée par Thomas Jensen, au centre Inria de Rennes, Celtique est une équipe-projet (1) spécialisée dans la sécurité du logiciel. Depuis plusieurs années, ces scientifiques collaborent avec DGA Maîtrise de l’information (2). “Ce partenariat s'inscrit dans le contexte plus large d'un accord cadre entre Inria et la Direction générale de l'armement. Différentes équipes interviennent sur des sujets  comme la cryptologie par exemple. Nous, nos travaux portent sur l'analyse du code binaire. Il s'agit du code de très bas niveau qui s'exécute sur les machines.

Du code atomisé

C'est souvent dans ces suites de 0 et de 1 que les virus vont se loger, en se faisant le plus discret possible. “Par nature, le binaire est difficilement lisible. Il se compose de petites instructions peu structurées. Chacune n'effectue qu'une action infime. La notion de boucle par exemple demande à être reconstruite. Difficile donc de repérer quelques lignes d'instructions malveillantes au milieu d'un code aussi atomisé.

Pour les chercheurs, le défi consiste à prendre ce code abscons, à l'analyser au moyen de méthodes formelles afin d'en proposer une représentation de plus haut niveau. Avec à la clé l'espoir de parvenir à automatiser cette analyse. “Mais nous n'en sommes pas là. Au préalable, il faudra lever beaucoup de verrous. C'est encore une recherche en amont. Nous avons identifié là un problème qui intéresse à la fois Inria et DGA Maîtrise de l’information. Nous mettons ensemble nos moyens pour faire avancer nos connaissances sur le sujet.

Un séminaire méthodes formelles et sécurité

Cette collaboration se concrétise aussi par un séminaire deux fois par mois dans les locaux d'Inria. Son fil conducteur : méthodes formelles et sécurité  “Ces réunions sont soutenues par DGA Maîtrise de l’information qui nous donne ainsi l'opportunité d'inviter de grandes pointures scientifiques pour des exposés sur nos thèmes d'intérêt. On peut le voir comme une action de veille technologique.

DGA Maîtrise de l’information cofinance également plusieurs thèses qui se déroulent au centre Inria de Rennes. Elle détache par ailleurs un de ses propres scientifiques qui rejoint l'équipe Celtique un jour par semaine au titre de collaborateur extérieur. “Nos recherches peuvent intéresser tout ceux qui se préoccupent de sécurité du logiciel, explique Colas Le Guernic. Par exemple l'utilisateur d'un programme qui voudrait vérifier directement certaines propriétés en faisant lui-même l'analyse du code binaire. Ou bien encore un concepteur qui s'apprêterait à intégrer un composant externe et désirerait s'assurer qu'il peut le faire sans risque.

Obfuscation

Un autre aspect de ces travaux porte sur les techniques d'obfuscation de code. Autrement dit les mille et une façons de rendre la lecture d'un programme véritablement ésotérique. “Ces méthodes sont utilisées par les créateurs de virus, mais elles servent aussi à protéger les logiciels licites contre les malveillances. Les éditeurs de jeux vidéo, par exemple, y recourent pour empêcher les pirates de produire des contrefaçons. Dans d'autres domaines, comme les télécommunications, les constructeurs s'en servent aussi pour protéger des secrets industriels sur des technologies propriétaires.”  Dans ce cas de figure, il faut parvenir à conserver le comportement du logiciel tout en le rendant le plus inintelligible possible.

Une partie de ces travaux se déroulent aussi dans le cadre d'un projet de recherche sur la sécurité binaire financé par l'ANR depuis début 2013. Ses objectifs sont à la fois d'outiller l'industrie de la sécurité, d'améliorer les capacités de cyberdéfense et de fournir des instruments pour la protection des infrastructures numériques.

-------
Notes:
(1)  Celtique est une équipe-projet Inria/CNRS/Université Rennes 1/ENS Rennes, commune à l'Irisa (UMR 6074).
(2) Situé à Bruz, près de Rennes, DGA Maîtrise de l’information a succédé au Celar, le Centre d'électronique de l'armement.