INS - Ingénierie Numérique & Sécurité

Analyse de code binaire pour la sécurité – BINSEC

Résumé de soumission

La sécurité logicielle est une préoccupation majeure des sociétés modernes. En effet, un système vulnérable peut avoir des incidences
sur les personnes, les entreprises et même les états. Certaines analyses de sécurité logicielle doivent être
réalisées à partir du code exécutable du programme plutôt que de son code source. C'est le cas par exemple de la détection de
vulnérabilités et de la détection de codes malicieux (malware). Ce type d'analyse bas niveau n'est pris en compte
que de manière peu satisfaisante par les outils commerciaux actuels. Par exemple, la détection de vulnérabilité tient beaucoup
à l'intuition de l'expert sécurité, qui ne peut que se baser sur des outils aussi basiques qu'un débogueur ou un désassembleur.
De même, les techniques actuelles de reconnaissance de virus (basées sur des signatures syntaxiques) sont très simples à contourner,
et demandent donc des bases de signatures de plus en plus volumineuses.


Le but général de BINSEC est de combler en partie le fossé actuel entre d'une part de très récents progrès en analyse formelle de code exécutable,
et d'autre part la pratique effective de l'analyse de sécurité au niveau binaire. Nous proposons de développer des concepts, modèles et algorithmes
pour assister (voir automatiser) les analyses de sécurité bas niveau. De plus, une partie des résultats sera implantée dans des prototypes, et nous mènerons des expérimentations contre les techniques standards sur des benchmarks représentatifs. Nous visons deux domaines principaux: la détection de vulnérabilités et la détection de malware. Deux domaines liés seront aussi explorés : la désobfuscation et l'analyse de crash.

Les défis scientifiques et techniques principaux de BINSEC sont d'étendre les (rares) techniques d'analyse formelle de code exécutable
dans trois directions nécessaires aux analyses de sécurité: à des programmes plus réalistes (typiquement issus de source C++),
à des programmes obfusqués ("camouflés") ou auto-modifiant, et enfin aux besoins spécifiques des domaines sécuritaires ciblés.
Concernant ces applications, nous voulons améliorer les techniques de détection de vulnérabilité en comprenant comment trouver des failles exploitables plutôt que de simples bugs, nous voulons concevoir des analyses capables de retrouver en partie le comportement de programmes (malware) obfusqués, et finalement nous voulons définir des techniques de détection de virus robustes.
Bien qu'a priori différents, nous pensons que ces différents domaines font face à des difficultés communes, plus fondamentales (par exemple, la reconstruction du graphe de flot d'un exécutable). Le projet vise à étudier ces problèmes communs, et à partir de ces résultats développer des analyses dédiées. Nous développerons une plate-forme libre pour faciliter le développement d'analyseurs niveau binaire et leur coopération.


L'analyse de code exécutable dans un cadre sécuritaire est un domaine récent et très prometteur de recherche, nécessitant
aussi bien des travaux théoriques que des développements logiciels et des évaluations expérimentales poussées.
Le consortium s'appuie sur des résultats antérieurs solides (dont des prototypes) et complémentaires (analyses statiques et dynamiques, expérience en malware et vulnérabilités) pour mener à bien ses objectifs ambitieux. Les retombées potentielles du projet BINSEC se situent à trois niveaux : à court terme fournir des outils plus efficaces pour l'industrie de la sécurité (compétitivité), à plus long terme fournir une brique de base indispensable à une meilleure sécurisation des infrastructures numériques pour les citoyens (e-commerce, e-vote) et améliorer les capacités de cyberdéfense des états.


Coordination du projet

Sébastien Bardin (CEA SACLAY)

L'auteur de ce résumé est le coordinateur du projet, qui est responsable du contenu de ce résumé. L'ANR décline par conséquent toute responsabilité quant à son contenu.

Partenaire

CEA Commissariat à l'Energie Atomique et aux Energies alternatives
VERIMAG Verimag-Université Joseph Fourier
LORIA LABORATOIRE LORRAIN DE RECHERCHE EN INFORMATIQUE ET SES APPICATIONS
INRIA Rennes - Bretagne Atlantique INRIA, Centre de recherche de Rennes - Bretagne Atlantique
VUPEN VUPEN Security
AIRBUS GROUP SAS AIRBUS GROUP SAS
CEA SACLAY

Aide de l'ANR 968 592 euros
Début et durée du projet scientifique : janvier 2013 - 48 Mois

Liens utiles

Explorez notre base de projets financés

 

 

L’ANR met à disposition ses jeux de données sur les projets, cliquez ici pour en savoir plus.

Inscrivez-vous à notre newsletter
pour recevoir nos actualités
S'inscrire à notre newsletter