• Aucun résultat trouvé

Comment générer des échan0llons uniformes sur des grandes masses de données ?

N/A
N/A
Protected

Academic year: 2022

Partager "Comment générer des échan0llons uniformes sur des grandes masses de données ?"

Copied!
49
0
0

Texte intégral

(1)

Comment générer des

échan0llons uniformes sur des grandes masses de données ?

Yann Busnel

Crest (Ensai) / Inria Rennes – Bretagne Atlan5que 15 Octobre 2016

(2)

L’escalade de la puissance

Avant 1950 : la sta's'que

- quelques centaines d’individus et quelques variables

- protocole strict de laboratoire pour une étude scien5fique

Années 1960-1980 : l’analyse des données

- quelques dizaines de milliers d’individus et quelques dizaines de variables

- recueillies de façon rigoureuse pour une enquête précise

Années 1990-2000 : le data mining

- plusieurs millions d’individus et plusieurs centaines de variables

- recueillies dans le système d’informa5on des entreprises pour de l’aide à la décision

À par6r des années 2010 : le Big Data

- plusieurs centaines de millions d’individus et plusieurs milliers de variables

1950

1990 1970 1960

1980

2010 2000

(3)

© Yann Busnel, 2016

Quelques chiffres pour se convaincre

3

90 % des

données existantes actuellement ont été produite au cours des

2 dernières années

2.500.000.000.000.000.000 octets par jour

10 millions de disques Blu-Ray

Données générées 4X plus vite que l’économie mondiale

1960

%

Marché du Big Data des entreprises

Les solutions déployées

Répartition du marché du Big Data en 2014

285 M€

652 M€

24% 33% 43%

Logiciels Services Infrastructures

2014 2018

La dynamique du Big Data en France

Les bénéfices et enjeux du Big Data

Infographie sponsorisée par

Une nouvelle conception du temps réel

Importance de la mise en place d’outils Big Data autour des données

Très important

Investissement dans de nouvelles technologies de stockage pour faire

face à la croissance des données

Accès des utilisateurs à une solution Big data

en production

Utilisation / test d’une solution Big data dans

le cloud

Utilisation du Big Data pour intégrer les informations sociales

Utilisation d’Hadoop

Construction de pilotes Hadoop

Utilisation d’une appliance base de données

Extrêmement important Equipé En prrojet dans les 12 prochains mois

18 59

129 + %

Big Data

Données générées en interne

Données générées par des machines (capteurs, RFID…)

Données externes provenant de médias sociaux

Autres données externes

% 64 9% 36 32%

32 44% 24 40% 24 41% 24 47%

22 44% 19 38% 17 37%

27 41

L’analyse en temps réel est un enjeu majeur pour 65% des métiers

33%

65 %

Pour 40% des 40%

entreprises, le temps de latence

acceptable est inférieur à 10

minutes Pour 1/3 des

entreprises, aucun temps de latence

acceptable pour l’analyse de leurs

données

60% de croissance des

marges nets 300 milliards $

d’économies par an

Jusqu’à 50%

de baisse des coûts de développement 100 milliards $

de revenus 250 milliards €

d’économies

Déjà de nombreux cas d’usage

et des gains escomptés considérables

Secteur de la

Santé aux US Secteur du

Retail aux US Manufacturing Localisation des

données personnelles (monde) Administration

du Secteur Public en Europe

Les initiatives Big Data en forte progression

20%

33% 30% 30% 29% 25% 24% 24% 22% 22% 17% 16% 56% 24%

Adoption et Projets Big Data

Adoption par secteurs d’activité

Evaluation et Projet Big Data

Adoption Big Data (solution en place / en cours) Pas d'initiatives

Big Data

Commerce Transports Services Financiers Distribution Santé Manufacturing Services Utilities Télécoms Secteur Public Education

(4)

on des en li gn e

© Qmee.com 2014

(5)

Variété des données

Information numérique stockée (exaoctets)

1970 1980 1990 2000 2010

Données des Transactions Commerciales Données des Applications Web

Rupture

complexes, non-structurées

relationnelles

(6)

Le Big Data : 


Buzz ou sujet de fond ?

Depuis environ 5 ans, le Big Data suscite un intérêt grandissant auprès des acteurs des systèmes d’informa9on

- Éditeurs, DSI, intégrateurs, ...

Concept des 4V

- Apporte des axes de réflexion

-

(7)

Dimensions du Big Data

(8)

Volume

« Up to eleven »

Venue

Visibilité Variabilité

Valeur

Validité

Véracité

Velocité

Variété

(9)

Métrologie des réseaux : Quelques faits

Plus de 90% des emails sont du spam

Des milliers de bugs logiciels découvert par an - Environ 3 jours pour qu’un virus exploite la faille

- 30 jours avant la mise à disposi:on d’un patch

Environ 8 000 aDaques par DoS par jour

Plus de 150 000 aDaques par phishing par an

(10)

La surveillance réseaux

Couramment appelée par son équivalent anglais : Network Monitoring

Permet de détecter les anomalies de fonc9onnement

- Extrac:on de données per:nentes

U9lité : métrologie, dimensionnement

dynamique, détec9on de DoS, ...

(11)

Surveillance par historique

Fondé sur des résumés d’informa9ons sur une période de temps

- Essen:el pour comprendre et améliorer la performance

- Indique le besoin de mise à jour / redimensionnement

- Jus:fie les dépenses nécessaires

(12)

Surveillance en temps-réel

Observe con9nuellement la situa9on courante (au pire, récente)

- U:lisé pour comprendre les problèmes/bugs en cours

- Permet de garan:r une réponse rapide à un évènement (bug, aPaque, ...)

Plus consommateur de ressources

Difficile à meDre en oeuvre

(13)

Systèmes d’informa1on répar1s

Info

(14)

Systèmes d’informa1on répar1s

Charge

(15)

Systèmes d’informa1on répar1s

Charge Charge

Charge

Charge

Charge

(16)

Systèmes d’informa1on répar1s

(17)

Systèmes d’informa1on répar1s

(18)

Modélisa1on

A

O

Q

C

N P

J E

G

K

R L

H F

D B

{B,D,F}

(19)

DécentralisaBon

Avantage

- Passage à l’échelle inhérent

- Capacité d’auto-organisa:on

- Tolérance aux défaillances

Inconvénient

- Obten:on de sta:s:ques globales difficile

(20)

Surveillance en temps-réel : 


Besoin d’échan8llonnage

(21)

Temps réel

Objec9f : obtenir des échan9llons uniformes récents et en con9nu

Service d’échan9llonnage uniforme con9nu : Obtenir un flux d’échan9llon uniforme

- Abstrait par une fonc:on getNode() qui retourne l’adresse d’un noeud présent dans le système

Echantillonnage

Réseau

getNode()

(22)

Propriétés

Uniformité

- Garan&e que chaque nœud possède la même

probabilité d’être sélec&onné comme échan&llon

Fraicheur

- Adapta&on con&nue de la popula&on du système

Efficacité

- Faible quan&té mémoire nécessaire

(23)

Modèle de flux de données

Le flux de données est issu d’échan9llons obtenus

- via marche aléatoire, protocole épidémique, observa:on des routeurs, ...

Impossible de tout mémoriser tous les iden9fiants

Non résistant à des adversaires malveillants

(24)

Un peu de formalisme

Un flux est une sequence d'items 𝜎 = < a

1

, a

2

, ... >

Chaque a

i

est 9ré d’un très grand univers U = {1, 2, …, N}

-

e.g. IPv6 addresses: N = 2128

Chaque item peut être reçu à plusieurs reprises dans 𝜎

Un flux défini implicitement un vecteur de fréquences 
 (x

1

, x

2

, ...) où x

i

est le nombre d’occurrences 


(ou fréquence) de l'item i reçu jusqu'à présente dans 𝜎

Le vecteur de fréquences peut-être vu comme la

(25)

Modèles d’adversaire

Capable de manipuler un grand nombre de nœuds

Adapte ses aDaques à la stratégie d’échan9llonnage

Objec9f de l’adversaire : 


biaiser les échan9llons des nœuds corrects

getNode()

(26)

EchanAllonnage uniforme : Version omnisciente

Hypothèse : Pour chaque item j reçu, sa probabilité d'occurrence p

j

est connue

Stratégie omnisciente

- Si p

j

est tout pe:t : on stocke l’item en mémoire

- Sinon, on l’ignore la plupart du temps

pj

j getNode()

(27)

EchanAllonnage uniforme : Version omnisciente

Algorithme en détail

On insère j dans la mémoire avec une probabilité a

j

= min

i∈[N]

p

i

/ p

j

Si j est inséré, on re:re un item u de la mémoire selon r

u

= 1 / C

j

pj

getNode()

(28)

EchanAllonnage uniforme : Version omnisciente

Analyse par chaîne de Markov

Théorème : 


L’algorithme omniscient garan9e l’uniformité et la fraicheur en régime sta9onnaire

j

pj

getNode()

(29)

EchanAllonnage uniforme : Version à l’aveugle

Hypothèse très (trop) forte pour être mise en pra9que

- Impossible de prédire la distribu:on des items

Nécessité d’évaluer p

i

en ligne, pour tout i

- Es:mateur de fréquence : Count-Min Sketch

(30)

Count-Min Sketch [CM05]

Es9ma9on des fréquences de tout item - (ε,δ)-approxima:on-addi:ve de x

i

Main9en d’un vecteur C de taille k=2/ε

Choix d’une fonc9on de hachage 2-universelle

Pour chaque item v du flux

- Calcul de 1/δ estimateurs

(31)

Qu’est ce qu’une foncAon de hachage ?

Fonction de hachage

Fonction de hachage

Fonction de Les sondages,

c’est la vie ! Sondage

Le sondage, c’est la vie !

DFCD3419

CF682EA9

97620374

Entrée Haché

(32)

Qu’est ce qu’une foncAon de hachage ?

| U | = N | M | = m

(33)

Exemple d’un CM sketch

15 15 15 36 36 36 444 29 29 29 999 36 36 36 14 14 14 444

0 0 0 0

0 0 0 0

0 0 0 0

1

1 1

1 1

1

1 1

2 1 1

1 2 2

2 2 2

3 1

2

3 2

3 3

min = 1 min = 1 min = 1 min = 2 min = 1 min = 2

h

1

(.) h

3

(.) h

2

(.)

29 15

9 36

14 36 4

4

h

1

(15)=1

h

3

(15)=2

h

2

(15)=3

(34)

Propriétés de [CM05]

(ε,δ)-approxima9on-addi9ve du nombre d'occurrences des items du flux

- x

j

+ ε(m-x

j

) ≥ ẋ

j

≥ x

j

L’inégalité de droite est toujours vraie

L’inégalité de gauche échoue avec une probabilité au plus δ

Complexité en espace : 


O(1/ε log 1/δ (log m + log n))

(35)

Algorithme aveugle

j getNode()

Taille C = constante

pj

a

j

= min

i∈[N]

i

/ ẋ

j

r

j

= 1 / C

(36)

Algorithme aveugle

j getNode()

Taille C = constante

(37)

En cas d’aNaque du flux

On a vu que

- La stratégie omnisciente génère un flux uniforme et 


« frais » à par:r de n’importe quel flux d’entrée

- La stratégie aveugle émule la version omnisciente par approxima:on des fréquences des items

L’unique possibilité d’aDaque est d’accroitre

ar9ficiellement les fréquences es9mées

(38)

La stratégie aveugle en présence de collusions

A3aque ciblée

- L’adversaire se concentre sur un item j spécifique

- Doit générer suffisamment d’item o

1

, ..., o

l

tels que

pour chaque ligne s de CM, il existe oi, hs(oi) = hs(j)

A3aque par inonda9on

- L’adversaire souhaite sures&mer tous les items

- Doit générer suffisamment d’item o

1

, ..., o

l

tels que

(39)

La stratégie aveugle en présence de collusions

• A#aque ciblée

L’adversaire se concentre sur un item j spécifique

Doit générer suffisamment d’item o

1

, ..., o

l

tels que

pour chaque ligne s de CM, il existe oi, hs(oi) = hs(j)

• A#aque par inonda3on

L’adversaire souhaite sures=mer tous les items

Doit générer suffisamment d’item o

1

, ..., o

l

tels que

Que stio n Quel ef

fort doit exer

cer un

adversair

e pour r

éussir ces obabilité 1-

η ?

(40)

Analyse des aNaques

Modélisa9on par un problème d’urnes :

- Chaque case de CM est représenté par une urne

- Chaque item dis:nct est représenté par une boule

On cherche les valeurs de

- L

k,t

: nombre de balles pour obtenir une collision avec un item j donné

- E

k

: nombre de balles pour obtenir une collision avec

(41)

© Yann Busnel, 2016

Analyse des a3aques

41 1

10 100 1000 10000

0 50 100 150 200 250 300 350 400 450 500

L k,s

k

s = 10 | ηT = 0.5 s = 10 | ηT = 10-1 s = 10 | ηT = 10-2 s = 10 | ηT = 10-3 s = 10 | ηT = 10-4 s = 10 | ηT = 10-5 s = 10 | ηT = 10-6

Fig. 3. Number of distinct malicious node identifiers Lk,s as a function of the number of columns k and rows s of Matrix Fˆ, and T .

which completes the proof.

We are now able to compute, for every ` 2, the probabilities {N` = N` 1}. We have

{N` = N` 1} =

k^(` 1)

X

i=1

{N` = i | N` 1 = i} {N` 1 = i}

= 1 k

k^X(` 1)

i=1

i {N` 1 = i}

= E(N` 1) k

Figure 3 gives the number of distinct node identifiers Lk,s (as defined in Relation 2) that the adversary has to inject to bias the identifier of at least one correct node. Recall that parameters k and s of Algorithm 2 are common knowledge (except the random local coins) and thus the adversary is capable of deriving Lk,s according to the desired probability

T . Lk,s is linear in k and sublinear in s and ⌘T which explains why attacking a single node requires a significant number of distinct malicious node identifiers. For instance, when k = 50 and s = 10, the adversary has to inject in the input stream 150 distinct node identifiers to have no more than 50% of chance to get its targeted attack successful. On the other hand, with the same settings of k and s, 571 distinct node identifiers need to be injected to guarantee with probability 0.9999 a successful targeted attack.

Note that this analysis, as well as the one presented in Section V-B, derives the minimum number of distinct identifiers that need to be injected by the adversary in to bias the output stream. It does not consider the recurrence at which these identifiers must appear in the input stream . As said in Section III, the effort required by an adversary to bias the output stream is not in the repeated injection of node identifiers in but rather on the cost of creation of these identifiers. Indeed, to own an identifier, a node typically needs to interact with a central authority to receive a certificate assessing the validity and integrity of the identifier. The impact at which node identifiers recur in the input stream is analyzed

10 100 1000 10000

10 50 100 150 200 250 300 350 400 450 500

E k

k

ηF = 0.5 ηF = 10-1 ηF = 10-2 ηF = 10-3 ηF = 10-4 ηF = 10-5 ηF = 10-6

Fig. 4. Number of distinct malicious node identifiers Ek as a function of the number of columns k of Matrix Fˆ, and F .

B. Analysis of the effort needed to make a flooding attack successful

We now analyze the minimum effort that needs to be exerted by the adversary to make a flooding attack successful with probability 1 ⌘F where ⌘F < 1. As for the targeted attack, we model this attack as a urn problem, where as previously, each entry is modeled as an urn and each received distinct node identifier as a ball.

Let Uk be the number of balls needed in order to obtain all the k urns occupied, i.e., with at least one ball. It is easily checked that {U1 = 1} = 1 and that, for ` k 2, we have

Uk = ` =) N` 1 = k 1.

We thus have

{Uk = `} = {Uk = `, N` 1 = k 1}

= {Uk = ` | N` 1 = k 1} {N` 1 = k 1}

= 1

k {N` 1 = k 1}.

From Theorem 6 and Relation (4), we get, for k 2 and

` k,

{Uk = `} = S(` 1, k 1)(k 1)!

k` 1

= 1 k` 1

kX1

r=0

( 1)r

✓k 1 r

(k 1 r)` 1.

Finally, we consider the integer Ek which counts the number of balls needed to get a collision in all the k ⇥ s urns.

Note that this number is independent of s as by definition, the s experiments in parallel are identical and independent. Thus, filling entirely a set of k urns leads to obtain all the s sets of k urns occupied. For given value of k and ⌘F 2 (0, 1), integer Ek is defined by

Ek = inf

(

` k

X`

i=k

{Uk = i} > 1 ⌘F

)

. (5) Figure 4 gives the number Ek of distinct ids the adversary

(42)

© Yann Busnel, 2016

Analyse des a3aques

42 1

10 100 1000 10000

0 50 100 150 200 250 300 350 400 450 500

L k,s

k

s = 10 | ηT = 0.5 s = 10 | ηT = 10-1 s = 10 | ηT = 10-2 s = 10 | ηT = 10-3 s = 10 | ηT = 10-4 s = 10 | ηT = 10-5 s = 10 | ηT = 10-6

Fig. 3. Number of distinct malicious node identifiers Lk,s as a function of the number of columns k and rows s of Matrix Fˆ, and T .

which completes the proof.

We are now able to compute, for every ` 2, the probabilities {N` = N` 1}. We have

{N` = N` 1} =

k^(` 1)

X

i=1

{N` = i | N` 1 = i} {N` 1 = i}

= 1 k

k^(` 1)

X

i=1

i {N` 1 = i}

= E(N` 1) k

Figure 3 gives the number of distinct node identifiers Lk,s (as defined in Relation 2) that the adversary has to inject to bias the identifier of at least one correct node. Recall that parameters k and s of Algorithm 2 are common knowledge (except the random local coins) and thus the adversary is capable of deriving Lk,s according to the desired probability

T . Lk,s is linear in k and sublinear in s and ⌘T which explains why attacking a single node requires a significant number of distinct malicious node identifiers. For instance, when k = 50 and s = 10, the adversary has to inject in the input stream 150 distinct node identifiers to have no more than 50% of chance to get its targeted attack successful. On the other hand, with the same settings of k and s, 571 distinct node identifiers need to be injected to guarantee with probability 0.9999 a successful targeted attack.

Note that this analysis, as well as the one presented in Section V-B, derives the minimum number of distinct identifiers that need to be injected by the adversary in to bias the output stream. It does not consider the recurrence at which these identifiers must appear in the input stream . As said in Section III, the effort required by an adversary to bias the output stream is not in the repeated injection of node identifiers in but rather on the cost of creation of these identifiers. Indeed, to own an identifier, a node typically needs to interact with a central authority to receive a certificate assessing the validity and integrity of the identifier. The impact at which node identifiers recur in the input stream is analyzed

10 100 1000 10000

10 50 100 150 200 250 300 350 400 450 500

E k

k

ηF = 0.5 ηF = 10-1 ηF = 10-2 ηF = 10-3 ηF = 10-4 ηF = 10-5 ηF = 10-6

Fig. 4. Number of distinct malicious node identifiers Ek as a function of the number of columns k of Matrix Fˆ, and F .

B. Analysis of the effort needed to make a flooding attack successful

We now analyze the minimum effort that needs to be exerted by the adversary to make a flooding attack successful with probability 1 ⌘F where ⌘F < 1. As for the targeted attack, we model this attack as a urn problem, where as previously, each entry is modeled as an urn and each received distinct node identifier as a ball.

Let Uk be the number of balls needed in order to obtain all the k urns occupied, i.e., with at least one ball. It is easily checked that {U1 = 1} = 1 and that, for ` k 2, we have

Uk = ` =) N` 1 = k 1.

We thus have

{Uk = `} = {Uk = `, N` 1 = k 1}

= {Uk = ` | N` 1 = k 1} {N` 1 = k 1}

= 1

k {N` 1 = k 1}.

From Theorem 6 and Relation (4), we get, for k 2 and

` k,

{Uk = `} = S(` 1, k 1)(k 1)!

k` 1

= 1 k` 1

kX1

r=0

( 1)r

✓k 1 r

(k 1 r)` 1.

Finally, we consider the integer Ek which counts the number of balls needed to get a collision in all the k ⇥ s urns.

Note that this number is independent of s as by definition, the s experiments in parallel are identical and independent. Thus, filling entirely a set of k urns leads to obtain all the s sets of k urns occupied. For given value of k and ⌘F 2 (0, 1), integer Ek is defined by

Ek = inf

(

` k

X`

i=k

{Uk = i} > 1 ⌘F

)

. (5) Figure 4 gives the number Ek of distinct ids the adversary

(43)

Analyse des a3aques

Settings

T or F Lk,t Ek

k t

10 5

10 1 38 44

(" 0.3) 10 2

10 5 10 4 104 110

50 5 10 1 193

306 (" 0.05)

50 10

10 1 227

10 3

50 40

10 1 296

10 12

50 5 10 4 537

651

50 10 10 4 571

50 40 10 4 640

250 10 10 1 1,138 1,617

(" 0.01)

250 10 10 4 2,871 3,363

Note: Parameters " and are respectively defined as precision (t = dlog(1/ )e) and error (k = de/"e).

(44)

Evalua&on de performances

Evalua9on de l’impact d’iden9fiants

malveillants largement surreprésentés

Traces synthé9ques

- Distribu:ons : Poissons, Pareto, Binomial

Traces réelles

- Serveurs hPp : NASA, ClarkNet, Université de

(45)

m = 40 000 items n = 1 000 distincts

c =15 k =15

t =17

(46)

10 100 1000 10000 100000

0 100 200 300 400 500 600 700 800 900 1000

Frequency

Node identifier

Max frequency for Knowledge-free strategy

Input Stream Knowledge-free strategy Omniscient strategy

m = 100 000 items n = 1 000 distincts

c =10 k =10

t =5

L’adversaire injecte 50 000 fois le même item 


Tous les autres présent ~50x La stratégie aveugle réussi

à réduire la plus haute fréquence par un facteur 50

La stratégie omnisciente réussi à produire un flux

totalement uniforme

(47)

m = 100 000 items n = 1 000 distincts

c =10 k =10

t =5

Attaque ciblée : 


~50 items sur-représentés D’après le calcul de Lk,t :

Attaque réussi avec une probabilité de 0.9 si L = 48

0 200 400 600 800 1000 1200

0 100 200 300 400 500 600 700 800 900 1000

Frequency

Node identifier

Input Stream Knowledge-free strategy Omniscient strategy

(48)

m ~ 2 000 000 items / n = 100 000 distincts / t =5

0 0.5 1 1.5 2 2.5

NASA ClarkNet Saskatchewan

Kullback-Leibler Divergence

Input Stream

Knowledge-free strategy - c = k = log n Knowledge-free strategy - c = k = 0.01n Omniscient strategy

(49)

Comment générer des échan0llons uniformes sur des grandes masses de données ?

Yann Busnel

Crest (Ensai) / Inria Rennes – Bretagne Atlan5que 15 Octobre 2016

Merci de votre a,en.on

Références

Documents relatifs

« autre électeur » S’entend, relativement à un électeur qui présente une demande d’inscription et de bulletin de vote spécial, d’une autre personne qui est habile à voter

Abbreviations: AN, Anorexia nervosa; BMC, Bone mineral content; BMD, Bone mineral density; aBMD, areal Bone mineral density; vBMD, volumetric bone mineral density; DMPA,

Throughout the stories of Jump, the favourite expression to designate sexual intercourse is “love-making” (in ‘Some are Born to Sweet Delight’, or again in

Therefore, objective of this study was to investigate whether the number of reported vertigo attacks was equiva- lent between two reporting strategies: (1) event sampling using

Among patients meeting the same criteria but with baseline CD4 count &lt;350 cells/mm 3 , the average probability of progression to AIDS or death by year 3 was 11.2%,

In order to calculate DALE the prevalence of different severity levels of disability and other aspects of non-fatal health, are required for each country (4), The focus of this paper

They feature easy installation with screw terminals and optional DIN-rail mounting adaptor or direct PCB mounting with solder pins.. Com- pliance with international safety

Nous proposons un premier algorithme permettant d’uniformiser à la volée un flux de données (ou d'items) de taille non bornée, sous l’hypothèse que les probabilités