Confidentialité dans les bases de données

Post on 19-Jan-2016

43 views 4 download

description

Confidentialité dans les bases de données. DRUIDE 2004 Luc Bouganim, Philippe Pucheral INRIA & Université de Versailles Prénom.Nom@inria.fr. Plan. Problématique Besoins de confidentialité Caractérisation des attaques Définition du problème et approches traditionnelles - PowerPoint PPT Presentation

Transcript of Confidentialité dans les bases de données

Confidentialité dans les bases de données

DRUIDE 2004

Luc Bouganim, Philippe Pucheral

INRIA & Université de Versailles

Prénom.Nom@inria.fr

2

Plan• Problématique

– Besoins de confidentialité– Caractérisation des attaques– Définition du problème et approches traditionnelles

• Protection de BD relationnelles– Modèle de contrôle d’accès SQL– Chiffrement et interrogation

• Protection de données XML– Modèle(s) de contrôle d’accès XML– Chiffrement et interrogation/diffusion

• Perspectives – Evolution des modèles de contrôle d’accès– Contrôle d’usage

Problématique

4

Besoins de confidentialité (1) ?

• Omniprésence des bases de données– Grands systèmes d’information (publics ou privés)– BD PME – BD personnelles (agenda, carnet d’adresses, bookmarks …) – BD "ambiantes" (capteurs, aware home …)

• L’organisation des données est un facteur de risque– L’analyse d’une collection d’informations insignifiantes peut

générer des résultats sensibles

• L’inter-connexion croissante en est un autre– Connexions permanentes, accès ubiquitaires, objets

communicants

5

Besoins de confidentialité (2) ?

• Hébergement de données (DSP)– Hébergement de site Web, sous-traitance de la gestion du système

d’information d’une PME, équipes virtuelles, dossiers personnels …– caspio.com, quickbase.com, cyberworker.com, primadoctor.com …– Nombreuses violations de chartes de privacité [AKS02]

• Vulnérabilité des serveurs d’entreprise – Source CSI/FBI : coût des attaques BD $103 milliards/an, 45% des

attaques sont internes– Source ZATAK : 1551 sites français piratés dans le musée de ZATAZ– Source Clusif (Club de la Sécurité des Systèmes d'Information Français ) :

• Modification, par un concurrent, du carnet de commande d’un équipementier automobile, induisant des ruptures de stock gravissimes

• Détournement, par une compagnie concurrente, d’informations commerciales du fichier clients de la compagnie aérienne Virgin

6

Besoins de confidentialité (3) ?

• Indexation des bases de données– "Google entre vie privée et secret défense" (source : confidentiel.net)

• Négligence– Craquage d'un système bancaire US (mots de passe trop courts par rapport au

nb de comptes gérés)

– Consultation de la facture détaillée d’autrui (télécom brésil)

• Croisement de bases de données– CAPPS-II (Computer Assisted Passenger Pre-Screening System) croise des

BD pour lutter contre le terrorisme

Ron Rivest : « La révolution digitale inverse les défauts : ce qui était autrefois difficile à copier devient facile à dupliquer, ce qui était oublié

devient mémorisé à jamais et ce qui était privé devient public

7

• Oracle's 'Unbreakable' Boast Attracts Hackers– Hack attempts on the company's website have increased to

30,000 per week.

Protection : Solution Oracle ?

• Some days after ….– 'When they say their software is unbreakable, they're lying.'

-- Bruce Schneier

– U.K. security researcher David Litchfield revealed that a common programming error -- a buffer overflow -- was present in Oracle's application server

8

Confidentialité vs. sécurité 

• Authentification

• Contrôle d'accès (droits)

• Confidentialité

• Intégrité (Logique, Physique, Com)

• Complétude (du résultat)

• Disponibilité

• Sauvegarde et reprise sur panne

• Détection d'intrusion

• Audit

• …

SE

CU

RIT

E

9

Caractérisation des attaques de confidentialité

administrateurAttaque système

BD P.M.E.

Serveur BD

utilisateurContournement des

droits, inférence

BD

PirateAttaque empreinte

disque

Consommateur/gestionnaire

usage illicite du contenu

10

Définition du problème

Confidentialité des données : Interdire toute consultation aux personnes non autorisées

SGBD idéal : Data + Query Mgr + Rights Mgr enceinte sécurisée

– Mise en œuvre « impossible » dans un cadre général• Les sites les plus « sûrs » sont piratés

Data Data Data

Data Data Data

Data Query Mgr UserRightsMgr

11

T1 : Identification/authentification

• Base : login + password

• Nombreux protocoles et systèmes matériels (carte à puce, biométrie …)

Nécessaire mais insuffisant !!

ServeurBD

BD

Utilisateur

12

T2 : Chiffrement des communications

• Technologie éprouvée

• Chiffrement => confidentialité des messages

• Hachage => intégrité des messages

• Signature => non répudiation des transactions

Nécessaire mais insuffisant !!

ServeurBD

BD

Utilisateur

13

T3 : Mécanismes de contrôle d’accès

• Droits sophistiqués contrôlés par le serveur• Ne résiste pas à une attaque sur les fichiers du serveur ou

à une attaque du DBA (DataBase Administrator) !

Nécessaire mais insuffisant !!

ServeurBD

BD

Utilisateur

14

T4 : Protection de la BD

• Principe : chiffrer l’empreinte disque de la BD

• Seule solution pour résister aux attaques sur les fichiers

• Mise en œuvre et limites de cette solution ?

ServeurBD

BD

Utilisateur

Protection de bases de données

relationnelles

16L’approche ‘‘Bases de données’’

BDVIII - Concurrence d’accès

VII - Gestion des pannes

I- Indépendance Physique

IX - Gestion de la confidentialité

II- Indépendance Logique

VI - Gestion de la cohérence

X - Standards

V - Optimisation des questions

III – Langage de manipulation

IV - Gestion des vues

17

Modélisation Relationnelle

DocteursId-D Nom Prénom

1 Dupont

Pierre

2 Durand Paul

3 Masse Jean

…. …….. ……

VisitesId-D Id-P Id-V Date Prix

1 2 1 15 juin 250

1 1 2 12 août 180

2 2 3 13 juillet

350

2 3 4 1 mars 250

PatientsId-P Nom Prénom Ville

1 Lebeau Jacques Paris

2 Troger Zoe Evry

3 Doe John Paris

4 Perry Paule Valenton

…. ……. ……. …….

PrescriptionsId-V Ligne Id-M Posologie

1 1 12 1 par jour

1 2 5 10 gouttes

2 1 8 2 par jour

2 2 12 1 par jour

2 3 3 2 gouttes

…. …. …. …………

MédicamentsId-M Nom Description

1 Aspegic 1000

……………………………..

2 Fluisédal ……………………………..

3 Mucomyst ……………………………..

…. …….. ……………………………..

18

Gestion des vues

• Les vues permettent de créer des objets virtuels

• Vue = Question SQL stockée

• Le SGBD stocke la définition et non le résultat

• Exemple : la vue des patients parisiens

Create View Parisiens as (

Select Nom, Prénom

From Patients

Where Patients.Ville = ’Paris’ )

19

Gestion des vues

Le SGBD transforme la question sur les vues en question sur les relations de base

Requête Qsur des vues

Gestionnaire de Vues

Définition des vues

Requête Q’ sur les relations

de base

Exécution de requête

Résultat

20

Confidentialité via les vues

Principe : les droits d’accès sont exprimés sur les vues plutôt que sur les relations de base

Vérification des droits

Requête Q sur des vues

Gestionnaire de Vues

Définition des Vues

+ Droits

associés

Requête Q’ sur les relations

de base

Exécution de requête

OK

OKRésultat

21

Confidentialité via les vues

Id-E Nom Prénom Poste Adresse Ville Salaire

1 Ricks Jim 5485 ………. Paris 230

2 Trock Jack 1254 ………. Versailles 120

3 Lerich Zoe 5489 ………. Chartres 380

4 Doe Joe 4049 ………. Paris 160

Id-E Nom Prénom Poste

1 Ricks Jim 5485

2 Trock Jack 1254

3 Lerich Zoe 5489

4 Doe Joe 4049

Nombred’employés

MasseSalariale

4 890

Service des ressources humaines

Employés(intranet)

Public(internet)

22

Confidentialité dans les SGBDR (bilan)

• GRANT operation ON relations, vues, procédures stockées …

TO utilisateur, groupe

• Modèle de base DAC (Discretionary Access Control)

• Certains systèmes supportent également– RBAC => adjonction de rôles

– MAC => sécurité multi-niveaux (ex: Trusted Oracle 7 -> 9i, DB2 …)

tous les cas supposent que l'utilisateur passe "par la porte d'entrée" !!

23

Oracle Obfuscation Toolkit

• Fourniture d’un « package » permettant le chiffrement / déchiffrement de données

• Problèmes : – Gestion et partage de clés à la charge de l’application

– Système non résistant à un pirate administrateur• Les packages peuvent être substitués,

• Les données apparaissent en clair lors de l’exécution des requêtes

• ORACLE : « DBA has all privileges » !!

24

Protegrity Secure.Data

• Solution basée sur 2 modules :– Secure.Manager : gestion des utilisateurs, droits et clés

– Secure.Server : module de chiffrement intégré au noyau SGBD

• … et 2 personnes physiques différentes …– Database Administrator (DBA) / Security Administrator (SA)

• Isolation DBA/SA ?• Données toujours en clair à un moment de l’exécution

SGBD +

SecureServer

BD

Utilisateur

SecureManager

Clés UtilisateursPrivilèges

25

Alternatives : déchiffrement et contrôle sur le client

[HIL02] : hébergement de données privées

Query Mgr

Data Data Data

Data Data Data

Data UserEncryptionDecryption

Query Mgr

Data Data Data

Data Data

Data Query Mgr

Data

EncryptionDecryption User

Query Mgr

RightsMgr

C-SDA [BoP02] : Données partagées (droits différents)

26

Tradeoff : Confidentialité vs Performance

Data Data Data

Data Data Data

Data

Con

fide

ntia

lité

Data Data Data

Data Data

Data Query Mgr

Data

Data Data Data

Data Data

Data Query Mgr

Data

Client

Client

Client

Perform

ance

Performance inacceptableConfidentialité maximale

Performance maximaleConfidentialité minimale

SGBD classique

[HIL02]

C-SDA [BoP02]

???

27

– Les données sont chiffrées par attribut en respectant la propriété : a=b E(a)=E(b)

– La partie des requêtes non évaluable sur les données chiffrées est évaluée sur la carte (prédicats <, >, fonctions de calcul, etc..)

C-SDA [BoP02]: Chiffrement granule attribut

Terminal Serveur

Trouver la moyenne des salaires des employés

de type = "cadre1"

C-SDAC-SDAC-SDAC-SDA

Calcul de la moyenne

9400

Moyenne

…..

Fffe 

zze

SGBD

Trouver le zze des lqskdqs de sdeefa= "zarevgzd"

dgssiukèefsaSdedf’g

Fffe zarevgzddedefzszd

zzesdeefaazdssdz

............ lqsk

dq

s

28

C-SDA : Décomposition d’une requête

1. Produit cartésien des relations du FROM : Client X Commande

2. Prédicats du WHERE : C.code = Q.Code and Q.date > 1996

3. Groupement (GROUP BY) : C.Code, C.Nom

4. Calcul des agrégats : Count(*) , sum(Q.montant)

5. Prédicats du HAVING : Count(*) >= 10

6. Projection (SELECT) : C.Code, C.nom, sum(Q.montant)

7. Tri final (ORDER BY) : C.Nom

SELECT C.Code, C.nom, sum(Q.montant)FROM Client C, Commandes QWHERE C.Code = Q.Code and Q.date > 1996GROUP BY C.Code, C.nomHAVING count(*) >= 10ORDER BY C.nom

29

Alternatives à l’hypothèse a=b E(a)=E(b)

id name salaryageEncrypted row Iid Iname Iage Isalary

Row:

Encrypted row:

index

• [Hacigumus et al, SIGMOD’02], Univ. Irvine, CA

• Granule de chiffrement = tuple dans sa globalité

• Ajout d’index d’attributs– Indique l’appartenance d’un attribut d’un tuple à une plage de valeurs

– Permet des traitements approximatifs sur le serveur

Query Mgr

Data Data Data

Data Data Data

Data UserEncryptionDecryption

Query Mgr

30

[HIL02] : Attributs numériques

h(1)=1720 55

h(2)=4h(3)=12h(4)=3h(5)=6h(6)=1h(7)=925 30 35 40 45 50

E(R1) 3

E(R2) 9

E(R3) 4

(Age=37)

(Age=53)

(Age=26)

• Partitionner le domaine de variation d’un attribut

Connaissance du client

Connaissance du serveur

32<Age<40

IAgeIAge= 12

or IAge= 3

Age=53

IAge= 9

31

[HIL02] : Attributs String

• Signatures de string (n-grams)

string signature

'Greencar'

'Bigrecordman'

'Bigman'

110

111

101

name LIKE '%green%'

IName in (110, 111)

E(R1) 110

E(R2) 111

E(R3) 101

Connaissance du client N={"g", "re", "ma"}

exemple :

Connaissance du serveur IName

Protection de données XML

33

Données XML

• Modèle de données XML– Modèle de données semi-structuré et arborescent

– Standard pour l’échange, le stockage, la description d’information

• Impact– Comment définir la vue autorisée d’un document XML ?

– Comment prendre en compte des modèles de diffusion ?

• Exemple : un agenda en XML

Appointment Appointment

CategoryWork

General CategoryFriend

Start10:00

End12:00

Avail.Busy

Content

ContactFrançois

General

Start22:00

End24:00

Avail.Out

Content

Notes…..

TiltleCinemaKill Bil

....

Titlee-gate

ContactBob

Notes….

34

Règles d’autorisation dans XML

• Plusieurs modèles proposés – pas encore de standard…

• Les règles d’autorisation sont décrites sous forme d’ACL

• ACL : un utilisateur a une permission (ou une interdiction) d’accéder à une ressource donnée

• Utilisation du langage XPATH pour désigner …• des « ressources » sur le document à protéger

• éventuellement des sujets, sur un document XML les contenant

sujet accès

objet

35

Exemple (simplifié)

• Politique fermée

• Rule 1 : < Friends, , //Appointment /general>• Rule 2 : < Friends, , //Appointment[Content/Contact=USER]/Content>• Rule 3 : < Friends, , //Notes>

Appointment Appointment

CategoryWork

General CategoryFriend

Start10:00

End12:00

Avail.Busy

Content

ContactFrançois

General

Start22:00

End24:00

Avail.Out

Content

Notes…..

TiltleCinemaKill Bil

....

Titlee-gate

ContactBob

Notes….

36

Exemple (simplifié)

• Politique fermée

• Rule 1 : < Friends, , //Appointment /general>• Rule 2 : < Friends, , //Appointment[Content/Contact=USER]/Content>• Rule 3 : < Friends, , //Notes>

• Règles de gestion de conflits :– Denial-Takes-Precedence – Most-Specific-Object-Takes-Precedence

Appointment Appointment

CategoryWork

General CategoryFriend

Start10:00

End12:00

Avail.Busy

Content

ContactFrançois

General

Start22:00

End24:00

Avail.Out

Content

Notes…..

TiltleCinemaKill Bil

....

Titlee-gate

ContactBob

Notes….

37

Chiffrement de données XML

• Les mêmes problèmes qu’en relationnel se posent : – Où et qui vérifie les droits ?

– Où réalise-t-on le déchiffrement ?

• Et si l’on considère des modèles de diffusion …– Comment distribuer les clés ?

– Comment mettre à jour les droits ?

– Comment faire le contrôle en flux ?

38

Exemples : AuthorX [BCF01], [BDP04]

AuthorX [BCF01] associe clés et droit. – droits "compilés" statiquement lors du

chiffrement

– clés distribuées en fonction des droits

– Mise à jour des droits rechiffrement et redistribution des clés

Au contraire, [BDP04] dissocie droit et chiffrt – Pas de contrainte de chiffrement

– droits évalués dynamiquement dans un SOE

– Maj des droits facile à prendre en compte

– Evaluation en flux des droits XPATH

Vue autorisée

Règlesd’accès

Document chiffré en fonction des droits

Clés del’utilisateur

Diffusion

Vueautorisée

SOE

DecryptionIntegrity controlAccess control

Document chiffré

Canal sécuriséRègles d’accèsClés de chiffrt

Diffusion

Perspectives(non exhaustif)

40

Contrôle d’usage

• Hippocratic Databases [AKS+02]– contrôler l’usage des données gérées par un SGBD

• 10 principes fondateurs : – 1-Purpose Specification, 2-Consent, 3-Limited Collection,

4-Limited Use, 5-Limited Disclosure, 6-Limited Retention, 7-Accuracy, 8-Safety, 9-Openness, 10-Compliance

• Chacun de ces principes génère un problème de recherche

• Travaux connexes :– P3P (Platform for Privacy Preference, W3C)

– Relais d’anonymat, pseudonymat, contrôle parental

– Et aussi gestion des droits d’accès digitaux (XrML, XACML, ODRL …)

41

Evolution des modèles de contrôle d’accès

• Les données sont de moins en moins centralisées – Sources largement distribuées, autonomes, parfois « pervasives »

(intelligence ambiante)– Qui fixe les règles du contrôle d’accès ?– Qui contrôle ces règles ?– Qui contrôle le contrôleur ?– Comment empêcher l’inférence d’informations illicites par croisement

d’informations autorisées ?

• Les données sont variées et complexes– Prise en compte de données arborescents et semi-structurés– Contrôle sur des images, des vidéos …

• Les modes d’accès à l’information se diversifient– Client/serveur, diffusion, P2P …– Prise en compte du contexte de l’accès (obligations, traçabilité) [ABM03]

• Un cas d’école : le futur dossier médical partagé (Libération 25/05)

42

Références bibliographiques (1)• Motivations :

[CaB02] The Caspio Bridge DSP. www.caspio.com/bridge.htm[DSS94] La menace et les attaques informatiques, Délégation Interministérielle pour

la Sécurité des Systèmes d'Information, 1994[eCr02] The eCriteria DSP. www.ecriteria.net[FBI03] Computer Security Institute, "CSI/FBI Computer Crime and Security

Survey" http://www.gocsi.com/forms /fbi/pdf.html).[Goo01] “Google entre vie privée et secret défense” http://www.confidentiel.firstream.net/[Qck02] The Quickbase DSP. https://www.quickbase.com/[Ora04] Oracle Unbreakable

http://www.techtv.com/news/securityalert/story/0,24195,3364291,00.html

• BD relationnelles : [BoP02] L. Bouganim, P. Pucheral, "Chip-Secured Data Access: Confidential Data on

Untrusted Servers", VLDB, 2002.[HeW01] J. He, M. Wang, "Cryptography and Relational Database Management

Systems", IDEAS, 2001.[HIL02] H. Hacigumus, B. Iyer, C. Li, S. Mehrotra, "Executing SQL over encrypted

data in the database-service-provider model", ACM SIGMOD, 2002.[Mat00] U. Mattsson, Secure.Data Functional Overview, Protegity Technical Paper

TWP-0011, 2000. (http://www.protegrity.com/White_Papers.html)[Ora02] Oracle Corp., “Advanced Security Administrator Guide”, Release 9.2, 2002.

43

Références bibliographiques (2)

• XML :[BCF00] E.Bertino, S.Castano, E.Ferrari, M.Mesiti, "Specifying and Enforcing Access

Control Policies for XML Document Sources", WWW Journal, vol.3, n.3, 2000.

[BCF01] E. Bertino, S. Castano, E. Ferrari, "Securing XML documents with Author-X", IEEE Internet Computing, 2001.

[BDP04] L. Bouganim, F. Dang Ngoc, P. Pucheral, “Client-Based Access Control Management for XML documents”, VLDB, 2004

[DDP02] E. Damiani, S. De Capitani di Vimercati, S. Paraboschi, P. Samarati, "A Fine-Grained Access Control System for XML Documents", ACM TISSEC, vol. 5, n. 2, 2002.

[GaB01] A. Gabillon and E. Bruno, “Regulating access to XML documents. IFIP Working Conference on Database and Application Security, 2001.

• Perspectives :[ABM03] A. El Kalam, S. Benferhat, A. Miege, R. Baida, F. Cuppens, C. Saurel, P.

Balbiani, Y. Deswarte, G. Trouessin, "Organization based access control", IEEE 4th International Workshop on Policies for Distributed Systems and Networks, 2003.

[AKS02] Agrawal R., Kiernan J., Srikant R., Xu Y., “Hippocratic Databases”, VLDB , 2002.