Click here to load reader
Upload
mohamed-ferchichi
View
711
Download
3
Embed Size (px)
DESCRIPTION
Riadh Bouhouch Mastere pro : réseaux et télécommunication
Citation preview
Chapitre3 : Gestion des aspects de sécurité
Riadh BOUHOUCHI
1
MASTER PROFESSIONNEL
NOUVELLES TECHNOLOGIES DES TELECOMMUNICATIONS ET RESEAUX
(N2TR)
Cours JAVA © FST
Gestion des aspects de sécurité
Objectif :
Ce chapitre vous permettra de connaître les principes de base de la
sécurité en JAVA :
Les problèmes de sécurité que peut rencontrer le langage JAVA et de
comprendre les différents mécanismes proposés pour y remédier.
Chapitre3 : Gestion des aspects de sécurité
Riadh BOUHOUCHI
2
Sommaire Concept de base ....................................................................................................................................... 3
Qu’est ce que la sécurité ? ................................................................................................................... 3
La Sécurité informatique : ................................................................................................................... 3
Les problèmes de sécurité que peut rencontrer JAVA : .......................................................................... 3
Mécanismes de sécurité Java : ............................................................................................................. 3
Le Bac à sable : ............................................................................................................................... 3
Le vérificateur du bytecode : ........................................................................................................... 5
Chargeur de classe : ......................................................................................................................... 5
Manager de sécurité : ...................................................................................................................... 5
Chapitre3 : Gestion des aspects de sécurité
Riadh BOUHOUCHI
3
Concept de base
Qu’est ce que la sécurité ?
Prévention : prendre les mesures empêchant les biens (matériels, immatériels) d’être
endommagés.
Détection : prendre les mesures pour détecter quand, comment et par qui les biens ont
été endommages.
Réaction : prendre les mesures pour récupérer les biens avant leur détérioration.
La Sécurité informatique :
La sécurité informatique assure :
Confidentialité des données
Intégrité des données
Disponibilité des services
Les problèmes de sécurité que peut rencontrer JAVA :
Les problèmes de sécurité peuvent être classifiés comme suit :
Problème de développement : problème de sécurité qui s’est présenté dans le code de
l’application ou, lors de son interprétation en bytecode ou, pendant sa conversion par
la machine virtuelle.
Problème web : lors de l’exécution d’une applet celle-ci peut contenir un programme
malveillant, un virus, etc. …).
Etc. …
Mécanismes de sécurité Java :
Le Bac à sable : C’est le fait d’introduire dans la machine virtuelle un système d’exécution sécurisé, il
permet :
D’interdire les accès au système de fichiers local de l’utilisateur
D’interdire la divulgation d’informations personnelles sur l’utilisateur (nom de
l’utilisateur, adresse mail, configuration de la machine, ...)
D’interdire des connections réseaux différentes du serveur contenant l’applet
D’interdire l’ouverture de fenêtre non marquée ”dangereuse”
D’interdire les modifications de la configuration du système
Exemple du comportement du bac à sable avec une applet :
Chapitre3 : Gestion des aspects de sécurité
Riadh BOUHOUCHI
4
Code JAVA
Compilateur
Serveur Web
Bytecode
Client
Navigateur
Verificateur de
bytecode
Chargeur de
classe
Manageur de
sécurité
Exécutable
Chapitre3 : Gestion des aspects de sécurité
Riadh BOUHOUCHI
5
Le vérificateur du bytecode :
Le vérificateur du bytecode permet d’analyser les fichiers bytecode par ses syntaxes et ses
flots de données.
Ce qui garantit :
bytecode dans le format correct
pas de dépassement de taille de pile
types corrects des arguments des instructions du bytecode
pas de conversion illégale entre types
utilisation correcte des opérateurs de visibilité (private, public, protected)
Chargeur de classe :
Le chargeur de classe permet la protection de l’intégrité de l’environnement d’exécution comme
la non redéfinition des bibliothèques systèmes.
Ce qui interdit le contournement des mécanismes de sécurité mit en place.
Manager de sécurité : Le manager de sécurité permet la vérification dynamique des appels aux méthodes
potentiellement dangereuses comme, lors d’un accès au système de fichier local ou, l’accès
aux variables de l’environnement utilisateur.