Secure the Clones

Thomas Jensen 1 Florent Kirchner 1 David Pichardie 1
1 CELTIQUE - Software certification with semantic analysis
Inria Rennes – Bretagne Atlantique , IRISA-D4 - LANGAGE ET GÉNIE LOGICIEL
Abstract : Exchanging mutable data objects with untrusted code is a delicate matter because of the risk of creating a data space that is accessible by an attacker. Consequently, secure programming guidelines for Java stress the importance of using defensive copying before accepting or handing out references to an internal mutable object. However, implementation of a copy method (like clone()) is entirely left to the programmer. It may not provide a sufficiently deep copy of an object and is subject to overriding by a malicious sub-class. Currently no language-based mechanism supports secure object cloning. This paper proposes a type-based annotation system for defining modular copy policies for class-based object-oriented programs. A copy policy specifies the maximally allowed sharing between an object and its clone. We present a static enforcement mechanism that will guarantee that all classes fulfil their copy policy, even in the presence of overriding of copy methods, and establish the semantic correctness of the overall approach in Coq. The mechanism has been implemented and experimentally evaluated on clone methods from several Java libraries.
Type de document :
Article dans une revue
Logical Methods in Computer Science, Logical Methods in Computer Science Association, 2012, 8 (2)
Liste complète des métadonnées

Littérature citée [16 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/hal-00762377
Contributeur : Thomas Jensen <>
Soumis le : vendredi 7 décembre 2012 - 09:59:44
Dernière modification le : mardi 16 janvier 2018 - 15:54:15
Document(s) archivé(s) le : samedi 17 décembre 2016 - 22:05:27

Fichier

final.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : hal-00762377, version 1

Citation

Thomas Jensen, Florent Kirchner, David Pichardie. Secure the Clones. Logical Methods in Computer Science, Logical Methods in Computer Science Association, 2012, 8 (2). 〈hal-00762377〉

Partager

Métriques

Consultations de la notice

1234

Téléchargements de fichiers

97