Sécurité de la plate-forme d exécution Java : limites et proposition d améliorations

Dimension: px
Commencer à balayer dès la page:

Download "Sécurité de la plate-forme d exécution Java : limites et proposition d améliorations"

Transcription

1 Sécurité de la plate-forme d exécution Java : limites et proposition d améliorations Guillaume Hiet, Frédéric Guihéry, Goulven Guiheux, David Pichardie, Christian Brunette AMOSSYS-INRIA-SILICOM 10 juin 2010 c AMOSSYS - INRIA 10 juin / 19

2 Introduction Java : une réponse à un besoin de sécurité? Renforcer la sécurité au niveau applicatif Un langage et une plate-forme d exécution «sécurisés» En pratique Une implémentation de plus en plus complexe Des vulnérabilités récurrentes (cf les différents CVE) Un mécanisme de contrôle d accès peu utilisé Une intégration pas toujours aisée avec les mécanismes de l OS etc. c AMOSSYS - INRIA 10 juin / 19

3 Contexte JAVASEC Une étude financée par l ANSSI réalisée par le consortium SILICOM-AMOSSYS-INRIA Java est-il un langage adéquat pour le développement d applications de sécurité? Études (langage, propriétés, modèle d exécution, etc.) Recommandations à destination des développeurs Propositions d améliorations de la sécurité d une JVM (développement d un prototype) Evaluation d une JVM (à venir) Une partie des documents est disponible publiquement : c AMOSSYS - INRIA 10 juin / 19

4 Plan de la présentation 1 Présentation de Java 2 Faiblesses de Java 3 Renforcement de la sécurité 4 Conclusion c AMOSSYS - INRIA 10 juin / 19

5 Présentation de Java 1 Présentation de Java 2 Faiblesses de Java 3 Renforcement de la sécurité 4 Conclusion c AMOSSYS - INRIA 10 juin / 19

6 Architecture générale c AMOSSYS - INRIA 10 juin / 19

7 Architecture générale c AMOSSYS - INRIA 10 juin / 19

8 Propriétés de sécurité Vérification en trois temps À la compilation (ex : JAVAC) Au chargement de classe par le vérificateur de bytecode (BCV) À l exécution d une instruction dangereuse (JIT) Quelques propriétés Ni arithmétique, ni forge de pointeurs (COMP + BCV) Pas de dépassement des bornes d un tableau (JIT) Champ final écrit une seule fois (COMP + JIT) Typage des instructions (COMP + BCV + JIT) Initialisation correcte des variables (COMP + BCV + JIT) c AMOSSYS - INRIA 10 juin / 19

9 Mécanismes de sécurité Bibliothèque standard Contrôle d accès orienté code (JPSA) Contrôle d accès orienté identité (JAAS) Chargement de classes (cloisonnement) Vérification de signature et d intégrité des classes Primitives cryptographiques (JCE/JCA) JVM Vérifieur de bytecode Gestion mémoire (garbage collector) Mécanismes d exécution (vérification dynamiques) c AMOSSYS - INRIA 10 juin / 19

10 Exemple : le contrôle d accès JPSA c AMOSSYS - INRIA 10 juin / 19

11 Faiblesses de Java 1 Présentation de Java 2 Faiblesses de Java 3 Renforcement de la sécurité 4 Conclusion c AMOSSYS - INRIA 10 juin / 19

12 Problématiques de sécurité Mauvaise utilisation des mécanismes Absence ou mauvaise utilisation de JPSA Pas utilisé car trop complexe Risques liés à la modification des éléments critiques Langage et bibliothèque standard Mécanismes «dangereux» : sérialisation, réflexion Confiance dans l implémentation de la bibliothèque standard (un seul niveau de privilège) Interfaces critiques : JNI, JVMTI, etc. c AMOSSYS - INRIA 10 juin / 19

13 Problématiques de sécurité (suite) JVM Rémanence des données confidentielles Echappement à la vérification de bytecode Confiance dans l implémentation («évaluabilité») Complexité (par exemple, du module d exécution : JIT, AOT, compilation dynamique, profiling, etc.) Transformations dynamiques, code intermédiaire Suppressions des vérifications Les propriétés sont-elles effectivement assurées? Intégration avec les protections OS Pas de contrôle d accès au sein de la JVM c AMOSSYS - INRIA 10 juin / 19

14 Renforcement de la sécurité 1 Présentation de Java 2 Faiblesses de Java 3 Renforcement de la sécurité 4 Conclusion c AMOSSYS - INRIA 10 juin / 19

15 Propositions d amélioration Développement et déploiement Guide de développement Guide de configuration et de déploiement Bibliothèque standard Auditer, rechercher des vulnérabilités Limiter la surface d attaque Appliquer le contrôle d accès c AMOSSYS - INRIA 10 juin / 19

16 Propositions d amélioration (suite) JVM Augmenter la confiance dans le module d exécution Proposer un contrôle fin de la durée de vie des données confidentielles Améliorer l intégration avec les mécanismes de sécurité de l OS Implémenter le contrôle d accès au sein de la JVM Étendre les vérification du bytecode c AMOSSYS - INRIA 10 juin / 19

17 Vérification de bytecode étendue Éviter la fuite d objets partiellement initialisés Un objet partiellement initialisé doit être inutilisable par l attaquant Système d annotation + mécanisme de vérification statique au chargement d une classe class A { p u b l i c A ( ) {... ; securitymanagercheck ( ) ; } } s t a t i c void A a ) {... } s t a t i c void m2(a a ) {... } class Attack extends A { f i n a l i z e ( ) { m1( t h i s ) ; m2( t h i s ) ; } } c AMOSSYS - INRIA 10 juin / 19

18 Conclusion 1 Présentation de Java 2 Faiblesses de Java 3 Renforcement de la sécurité 4 Conclusion c AMOSSYS - INRIA 10 juin / 19

19 Conclusion Bilan Java présente des avantages certains pour la sécurité Les propriétés assurés limitent certaines classes d attaques Java propose de nombreux mécanismes de sécurité Mais Des classes de vulnérabilités non couvertes «de base» Des faiblesses (architecture et implémentation) Complexité (vs sécurité) «château de cartes» Perspectives Effort de sécurisation de la bibliothèque standard Augmenter la confiance dans la JVM (compromis performances vs sécurité) c AMOSSYS - INRIA 10 juin / 19

Analyse statique de programmes Typage et analyse statique au sein de Java

Analyse statique de programmes Typage et analyse statique au sein de Java Analyse statique de programmes Typage et analyse statique au sein de Java Master Professionnel Informatique spécialité FSIL/FSI Jean-Marc Talbot jean-marc.talbot@lif.univ-mrs.fr Aix-Marseille Université

Plus en détail

Travaux soutenus par l ANR. Jean-François CAPURON (DGA) Bruno LEGEARD (Smartesting)

Travaux soutenus par l ANR. Jean-François CAPURON (DGA) Bruno LEGEARD (Smartesting) Travaux soutenus par l ANR Jean-François CAPURON (DGA) Bruno LEGEARD (Smartesting) 03 Avril 2012 1. Test de sécurité et génération de tests à partir de modèle 2. Le projet SecurTest à DGA Maîtrise de l

Plus en détail

Conteneurs Adaptable Dynamiquement pour la plateforme CORBA Component Model Model

Conteneurs Adaptable Dynamiquement pour la plateforme CORBA Component Model Model Conteneurs Adaptable Dynamiquement pour la plateforme CORBA Component Model Model Journée de l'action spécifique CNRS-GET Systèmes répartis et réseaux adaptatifs au contexte ( Context-Aware ) Laboratoire

Plus en détail

Introduction à JAVA. Philippe Roose (IUT Bayonne) Olivier Dedieu (INRIA)

Introduction à JAVA. Philippe Roose (IUT Bayonne) Olivier Dedieu (INRIA) Introduction à JAVA Philippe Roose (IUT Bayonne) Olivier Dedieu (INRIA) Mais JAVA c est quoi? Langage OO Exécuté dans une Machine Virtuelle Possède un ensemble complet d API (réseau, graphique, sécurité,

Plus en détail

PRESENTATION DE JAVA. Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références. Software Associates International

PRESENTATION DE JAVA. Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références. Software Associates International PRESENTATION DE JAVA Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références 1 Qu est-ce que java? Un langage de programmation orienté objets Une architecture de Virtual

Plus en détail

SGDN. Projet: JAVASEC

SGDN. Projet: JAVASEC SGDN Projet: JAVASEC Type : rapport d étude Rapport d étude sur le langage Java Référence : JAVASEC_NTE_001 Nb pages : 227 Date : 14 octobre 2009 TABLE DES MATIÈRES 1 Introduction 8 1.1 Objet du document................................

Plus en détail

La technologie Java Card TM

La technologie Java Card TM Présentation interne au CESTI La technologie Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages

Plus en détail

FORMATION HADOOP Développeur pour Hadoop (Apache)

FORMATION HADOOP Développeur pour Hadoop (Apache) FORMATION HADOOP Développeur pour Hadoop (Apache) Ce document reste la propriété du Groupe Cyrès. Toute copie, diffusion, exploitation même partielle doit faire l objet d une demande écrite auprès de Cyrès.

Plus en détail

Profil de protection d un logiciel d ingénierie

Profil de protection d un logiciel d ingénierie Version 1.0 moyen-terme GTCSI 11 septembre 2015 Avant-propos Dans toute la suite de ce document, l acronyme ToE (Target of Evaluation) désigne le composant qui est l objet de l évaluation. 1 Descriptif

Plus en détail

Introduction au langage Java

Introduction au langage Java Introduction au langage Java 1 / 24 1 Vue générale La technologie Java Le langage Java La machine virtuelle Java Résumé Plan 2 Hello World Prérequis Premier programme : 3 étapes Résumé 3 HelloWorld en

Plus en détail

LA PROTECTION DES DONNÉES

LA PROTECTION DES DONNÉES LA PROTECTION DES DONNÉES PROTECTION DES BASES DE DONNÉES 22/11/2012, Swissôtel Métropole INTRODUCTION UNE CIBLE DE CHOIX Contient énormément de données confidentielles Rarement protégée autrement que

Plus en détail

Support matériel, logiciel et cryptographique pour

Support matériel, logiciel et cryptographique pour Support matériel, logiciel et cryptographique pour une exécution sécurisée de processus Guillaume Duc Thèse dirigée par Jacques Stern (Ens Ulm) et encadrée par Ronan Keryell (Enst Bretagne) Journées des

Plus en détail

Vérification formelle de la plate-forme Java Card

Vérification formelle de la plate-forme Java Card Vérification formelle de la plate-forme Java Card Thèse de doctorat Guillaume Dufay INRIA Sophia Antipolis Cartes à puce intelligentes Java Card : Environnement de programmation dédié. Dernières générations

Plus en détail

Processeur JAP. Le langage JAVA

Processeur JAP. Le langage JAVA Processeur JAP Ce document présente les dernières nouveautés concernant le processeur JAVA de la société AED. Il commence par un rappel sur les caractéristiques du processeur actuel, puis présente les

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

Domain Name System Extensions Sécurité

Domain Name System Extensions Sécurité Domain Name System Extensions Sécurité 2 juin 2006 France Telecom R&D Daniel Migault, Bogdan Marinoiu mglt.biz@gmail.com, bogdan.marinoiu@polytechnique.org Introduction Extentions de Sécurité DNS Problématique

Plus en détail

Sécurité des frameworks J2EE

Sécurité des frameworks J2EE Sécurité des frameworks J2EE Naissance des injections de langages d'expression Présenté le 25/10/2012 Pour la JSSI 2012 de Rouen - 3ème édition Par Renaud Dubourguais - renaud.dubourguais@synacktiv.com

Plus en détail

SGDN. Projet: JAVASEC

SGDN. Projet: JAVASEC SGDN Projet: JAVASEC Type : rapport d étude Guide de règles et de recommandations relatives au développement d applications Référence : JAVASEC_NTE_002 Nb pages : 106 Date : 6 novembre 2009 TABLE DES MATIÈRES

Plus en détail

Le.NET Compact Framework Windows Mobile

Le.NET Compact Framework Windows Mobile Le.NET Compact Framework Windows Mobile HEROGUEL Quentin 2 Le.NET Compact Framework Windows Mobile Sommaire 1 Le.NET Compact Framework... 3 1.1 Vue d ensemble rapide de l architecture du.net Compact Framework...

Plus en détail

Vulgarisation Java EE Java EE, c est quoi?

Vulgarisation Java EE Java EE, c est quoi? Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards

Plus en détail

Sécurité des applications Retour d'expérience

Sécurité des applications Retour d'expérience HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet Netfocus Sécurité des applications Retour d'expérience Nicolas Collignon

Plus en détail

Table des Matières. Table des Figures 7. Introduction Générale 9. Chapitre 1 - Langages de description d architectures matérielles hybrides 23

Table des Matières. Table des Figures 7. Introduction Générale 9. Chapitre 1 - Langages de description d architectures matérielles hybrides 23 Table des Figures 7 Introduction Générale 9 1. Outils et plate-formes de construction d application 9 2. Intégration de paradigmes de conception dans le cycle de vie 10 2.1. Equilibrage de charge et équilibrage

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

Groovy & Grails. Langage de script basé sur Java appliqué dans un environnement JEE

Groovy & Grails. Langage de script basé sur Java appliqué dans un environnement JEE Groovy & Grails Langage de script basé sur Java appliqué dans un environnement JEE Martin Le Bas 1 Xposé 2010 Plan Introduction Groovy Grails Conclusion Références Plan de la présentation Introduction

Plus en détail

LOT03P6 - Domino 8.5 : XPages dans Domino Designer 8.5 - Partie 6

LOT03P6 - Domino 8.5 : XPages dans Domino Designer 8.5 - Partie 6 LOT03P6 - Domino 8.5 : XPages dans Domino Designer 8.5 - Partie 6 Objectifs du développement en 8.5 Fournir un outil de développement moderne Faire pour les développeurs ce que Notes 8 a fait pour l'utilisateur

Plus en détail

Rapport de certification ANSSI-CSPN-2012/03. Librairie ncode iwlib Java Version 2.1

Rapport de certification ANSSI-CSPN-2012/03. Librairie ncode iwlib Java Version 2.1 PREM IE R M IN IS T R E Secrétariat général de la défense et de la sécurité nationale Agence nationale de la sécurité des systèmes d information Rapport de certification ANSSI-CSPN-2012/03 Librairie ncode

Plus en détail

Cible de sécurité CSPN Middleware IAS-ECC V2.0 pour environnement Windows

Cible de sécurité CSPN Middleware IAS-ECC V2.0 pour environnement Windows Cible de sécurité CSPN Statut du document Date d application Sans objet Version actuelle 1.1 Organisme(s) Développeurs Commanditaire Evaluateur Dictao ANTS Sogeti Gemalto Diffusion Nom Pascal Chour Emmanuel

Plus en détail

Les injections SQL. J. Hennecart. Lundi 23 février 2015. Serval-Concept. Les bases de données Les injections SQL Comment se protéger Conclusion

Les injections SQL. J. Hennecart. Lundi 23 février 2015. Serval-Concept. Les bases de données Les injections SQL Comment se protéger Conclusion J. Hennecart Serval-Concept Lundi 23 février 2015 J. Hennecart des injections SQL sont des vulnérabilités permettant de faire exécuter des commandes, non prévues initialement, à une base de données. La

Plus en détail

CCI - Initiation à Java. E.Coquery emmanuel.coquery@liris.cnrs.fr

CCI - Initiation à Java. E.Coquery emmanuel.coquery@liris.cnrs.fr CCI - Initiation à Java E.Coquery emmanuel.coquery@liris.cnrs.fr Présentation du langage Outline 1 Présentation du langage 2 Types de données primitifs 3 Objets Présentation du langage Un langage orienté

Plus en détail

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI JAVA, CORBA et RMI objectif : développer des applications client/serveur incluant des objets répartis Java / CORBA : client/serveur hétérogènes Java / RMI : client/serveur homogènes plan : l architecture

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

Plan de formation ADP Workforce Now pour les praticiens en ressources humaines

Plan de formation ADP Workforce Now pour les praticiens en ressources humaines Plan de formation ADP Workforce Now pour les praticiens en ressources humaines Voici le plan de formation recommandé, basé selon votre rôle. Vous pouvez suivre tout ou une partie de la formation cidessous.

Plus en détail

Développement C# avec Visual Studio

Développement C# avec Visual Studio L institut de formation continue des professionnels du Web Développement C# avec Visual Studio Référence formation : Durée : Prix conseillé : Csharp5 5 jours (35 heures) 2 420 HT (hors promotion ou remise

Plus en détail

Cible de sécurité CSPN. Middleware IAS-ECC V2.0 pour environnement : Windows Mobile 6.1

Cible de sécurité CSPN. Middleware IAS-ECC V2.0 pour environnement : Windows Mobile 6.1 Cible de sécurité CSPN Statut du document Date d application Sans objet Version actuelle 1.2 Organisme(s) Développeurs Commanditaire Evaluateur Dictao ANTS Thales Gemalto Diffusion Nom Pascal Chour Emmanuel

Plus en détail

Java RMI. Programmation des applications réparties. Olivier Flauzac URCA. Master EEAMI-Informatique première année

Java RMI. Programmation des applications réparties. Olivier Flauzac URCA. Master EEAMI-Informatique première année Java RMI Programmation des applications réparties Olivier Flauzac URCA Master EEAMI-Informatique première année Olivier Flauzac (URCA) PAR : Java RMI MSTIC-INFO 1 1 / 30 1 RMI 2 Architecture 3 Développement

Plus en détail

SAFE&SMARTSOLUTIONS. Atelier «Contrer les menaces USB» Les Assises de la Sécurité & des Systèmes d Information 30/09/2015

SAFE&SMARTSOLUTIONS. Atelier «Contrer les menaces USB» Les Assises de la Sécurité & des Systèmes d Information 30/09/2015 BT.D46.D SAFE&SMARTSOLUTIONS Atelier «Contrer les menaces USB» Les Assises de la Sécurité & des Systèmes d Information 30/09/2015 2 I. La menace USB est-elle «has been»? 1. De quoi parle-t-on? 2. Des usages

Plus en détail

Instrumentation et réflexivité en Java 5.0 et 6.0

Instrumentation et réflexivité en Java 5.0 et 6.0 Java Instrumentation et réflexivité en Java et 6.0 UPMC November 9, 2006 (UPMC) Instrumentation November 9, 2006 1 / 28 Java Petit Plan Plan de ce cour 1 Présentation de l Instrumentation 2 Présentation

Plus en détail

L architecture de sécurité de Java

L architecture de sécurité de Java L architecture de sécurité de Java Fabrice Rossi http://apiacoa.org/ Mai/Juin 2003 Cet article est paru dans le numéro 7 de la revue MISC (Multi-System & Internet Security Cookbook) en mai 2003. Je remercie

Plus en détail

Sécurité informatique

Sécurité informatique Sécurité informatique Université Kasdi Merbah Ouargla Département Mathématique et informatique Les packages crypto en C/C++ et en Java Master informatique industrielle Mai 2013 Master informatique industrielle

Plus en détail

Sécurité de la plate-forme d'exécution Java : limites et propositions d'améliorations

Sécurité de la plate-forme d'exécution Java : limites et propositions d'améliorations Sécurité de la plate-forme d'exécution Java : limites et propositions d'améliorations Guillaume Hiet 1, Frédéric Guihéry 1, Goulven Guiheux 1, David Pichardie 2, Christian Brunette 3 1 AMOSSYS 2 INRIA

Plus en détail

Généralités sur le Langage Java et éléments syntaxiques.

Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...

Plus en détail

Sécurité des logiciels et analyse statique

Sécurité des logiciels et analyse statique Sécurité des logiciels et analyse statique David Pichardie Projet Lande, INRIA Rennes - Bretagne Atlantique Introduction générale à l analyse statique Analyse de programme Objet : déduire mécaniquement

Plus en détail

nulles dans un langage à objets

nulles dans un langage à objets Prévention de déréférencement de références nulles dans un langage à objets Jean-Sébastien Gélinas, Étienne M. Gagnon, Jean Privat Université du Québec à Montréal Langages et Modèles à Objets Nancy 27

Plus en détail

Plan de formation ADP Workforce Now pour praticiens de la paie

Plan de formation ADP Workforce Now pour praticiens de la paie Plan de formation ADP Workforce Now pour praticiens de la paie Voici le plan de formation recommandé, basé selon votre rôle. Vous pouvez suivre tout ou une partie de la formation cidessous. Choisissez

Plus en détail

Logiciels embarqués et participatifs

Logiciels embarqués et participatifs Logiciels embarqués et participatifs Pierre.Paradinas @ cnam.fr Cnam/Cedric Chaire : Systèmes Enfouis et Embarqués 1 Introduction De Gemplus au CNAM L exposé La carte à microprocesseur : une plateforme

Plus en détail

DEMONEY : Modélisation en B et vérification de propriétés

DEMONEY : Modélisation en B et vérification de propriétés DEMONEY : Modélisation en B et vérification de propriétés Nicolas Stouls (nicolas.stouls@imag.fr) Laboratoire LSR de Grenoble / IMAG Le 6 mai 2004 Page 1/42 Objectifs Expression et vérification de propriétés

Plus en détail

Portage de l architecture sécurisée CryptoPage sur un microprocesseur x86

Portage de l architecture sécurisée CryptoPage sur un microprocesseur x86 Portage de l architecture sécurisée CryptoPage sur un microprocesseur x86 Guillaume Duc Ronan Keryell Département Informatique École Nationale Supérieure des Télécommunications de Bretagne Symposium en

Plus en détail

Éléments de base en Java (suite et fin)

Éléments de base en Java (suite et fin) Éléments de base en Java (suite et fin) P.O.O. LMI 2 Semestre 4 Option Info Année 2008-09 1/33 Éléments de base en Java (suite et fin) Année 2008-09 Plan du cours Les chaînes de caractères Retour vers

Plus en détail

Java, développement d'applications mobiles (J2ME) Java et les applications mobiles. Formation ITIN / Université de Cergy-Pontoise 10/11/2006

Java, développement d'applications mobiles (J2ME) Java et les applications mobiles. Formation ITIN / Université de Cergy-Pontoise 10/11/2006 Formation ITIN / Université de Cergy-Pontoise Java, développement d'applications mobiles (J2ME) Java et les applications mobiles Pourquoi utiliser Java? Langage répandu dans les entreprises Développement

Plus en détail

Mieux programmer en Java

Mieux programmer en Java Mieux programmer en Java Peter Haggar Éditions Eyrolles ISBN : 2-212-09171-0 2000 PARTIE 1 l exécution de l instruction return, cependant, le contrôle est transféré au bloc finally en // 2. Cela provoque

Plus en détail

Programmation par RPC et Java-RMI :

Programmation par RPC et Java-RMI : 2A-SI 3 Prog. réseau et systèmes distribués 3.2 et JavaRMI Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Support de cours élaboré avec l aide de l équipe pédagogique du

Plus en détail

PLAN. I. Pourquoi : les besoins, les types d applications

PLAN. I. Pourquoi : les besoins, les types d applications PLAN I. Pourquoi : les besoins, les types d applications II. Comment : les technos et pratiques dont on dispose pour mettre en œuvre les applications III. Avec quels outils III.1 Introduction aux IDE III.2

Plus en détail

Contenu du cours. Informatique de l Internet. Plan du cours (1) Organisation du cours. Plan du cours (2) Plan du cours (3)

Contenu du cours. Informatique de l Internet. Plan du cours (1) Organisation du cours. Plan du cours (2) Plan du cours (3) Contenu du cours Informatique de l Internet Joël Quinqueton Dépt MIAp, UFR IV UPV Université Montpellier III Les compétences visées : Programmer en réseau Programme : Notion de Système informatique Réseaux

Plus en détail

Worldline Signer Server

Worldline Signer Server Référence du document : WLSign.AUD.0001 Révision du document : 1.3 Date du document : 15/03/2011 Worldline Signer Server Cible de sécurité www.atosworldline.com Table des matières TABLE DES MATIÈRES...2

Plus en détail

Christophe Pagezy Directeur Général christophe.pagezy@provenrun.com Mob: 06 2101 6218

Christophe Pagezy Directeur Général christophe.pagezy@provenrun.com Mob: 06 2101 6218 Christophe Pagezy Directeur Général christophe.pagezy@provenrun.com Mob: 06 2101 6218 77, avenue Niel, 75017 Paris, France Prove & Run - CONFIDENTIEL 1 La sécurité des objets connectés : problématiques

Plus en détail

Stratégie de sécurité grâce au logiciel libre. Frédéric Raynal Cédric Blancher

Stratégie de sécurité grâce au logiciel libre. Frédéric Raynal <pappy@miscmag.com> Cédric Blancher <blancher@cartel-securite.fr> Stratégie de sécurité grâce au logiciel libre Frédéric Raynal Cédric Blancher 1 Agenda du workshop Introduction Le logiciel libre et la sécurité GNU/Linux

Plus en détail

Cours 1: Java et les objets

Cours 1: Java et les objets Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/

Plus en détail

Analyse du fonctionnement d'une application finalisée disponible sur l'androïd Market

Analyse du fonctionnement d'une application finalisée disponible sur l'androïd Market Analyse du fonctionnement d'une application finalisée disponible sur l'androïd Market Manidren Christophe 1/7 Contrôle de document Historique des versions Date de début: 07 décembre 2010 Date Version Auteur(s)

Plus en détail

Cible de sécurité CSPN

Cible de sécurité CSPN Cible de sécurité CSPN Dropbear 2012.55 Ref 12-06-037-CSPN-cible-dropbear Version 1.0 Date June 01, 2012 Quarkslab SARL 71 73 avenue des Ternes 75017 Paris France Table des matières 1 Identification 3

Plus en détail

1. Les fondements de l informatique 13

1. Les fondements de l informatique 13 Introduction à l'algorithmique 1. Les fondements de l informatique 13 1.1 Architecture de Von Neumann 13 1.2 La machine de Turing 17 1.3 Représentation interne des instructions et des données 19 1.3.1

Plus en détail

Mise à niveau en Java

Mise à niveau en Java Mise à niveau en Java Cours 1 Stéphane Airiau Université Paris-Dauphine Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 1 Aujourd hui Eléments de base Variables, opérateurs, type d une expression

Plus en détail

Prise en compte des ressources dans les composants logiciels parallèles

Prise en compte des ressources dans les composants logiciels parallèles Prise en compte des ressources dans les composants logiciels parallèles Aperçus de l action RASC et du projet Concerto F. Guidec Frederic.Guidec@univ-ubs.fr Action RASC Plan de cet exposé Contexte Motivations

Plus en détail

Introduction. Python?

Introduction. Python? 1 Introduction Python - why settle for snake oil when you can have the whole snake? «Python - Pourquoi se contenter d huile de serpent quand on peut avoir le serpent tout entier?» Mark Jackson En guise

Plus en détail

Vers la certification des applications Java Card TM

Vers la certification des applications Java Card TM AS CNRS Sécurité logicielle : modèles et vérification Vers la certification des applications Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron 20-21 février 2003

Plus en détail

HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet JSSI 2010

HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet JSSI 2010 HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet JSSI 2010 Les webshells, ou comment ouvrir les portes de son réseau?

Plus en détail

Cours 1. Contenu du cours : " Premières applications. " Compilation, Exécution, Chemin. " Affichage et saisie. " Types de données. " Flux de contrôle

Cours 1. Contenu du cours :  Premières applications.  Compilation, Exécution, Chemin.  Affichage et saisie.  Types de données.  Flux de contrôle Cours 1 1 Contenu du cours : " Premières applications " Compilation, Exécution, Chemin " Affichage et saisie " Types de données " Flux de contrôle " Applets " Arrays " OO de base Edition Le fichier texte

Plus en détail

Concept de classes (1) Classes et objets en Java Master Informatique 1 ère année. Concept de classes (2) Concept de classes (3)

Concept de classes (1) Classes et objets en Java Master Informatique 1 ère année. Concept de classes (2) Concept de classes (3) Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Classes et objets en Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Projet de Veille Technologique

Projet de Veille Technologique Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines (i.mzoughi@gmail.com) Dr. MAHMOUDI Ramzi (mahmoudr@esiee.fr) TEST Sommaire Programmation JavaCard Les prérequis...

Plus en détail

Introduction aux Composants Logiciels

Introduction aux Composants Logiciels Introduction aux Composants Logiciels Christian Pérez LIP/INRIA Année 2010-11 Plan Introduction aux composants logiciels Pourquoi des composants logiciels Notions de composants logiciels Conclusion Survol

Plus en détail

Sensibilisation à RMI (Remote Method Invocation)

Sensibilisation à RMI (Remote Method Invocation) Jini Sensibilisation à RMI (Remote Method Invocation) Le rêve de tout système distribué L idéal serait d avoir un système distribué utilisant la technologie objet et permettant : 1) d invoquer une méthode

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

Introduction aux Machines Virtuelles avec VMKit

Introduction aux Machines Virtuelles avec VMKit Introduction aux Machines Virtuelles avec Ingénieur :, Responsables : Gaël Thomas, Gilles Müller EQUIPE REGAL LIP6 INRIA (Paris/France) un substrat de machine virtuelle : a substrate for Managed Runtime

Plus en détail

Compromission de carte à puce via la couche protocolaire ISO 7816-3

Compromission de carte à puce via la couche protocolaire ISO 7816-3 Compromission de carte à puce via la couche protocolaire ISO 7816-3 Symposium sur la sécurité des technologies de l'information et des communications, 3 au 5 juin 2015 Guillaume VINET PLAN Sécurité des

Plus en détail

Profil de protection d une passerelle VPN industrielle

Profil de protection d une passerelle VPN industrielle Profil de protection d une passerelle industrielle Version 1.0 court-terme GTCSI 13 juillet 2015 Avant-propos Dans toute la suite de ce document, l acronyme ToE (Target of Evaluation) désigne le composant

Plus en détail

PREMIER MINISTRE NOTE D APPLICATION

PREMIER MINISTRE NOTE D APPLICATION PREMIER MINISTRE Secrétariat général de la défense nationale Direction centrale de la sécurité des systèmes d information Paris, le 15 mai 2006 N 1083/SGDN/DCSSI/SDR Référence : NOTE/06.1 NOTE D APPLICATION

Plus en détail

Virtualisation et sécurité Retours d expérience

Virtualisation et sécurité Retours d expérience Virtualisation et sécurité Retours d expérience Hervé Hosy Sylvain Pouquet 8 juin 2009 Forum Cert-IST - Virtualisation et sécurité Page 1 Agenda 2 retours d expérience abordés Client bancaire : étude de

Plus en détail

Auto-évaluation Programmation en Java

Auto-évaluation Programmation en Java Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN

Plus en détail

Détection dans les systèmes industriels: Suricata et le cas Modbus

Détection dans les systèmes industriels: Suricata et le cas Modbus Détection dans les systèmes industriels: Suricata et le cas Modbus Conférence C&ESAR David DIALLO et Mathieu FEUILLET {mathieu.feuillet,david.diallo}@ssi.gouv.fr 25 novembre 2014 ANSSI ANSSI : Agence nationale

Plus en détail

INTRODUCTION À L INJECTION DE DÉPENDANCES EN JAVA

INTRODUCTION À L INJECTION DE DÉPENDANCES EN JAVA INTRODUCTION À L INJECTION DE DÉPENDANCES EN JAVA Andr0 29 octobre 2015 Table des matières 1 Introduction 5 2 Qu est ce que l injection de dépendances? 7 2.1 Mais une dépendance, c est quoi?.........................

Plus en détail

Familiarisation avec Eclipse / Netbeans

Familiarisation avec Eclipse / Netbeans Institut Galilée LEE Année 011-01 Master T.P. 0 Familiarisation avec Eclipse / Netbeans Lien important contenant le pdf du cours et du TP, et ensuite des sources : http://www-lipn.univ-paris13.fr/~fouquere/mpls

Plus en détail

Programmation sur PDA Techniques & Concepts. Paul Guyot - ECE - Systèmes Embarqués (25/11/02)

Programmation sur PDA Techniques & Concepts. Paul Guyot - ECE - Systèmes Embarqués (25/11/02) Programmation sur PDA Techniques & Concepts Paul Guyot - ECE - Systèmes Embarqués (25/11/02) 1 Introduction 2 Introduction (1) De la particularités des PDA Echelle, économie d énergie, données À la particularité

Plus en détail

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

Plus en détail

Chapitre 2 : Abstraction et Virtualisation

Chapitre 2 : Abstraction et Virtualisation Virtualisation et Cloud Computing Chapitre 2 : Abstraction et Virtualisation Objectifs Présenter la notion de niveaux d abstraction séparés par des interfaces bien définies Description des avantages et

Plus en détail

JVM. RMI - couche de référence. RMI - couche de transport TCP/IP

JVM. RMI - couche de référence. RMI - couche de transport TCP/IP Chapitre 9 Dans ce chapitre nous abordons le mécanisme RMI (Remote Method Invocation) permettant le développe ment des systèmes répartis. Nous expliquerons comment les classes d un serveur peuvent être

Plus en détail

Machines virtuelles. Brique ASC. Samuel Tardieu sam@rfc1149.net. Samuel Tardieu (ENST) Machines virtuelles 1 / 40

Machines virtuelles. Brique ASC. Samuel Tardieu sam@rfc1149.net. Samuel Tardieu (ENST) Machines virtuelles 1 / 40 Machines virtuelles Brique ASC Samuel Tardieu sam@rfc1149.net École Nationale Supérieure des Télécommunications Samuel Tardieu (ENST) Machines virtuelles 1 / 40 Machines virtuelles La compilation peut

Plus en détail

Sécurité informatique

Sécurité informatique Sécurité informatique Université Kasdi Merbah Ouargla Master RCS Octobre 2014 Département Informatique 1 Master RCS 1 Sécurité informatique Organisation du cours Ce cours a pour but de présenter les fondements

Plus en détail

Cours 3 : The Dalvik VM Specification. Damien MASSON d.masson@esiee.fr

Cours 3 : The Dalvik VM Specification. Damien MASSON d.masson@esiee.fr Androïd Cours 3 : The Dalvik VM Specification Damien MASSON d.masson@esiee.fr http://igm.univ-mlv.fr/~masson/teaching/android/ 1 er mars 2011 Buts du cours et Références Buts : Pourquoi Google n a pas

Plus en détail

La plate-forme Java RMI

La plate-forme Java RMI La plate-forme Java RMI Frank Singhoff Bureau C-202 Université de Brest, France Lab-STICC/UMR 3192 singhoff@univ-brest.fr UE systèmes à objets répartis, Université de Brest Page 1/25 Sommaire 1. Le modèle

Plus en détail

Programmation Orientée Objet avec JAVA

Programmation Orientée Objet avec JAVA Programmation Orientée Objet avec JAVA Présenté par Abdoul Aziz Ciss Docteur en Cryptologie, Consultant ITSec Dept GIT EPT Email: aaciss@ept.sn Web : www.alekciss.com Tel: 77 451 92 95 Plan 1. Introduction

Plus en détail

La sécurité des Réseaux Partie 6.1 Les pare-feus

La sécurité des Réseaux Partie 6.1 Les pare-feus La sécurité des Réseaux Partie 6.1 Les pare-feus Fabrice Theoleyre Enseignement : INSA Lyon / CPE Recherche : Laboratoire CITI / INSA Lyon Références F. Ia et O. Menager, Optimiser et sécuriser son trafic

Plus en détail

Introduction au langage Java.

Introduction au langage Java. Introduction au langage Java. Christophe Gravier, Frédérique Laforest, Julien Subercaze Télécom Saint-Étienne Université Jean Monnet {pnom.nom}@univ-st-etienne.fr FI2_INFO4 2015 2016 1 / 51 Disclaimer

Plus en détail

Projet 1 ENS Lyon L3IF

Projet 1 ENS Lyon L3IF Projet 1 ENS Lyon L3IF Génération de code Sébastien Briais 8 janvier 2008 Dans cette partie, vous allez devoir implémenter le générateur de code pour l émulateur DLX risc-emu. À rendre pour le 18 janvier

Plus en détail

Objets distribués et Appel de Méthodes à Distance 2009-2010

Objets distribués et Appel de Méthodes à Distance 2009-2010 Objets distribués et Appel de Méthodes à Distance 2009-2010 1 Objectif : construire une application où différents modules peuvent être situés sur des machines différentes, en utilisant un modèle à objets

Plus en détail

Cours Android. Développement et API

Cours Android. Développement et API Cours Android Développement et API Principaux OS orienté mobile ios ~ 12.1% Android ~ 81.9% Microsoft ~ 3.6% Historique Octobre 2003 : conception d'un OS mobile par Android Inc. (co-fondé par Andy Rubin)

Plus en détail

WEA Un Gérant d'objets Persistants pour des environnements distribués

WEA Un Gérant d'objets Persistants pour des environnements distribués Thèse de Doctorat de l'université P & M Curie WEA Un Gérant d'objets Persistants pour des environnements distribués Didier Donsez Université Pierre et Marie Curie Paris VI Laboratoire de Méthodologie et

Plus en détail

Analyse de la démographie des objets dans les systèmes Java temps-réel

Analyse de la démographie des objets dans les systèmes Java temps-réel Analyse de la démographie des objets dans les systèmes Java temps-réel Nicolas BERTHIER Laboratoire VERIMAG Responsables du stage : Christophe RIPPERT et Guillaume SALAGNAC le 29 septembre 26 1 Introduction

Plus en détail

Avril - Mai -Juin Projet de programmation PHASE DE CODAGE. IUT DE VANNES - Juan Joal. CADIC Julien - PINSARD Antoine

Avril - Mai -Juin Projet de programmation PHASE DE CODAGE. IUT DE VANNES - Juan Joal. CADIC Julien - PINSARD Antoine 2012 Avril - Mai -Juin Projet de programmation PHASE DE CODAGE IUT DE VANNES - Juan Joal CADIC Julien - PINSARD Antoine Structure pédagogique PROJET AP5 Plus que quelques lignes à coder et nous aurons

Plus en détail

JAVA Première approche

JAVA Première approche Année 2008-2009 JAVA Première approche Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.fr 1 Qu'est ce que Java? C'est le nom d'une technologie mise au point

Plus en détail

Résumé Introduction Programmation Java

Résumé Introduction Programmation Java Résumé Introduction Programmation Java Concepts Un programme : séquence, test conditionnel, boucles. Objets : Les objets Java modélisent les objets d un problème donné Classe : Les objets sont crées à

Plus en détail

Logiciel Libre et Sécurité des Entreprises Cédric Blancher

Logiciel Libre et Sécurité des Entreprises Cédric Blancher <cedric.blancher@arche.fr> Logiciel Libre et Sécurité des Entreprises Colloque National sur les Logiciels Libre Abidjan 17-19 novembre 2003 Introduction 1 Lorsqu un logiciel est LIBRE, vous pouvez : l

Plus en détail