Towards First Class References as a Security Infrastructure in Dynamically-Typed Languages - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2013

Towards First Class References as a Security Infrastructure in Dynamically-Typed Languages

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

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 validation 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. Keyword: security, dynamically-typed languages, reflection, language design, first class reference, object-oriented programming.
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 a la securité en utilisant nos modeless. En outre, nous avons étendu la machine virtuelle Pharo pour supporter les Handles, Metahandles et SHandles.
Fichier principal
Vignette du fichier
main.pdf (1.23 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-00808419 , version 1 (05-04-2013)

Identifiants

  • HAL Id : tel-00808419 , version 1

Citer

Jean-Baptiste Arnaud. Towards First Class References as a Security Infrastructure in Dynamically-Typed Languages. Programming Languages [cs.PL]. Université des Sciences et Technologie de Lille - Lille I, 2013. English. ⟨NNT : ⟩. ⟨tel-00808419⟩
203 Consultations
334 Téléchargements

Partager

Gmail Facebook X LinkedIn More