95 - TUAMOTU

Tatouage électronique sémantique de Code Mobile Java 

Résumé 
L'objectif de TUAMOTU est de développer et mettre au point des techniques, fondées à la fois sur les protocoles cryptographiques pour les aspects système, sur la stéganographie pour inclure les informations au sein d’un code pour le marquage électronique (par étiquetage et tatouage) et l'analyse sémantique statique de code objet mobile pour en assurer l'authenticité, la sécurité et la sûreté de fonctionnement par interprétation abstraite qui permet: * dans leur version publique, permettent à l'utilisateur de s'assurer de l'origine du code, de son intégrité et de son immunité, c'est-à-dire de prouver son bon comportement (pour éviter par exemple les virus et les falsifications) après ses exécutions et éventuelles transformations successives sur les divers hôtes qui ont tour à tour abrité le programme mobile; *dans leur version privée, qui permettent au propriétaire d'incruster dans le code de manière indécelable et indélébile une greffe logicielle identifiant ce composant logiciel (étiquette pour ses attributs - désignation, auteur, propriétaire, destinataire, etc.), évitant son piratage en le rendant inactif dans un contexte illicite (tatouage invisible actif camouflé dans le corps de l'objet). Ce code léger, inséré, protège l'objet, assure l'extérieur de son immunité et ne gêne en rien sa bonne exécution. Caractère innovant du projet Le concept de logiciel mobile soulève deux problèmes : les composants logiciels sûrs et sécurisés : les composants logiciels sont de plus en plus utilisés soit pour de la réutilisation, soit pour l'intégration dans de plus grands ensembles. La sûreté des composants logiciels en termes d'origine, d'intégrité, de droits d'utiliser, sont essentiels pour l'ensemble de l'industrie du logiciel; le management et la protection de la propriété intellectuelle: de nouveaux moyens de paiements (paiement à l'utilisation des composants logiciels et non à l'achat de licence d'utilisation) et la détection d'utilisation abusive (piratage, fraude, copie pirate, imitation de logiciel), doivent être mis en place suite à l'extension de l'informatique en réseau. Ces problèmes n'ont pas actuellement de solutions comparables à celles que nous envisageons de mettre en oeuvre, à savoir des techniques stéganographiques basées sur une analyse sémantique statique du code objet mobile et non pas basées sur la forme syntaxique, voire explicitement chiffrée, de ce code aisément modifiable sans changer son effet. Avec l'extension des grands réseaux de communication, l'industrie du logiciel va désormais s'orienter de plus en plus vers la création de petites entités autonomes - les objets mobiles - qui peuvent être téléchargées et intégrées à des logiciels (butineur) ou appareils électroniques (décodeur de télévision numérique, téléphone) afin d'y ajouter de nouvelles fonctionnalités. Se posent alors naturellement des problèmes : de sécurité (objet infecté par un virus aux effets destructeurs) ; de confidentialité (objet "espion" qui va rechercher des données sensibles et les communiquer à l'extérieur) ; et de respect des droits d'auteur (piratage). L'objectif principal de ce projet est de répondre à ces problèmes par l´étude et le développement de procédés de « tatouage logiciel », qui consistent à insérer dans l'objet de manière indélébile des informations décrivant ses propriétés et son origine. Le capitaine Cook, qui effectua trois expéditions dans les mers du sud dans les années 1770, est à l'origine du mot tatouage (du tahitien "tattoo"). A son époque, les tatouages étaient très répandus dans l'archipel de Tuamotu , à l'est de Tahiti. 

Partenaires du projet 


1. Thomson-CSF Communications Gennevilliers 
2. Ecole Normale Supérieure - Laboratoire d'Informatique (LIENS) 
3. Ecole Polytechnique - Laboratoire d'Informatique (LIX) 
 

Identification 


Projet Exploratoire 
N° 95 
Durée : 24 mois 

Thème de l'appel 


Changer les méthodes... : 
Accélérer la mutation... : 
Services & Usages : X 
Plate-forme : 

Pour plus d'information 



M.Michel RIGUIDEL
Thomson-Csf

Mél : michel.riguidel@tcc.thomson-csf.com


Réseau National de Recherche en Télécommunications 
20, avenue de Ségur 
F-75353 PARIS 07 SP 
http://www.telecom.gouv.fr/rnrt 
http://www.education.gouv.fr/technologie
Mél : rnrt@telecom.gouv.fr 
Mél : rnrt@technologie.gouv.fr
Objectifs :

Avec l'extension des grands réseaux de communication, l'industrie du logiciel va désormais s'orienter de plus en plus vers la création de petites entités autonomes - les objets mobiles - qui peuvent être téléchargées et intégrées à des logiciels (butineur) ou appareils électroniques (routeurs/commutateurs, décodeur de télévision numérique, téléphone) afin d'y ajouter de nouvelles fonctionnalités. 

Se posent alors naturellement des problèmes : 

  • de sécurité (objet infecté par un virus aux effets destructeurs) ; 
  • de confidentialité (objet "espion" qui va rechercher des données sensibles et les communiquer à l'extérieur) ; 
  • et de respect des droits d'auteur (piratage). 
L'objectif principal de ce projet est de répondre à ces problèmes par l´étude et le développement de procédés de « tatouage logiciel », qui consistent à insérer dans l'objet de manière indélébile des informations décrivant ses propriétés et son origine. 

L'originalité de l'approche, qui fait aussi son intérêt scientifique, réside dans la modalité du tatouage : l'information à inclure n'est pas inscrite directement dans le texte du programme, ce qui la rendrait trop facilement modifiable, mais dans le comportement à l'exécution de l'objet (ce qu'on appelle sa sémantique) sans que cela altère ses fonctionnalités d'origine. Ces informations sont invisibles lors de l'utilisation de l'objet mais peuvent être extraites grâce à des analyseurs sémantiques, c'est-à-dire des logiciels spécialisés capables d'examiner tous les comportements possibles d'un programme. Ce travail devrait permettre de disposer à terme d'outils capables de tatouer de façon entièrement automatique n'importe quel objet mobile écrit en Java. 

Mise en oeuvre et état de l'art : 

Tuamotu consiste à développer et mettre au point des techniques, fondées à la fois sur les protocoles cryptographiques pour les aspects système, la stéganographie pour inclure les informations au sein d’un code et l'analyse sémantique statique du programme par interprétation abstraite, qui : 

  • dans leur version publique, permettent à l'utilisateur de s'assurer de l'origine du code, de son intégrité et de son immunité, c'est-à-dire de prouver son bon comportement (pour éviter par exemple les virus et les falsifications) après ses exécutions et éventuelles transformations successives sur les divers hôtes qui ont tour à tour abrité le programme mobile; 
  • dans leur version privée, qui permettent au propriétaire d'incruster dans le code de manière indécelable et indélébile une greffe logicielle identifiant ce composant logiciel (étiquette pour ses attributs - désignation, auteur, propriétaire, destinataire, etc.), évitant son piratage en le rendant inactif dans un contexte illicite (tatouage invisible actif camouflé dans le corps de l'objet). Ce code léger, inséré, protège l'objet, assure l'extérieur de son immunité et ne gêne en rien sa bonne exécution. 
Tuamotu consiste à utiliser :
  • les techniques d'interprétation abstraite pour analyser statiquement ce que pourra faire le programme à l'exécution, uniquement par examen sémantique de son texte. Ceci permet à l'utilisateur de déterminer avant l’exécution, si ses effets sont acceptables et de découvrir les clés cachées par le concepteur qui garantissent son authenticité. 
  • un marquage sémantique, c'est-à-dire basé non pas sur la forme syntaxique du programme mais sur une information qui dépend d’une analyse de ce que fait le programme à l'exécution. 
Verrous  :
Le concept de logiciel mobile soulève deux problèmes : 
  • les composants logiciels sûrs et sécurisés : les composants logiciels sont de plus en plus utilisés soit pour de la réutilisation, soit pour l'intégration dans de plus grands ensembles. La sûreté des composants logiciels en termes d'origine, d'intégrité, de droits d'utiliser, sont essentiels pour l'ensemble de l'industrie du logiciel; 
  • le management et la protection de la propriété intellectuelle: de nouveaux moyens de paiements (paiement à l'utilisation des composants logiciels et non à l'achat de licence d'utilisation) et la détection d'utilisation abusive (piratage, fraude, copie pirate, imitation de logiciel), doivent être mis en place suite à l'extension de l'informatique en réseau. 
Ces problèmes n'ont pas actuellement de solutions comparables à celles que nous envisageons de mettre en oeuvre, à savoir des techniques stéganographiques basées sur une analyse sémantique statique du code objet mobile et non pas basées sur la forme syntaxique, voire explicitement chiffrée, de ce code aisément modifiable sans changer son effet. 

La clef de voûte du projet réside dans un saut technologique : la conception d'analyseurs sémantiques pour les objets mobiles . Ces outils capables d'extraire automatiquement de l'information sur tous les comportements possibles d'un programme pourront être utilisés de plusieurs façons complémentaires : 

  • Pour le tatouage à fin d'authentification : l'analyseur est mis à la disposition de certains utilisateurs afin de garantir l'origine des objets mobiles. Cette utilisation rentre dans le cadre des protocoles de communication sécurisés avec une approche toutefois différente de celle de la cryptographie classique. 
  • Pour le tatouage comme protection de la propriété intellectuelle : l'analyseur est secret et est la possession exclusive d'une tierce partie de confiance habilitée à procéder au tatouage. Il sert alors essentiellement à faire valoir leurs droits aux propriétaires de l'objet. Il peut par exemple être utilisé pour explorer de façon systématique le WEB et identifier les copies illicites d'objets mobiles mises en libre accès. 
  • Comme protection contre les objets « dangereux » : un analyseur étant avant tout un logiciel qui extrait de l'information sur tous les comportements possibles d'un programme, il peut être utilisé comme une « sentinelle » qui examine chaque objet téléchargé avant de l'utiliser, afin de s'assurer qu'il ne présente aucun caractère dangereux pour le système qui l'héberge. 
La difficulté majeure dans l' élaboration des techniques de tatouage réside dans le caractère indélébile du tatouage : celui-ci doit en effet être capable de résister à des modifications du texte du programme. Seule une phase expérimentale utilisant les prototypes réalisés au cours du projet nous permettra de tester la robustesse des procédés développés. 

L'originalité du projet vient de la mise en commun des techniques de dissimulation d'information (stéganographie) et d'analyse sémantique statique (interprétation abstraite). 

La stéganographie est une technique consistant à insérer des signatures digitales invisibles au sein de documents multimédia (images, films, oeuvres musicales). L'idée est d'utiliser le pouvoir discriminant limité des sens humains (vue, ouïe) pour incruster au sein du document des informations imperceptibles par un être humain mais parfaitement décelables par un logiciel adéquat. Ces informations étant réparties sur tout le document, elles sont très difficiles à enlever et résistent, qui plus est, à des dégradations du support original. Ces techniques très performantes sont en passe de régler le problème de violation des droits d'auteur sur le WEB pour tout ce qui est image et son. 

L' interprétation abstraite est une méthodologie permettant de construire de façon systématique des analyseurs sémantiques de programmes. Cette théorie existe depuis vingt ans et a eu plusieurs fois l'occasion de faire ses preuves. Une de ses applications les plus spectaculaires est sans aucun doute la conception d'un analyseur sémantique qui a été utilisé pour vérifier de façon exhaustive le système de commandes de vol de la fusée Ariane 502 après l'échec du premier lancement (du, rappelons-le, à une erreur dans le programme de pilotage de la fusée). 

Le projet combinera ces deux méthodes pour dissimuler les diverses signatures requises pour authentifier un code mobile non pas dans le texte (éventuellement chiffré) du programme, ni dans les résultats obtenus lors d'exécutions pour certaines données particulières mais dans des approximations de l'ensemble de ses exécutions possibles (qui n'est pas calculable mais que les techniques d'interprétation abstraite permettent d'approcher effectivement). 

Organisation du projet : 

Le projet est prévu pour s'échelonner sur deux ans. Les techniques d'analyse d'objets mobiles devraient être mises au point en l'espace de deux ans. Viendrait ensuite une période de réalisation de prototypes mettant en oeuvre ces techniques puis d'affinement des procédés en fonction des résultats expérimentaux. Il est donc raisonnable de placer le début de la phase de préindustrialisation dès la fin du projet. 

Le projet est organisé en trois sous-projets se développant simultanément : 

Organisme  Responsable  Sous-projet 
TCC , Thomson-CSF Communications  Michel Riguidel  Tatouage 
LIENS , École normale supérieure  Patrick Cousot  Analyse statique du Code objet mobile 
LIX , École polytechnique  Radhia Cousot  Domaines abstraits 

Retombées du projet : 

La valorisation commerciale éventuelle et à terme, sera assurée par Thomson-CSF Communications. 
Les algorithmes ne sont pas brevetables mais l'application d'un algorithme à la résolution d'un problème donné peut être brevetée, si cette application n'a jamais été décrite auparavant. Dans ces conditions, les procédés développés dans le projet seront éventuellement brevetés. 
Dans la limite du respect de la confidentialité, les publications scientifiques présenteront les fondements théoriques du projet. 
Si le projet réussit, des attaques et contre-attaques se développeront, comme c'est le cas en cryptographie depuis quelques années. Cette dialectique reste un élément moteur des progrès dans ce domaine. Il en sera vraisemblablement de même en ce qui concerne le tatouage de logiciels.