Auteur / Autrice : | Alexia Chatelain Verchinine |
Direction : | Anatol Slissenko |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance en 2005 |
Etablissement(s) : | Paris 11 |
Partenaire(s) de recherche : | autre partenaire : Université de Paris-Sud. Faculté des sciences d'Orsay (Essonne) |
Mots clés
Mots clés libres
Résumé
Pour un langage, possèder la propriété de sûreté du système de typage, c'est contrecarrer d'emblée toutes les attaques basées sur le principe de dépassement de tampon. Dès la naissance du langage {\sc Java}, {\sc sun} a proclamé qu'il possèdait cette propriété. De fait, beaucoup d'études se sont attachées à montrer la sûreté du système de typage de {\sc Java}. Si toutes ces études montrent bien qu'il n'est pas possible d'aboutir à une inconsistance du système de typage lors de la phase de compilation, V. Saraswat a, quant à lui, montré que les premières machines virtuelles permettaient de corrompre le système en phase d'exécution. Suite au bug découvert par Saraswat, Liang et Bracha ont mis en place un système de contraintes permettant d'assurer en temps d'exécution la sûreté du système de typage. Ce système n'est toutefois pas applicable tel quel. L'objectif de cette thèse est dans un premier temps de le rendre applicable, puis dans un deuxième temps, d'élargir la notion d'équivalence entre les classes à une compatibilité. Le passage à une compatibilité entre les classes permet une plus grande souplesse dans le remplacement entre ces dernières. Toutefois, on ne peut alors plus compter sur la sémantique du langage pour assurer la sûureté du système de types. Il faut modifier la machine virtuelle elle-même pour assurer, dans le cadre d'une affectation de classes compatibles mais non équivalentes, la préservation du système de typage physique dans la mémoire.