151 |
Préservation des preuves et transformation de programmesKunz, César 03 February 2009 (has links) (PDF)
Le paradigme du code mobile implique la distribution des applications par les producteurs de code à environnements hétérogènes dans lesquels elles sont exécutées. Une pratique étendue de ce paradigme est constituée par le développement d'applications telles que les applets ou les scripts Web, transferés à travers un réseau non sécurisé comme Internet à des systèmes distants, par exemple un ordinateur, un téléphone mobile ou un PDA (Assistant personnel). Naturellement, cet environnement peux ouvrir la porte au déploiement de programmes malveillants dans des plateformes distantes. Dans certains cas, la mauvaise conduite du code mobile ne constitue pas un risque grave, par exemple lorsque l'intégrité des données affectées par l'exécution n'est pas critique ou lorsque l'architecture d'exécution impose de fortes contraintes sur les capacités d'exécution du code non sécurisé. Il y a toujours, toutefois, des situations dans lesquelles il est indispensable de vérifier la correction fonctionnelle du code avant son exécution, par exemple lorsque la confidentialité de données critiques comme l'information des cartes de crédit pourrait être en danger, ou lorsque l'environnement d'exécution ne possède pas un mécanisme spécial pour surveiller la consommation excessive des ressources. George Necula a proposé une technique pour apporter de la confiance aux consommateurs sur la correction du code sans faire confiance aux producteurs. Cette technique, Proof Carrying Code (PCC), consiste à déploier le code avec une preuve formelle de sa correction. La correction est une propriété inhérente du code reçuu qui ne peut pas être directement déduite du producteur du code. Naturellement, cela donne un avantage à PCC quant-aux méthodes basées sur la confiance à l'autorité d'un tiers. En effet, une signature d'une autorité ne suffit pas à fournir une confiance absolue sur l'exécution du code reçu. Depuis les origines du PCC, le type de mécanisme utilisé pour générer des certificats repose sur des analyses statiques qui font partie du compilateur. Par conséquent, en restant automatique, il est intrinsèquement limité à des propriétés très simples. L'augmentation de l'ensemble des propriétés à considerer est difficile et, dans la plupart des cas, cela exige l'interaction humaine. Une possibilité consiste à vérifier directement le code exécutable. Toutefois, l'absence de structure rend la vérification du code de bas niveau moins naturelle, et donc plus laborieuse. Ceci, combiné avec le fait que la plupart des outils de vérification ciblent le code de haut niveau, rend plus appropriée l'idée de transferer la production de certificats au niveau du code source. Le principal inconvénient de produire des certificats pour assurer l'exactitude du code source est que les preuves ne comportent pas la correction du code compilé. Plusieurs techniques peuvent etre proposées pour transférer la preuve de correction d'un programme à sa version exécutable. Cela implique, par exemple, de déployer le programme source et ses certificats originaux (en plus du code exécutable) et de certifier la correction du processus de compilation. Toutefois, cette approche n'est pas satisfaisante, car en plus d'exiger la disponibilité du code source, la longueur du certificat garantissant la correction du compilation peut être prohibitive. Une alternative plus viable consiste à proposer un mécanisme permettant de générer des certificats de code compilé à partir des certificats du programme source. Les compilateurs sont des procédures complexes composées de plusieurs étapes, parmi lesquelles le programme original est progressivement transformé en représentations intermédiaires. Barthe et al. et Pavlova ont montré que les certificats originaux sont conservés, à quelques différences près non significatives, par la première phase de compilation: la compilation non optimale du code source vers une représentation non structurée de niveau intermédiaire. Toutefois, les optimisations des compilateurs sur les représentations intermédiaires représentent un défi, car a priori les certificats ne peuvent pas être réutilisés. Dans cette thèse, nous analysons comment les optimisations affectent la validité des certificats et nous proposons un mécanisme, Certificate Translation, qui rend possible la génération des certificats pour le code mobile exécutable à partir des certificats au niveau du code source. Cela implique transformer les certificats pour surmonter les effets des optimisations de programme.
|
152 |
L'interprétation du contrat au regard des droits fondamentauxCaumes, Clémentine 25 November 2010 (has links) (PDF)
Le droit des contrats subit depuis quelques années des mutations importantes, au premier rang desquelles figure l'émergence de sources nouvelles, à l'instar des droits fondamentaux issus de la Convention européenne de sauvegarde des droits de l'homme et des libertés fondamentales (Convention EDH). Leur application classique dans les relations verticales unissant l'État à l'individu a connu un prolongement évident par la reconnaissance de l'effet horizontal du texte en droit interne, impliquant leur respect jusque dans les relations privées.L'interprétation du contrat, consistant à en révéler le sens et les obligations qui en découlent, constitue l'objet de l'étude menée. La lecture de l'acte contractuel doit se faire en conformité avec l'interprétation opérée par le juge européen de la Convention EDH. De ce constat émerge tout l'intérêt de la recherche, consistant à mettre en avant la confrontation évidente pouvant naître entre d'une part le contrat - porteur de principes forts (particulièrement l'autonomie de la volonté, et ses corollaires telles la liberté contractuelle et la force obligatoire du contrat) - et d'autre part le respect des droits fondamentaux. Dans quelles mesures ces derniers peuvent-ils influer sur l'interprétation d'un contrat privé ?Le travail de recherches entrepris révèle un rôle sensible des droits fondamentaux sur l'interprétation du contrat - le respect des droits fondamentaux prime de manière générale la force obligatoire - et constate que cette influence est le fruit d'une démarche complémentaire du juge européen, lequel dicte, et du juge interne, lequel réceptionne les droits fondamentaux dans l'interprétation.Cette étude - bien que certains de ses aspects paraissent encore empiriques - témoigne d'une influence perfectible des droits fondamentaux sur l'interprétation du contrat. En ce sens, des pistes d'améliorations, tant au niveau européen qu'interne, ont pu être envisagées
|
153 |
INFÉRENCE DE CONNAISSANCES SÉMANTIQUES, APPLICATION AUX IMAGES SATELLITAIRESBordes, Jean-Baptiste 03 April 2009 (has links) (PDF)
Une méthode probabiliste pour annoter des images satellites avec des concepts sémantiques est présentée. Cette méthode part de caractéristiques de bas-niveau quantifiées dans l'image et utilise une phase d'apprentissage à partir des concepts fournis par l'utilisateur avec un lot d'images exemples. La contribution principale est la définition d'un formalisme pour la mise en relation d'un réseau sémantique hiérarchique avec un modèle stochastique. Les liens sémantiques de synonymie, méronymie, hyponymie sont mis en correspondance avec différents types de modélisations inspirées des méthodes utilisées en fouille de données textuelles. Les niveaux de structuration et de généralité des différents concepts utilisés sont pris en compte pour l'annotation et la modélisation de la base de données. Une méthode de sélection de modèle permet de déduire le réseau sémantique correspondant à la modélisation optimale de la base de données. Cette approche exploite ainsi la puissance de description des réseaux sémantique tout en conservant la flexibilité des approches statistiques par apprentissage. La méthode a été évaluée sur des bases de données SPOT5 et Quickbird.
|
154 |
Interprétation géologique de données sismiques par une méthode supervisée basée sur la vision cognitiveVerney, Philippe 17 September 2009 (has links) (PDF)
L'objectif de ce travail est de réaliser une nouvelle plateforme d'interprétation sismique 3D semi-automatique basée sur la connaissance géologique employée aujourd'hui par les experts du domaine. A l'heure actuelle, la majeure partie des solutions sont basées sur les traitements d'image et l'utilisation de quantités d'attributs sismiques. Elles fournissent un résultat interprétable par un expert qui réalise alors une correspondance informelle entre la nouvelle image obtenue et des objets géologiques. Nous désirons explorer une nouvelle méthodologie mettant en avant la formalisation de la connaissance utilisée dans l'interprétation sismique comme la vision cognitive le permet et le conseille. Ainsi, nous caractérisons le résultat des traitements d'images opérés sur le bloc sismique grâce à des concepts et à relations visuelles provenant d'une ontologie dédiée. Ces caractéristiques nous permettent alors de formaliser l'interprétation d'objets géologiques à partir de ces instances et ainsi de proposer de manière automatique des solutions d'interprétation d'un bloc sismique, que l'expert pourra choisir de valider. Dans ce travail, nous avons à coeur de nous concentrer sur l'identification de deux premiers objets géologiques à identifier dans une image sismique : les horizons et les failles. Une ontologie de ce domaine d'étude est proposée afin de servir de base pour la création de la plateforme.
|
155 |
Analyse des systèmes mobiles par interprétation abstraite.Feret, Jérôme 25 February 2005 (has links) (PDF)
Un système mobile est un ensemble de composants qui peuvent interagir entre eux, tout en modifiant dynamiquement le système lui-même. Ces interactions contrôlent ainsi la création et la destruction des liaisons entre les composants, mais aussi la création dynamique de nouveaux composants au sein du système. La taille d'un tel système varie au cours du temps, elle n'est pas bornée en général. Un système mobile peut représenter des réseaux de télécommunication, des systèmes reconfigurables, des applications client-serveur sur la toile, des protocoles cryptographiques, ou des systèmes biologiques. Plusieurs modèles sont disponibles selon le domaine d'application et la granularité du niveau d'observation. Dans cette thèse, nous proposons un cadre de travail unifiant pour découvrir et prouver statiquement (avant leur exécution) et automatiquement les propriétés des systèmes mobiles. Nous proposons un méta-langage dans lequel nous encodons les modèles les plus couramment utilisés dans la littérature (le p-calcul, le calcul des ambients, le join-calcul, le spi-calcul, les BIO-ambients, etc). Pour chaque modèle encodé, le méta-langage calcule une sémantique enrichie dans laquelle à la fois les composants et les objets qu'ils manipulent (adresses mémoires, noms de canaux, clefs secrètes ou partagées, etc) sont identifiés par l'historique de leur création. Ainsi, nous n'utilisons pas de relation de congruence (ni de renommage), ce qui rend l'analyse plus facile. Le cadre général de l'Interprétation Abstraite nous permet ensuite de dériver des sémantiques abstraites, qui sont décidables, correctes, et approchées. Dans cette thèse, nous donnons trois analyses génériques que nous instancions selon le compromis désiré entre le temps de calcul et la précision de l'analyse. La première analyse se concentre sur les propriétés dynamiques du système. Elle infère des relations entre les historiques des objets qui sont manipulés par les composants du système. Cette analyse distingue les instances récursives d'un même objet, et ce, même lorsque le nombre de ces instances n'est pas borné. à titre d'exemple, cette analyse prouve dans le cas d'une application client-serveur à nombre illimité de clients, que les données de chaque client ne sont pas communiquées aux autres clients. La deuxième analyse se concentre sur des propriétés de concurrence. Cette analyse compte le nombre de composants du système. Elle permet de détecter que certains composants ne peuvent pas interagir, car ils ne coexistent jamais. Elle peut aussi garantir à un système qu'il n'épuisera pas les ressources physiques disponibles. Une troisième analyse mêle concurrence et dynamicité.
|
156 |
Analyses de Pointeurs et Logique de Séparation.Sims, Elodie-Jane 01 December 2007 (has links) (PDF)
Le cadre de cette thèse est l'analyse statique modulaire par interprétation abstraite de logiciels en vue de leur vérification automatique. Nous nous intéressons en particulier aux programmes comportant des objets alloués dynamiquement sur un tas et repérés par des pointeurs. Le but final étant de trouver des erreurs dans un programme (problèmes de déréférencements et d'alias) ou de prouver qu'un programme est correct (relativement à ces problèmes) de façon automatique. Isthiaq, Pym, O'Hearn et Reynolds ont développé récemment des logiques de fragmentation (separation logics) qui sont des logiques de Hoare avec un langage d'assertions/de prédicats permettant de démontrer qu'un programme manipulant des pointeurs sur un tas est correct. La sémantique des triplets de la logique ({P}C{P
|
157 |
Analyse statique par interprétation abstraite de systèmes hybrides.Bouissou, Olivier 23 September 2008 (has links) (PDF)
Si l'interet et l'efficacite des methodes d'analyse statique par interpretation abstraite pour la verification des programmes critiques embarques ne sont plus a demontrer, il est maintenant necessaire d'obtenir des methodes les plus precises possibles. Si l'utilisation de domaines abstraits relationnels de plus en plus elabores permet de diminuer la surapproximation dont souffre les domaines les plus simples, les analyses actuelles souffrent toujours d'une mauvais prise en compte des entrees du programme. Ces entrees sont fournies par un capteur qui mesure une grandeur physique, et sont generalement surapproximees par un intervalle. Une piste d'etude recente pour mieux gerer ces entrees continues consiste a etudier, outre le programme lui-meme, l'environnement physique dans lequel il est execute. On obtient ainsi un systeme plus complexe comprenant une dynamique discrete (le programme) et une dynamique continue (l'environnement). L'etude de tels systemes hybrides repose actuellement essentiellement sur des extensions des automates a etats finis et des algebres de processus introduisant une dynamique continue. L'analyse de ces systemes par des techniques de model-checking souffre encore d'une explosion combinatoire excluant leur utilisation pour les logiciels embarques critiques les plus gros. La premiere contribution de cette these est une extension des langages de programmation imperatifs permettant de d´ecrire a la fois le programme, l'environnement exterieur et les interactions entre le programme et l'environnement. L'environnement physique est d´ecrit par un ensemble d'equations differentielles representant chacune un mode continu, et les interactions entre le programme et l'exterieur sont modelises par deux mots cles representant les capteurs et actionneurs. Nous donnons a l'ensemble (programme plus environnement physique) une semantique denotationnelle qui reste tres proche de celle definie pour les langages imperatifs classiques. La difficulte majeure dans la construction de cette semantique a ete de definir une semantique pour la partie continue : les solutions des equations diff´erentielles sont exprimees comme le plus petit point fixe d'un operateur monotone dans un CPO, et nous montrons que les iterees de Kleene convergent vers ce point fixe. La seconde contribution est une methode d'analyse statique par interpretation abstraite de ces systemes hybrides. Cette methode fonctionne en deux temps. Tout d'abord, sous certaines restrictions portant sur le programme a analyser, on construit un recouvrement de l'espace des variables d'entree via une analyse par intervalle couplee a une analyse d'atteignabilite en avant. On obtient ainsi une abstraction de l'impact qu'a le programme sur l'evolution continue : l'espace d'entree du programme est d´coupe en zones dans lesquelles on est sur qu'un actionneur sera active. Dans un deuxieme temps, nous utilisons ce recouvrement et une methode d'integration garantie des equations differentielles pour obtenir une surapproximation de l'evolution continue. Un analyseur prototype implementant ces techniques a ete developpe et les tests sur les exemples classiques de systemes hybrides montrent de bons resultats. Enfin, la troisieme contribution de cette these est une nouvelle methode d'integration garantie nommee GRKLib. Contrairement aux methodes existantes, GRKLib se fonde sur un schema d'integration numerique non garantie (nous avons choisi un schema de Runge-Kutta d'ordre 4, mais n'importe quelle autre convient) et nous calculons, en utilisant l'arithmetique d'intervalles, l'erreur globale commise lors de l'integration numerique. Cette erreur s'exprime comme la somme de trois termes : l'erreur sur un pas, la propagation de l'erreur et l'erreur due aux nombres flottants. Chaque terme est calcule separement et des techniques avancees permettent de les reduire et de controler au mieux le pas d'integration pour limiter l'accroissement de l'erreur globale. Une librairie C++ implementant ces concepts a ete developpee, et les resultats presentes dans cette these sont prometteurs.
|
158 |
Vérification et Synthèse de Contrôleur pour des Propriétés de ConfidentialitéDubreil, Jérémy 25 November 2009 (has links) (PDF)
Les systèmes fonctionnant sur un réseau ouvert tels que les bases de données médicales ou les systèmes bancaires peuvent manipuler des informations dont la confidentialité doit être impérativement préservée. Dans ce contexte, la notion d'opacité formalise la capacité d'un système à garder secrètes certaines informations critiques. Dans cette thèse, nous nous intéressons à la fois à vérifier que la propriété d'opacité est satisfaite et à la synthèse de systèmes opaques. Vérifier l'opacité est un problème décidable pour des systèmes de transition finis. Pour les systèmes infinis, nous étudions l'application de techniques d'interprétation abstraite à la détection de vulnérabilité. Nous présentons aussi une méthode alternative qui s'appuie sur des abstractions régulières et sur des techniques de diagnostique pour détecter de telles vulnérabilité à l'exécution du système. Pour la synthèse de système opaque, nous appliquons dans un premier temps la théorie du contrôle à la Ramadge et Wonham pour calculer un contrôleur assurant l'opacité. Nous montrons que les techniques habituelles de synthèse de contrôleur ne peuvent être appliqué pour ce problème d'opacité et nous développons alors de nouveaux algorithmes pour calculer l'unique système opaque qui soit maximal au sens de l'inclusion des langages. Ces résultats sont à rapprocher des techniques de construction de système sécurisé par assemblage de composant. Finalement, nous présentons une autre approche pour la synthèse de système opaque qui consiste à synthétiser un filtre qui décide, dynamiquement, de masquer des événements observable afin d'éviter que de l'information secrète ne soit révélée. Ceci permet d'étudier dans un cadre formel la synthèse automatique de pare-feu assurant la confidentialité de certaines informations critiques.
|
159 |
Reconnaissance d'actions en temps réel à partir d'exemplesBarnachon, Mathieu 22 April 2013 (has links) (PDF)
Le développement de l'image numérique et des outils associés ces dernières années a entraîné une évolution dans les attentes des utilisateurs et des changements dans leurs habitudes de travail. Cette évolution apporte de nouvelles possibilités d'utilisation ouvrant l'usage à un public très large, allant des interactions gestuelles aux jeux vidéo, en passant par le suivi d'activités à domicile, la surveillance, ... Pour qu'elles puissent être performantes et attractives, ces nouvelles technologies nécessitent la mise en œuvre d'outils de reconnaissance et d'interprétation des gestes humains, par des méthodes efficaces, rapides et ouvertes. Actuellement, les méthodes proposées en reconnaissance d'actions peuvent être regroupées en trois catégories principales : les approches de type apprentissage automatique (Machine Learning), les modélisations stochastique ou encore les méthodes utilisant le paradigme des examplars. Les travaux développés dans cette thèse se rattachent à cette dernière catégorie : " méthodes à base d'exemples " (examplar-based) où l'apprentissage peut être fait à partir de quelques instances représentatives. Nous avons fait le choix d'une démarche qui limite le recours à des grandes bases de données, et qui permet la reconnaissance d'action de façon anticipée, c'est-à-dire avant que cette dernière ne soit finie. Pour ce faire, nos travaux ont été menés selon deux visions complémentaires, avec le soucis constant d'aboutir à des traitements qui soient temps réel, précis et ouverts à la reconnaissance de nouvelles actions
|
160 |
Le massif lherzolitique de Lanzo (Alpes piemontaises): étude structurale et pétrologiqueBoudier, Françoise 20 January 1976 (has links) (PDF)
Orientations préférentielles des minéraux dans les différents faciès lherzolites, pyroxenolites, analyses chimiques des roches et des minéraux, analyses à la microsonde des mineraux. Examen des différents problèmes: histoire des rubanements pyroxénolitiques, processus de fusion partielle donnant naissance au gabbros et aux reliquats dunitiques, mécanisme de la déformation plastique dans les péridotites, mode d'intrusion du Massif de Lanzo dans le contexte alpin.
|
Page generated in 0.1101 seconds