Towards first class references as a security infrastructure in dynamically-typed languages

par Jean-Baptiste Arnaud

Thèse de doctorat en Informatique

Sous la direction de Stéphane Ducasse et de Marcus Denker.

Soutenue le 18-02-2013

à Lille 1 , dans le cadre de École doctorale Sciences pour l'Ingénieur (Lille) , en partenariat avec Laboratoire d'informatique fondamentale de Lille (LIFL) (laboratoire) .

  • Titre traduit

    Vers des références de première classe comme infrastructure de sécurité dans les langages dynamiquement typés


  • Résumé

    Les langages de programmation orientés-objet dynamiquement typés ne peuvent pas fournir d’informations de type avant l'exécution. Deux de leurs principaux avantages sont qu'ils permettent le prototypage rapide et l'intégration de modifications lors de l'exécution. La capacité des langages dynamiquement typés accepter les changements du programme lors de son exécution et en l'absence d’informations de type, condamne les approches de sécurité classiques à l'échec.Contrôler les références des objets et des graphes d'objets est indispensable pour construire des systèmes sécurisés. Les approches existantes sont généralement basées sur un système de type statique et ne peuvent pas être appliquées aux langages dynamiquement typés.Cette thèse défend que:Dans le contexte des langages de programmation orientés-objet dynamiquement typés, réifier les références, contrôler leur comportement, et isoler l'état des objets par le biais de telles références, est un moyen pratique de contrôler les références.Cette thèse apporte cinq contributions:- Nous proposons la notion de dynamic read-only objects (DRO) comme un changement particulier (read-only) de comportement au niveau des références; - Nous généralisons le modèle DRO pour permettre des changements de comportement plus génériques et nous étendons l'environnement de programmation et le langage Pharo avec des Handles, qui sont des références avec la possibilité de changer le comportement des objets référencés;- Nous définissons le terme de Metahandle pour offrir flexibilité et adaptabilité aux références contrôlées; - Nous proposons la notion de SHandle, pour isoler les effets de bord au niveau des références;- Et enfin, nous décrivons formellement les modèles Handle et SHandle pour représenter et expliquer leur sémantique.Comme validation de notre thèse nous avons mis en place trois approches liées à la sécurité en utilisant nos modèles. En outre, nous avons étendu la machine virtuelle Pharo pour supporter les Handles, Metahandles et SHandles.


  • Résumé

    Dynamically-typed object-oriented programming languages do not provide type information until runtime. Two of their main advantages are that they allow fast prototyping and integrating changes at runtime. The ability of dynamically-typed languages to support program changes at runtime and the lack of type information doom the classic security approaches to failure. Controlling references to single objects and to graphs of objects is essential to build secure systems. Existing approaches are commonly based on static type system and cannot be applied to dynamically-typed languages.This thesis argue that: In the context of dynamically-typed languages, reifying references, controlling behavior, and isolating state via such references, is a practical way to control references.This thesis makes five contributions: - We propose dynamic read-only objects (DRO) as one kind of adaptation of behavioral change at reference-level. - We generalize the DRO model to enable more generic behavioral changes. We extend the Pharo programming environment and language with Handles, that are first-class references with the ability to change the behavior of referenced objects. - We define Metahandle to offer flexibility and adaptability to controlled references. - We propose SHandle, an extension of the Handle model to isolate side effects at the level of references. - And finally, we formalize the Handles and SHandle models to represent and explain their semantics.As vlidation of our thesis we have implemented three approaches relevant to securing system using our model. In addition, as proof of concept we extended the Pharo virtual machine to support Handles, Metahandles and SHandles.


Il est disponible au sein de la bibliothèque de l'établissement de soutenance.

Consulter en bibliothèque

La version de soutenance existe

Où se trouve cette thèse\u00a0?

  • Bibliothèque : Université des sciences et technologies de Lille. Service commun de la documentation. Bibliothèque virtuelle.
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.