T Thèm Me: Sé Écuris Sation D Ndesr Donné Requêt Ées Ré Tes Da Éparti Ans Les Ies. S Base Es de
T Thèm Me: Sé Écuris Sation D Ndesr Donné Requêt Ées Ré Tes Da Éparti Ans Les Ies. S Base Es de
De fin
n de cyccle en
E Vue dee l’Obtentiion du Dipplôme de MASTER
M R en Inforrmatique .
OPTION
N : Conduiite de Projjet Inform
matique.
T me
Thèm
Séécurissation
n des requêt
r tes daans less basees de
d
donnéées Réépartiies.
Promootion 2013
3/2014
Remerciements
Je tiens tout d’abord à remercier Dieu le tout puissant qui m’a donné
la force et la patience d’accomplir ce modeste travail.
Chahrazed.
Sommaire
Liste des figures
Figure I.1 : Schéma d'un SGBD ......................................................................................... 3
Figure I.6 : architecture de schéma d’une base de données distribuée [3]. ................. 12
Figure III.10 : Diagramme de séquence détaillé pour le cas <<s’inscrire à la faculté >>
............................................................................................................................................. 57
Figue III.16 : exemple de vue matérialisé pour les étudiants de la faculté. ................. 64
Conclusion: ........................................................................................................................ 19
IV .1 Authentification : ...................................................................................................... 29
IV .2 Cryptographie : ......................................................................................................... 30
IV .1 .1 La confidentialité : ................................................................................................ 32
IV .3 L’audit : ..................................................................................................................... 35
V .3 Supervision .................................................................................................................. 40
V .4 Sensibiliser les DBA.................................................................................................... 40
Conclusion .......................................................................................................................... 42
Introduction : ..................................................................................................................... 43
[Link] : ......................................................................................................................... 45
Conclusion : ....................................................................................................................... 69
Introduction ....................................................................................................................... 70
IV. Solution proposé pour sécuriser une base de données répartie : ........................................... 77
Conclusion générale
Bibliographie
Annexe
Introduction
générale
Dans la société actuelle, nous avons de plus en plus affaire à l’informatique.
L’administration, les entreprises, les hôpitaux, les citoyens, tous les acteurs de la société
utilisent aujourd’hui massivement les systèmes informatiques pour gérer leurs activités,
leurs données, leurs employés, leurs clients, et même leur argent. Comme de nouveaux
besoins sont apparus avec toute organisation automatisée souhaite stocker et échanger ses
informations qui sont géographiquement éloignées, ce qui rend la tâche de la collecte et de
traitement d'une grande quantité d'informations dispersées très délicate, de ce fait,
l'amélioration des systèmes d'informations est devenue une priorité pour les gérants des
entreprises.
La solution qui s'impose est de distribuer les données et les organiser dans des
bases de données sur différents sites de stockage. L'ensemble de ces sites constitue un
système de bases de données réparties offrant la possibilité aux utilisateurs de manipuler les
différentes bases via un réseau de manière transparente, comme dans une base de données
globale. Les bases de données répartie offrent beaucoup d’avantages : un gain non négligeable
en puissance de calcul, en capacité de stockage et en performance, grâce à un traitement
parallèle, et une grande extensibilité, car ils peuvent croître progressivement selon le besoin.
Cependant, leur flexibilité et évolutivité soulèvent des problèmes supplémentaires, dont
notamment la sécurité ,Étant donné qu’une information dans un base de donnée répartie peut
être manipulée, échangée, dupliquée et modifiée par des entités qui évoluent dans des
environnements hétérogènes et parfois peu fiables, il est impératif de trouver un moyen de
contrôler leur utilisation de manière transparente et surtout peu importune pour l’utilisateur.
Dans ce mémoire nous allons, dans un premier temps, présenter d’une façon
générale les différents aspects liés à la base de données réparties. Nous verrons ensuite dans le
deuxième chapitre la sécurité des bases de données réparties. Nous étudierons dans le
troisième chapitre un exemple de base de données réparties pour la faculté génie électrique et
informatique de l’université Mouloud Mammeri Tizi-Ouzou et dans le dernier chapitre nous
verrons comment mettre en place une politique de sécurité pour les requêtes qui se déroulent
dans cette base de données réparties.
Chapitre I
Base de données
réparties.
Chapitre I : Base de données réparties.
Introduction :
Les bases de données réparties sont un moyen très efficace pour pallier aux problèmes
engendrés par l’approche centralisées, mais n’en demeure pas moins sans failles.
Une base de données se traduit physiquement par un ensemble de fichiers présent sur
une mémoire de masse (bien souvent un disque). La manière dont les informations sont
organisées doit permettre de retrouver très rapidement n'importe quelle information sur un lot
qui en contient plusieurs millions.
1
Chapitre I : Base de données réparties.
Une base de données répartie BDR est une collection de base de données localisées
sur différents sites, généralement distants, mises en relations les unes avec les autres à travers
un réseau d'ordinateurs, perçues pour l'utilisateur comme une base de données unique. Elle
permet de rassembler des données plus ou moins hétérogènes, disséminées dans un réseau
sous forme d'une base de données globale, homogène et intégrée.
Une base de données centralisée est gérée par un seul SGBD, est stockée dans sa
totalité à un emplacement physique unique et ses divers traitements sont confiés à une seule et
même unité de traitement. Par opposition, une base de données distribuée est gérée par
plusieurs processeurs, sites ou SGBD.
Un SGBD réparti doit rendre la répartition des bases de données transparentes aux
utilisateurs. La base de données étant répartie, il faut également répartir certaines
fonctionnalités du SGBD. Le schéma d'un SGBD réparti est résumé dans la figure.
2
Chapitre I : Base de données réparties.
Le SGBD répartie reçoit des requêtes référençant des objets d’une base de données
répartie. Il assure la décomposition des requêtes répartie en sous requêtes locales envoyées à
chaque site.
Dans le cas ou les bases de données sont hétérogènes, le SGBDR doit aussi assurer la
traduction des requêtes exprimées dans un langage pivot (par exemple SQL) en requêtes
compréhensibles par le SGBD local. [1]
Une base de données répartie est décrite par différents niveaux de schémas
¾ Schéma local
Schéma décrivant les données d’une bdd locale gérée par le SGBD
local. Lors de la construction de la base de données répartie, chaque
base local rend visible une partie de la base aux sites clients.
¾ Schéma global
Le schéma global permet de définir l’ensemble des types de données de
la base .Il ignore les concepts d’implémentation. Dans une base de
données répartie, le schéma global n’est pas forcément matérialisé.
Chaque base locale implémente une partie.
¾ Schéma exporté
Schéma décrivant les données exportées par un site vers les sites
clients.
¾ Schéma importé
Vue d’un site client, un schéma exporté par un serveur devient un
schéma importé.
3
Chapitre I : Base de données réparties.
¾ Vue intégrée
Schéma décrivant dans le modèle du SGBD distribué les données
réparties accédé par une application.
Les bases de données réparties ont une architecture plus adaptée à l’organisation des
entreprises décentralisées.
9 Plus de fiabilité : les bases de données réparties ont souvent des données répliquées.
La panne d’un site n’est pas très importante pour l’utilisateur, qui s’adressera d’autre
site.
• Coût
4
Chapitre I : Base de données réparties.
• Distribution du contrôle
La gestion des copies doit assurer leur cohérence mutuelle, c'est-à-dire que toutes les
copies de données soient identiques.
• Sécurité
Un des avantages évident des bases de données centralisées est sans contexte la
sécurité apportée aux données, car elle peut facilement être contrôlée dans un site unique. Or,
les
Le problème de l'inter-blocage ' Deadlock ' est le même que celui rencontré dans les
systèmes d'exploitation. La compétition entre les utilisateurs pour accéder à une donnée peut
entraîner des inter-blocages.
Quand les bases de données sur différents sites ne sont pas homogènes en terme de
modèle de données (relationnel, objet, XML, . . .), il devient nécessaire de fournir un
mécanisme de translation entre les différentes bases de données, ce mécanisme de translation
exige toujours une forme canonique pour faciliter la translation des données.
5
Chapitre I : Base de données réparties.
Cette approche se base sur le fait que la répartition est déjà faite, mais il faut réussir
à intégrer les différentes BDs existantes en une seule BD globale. En d'autre terme, les
schémas conceptuels locaux existent et il faut réussir à les unifier dans un schéma conceptuel
global.
6
Chap
pitre I : Base de
e donné
ées répa
arties.
On comm
mence par définir un schéma co
onceptuel global
g de la base de données
répartie, puis on lee distribue sur les diffférents sitess en des schhémas concceptuels loccaux. La
répartitiion se fait donc
d en deeux étapes, en premièrre étape la fragmentatiion et en deuxième
étape l'aallocation de ces fragm
ments aux sittes.
7
Chapitre I : Base de données réparties.
IV.2 La fragmentation :
IV.2.1 Définition :
Les applications ne travaillent que sur des sous-ensembles des relations. Une
distribution complète des relations générerait soit beaucoup de trafic, soit une réplication des
données avec tous les problèmes que cela occasionne : problèmes de mises à jour, problèmes
de stockage. Il est donc préférable de mieux distribuer ces sous-ensembles.
C'est un découpage d'une table en sous tables par utilisation de prédicats permettant
de sélectionner les lignes appartenant à chaque fragment. L'opération de fragmentation est
obtenue grâce à la sélection des tuples d'une table selon un ou des critères bien précis et la
reconstitution de la relation initiale se fait grâce a l'union (U) des sous-relations. [4]
8
Chapitre I : Base de données réparties.
Exemple :
ensg 2 ensg2
Table1@site 1
CREATE VIEW V1
FROM Table1@site1
UNION
FROM Table2@site2
9
Chapitre I : Base de données réparties.
Elle est le découpage d'une table en sous tables par projection permettant de sélectionner les
colonnes composant chaque fragment. La relation initiale doit pouvoir être recomposée par la
jointure des fragments.
Table Etudiant
Code_etud Faculté Département Formation Spécialité
01 FGEI Informatique Licence Informatique Général
02 FGEI Informatique Master I CPI
03 FGEI Automatique Master II CPI
02 FGEI Informatique
02 Master I CPI
Assemblage : la reconstruction de la table initiale se fait par la jointure comme nous l’avons
cité précédemment on exécutant des requêtes qui ressemblent à celle-ci :
CREATE VIEW V1
Table2.attr2
WHERE [Link]=[Link]
10
Chapitre I : Base de données réparties.
Le problème qui se pose pour la fragmentation est comment définir un bon degré de
fragmentation. Il existe trois règles pour la fragmentation :
V. Le schéma de répartition :
Pour fragmenter les requêtes, il est nécessaire de connaître les règles de localisation
des données. Lors de l'exécution d'une requête, le SGBDR doit décomposer la requête globale
en sous requêtes locales en utilisant le schéma de répartition.
11
Chapitre I : Base de données réparties.
Schéma conceptuel de la
BDR
Schéma de la fragmentation
Schéma d’allocation
BD BD BD
12
Chapitre I : Base de données réparties.
Cette technique consiste à dupliquer des parties de la base c'est-à-dire les fragments
sont dupliqués sur un seul site, voir plusieurs sites selon les besoins. Cette approche est très
intéressante car elle améliore considérablement les performances du système, étant donné que
les fragments sont dupliqués un peu partout et que les accès aux données sont locaux, évitant
ainsi la congestion du réseau et améliorant les temps de réponse. Le principal inconvénient de
cette technique est la difficulté des mises à jour de tous les fragments dupliqués.
Avec cette technique, l'allocation d'un fragment peut changer en cours d'utilisation de
la BDR, c'est-à-dire qu'un fragment qui se trouve sur un site A à un instant T, peut être
retrouvé sur un site B à un instant T+1. Cette technique est efficace mais exige le maintien du
schéma d'allocation et des schémas locaux.
VI. La réplication :
La réplication consiste à copier les informations d'une base de données sur une autre.
Elle peut être accompagnée d'une transformation des données sources, voir souvent d'une
agrégation. Dans tous les cas, il s'agit d'une redondance d'information.
13
Chapitre I : Base de données réparties.
VI. 1. Principe :
Le principe de la réplication, qui met en jeu au minimum deux SGBDs, est assez
simple et se déroule en trois étapes :
9 .La base maîtresse reçoit un ordre de mise à jour (INSERT, UPDATE ou DELETE).
9 Les modifications faites sur les données sont détectées et stockées dans un fichier ou
une file d'attente en vue de leur propagation
9 Le processus de réplication prend en charge la propagation des modifications à faire
sur une seconde base dite esclave. Il peut bien entendu y avoir plus d'une base esclave
- Allégement du trafic réseau en répartissant la charge sur divers sites. rapidité d’accès aux
données.
Autonomie :
L'autonomie se rapporte au degré avec lequel une des bases locales peut travailler
indépendamment des autres. On peut distinguer trois types d'alternatives dans l'autonomie que
peuvent avoir les bases locales :
L'intégration totale :
Une image unique de la base de données globale est offerte aux différents utilisateurs.
D'où la BD est centralisée, le SGBD contrôle de bout en bout la requête d'un utilisateur même
14
Chapitre I : Base de données réparties.
si elle met en jeu différentes bases locales et donc différents SGBDs locaux. L'autonomie n'est
donc pas bien importante.
La semi-autonomie :
Les SGBDs locaux peuvent opérer indépendamment mais ils participent à une collection de
bases qui coopèrent afin de partager leurs données. L'isolation totale : une base locale ne
connaît ni l'existence des autres bases ni la façon de se communiquer avec elles. Il ne peut
donc pas y avoir du contrôle global quant à l'exécution d'une requête sur les différentes bases
locales.
Dans cette architecture applicative, les programmes sont répartis en processus clients
et serveurs qui communiquent à travers des requêtes et des réponses. Sur la machine cliente,
les utilisateurs disposent d'une interface.
Sur les serveurs, la gestion des bases de données est effectuée (analyse, optimisation des
requêtes, et répartition). On peut distinguer deux types de clients :
• Client lourd : l'utilisateur est obligé de se connecter explicitement à tous les serveurs
dont il a besoin pour la requête qu'il veut formuler. [4]
Exemple :
Dans une application de gestion de la scolarité universitaire, si la BD est repartie par faculté
alors la recherche d'un étudiant grâce à son matricule et sans connaître la faculté à laquelle il
appartient est très délicate, car nous sommes obliger à interroger la BD de chaque faculté une
par une jusqu'à trouver un résultat.
15
Chap
pitre I : Base de
e donné
ées répa
arties.
Exemplle : pour repprendre l'exxemple préccédent danss le cas d'unn client légger, c'est le SGBDR
qui se charge de troouver la facculté de l'étuudiant en qu
uestion, et de
d retourner un résultat..
C
C'est un type de comm
munication pour
p lequel toutes les machines oont une imp
portance
équivaleente. Il n'y a pas de maachine qui a une imporrtance hiérarchique parr rapport aux
x autres.
Dite ausssi, l'architeecture totaleement réparttie.
C
Chacune de ces architeectures posssède des avantages et des
d inconvéénients. Le Client /
Serveurr avec sa sttructure pluus hiérarchiique est trèès sensible aux problèèmes de paanne des
serveurss, bloquant ainsi les cliients. En revvanche, la prise
p de déciision des seerveurs est rapide.
r
P
Pour l'archittecture Peerr-To-Peer, comme
c les machines
m soont strictem
ment équivallentes, la
panne d'une
d machiine peut raarement renndre le systèème un peuu lent. Maiis cette arch
hitecture
engendrre énormém
ment de com
mmunicationn pour toute décision.
16
Chap
pitre I : Base de
e donné
ées répa
arties.
VII. Les
L requêttes répartties
VII.1. Définition
D :
VII.2.P
Principe de répartition
n:
D
Dans un ennvironnemeent réparti, les requêttes formuléées à un nniveau glob
bal sont
décompposées en soous-requêtess qui serontt adressées aux
a sites loccaux où ellees seront ex
xécutées.
Les répponses locaales sont ennsuite regrroupées pou
ur élaborerr la réponse globale qui
q sera
retournéée à l’utilissateur. La décomposit
d tion d’une requête gloobale en soous-requêtess locales
s’appuiee sur le schhéma de fraagmentationn des donnéées. La figuure ci-dessoous, illustree le plan
d'exécuttion répartiee d'une requuête.
17
Chapitre I : Base de données réparties.
• L’étape [E1] a pour objectif l’élaboration d’un arbre algébrique optimisé d’évaluation
de la requête. Cette étape s’appuie sur les traitements suivants :
3. élimination de redondances,
18
Chapitre I : Base de données réparties.
Une transaction débute lorsque l'on se connecte à la base (en début de session donc)
ou lorsque la transaction précédente se termine.
Conclusion:
A travers les différents points développés dans le présent chapitre, nous avons pu
constater l'intérêt particulier porté aux systèmes répartis et aux différents problèmes auxquels
ce type de solution a pu remédier.
Nous avons pu également, détailler et expliquer l'intérêt des bases de données réparties
et les différents avantages offerts par ce type d'approche. Ce type de système est plus difficile
à mettre en place et plus compliqué, et que malgré ses nombreux avantages, néanmoins des
inconvénients existent, et son inconvénient majeur est la sécurité des données transmises via
le réseau de communication.
19
Chapitre II
Sécurité des bases
de données réparties.
Chapitre II : Sécurité des bases de données réparties
Introduction :
Un des avantages évident des bases de données centralisées est sans contexte la
sécurité apportée aux données, car elle peut facilement être contrôlée dans un site unique. Or,
les bases de données réparties impliquent un réseau dont la sécurité est difficile à maintenir.
Quels sont les menaces et les attaques à défendre ? Comment peut-on sécuriser les bases de
données répartie ?
I. Propriétés principales :
La sécurité des bases de données soit centralisée ou bien répartie inclus trois
principales propriétés : la confidentialité, l’intégrité et la disponibilité.
exemple. Pour respecter le droit des individus à décider comment et dans quel but les
individus.
• Intégrité : Les données ne peuvent pas être modifiées que par les utilisateurs habilités
¾ Des sabotages.
20
Chapitre II : Sécurité des bases de données réparties
Il y a déni de service lorsqu’un utilisateur ne parvient pas à accéder dans un délai raisonnable,
Par exemple, une attaque consistant à saturer un serveur de fausses requêtes empêchant les
Confidentialité
Intégrité Disponibilité
9 Déguisement (Mascarade)
Pour rentrer dans un système on essaye de piéger des usagers et de se faire passer pour
21
Chapitre II : Sécurité des bases de données réparties
Une personne non autorisée, un usager ou même un agent autorisé s'attribuent des avantages
illicites en modifiant un fichier, un message (le plus souvent cette modification est réalisée par
9 Répétition ("replay")
Espionnage d'une interface, d'une voie de communication (téléphonique, réseau local) pour
Pour détruire avec plus ou moins de motivations des systèmes ou des données.
22
Chapitre II : Sécurité des bases de données réparties
Dans un programme normal on introduit un comportement illicite mis en action par une
Il s'agit d'une infection informatique simple (du type précédent) qui contient de plus
Les attaques ayant pour but le vol d'information via un réseau par espionnage des
Transmissions de données (espion de ligne, accès aux données dans des routeurs et des
Serveurs Internet)
• Canaux cachés
• Analyse de trafic
On observe le trafic de messages échangés pour en déduire des informations sur les décisions
de quelqu'un.
23
Chapitre II : Sécurité des bases de données réparties
Exemples :
9 Inférence
On obtient des informations confidentielles à partir d'un faisceau de questions autorisées (et
d’un raisonnement visant à faire ressortir l'information).
Pirate externe :
Il est capable de s’infiltrer sur le serveur BD et de lire ses fichiers, il peut aussi casser
Pirate utilisateur :
Ce type de pirate est reconnu par le SGBD et à accès à une partie des données suivant le
Employé peu scrupuleux ou pirate s’étant octroyé ces droits,a accès à des données
inaccessibles aux autres pirates (journal) et aussi peut espionner le SGBD pendant
l’exécution.
24
Chapitre II : Sécurité des bases de données réparties
L'injection SQL directe est une technique où un pirate modifie une requête SQL
existante pour afficher des données cachées, ou pour écraser des valeurs importantes, ou
encore exécuter des commandes dangereuses pour la base. Cela se fait lorsque l'application
prend les données envoyées par l'internaute, et l'utilise directement pour construire une
requête SQL. Les exemples ci-dessous sont basés sur une histoire vraie, malheureusement. [8]
Exemple :
25
Chapitre II : Sécurité des bases de données réparties
Username : Jean
L’attaquant se retrouvera connecté comme 1er utilisateur de la BD qui a toutes les chances
d’être l’administrateur.
Les plus grandes bases de données sont livrées avec des comptes utilisateurs par
défaut, souvent oubliés au moment de leur déploiement. La tendance est désormais à leur
limitation, mais ils demeurent encore très courants sur des bases en production. Ils permettent
à un attaquant d’obtenir un accès mineur sur le système afin d’y exploiter ensuite des failles
locales.[7]
Il faut identifier les utilisateurs ayant besoin d'un accès à la base de données, ils
peuvent être de différents types :
26
Chapitre II : Sécurité des bases de données réparties
L'administrateur est une personne physique ayant tous les droits sur le SGBDR, mais pas
forcément sur le contenu des bases de données : il peut réaliser des opérations de gestion des
droits d'accès et des ressources systèmes mais on pourra choisir d'exclure ou non les droits
d'accès en lecture et/ou écriture au contenu des bases de données. Bien que parfaitement
logique d'un point de vu métier, pour la protection de données sensibles par exemple, retirer à
un administrateur les droits de lecture et d'écriture sur le contenu d'une base de données n'a
pas de sens d'un point de vu technique puisqu'il possède les capacités techniques de s'octroyer
ses droits là. De plus, les opérations de sauvegarde, de restauration et de maintenance après
incident peuvent l'amener à devoir accéder au contenu d'une base de données.
Bref, normalement, c'est l'utilisateur qui a tous les droits sur le SGBDR et les bases de
données hébergées. C'est normalement une personne de confiance, compétente et prudente.
Une application peut être une application web, un outil de synchronisation entre
sources d'informations ou tout programme accédant pour lui-même à la base de données. Ce
type d'utilisateur logique n'a rien à voir avec l'utilisateur réel dénotant une personne physique
ayant des besoins particuliers. Même si une application est utilisée par des personnes
physiques, on pourra choisir de déléguer à l'application la gestion des droits d'accès à
l'information en fonction des habilitations qu'elle décide de lui attribuer. Ainsi, une
application peut être vue comme un utilisateur de base de données auquel on attribue des
droits qu'elle pourra restreindre de façon transparente pour l'utilisateur final de l'application
ainsi que pour le SGBD.
Qu’il s’agisse de l'administrateur aux droits absolus, d’utilisateurs dont les droits ont
étés copiés sur ceux d’autres collaborateurs pour se faciliter la vie ou encore d’applications à
qui l’on donne un accès complet par simplicité, un accès trop lâche à la base de données est
toujours à proscrire. Or, la facilité est souvent de mise dans ce domaine. [13]
27
Chapitre II : Sécurité des bases de données réparties
On distingue :
Les privilèges objets qui concernent des opérations précises sur des tables, des vues, des
procédures stockées…, dont le nom est spécifié ;
Les privilèges systèmes qui concernent des opérations sur tous les objets d’un certaine
catégorie.
On ajoute aussi :
Le vol de données
L'altération de données
Induit une perte d'intégrité, c'est-à-dire que les données ne sont plus dignes de confiance.
En fonction de la rapidité de détection et de la qualité des sauvegardes, les conséquences
peuvent en être réduites. Mais une application fonctionnant sur des données falsifiées peut
voir son comportement fortement influencé : par exemple, un site de commerce électronique
pourrait débiter le compte d'un autre client que celui réalisant la commande
28
Chapitre II : Sécurité des bases de données réparties
C’est l’ensemble de règles fixant les actions autorisées et interdites dans le domaine de
la sécurité, et qui régissent la façon dont l’information sensible et les autres ressources sont
gérées, protégées et distribuées à l’intérieur d’un système.
IV .1 Authentification :
La première étape afin de protéger les ressources d'un réseau est de pouvoir vérifier
l'identité des utilisateurs. Cette vérification s'appelle authentification. L’authentification est la
procédure mise en œuvre notamment pour vérifier l’identité d’une entité et s’assurer que
l’identité fournie correspond à l’identité de cette entité préalablement enregistrée. Dans la vie
courante, l’authentification est réalisée par la carte d’identité nationale .On authentifie un
utilisateur en lui demandant de fournir quelque chose que seule cette personne a (par exemple
un jeton), une information qu'elle seule connaît (un mot de passe) ou encore quelque chose
qui est propre à cet utilisateur, comme une empreinte digitale. Plus l'utilisateur doit fournir
des renseignements de ce type, plus faibles sont les risques qu'une autre personne parvienne à
se faire passer pour cet utilisateur légitime.
NB : Chaque politique de sécurité d’un réseau devrait exiger la mise en place d'un ou
plusieurs mécanismes d'authentification. [12]
Exemples :
29
Chapitre II : Sécurité des bases de données réparties
Ils les changent rarement (alors qu’il faut le faire régulièrement). Par ailleurs, les mots de
passe consistant en caractères aléatoires sont difficiles à deviner, mais ils sont également
difficiles à mémoriser par les utilisateurs, ceux‐ci doivent donc les écrire quelque part, la
plupart du temps dans un endroit Facilement accessible dans le lieu de travail. L'utilisation de
mots de passe multiples ne fait qu'aggraver le problème Le choix d'un mot de passe approprié
(un mot de passe à la fois facile à mémoriser pour l'utilisateur mais difficile à deviner pour
toute autre personne) a toujours été un problème. Les mots de passe composés de syllabes
prononçables ont plus de chance d'être mémorisés que les mots de passe consistant seulement
en caractères aléatoires. Il existe des logiciels de vérification des mots de passe; ils peuvent
être utiles pour déterminer si un nouveau mot de passe est jugé trop facile à deviner et donc,
inacceptable [A1]
La méthode trouvée par Joshua Rogers nécessite de connaître les identifiants X(eBay)
et Y(PayPal) de la personne, des informations que les programmes malveillants savent
facilement récupérer sur des ordinateurs compromis. Le problème réside dans une page eBay
qui permet aux utilisateurs de relier leur compte eBay avec PayPal. En le faisant, cela crée un
cookie qui laisse croire à l'application PayPal que la personne est connectée, même si aucun
code à six chiffres n'a été saisi, écrit Joshua Rogers sur son blog. C'est la fonction
« =_integrated-registration » qui pose problème en ne vérifiant pas si la victime a activé le
système d'authentification à deux facteurs, explique-t-il. De cette façon, un attaquant pourrait
à plusieurs reprises accéder au compte PayPal d'une personne en le reliant à son compte eBay.
[A2]
IV .2 Cryptographie :
Depuis sa création, le réseau Internet a tellement évolué qu’il est devenu un outil
essentiel de communication mais qui présente tout de même des risques. Les transactions
faites à travers le réseau peuvent être interceptées, d’autant plus que les lois juridiques ont du
mal à se mettre en place sur Internet, il faut donc garantir la sécurité de ces informations, c’est
la cryptographie qui s’en charge. La cryptographie était utilisée depuis bien longtemps ; à
l’époque romaine, lorsque Jules César envoyait des messages à ses généraux, il ne faisait pas
confiance à ses messagers. Aussi remplaçait il chaque A dans ses messages par un D, chaque
B par un E, et ainsi de suite à travers l’alphabet. Seul quelqu’un qui connaissait la règle «
décalé de 3 » pouvait déchiffrer ses messages. Aujourd’hui, la cryptographie est utilisée dans
30
Chapitre II : Sécurité des bases de données réparties
divers applications réseaux telles que la messagerie électronique, les réseaux privés
virtuels...La cryptographie désigne l’ensemble des méthodes ou techniques (chiffrement,
signature numérique et certificat) permettant de garantir intégrité, authenticité, confidentialité
des informations sensibles, et on appelle la personne qui la pratique un cryptographe.[10]
¾ La cryptanalyse :
C’est l’étude des procédés cryptographiques dans le but de trouver des faiblesses, et
en particulier de pouvoir décrypter des textes chiffrés. Le décryptement est l’action qui
consiste à trouver le message en clair sans connaître la clef de déchiffrement, et on appelle la
personne qui pratique cet art un Cryptanalyse. On appelle la science qui englobe la
cryptographie et la cryptanalyse, la cryptologie
Clef de Clef de
chiffrement déchiffrement
Texte chiffrement
Texte claire
Chiffrement Déchiffrement Texte claire
Cryptogramme
Décryptement
Texte claire
31
Chapitre II : Sécurité des bases de données réparties
IV .1 .1 La confidentialité :
IV .1 .1.2 Chiffrement :
Pour crypter un message ou un texte qu’on appellera texte en clair, on lui applique une
série d’opérations simples telles que la substitution et la permutation suivant des règles bien
définies qui ne sont connues que par l’émetteur et le récepteur du message dans le but de le
rendre inintelligible pour les tiers non autorisés (cryptogramme ou texte chiffré) et on appelle
ce procédé chiffrement. Inversement, le déchiffrement est l’action qui permet de reconstruire
le texte en clair à partir du texte chiffré. Dans le monde de l’informatique moderne,
¾ Clé : Ensemble des données d’entrée de l’algorithme qui transforme le texte clair en
texte chiffrée et inversement.
Le chiffrement à clé privée exige que toutes les parties qui sont autorisées à lire l’information
aient la même clé que celle qui est utilisée pour le chiffrement des données.
Comme exemple d’algorithme à clé privée, on peut citer : Kerberos, Data Encryption
Standard, International Data Encryption Algorithmes...
32
Chapitre II : Sécurité des bases de données réparties
Le chiffrement asymétrique se base sur deux clés (une privée et une autre
publique) pour chiffrer et déchiffrer les messages. Ces clefs sont distinctes et générées en
même temps et elles dépondent étroitement l’une de l’autre, c.à.d. lorsqu’on chiffre avec l’une
des clés, on doit forcément déchiffrer avec l’autre. Ainsi en utilisant la clef publique, tout le
monde peut chiffrer un message que seul le propriétaire de la clef privée pourra déchiffrer, et
inversement, si on utilise la clef privée pour le chiffrement, tout le monde (ceux qui possèdent
la clé publique) peut déchiffrer.
33
Chapitre II : Sécurité des bases de données réparties
On peut identifier la provenance des données chiffrées par à la clef privée puisque une
seule personne la possède, et donc lorsqu’une personne déchiffre le message avec sa clé
publique, elle sait très bien d’où le message provient.
IV .1 .2 Intégrité et authenticité :
Authenticité=Authentification + Intégrité
se présente au travers d’un canal de communication peu sûr, le destinataire aimerait bien
s’assurer que le message s’émane de l’auteur auquel il est attribué et qu’il n’a pas été altéré
IV .1 .3 Signature numérique :
34
Chapitre II : Sécurité des bases de données réparties
information. Ces éléments sont au moins aussi importants que le chiffrement des données,
sinon davantage.
La norme ISO 7498‐2 définit la signature numérique comme étant des données
rajoutées à une unité de données ou une transformation cryptographique d’une unité de
données permettant à un destinataire de prouver la source et l’intégrité de l’unité de données
en question (seul l’expéditeur est apte à générer la signature).[19]
IV .3 L’audit :
L’audit permet aussi de vérifier que les contrôles sont configurés correctement et
conformément à la politique de l’entreprise. Comme par exemple si un utilisateur qui n’a pas
le privilège d’accéder ou d’utiliser un service, on découvre grâce à l’analyse du journal qu’il
arrive à avoir ce privilège, alors on remet en cause les dispositifs de sécurité qui sont en place.
[14]
35
Chapitre II : Sécurité des bases de données réparties
Un sujet est une entité active inclut souvent les utilisateurs et les processus travaillant pour le
compte des utilisateurs (qui peuvent être classés par groupes).
Un objet est une entité passive, un conteneur d’information à protéger, sur lequel un sujet peut
effectuer une action (les fichiers, Données, programmes, périphériques matériels) ;
Une permission est une certaine action permettent aux sujets de manipuler les objets. Une
permission peut être accordée ou refusée (par exemple, lecture, écriture, exécution).
Un processeur de sécurité qui vérifie que les requêtes adressées au système ne violent pas les
règles d’accès et selon le cas autorise, modifie ou interdit la requête. [19]
Une fois que l'utilisateur est authentifié par l'intermédiaire, le système doit contrôler
quelles données, applications et ressources l'utilisateur peut accéder dans le système. Les
données ne doivent pas être protégées seulement contre les intrusions mais aussi les accès des
utilisateurs ayant des limites qui doivent être respecté. Pour contrôler l'accès il faut d'abord
La sécurité typique dans les systèmes trois tiers, exige que chaque utilisateur soit
36
Chapitre II : Sécurité des bases de données réparties
Si vous n'êtes pas prudent, un utilisateur malveillant peut déduire des informations
importantes sur votre application à partir des messages d'erreur qui s'affichent. Respectez les
règles ci-dessous.
37
Chapitre II : Sécurité des bases de données réparties
Ce Principe stipule qu’un sujet ne doit disposer que des droits d’accès minimum pour
assurer l’exécution des tâches qui lui sont assignées, pas un de plus.
Exemple : ne pas donner les droits de l’administrateur à tout utilisateur d’un système (système
d’exploitation, SGBD).
Les privilèges :
Il convient pour chaque compte d'accès d'identifier les privilèges minima à accorder
ainsi que le niveau de granularité adéquat.
Ici ; le terme utilisateur désigne une application aussi bien qu'une personne physique.
Les SGBDR permettent généralement de spécifier assez finement les privilèges d'un
utilisateur en fonction des objets manipulé :
Base de données.
Table (relation).
Colonne (attribut).
Ainsi, un utilisateur peut se voir attribuer un privilège pour toute une base de données, ou
seulement pour quelques tables, ou encore sur uniquement quelques colonnes de certaines
tables.
38
Chapitre II : Sécurité des bases de données réparties
respect de bonnes pratiques et selon la référence [15] la protection d’une base de données suit les
étapes suivantes :
La sécurité de la base de données commence par une réflexion sur les usages et la population
d'utilisateurs accédant à celle-ci, ainsi que sur la manière dont la connexion s'effectue. Est-ce
directement par les utilisateurs ou par le biais d'un applicatif (interface Web, progiciel, etc.). Il
est indispensable de connaitre la méthode et la nature des accès afin de définir une politique
de sécurité adaptée.
"La connexion d'un SGBD avec un progiciel, qui nécessite une méthode d'interconnexion
spécifique, peut avoir pour effet d'abaisser le niveau de sécurité. Les équipes sécurité et
intégration, dont les missions ne sont pas forcément en accord, doivent souvent trouver un
accord".
La sécurité ce n'est cependant pas uniquement la protection contre les attaques. D'autres
questions se posent sur la garantie de la traçabilité, l'intégrité, l'audibilité, la confidentialité et
la sauvegarde des données. La politique va par conséquent dépendre de ce que l'on souhaite
garantir en fonction des besoins identifiés. Il sera ainsi incontournable de redonder les
équipements d'interconnexion si la disponibilité est critique.
39
Chapitre II : Sécurité des bases de données réparties
Le déploiement d'une base de données est souvent la brique d'un projet plus global. La
sécurité doit donc être pensée pour l'ensemble des éléments, surtout dans le cas d'un applicatif
accédant à la base. Celle-ci peut être protégée mais si l'outil utilisé pour s'y connecter est
vulnérable, il ouvrira des portes. Un SGBD ne pourra pas faire la différence entre une
connexion légitime et une attaque par le biais d'un frontal Web.
V .3 Supervision
Un suivi des indicateurs de la base de données doit être assuré afin de détecter les anomalies,
prévenir les interruptions de service et intervenir dans les meilleurs délais. La majorité des SGBD
du marché embarquent désormais des systèmes de supervision. Charge ensuite à l'administrateur
de base de données (DBA) de concevoir des filtres appropriés pour diagnostiquer toute évolution
du mode de fonctionnement de la base.
L'administrateur doit être sensibilisé aux problématiques de sécurité, aux risques, à la criticité des
contenus dont il a la charge et pas seulement à la performance. Un DBA peut avoir à superviser
une dizaine de bases sans bénéficier de visibilité sur les données qu'elles hébergent et risquer par
conséquent de ne pas avoir les bons réflexes.
Une base de données repose sur une couche système. Cette dernière ne doit donc pas être négligée
et faire l'objet d'un durcissement fort. Une base de données ne sera pas en mesure de se défendre
contre une personne détenant des droits administrateur sur l'OS. Ce durcissement comprend
l'application d'une politique de gestion des correctifs et du moindre privilège, la limitation des
services (réseau et système) et applicatifs, la segmentation des droits ou encore une
authentification via des mots de passe fort. Attention au paramétrage des SGBD lors de
migration de versions.
V .6 Renforcer la couche BD
Tout comme le système, les correctifs de sécurité doivent être appliqués à la base de données.
Pour des exigences de disponibilité, le patch management est cependant complexifié. Il faut
veiller en outre au durcissement de l'installation par défaut.
40
Chapitre II : Sécurité des bases de données réparties
Les comptes par défaut doivent être verrouillés et les mots de passe remplacés pour respecter
les normes de sécurité. La notion de politique du moindre privilège s'applique. C'est-à-dire
qu'un utilisateur n'ayant par exemple besoin que de consulter les données ne doit en aucune
façon disposer de droits en écriture. De même, la base doit être correctement segmentée pour
qu'une habilitation ne concerne qu'un périmètre défini des données.
V .8 Méthodes d'accès
L'entrée sur la base de données doit être autorisée selon des méthodes précises. C'est à ce
niveau que le filtrage sera défini. Si la connexion se fait depuis une application Web, alors
seule celle-ci et le DBA seront autorisés à accéder. Ce filtrage est toutefois complexifié lors
de l'intégration avec un PGI ou de connexion depuis une application en client lourd installée
sur de nombreux postes.
Interviennent alors des aspects de gestions des profils et des utilisateurs, d'évolution des
droits. Une cartographie des données et des habilitations doit être dressée pour définir les
types de populations accédant à la base et les parties de celle-ci qu'ils sont autorisés à
consulter.
Les informations envoyées en réponse à une requête ne doivent pas circuler en clair sur le
réseau. Nul besoin de durcir l'accès et l'OS, s'il suffit d'écouter le trafic réseau. Les flux seront
par conséquent chiffrés entre la base et les différents composants. [15]
41
Chapitre II : Sécurité des bases de données réparties
Conclusion
La sécurité des accès à une base de données réparties est une préoccupation de tous
les instants. Les privilèges doivent être restreints à l'indispensable et être actualisés
régulièrement. Quant aux applications web, vulnérables par essence, elles doivent être
développées de manière à réduire le risque d'accès frauduleux aux données.
web permet de réduire considérablement les risques liés à la sécurité des bases de données.
Les éléments de sécurité existant ne sont pas suffisants.
42
Chapitre III
Elaboration d’un
exemple de BDR.
Chapitre III : Elaboration d’un exemple d’une BDR.
Introduction :
Pour l’étude de l’exemple on utilise la méthode UML, la méthode qui ce base sur
deux parties l’analyse et la conception, et avant d’entamer la conception, il faut
impérativement passer par la phase d’analyse qui permet d’identifier les différents acteurs
qui intéressent avec le système ainsi que leurs besoins. Puis on passe à la phase de
conception en s'appuyant sur les résultats de la phase d’[Link] on termine par la
réalisation.
L’organisation que nous allons proposer suit l’organisation hiérarchisée de la faculté dont
elle structuré comme suit :
43
Service scolarité
Enseignement et
VICE
des études et
des questions
Section ATS Statistique
DOYE Chargé
Enseignants Service personnel
Chapitre III :
Moyens Animation
E
AIRE
SECRET
GENERL
Maintenance Moyens et
I.1 Organigramme de la faculté
Budget Budget et
44
EN
DOYEN
DOY
VICE
Coopération et
ORGANIGRAMME
Service de gestion du
GENERALE DE FACULTE
Orientation et
BIBLIOT
ABLE DE
RESPONS
Formation supérieure de
Adjoint chargé de la
Service de scolaire
Elaboration d’un exemple d’une BDR.
Identification
des acteurs
Partie conception
Diagramme
des cas
Identification d’utilisation
des activités
Diagramme
des sequence
II. Analyse :
Cette phase comprend l’identification des besoins de système, les acteurs
participent, leurs interactions avec le système ainsi que les cas d’utilisation.
45
Chapitre III : Elaboration d’un exemple d’une BDR.
Donc pour la conception de la base de données de la faculté nous allons procéder d’une
façon ascendante on suivant les étapes suivantes :
Etudier les besoins et les acteurs des sites locaux et établissement des schémas
conceptuels locaux.
Etablissement du schéma d’intégration on utilisant l’approche ascendante.
Réalisation du schéma globale après intégration.
Traduction des schémas conceptuels obtenus en schémas relationnels logiques en
appliquant les règles de passages UML –relationnel.
46
Chapitre III : Elaboration d’un exemple d’une BDR.
Acteurs participant à la
faculté Administrateur
E_département admin.
E-faculté admin.
47
Chapitre III : Elaboration d’un exemple d’une BDR.
1..*
Etudiant
E_département admin
Enseignant
1..*
1..*
Système réparti
de la faculté. Administrateur faculté
.
1..1
Définition :
Le tableau récapitulatif suivant présente les différents taches réaliser par les acteurs de
système sur les différents sites soit local ou intégré ou bien l’espace ou naviguer (espace
pédagogique ou administratif
48
Chapitre III : Elaboration d’un exemple d’une BDR.
T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12.
Idem qu’étudiant.
T17 : Se connecter.
T18 : Consulte ces informations.
T19 : Gestion des enseignants (valider, modifier, supprimer). OUI
T20 : Gestion des étudiants (valider inscription, modifier,
supprimer).
T21 : Lire et répondre aux messages reçus.
E_départemen
T22 : Gestion des formations du département (filières,
t oui
spécialités, modules).
Admin
T23 : Envoi PV des notes d’étudiants, au service de scolarité
T29 : Se connecter.
T30 : Gestion de départements.
Administrateu T31: Gestion d’E-departement_admin. oui
r T33 : Répondre aux messages reçus. oui
Faculté
49
Chapitre III : Elaboration d’un exemple d’une BDR.
Après l’identification des différents acteurs ainsi que les cas d’utilisation qui sont
mis en œuvre par ces acteurs, nous terminons la phase d’analyse par l’élaboration des
différents diagrammes des cas d’utilisation associés a chaque acteur définie précédemment.
II.4.1.1 Définition :
¾ Cas d’utilisation: (en anglais use case) permet de mettre en évidence les relations
fonctionnelles entre les acteurs et le système étudié. Le format de représentation
d'un cas d'utilisation est complètement libre mais UML propose un formalisme et
des concepts issus de bonnes pratiques.
Le diagramme de cas d'utilisation permet de représenter visuellement la séquence
d'actions réalisées par un système. Il est représenté par une boîte rectangulaire,
produisant un résultat sur un acteur, appelé acteur principal, et ceci
indépendamment de son fonctionnement interne.
50
Chapitre III : Elaboration d’un exemple d’une BDR.
Envoyer un message à
un enseignant.
Extend
Extend Extend
Consulter son
Include Extend
emploi de temps.
Etudiant
Accès à espace
Extend
Etudiant. Consulter le site du
département.
Extend
Extend
Include Consulter la
Extend bibliothèque de
département.
S’authentifier Modifier son
profil
Extend
Voir les filières et Voir les modules
spécialité d’une spécialité.
51
Chapitre III : Elaboration d’un exemple d’une BDR.
Envoyer un message à
un enseignant.
Extend Extend
Extend
Include Consulter son
Extend
emploi de temps.
Accès a
l’espace Extend
Consulter le site du
d’enseignant
département.
Enseignant
Extend
Consulter la
Extend Extend bibliothèque de
département.
Include Modifier son
profil
S’authentifier
Extend
Voir les filières et Voir les modules
Extend spécialité d’une spécialité.
Extend
Envoyer etExtend
Répondre
aux messages
d’étudiants.
Déposer les Extend
cours.
52
Chapitre III : Elaboration d’un exemple d’une BDR.
Consulter ces
informations. Ajouter un
enseignant.
Se connecter Consulter sa
messagerie Modifier un
Extend enseignant.
Extend
Include Extend
Supprimer un
Extend Extend Gestion des enseignant.
enseignants. Extend
Ajouter un
Extend étudiant
Extend
Admin
Extend Ajouter
Extend
Modifier
Extend Modules
Extend Supprimer
Gestion des
formations.
Extend
Ajouter
Extend
Extend
Modifier
Spécialité
Extend
Extend
Supprimer
Extend
Ajouter
Extend
Modifier
Filières
Extend Supprimer
53
Chapitre III : Elaboration d’un exemple d’une BDR.
Ajouter
Consulter sa
messagerie Modifier
Extend
Extend
Extend
Supprimer
Gestion des e-
admin Extend
départements
Extend Extend Ajouter
Faculté Supprimer
Include
Se connecter
54
Chapitre III : Elaboration d’un exemple d’une BDR.
III .Conception :
Après avoir analysé les différents acteurs participant, ainsi leur cas d’utilisation ;
Nous allons passer dans ce qui concerne la phase de conception qui se base essentiellement
sur les différents diagrammes de séquences et diagrammes de classe que nous allons
présenter dans ce qui suit :
Icône :
Les objets entités sont des objets d’écrit dans plus d’un cas d’utilisation.
Icône :
55
Chapitre III : Elaboration d’un exemple d’une BDR.
Il représente les activités des processus du système, il dirige les activités des objets
interfaces et entités.
Icône :
Comme nous l’avons cité précédemment notre démarche procède d’une manière
ascendante donc nous allons schématisés quelques diagrammes de séquence de quelques
taches déroulent au niveau des sites locaux.
- S’inscrire a la faculté.
Etudiant - S’authentifier.
56
Chapitre III : Elaboration d’un exemple d’une BDR.
Utilisateur Page principale Formulaire d’inscription Inscription Enregistre BDD Page confirmation Page erreur
Atteint
Atteint
Remplit
Confirme
Si
Formulaire
Complet
Enregistre
Construit
Affiche
Si non
Affiche
Figure III.10 : Diagramme de séquence détaillé pour le cas <<s’inscrire à la faculté >>
57
Chapitre III : Elaboration d’un exemple d’une BDR.
¾ Objet interface :
- Page principale
- Page d’authentification
- Espace personnel
¾ Objet contrôle :
- La recherche dans la base de données
58
Chapitre III : Elaboration d’un exemple d’une BDR.
Affiche
Saisie
Message d’erreur
Ramène
Affiche
59
Chapitre III : Elaboration d’un exemple d’une BDR.
- Page messagerie
- Page nouveau message
- Page de confirmation
¾ Objet contrôle :
- Enregistrer dans la base de données
¾ Objet entité :
- Message
Remarque : dance ce diagramme l’utilisateur c’est étudiant et enseignant.
Page Page
nouveau message Enregistre Page confirmation
Utilisate messagerie
Atteint
1.
Atteint
2.
Affiche
3.
Ecrie un
message
4.
Enregistre
5.
Construi
6.
Affiche
7.
2. L’utilisateur clique sur le lien nouveau message et le système lui affiche la page de
nouveau message
60
Chapitre III : Elaboration d’un exemple d’une BDR.
Définition : un diagramme de classe est la vue statique des objets qui donnent naissance à
la base de données, leur intérêt majeur est de modéliser les entités d’un système.
Autrement dit, ils expriment les relations existantes entre les pages client et serveur.
Nous allons présenter les schémas conceptuels locaux des bases locales, par la suite on les
vues créées pour compléter le schéma conceptuel global de la base de données fédérée
comme le montre la figure suivante.
BDD
∑Vue matérialisées
61
Chapitre III : Elaboration d’un exemple d’une BDR.
1..*
1 *
Enseignant Etudiant
Module Semestre
-Id_ensg -Id_ent
-Id-mod 1 * 1 1 -Id_sem
-nom -nom
-login -login
1 1
Section Groupe
Emploi de temps
-Id_sec -id-grp
-id-emloi 1 * 1 1 1 1 1 *
-numero -num
-type Avoir Appartient
1..* 1 *
Avoir
1 1 Propose
Spécialité Filière
-durée 1 1 -nom
1 *
62
Chapitre III : Elaboration d’un exemple d’une BDR.
Message
Administrateur
- Id_message
- Destinataire 0..* Ecrie 1..1
- Destinateur Login
- Message Password
- piece_jointe
- objet_message
- etat_message 0..* est destiné 1..*
1..n
Gérer
Admin_dep
Id_admin
Nom
Prénom
Login
password
1..n
Gérer
1..1
Département
Id_dep
Nom_dep
Adresse_dep
63
Chapitre III : Elaboration d’un exemple d’une BDR.
Etudiants_fac
-Id_etud
-Nom_etud
-Prénom_etud
-Département
-email
-tel
- Supprimer
- Modifier
64
Chapitre III : Elaboration d’un exemple d’une BDR.
Enseignant (id_ensg, nom, prénom, date_naiss, adresse, département, faculté, mail, Tel, ,
login, pwd)
Etudiant (id_etud, nom, prénom, date_naiss, adresse, mail, Tel, login, pwd, $id_group)
IV. Réalisation:
Après avoir présenté les différentes étapes de conceptions, nous allons passer dans cette
partie à la traduction de ces dernières en code source.
Serveur
Web(Apach
Requête
Serveur
Réponse HTTP Module API
BDDs
WWW h
65
Chapitre III : Elaboration d’un exemple d’une BDR.
Deuxième niveau : le deuxième niveau est constitué d’un serveur Web Apache doté de
module PHP (l’interpréteur PHP est installé comme module Apache).
Troisième niveau : le troisième niveau est composé d’un serveur de base de données
(MYSQL) performant souple et disposant d’un jeu de commande SQL large.
66
Chapitre III : Elaboration d’un exemple d’une BDR.
1. La page d’accueil :
67
Chapitre III : Elaboration d’un exemple d’une BDR.
2. la page de département :
68
Chapitre III : Elaboration d’un exemple d’une BDR.
Conclusion :
Ce chapitre est consacré à la réalisation d’un exemple de BDDR, j’ai présenté le
processus de conception de mon application en deux niveaux, le niveau applicatif et le
niveau de données. En premier lieu, j’ai commencé l’analyse et la conception par le niveau
applicatif qui concerne les fonctionnalités et les traitements de l’application, ensuite j’ai
passé au niveau de données qui ma a permis d’avoir le modèle logique de la base de
données de chaque site et aussi j’ ai présenté la procédure d’intégration de données d’une
base à l’autre qui nous a permis de compléter le schéma globale.
En fin la traduction de cette conception en un ensemble de scripts, en ce qui concerne
partie applicative.
69
Chapitre VI
Mise en œuvre d’une
politique de sécurité
dans les BDDRs.
Chapitre IV: Mise en œuvre d’une politique de sécurité dans les BDDRs
Introduction
Pour atteindre ces objectifs de sécurité, il est nécessaire de mettre en œuvre une politique
de sécurité, applicable à l’ensemble des entités à l’intérieur d’un domaine géographique ou
fonctionnel. Cette politique désigne l’ensemble des lois et des consignes aux fins de protéger les
ressources et les informations contre tout préjudice à leur confidentialité, leur intégrité et leur
disponibilité, lequel serait dû à un usage inapproprié (incorrect, abusif ou frauduleux).
La politique exhibe, dans sa rédaction sous forme de règles, des sujets et des objets et
précise les activités et opérations autorisées et interdites. Pour ce qui concerne la sécurité logique,
il est essentiel de connaître la part de la politique de sécurité, traitée informatiquement et dévolue
intrinsèquement au réseau et au système. Le reste de la politique sera pris en charge par des
mesures non techniques, organisationnelles ou juridiques.
70
Chapitre IV: Mise en œuvre d’une politique de sécurité dans les BDDRs
a) Politique de sécurité :
Ensemble des lois, règles et pratiques qui régissent la façon de gérer, protéger et diffuser les biens,
en particulier les informations sensibles, au sein de l'organisation.
¾ Spécifie les autorisations, interdictions et obligations des sujets (agents, notion qui inclut à
la fois les utilisateurs et les applications) qui peuvent accéder au système informatique.
¾ Inclut les aspects organisationnels, physiques et techniques.
b) Système sécurisé :
Système démarrant dans un état autorisé par la politique de sécurité, et ne pouvant pas entrer dans
un état non autorisé.
c) Fonction de sécurité :
d) Mécanisme de sécurité :
Logique, algorithme ou protocole qui implémente par matériel ou logiciel une fonction
particulière dédiée à la sécurité ou contribuant à la sécurité.
Assure que le système ne rentre pas dans un état non autorisé.
Exemple : mécanismes d’authentification
9 Mots de passe à usage unique.
71
Chapitre IV: Mise en œuvre d’une politique de sécurité dans les BDDRs
9 Biométrie.
9 Protocole de type défi-réponse.
L'attaque par injection SQL est très fréquente car elle est rapide à mettre en place, peut
occasionner des dégâts irréversibles dans votre base de données ou, si elle est utilisée de
manière plus subtile, elle permet de récupérer en toute discrétion les mots de passe et
identifiants. Le pirate détourne votre requête en injectant du code dans les champs du
formulaire : d'où le terme d'injection SQL.
Exemple:
<?php
$requete = "SELECT * FROM admin
WHERE pseudo = '".$_GET['pseudo']."'
AND password = '".$_GET['password']."' ";
?>
Après le détournement on aura :
<?php
$requete = "SELECT * FROM admin
WHERE pseudo = '".$_GET['pseudo']."'
AND password = '' OR 1 = '1' ";
?>
Exemple:
<?php
$requete = "DELETE FROM admin
72
Chapitre IV: Mise en œuvre d’une politique de sécurité dans les BDDRs
Il existe un autre grand type d'injection connue des pirates, c'est l'injection HTML ou
plus communément appelée Cross-Site Scripting (XSS).
Si les flux de données ne sont pas protégés à l'affichage, les pirates peuvent entrer des
balises nocives et notamment du JavaScript. En bidouillant un peu, on peut facilement
injecter de nouvelles balises et donc réécrire la page XHTML à notre guise. C'est pour ça
qu'en français, on traduit l'acronyme XSS par injection HTML.
¾ Liste blanche:
Une liste blanche correspond à l'ensemble des données que l'internaute a le droit de rentrer.
Instaurer une liste blanche permet un contrôle total sur les données transmises.
¾ Liste noire :
Contrairement à la liste blanche, la liste noire filtre les données interdites. On autorise donc
tout, sauf certaines valeurs que l'on aura précisé. La liste noire permet généralement de lutter
contre le spam et les robots. En effet, le but du spam est de promouvoir un produit ou un
service en envoyant le plus de messages possibles et de manière à ce qu'ils soient visibles par
le plus grand nombre. Vos forums ont peut-être déjà été la cible du spam et une bonne
solution est de mettre en place une liste noire.
¾ Liste grise :
Du noir et du blanc sa donne gris ; la meilleure technique pour filtrer les données est
d'utiliser en complément la liste blanche et la liste noire.
• une liste blanche qui autorise seulement des valeurs données.
• une liste noire qui filtre les données incorrectes.
73
Chapitre IV: Mise en œuvre d’une politique de sécurité dans les BDDRs
III.1 Délégation :
74
Chapitre IV: Mise en œuvre d’une politique de sécurité dans les BDDRs
III.3 PolicyMaker :
PolicyMaker est un moteur de gestion de confiance qui adresse le problème
d’autorisation directement, plutôt que de le traiter indirectement via l’authentification et le
contrôle d’accès. Dans le PolicyMaker, les créances et les politiques sont des assertions
représentées comme des paires d’autorité source et de programme décrivant la nature de l’autorité
à accorder et des parties à qui elle est accordée.
Les assertions peuvent être :
– Des assertions de politiques : source = POLICY. L’ensemble des assertions de politiques
fournies au PolicyMaker représente la "racine de confiance" qui définit la décision sur la requête.
– Des assertions de créances : source = clef publique de l’autorité émettrice. Ces assertions
doivent être signées par leurs émetteurs et ces signatures sont vérifiées avant l’utilisation des
créances.
Avec PolicyMaker, c’est l’application qui est responsable de toutes les vérifications
cryptographiques des signatures sur les créances et les requêtes. Le module de gestion de la
confiance reçoit comme entrée le triplet (r,C,P), disant que l’ensemble des créances C contient une
preuve que la requête r se conforme avec la politique P.
75
Chapitre IV: Mise en œuvre d’une politique de sécurité dans les BDDRs
<?php
session_start();
$_SESSION['Login']=$_POST['Login'];
$_SESSION['Password']=$_POST['Password'];
HEADER('Location:[Link]');
?>
Par sécurité, il est une bonne pratique qui consiste à crypter les mots de passe stockés
dans une table de votre base de données. Ainsi, dans le cas ou une personne
malveillante arriverait à consulter une table, elle ne pourrait pas voir le mot de passe,
mais une suite de caractères dépourvue de sens. On utilisant des fonction en PHP
comme MD5(Message Digest 5) cette fonction est un standard qui produit des
empreintes de 128 bits.
76
Chapitre IV: Mise en œuvre d’une politique de sécurité dans les BDDRs
1 BD local 1 BD local 2
BD global
3
Serveur
4 Client
77
Chapitre IV: Mise en œuvre d’une politique de sécurité dans les BDDRs
L’accès à chaque base de données local doit être sécurisé avec mot de passe. Ce mot de passe est
saisi lors de sa création.
CREATE DATABASE ‘informatique’;
L’accès à la base de données doit être sécurisé avec mot de passe. Ce mot de passe est saisi lors
de sa création.
CREATE DATABASE ‘faculte’ ;
Le Serveur doit être sécurisé de plusieurs façons et le choix pour notre application a été
une configuration au niveau de Windows :
Lors d’installions le service Apache sous Windows fonctionne avec un compte « Système
local ». Ce compte possède des droits élevés sur la machine mais aucun privilège sur le réseau.
Afin d’éviter qu’un attaquant ne prenne possession de la machine hébergeant le service Apache, il
peut être utile de faire fonctionner ce service avec un compte qui n’a aucun privilège sur cette
machine.
L’accès de client à l’interface du l’application doit être muni d’une sécurisation mot de
passe et [Link] limitation des privilèges(les droit d’accès a l’application) ;
Exemple :
78
Chapitre IV: Mise en œuvre d’une politique de sécurité dans les BDDRs
Conclusion :
79
Conclusion générale
Dans ce mémoire nous avons présenté une démarche pour mettre en œuvre la
conception et l’implémentation d’une base de données distribuée pour l’espace numérique du
travail de la faculté génie électrique et informatique on basant sur le mécanisme de sécurité.
Et nous avons aussi proposé une organisation générale et fonctionnelle pour ce dernier.
Le travail réalisé nous a ramené à étudier plusieurs domaines dans le cadre de la
sécurité informatique et notamment en base de données réparties.
Mon mémoire est articulé autours de deux parties ; la première est théorique, elle contient
deux chapitres, le premier traite les bases de données réparties en général, le deuxième parle
d’un domaine spécifique dans le cadre des bases de données réparties qui est la sécurité.
La seconde partie de mon mémoire est la partie pratique, dans laquelle nous avons
implémenté une application d’une base de données répartie, une conception a été nécessaire
pour mieux contourner toutes les fonctionnalités de chaque cas d’utilisation, aussi une
proposition d’un schéma de politique de sécurité.
[2]: Systèmes de Gestion de Bases de Données Réparties & Mécanismes de Répartition avec
Oracle (partie I : les BDDs réparties) Rim Moussa 2005-2006.
[3] : Mémoire Master II, Université A/Mira de Bejaia « Conception et réalisation d'une base de
données repartie sous oracle : cas de l'hébergement des résidences universitaires »
Réalisé par Hakim MADI, année 2009.
[7] : Nicolas Anciaux, « sécurité et bases de données », source de transparents : Luc bouganim,
philipe pucheral, Fridiric, Cuppens.
[8] : [Link]
[9] : Mémoire de fin d’études Master II « Etude de sécurité en base de données avec une
application pour le contrôle d’accès »Réalisé par EL HADJ MIMOUNE Khadidja.
Consultant , [Link]
[13] : [Link]
[15] : [Link]
[Link], 23 mai 2011.
[16] :[Link]
Bibliographie
[17]: Security for Grid services. In Proceedings. 12th IEEE International Symposium on High
Performance Distributed
Computing, 2003.
[18] : Mémoire de fin d’études Master II « Sécurité des systèmes d’informations »Réalisé par
DAHMANE MOURAD 2013/2014.
[19]: [Link]
Les articles :
[A1]Sécurité : les entreprises tentées par les solutions d'authentification multi-facteurs ? par
Perrine Tiberghien, mai 2012. MISC (Multi-system & Internet Security Cookbook) Magazine
sécurité informatique édité par Diamond Editions.
Site web: Http: //[Link]
[A3] : massage d’erreurs attaque indirecte aux bases données ; juin 2008, PHP sécurité,édité
par Antoine Cappelle .