roemerhva.files.wordpress.com  · Web viewOm te onderzoeken of er privacy gevoelige conclusies...

23
Kunnen er privacygevoelige conclusies getrokken worden uit de online status van Facebook Messenger? Een onderzoek door Roemer Bakker Pagina 1

Transcript of roemerhva.files.wordpress.com  · Web viewOm te onderzoeken of er privacy gevoelige conclusies...

Page 1: roemerhva.files.wordpress.com  · Web viewOm te onderzoeken of er privacy gevoelige conclusies getrokken kunnen worden uit de online status van Facebook en de implicaties hiervan,

Kunnen er privacygevoelige conclusies getrokken worden uit de online status van Facebook Messenger?

Een onderzoek door Roemer Bakker

Pagina 1

Page 2: roemerhva.files.wordpress.com  · Web viewOm te onderzoeken of er privacy gevoelige conclusies getrokken kunnen worden uit de online status van Facebook en de implicaties hiervan,

Inhoudsopgave

Kunnen er privacygevoelige conclusies getrokken worden uit de online status van Facebook Messenger? 1

Een onderzoek door Roemer Bakker 1

Inhoudsopgave 2

Samenvatting 3

Inleiding 4

Kerntekst 5

Hoofdstuk 1 - Het verzamelen van data 5Kleine groene bolletjes 5

De software 5

Verwerking van gegevens 7

Hoofdstuk 2 - Gebruiksmogelijkheden van de data 8Vind je 06:15 niet een beetje vroeg om te Facebooken? 8

Nauwkeurigheid 8

Scenario’s 9

Hoofdstuk 3 - Messenger data op grotere schaal 11Verzamelde data combineren 11

Marketingdoeleinden 12

Analyse en statistiek 12

Moeten we oppassen? 13

Conclusie 14

Bronnenlijst 15

Gebruikte software en documentatie 16

Pagina 2

Page 3: roemerhva.files.wordpress.com  · Web viewOm te onderzoeken of er privacy gevoelige conclusies getrokken kunnen worden uit de online status van Facebook en de implicaties hiervan,

Samenvatting

Om te onderzoeken of er privacy gevoelige conclusies getrokken kunnen worden uit de online status van Facebook en de implicaties hiervan, heb ik software geschreven. Deze software houdt automatisch 24 uur per dag bij wat de online status van mijn vrienden is op Facebook. Ik heb dit programma ongeveer 3 weken laten draaien op een server en de resultaten geanalyseerd. Om deze software te schrijven heb ik onderzoek gedaan naar de werking van het ‘activity’ systeem wat gebruikers laat zien wanneer hun vrienden actief zijn op Facebook. Bij het schrijven van het programma heb ik gebruik gemaakt van Python. Ik heb NVD3.js gebruikt om de data te visualiseren.

Het is mogelijk om met deze data met enige zekerheid te achterhalen wanneer mensen naar bed gaan, wanneer ze niet thuis zijn, en hoeveel uur ze geslapen hebben. Het is in principe mogelijk voor werkgevers om het slaapritme van hun personeel bij te houden. Ook is het voor inbrekers vrij makkelijk om te achterhalen wanneer je niet thuis bent.

Door de manier waarop de Messenger app van Facebook werkt is de nauwkeurigheid van deze data niet altijd te waarborgen. Op een mobiele internet verbinding is de data niet erg accuraat door de instabiliteit van het netwerk. Echter op een vaste verbinding, zoals WiFi is deze data vrij nauwkeurig.

Veel mensen vragen zich af hoe geld verdient. Facebook verzameld zo veel mogelijk gegevens van haar gebruikers voor marktonderzoek. Deze gegevens worden vervolgens voorverkocht aan adverteerders. Ook kunnen bedrijven Facebook betalen om hun marketing pagina te promoten. Hiervoor gebruikt Facebook de gegevens die ze van gebruikers hebben verzameld om gebruikers bij deze bedrijven te ‘matchen’ waardoor ze sneller geneigd zijn om deze bedrijfspagina’s te liken.

Door de data die ik verzameld heb op verschillende manieren te combineren kan ik de gemiddelde tijd waarop iemand per dag gebruik maakt van Facebook berekenen, heatmaps van activiteit maken en berekenen op welk tijdstip van plaatsing mijn posts waarschijnlijk de meeste interactie zullen krijgen.

Ik ben van mening dat de mogelijkheid van dergelijk onderzoek niet per se een gevaar hoeft te zijn doordat de instapdrempel nog vrij hoog is. Ook ben ik van mening dat er andere manieren zijn waarop dergelijke gegevens vergaard kunnen worden.

Pagina 3

Page 4: roemerhva.files.wordpress.com  · Web viewOm te onderzoeken of er privacy gevoelige conclusies getrokken kunnen worden uit de online status van Facebook en de implicaties hiervan,

Inleiding

We leven in een wereld waar de mens steeds meer wilt delen via social media maar de aanbieders van deze diensten steeds meer wantrouwt (PewResearch, 2013 & Huffington Post, 2016). Bijna dagelijks horen we in de media dat een beveiligingslek van een groot bedrijf de privé informatie van duizenden gebruikers openbaar maakt. Maar wat kunnen we nou eigenlijk met deze data? En is het wel nodig om toegang te hebben tot de databanken van deze grote bedrijven om informatie over onze privélevens te achterhalen?

Voor dit onderzoek heb ik een programma geschreven dat 3 weken lang de online status van mijn Facebook vrienden bijhoudt. Elke 15 seconden wordt een lijst geüpdatet met informatie over het type apparaat waarop de vriend(in) online is, of ze Facebook wel open hebben staan maar niks aan het doen zijn, etcetera.

Dit onderzoek gaat over de analyse van de data die ik verzameld heb. Is het bijvoorbeeld mogelijk om iemands slaapritme te achterhalen door te kijken wanneer ze ’s avonds voor het laatst online waren? Hoeveel zitten mensen op Facebook tijdens kantooruren? Is het mogelijk om na te gaan wanneer mensen niet thuis zijn als ze in het weekend op het midden van de dag een tijd niet online zijn? En wat zijn eigenlijk de implicaties van het feit dat al deze data van alle Facebook gebruikers in handen is van Facebook zelf?

Het meest interessante van de conclusies die getrokken kunnen worden van deze data is natuurlijk dat het allemaal publiekelijk beschikbaar is voor al je Facebook vrienden. Ook voor de persoon wiens vriendverzoek je hebt geaccepteerd maar eigenlijk niet kent. Moeten we ons hierover zorgen maken?

Deze vragen probeer ik te beantwoorden onder de volgende hoofdvraag:

Kunnen er privacygevoelige conclusies getrokken worden uit de online status van Facebook Messenger?

Om tot het antwoord te komen heb ik de volgende deelvragen opgesteld:

• Hoe kan men data over de online status van zijn of haar Facebook vrienden verzamelen? (Hoofdstuk 1)

• Hoe kunnen de gegevens worden gevisualiseerd? (Hoofdstuk 1)• Kan je met deze gegevens nagaan hoe laat iemand is gaan slapen? (Hoofdstuk 2)• Kunnen inbrekers deze data gebruiken om na te gaan of hun slachtoffers thuis zijn?• Hoe nauwkeurig is deze data? (Hoofdstuk 2)• Wat kan er met deze data gedaan worden op grote schaal? (Hoofdstuk 3)• Kan de data worden gebruikt voor marketingdoeleinden? (Hoofdstuk 3)• Moeten we ons zorgen maken dat deze data publiek is? (Hoofdstuk 3)

Pagina 4

Page 5: roemerhva.files.wordpress.com  · Web viewOm te onderzoeken of er privacy gevoelige conclusies getrokken kunnen worden uit de online status van Facebook en de implicaties hiervan,

Kerntekst

Hoofdstuk 1 - Het verzamelen van dataDit hoofdstuk gaat over een technische beschrijving van de technieken en methoden die ik heb gebruikt om data van Facebook te vergaren. Het beschrijft de software die is gebruikt om de gegevens te downloaden en methoden om de data te visualiseren. Ook is er een beschrijving van de structuur van de gebruikte gegevens.

Kleine groene bolletjes

Alle data waarover gesproken wordt in dit onderzoek is afkomstig van het Messenger paneel op Facebook.com. Om de online status van vrienden up to date te houden, wordt er elke 10 seconden een request gedaan naar de Messenger servers van Facebook Alexander Hogue, 2016). Deze wordt beantwoord met de data in het volgende formaat:

1456518332.64|{“lat": "offline", "webStatus": "invisible", "fbAppStatus": "invisible", "otherStatus": "invisible", "status": "invisible", "messengerStatus": “invisible"

}

Al deze parameters kunnen 3 verschillende waarden hebben. ‘invinsible’ betekend offline, ‘idle’ betekend online, maar niet actief en ‘online’ staat voor online en actief aan het chatten. Het grote getal wat voor de openende accolade is een UNIX timestamp. Dit is het aantal seconden dat sinds 1 Januari 1970 is verlopen. In dit geval staat 1456518332.64 voor vrijdag 26 Februari 2016 om 20:25:32.

De software

Om de data te verzamelen, heb ik software geschreven in Python. Deze software probeert de web-versie van Facebook zo goed mogelijk te repliceren. De software maakt alleen gebruik van de standaard-bibliotheek van Python. Er worden dus geen externe bibliotheken, klassen of een framework gebruikt.

Allereerst wordt er gecontroleerd of het mapje, binnen de project map van de code, waar de resultaten van de requests in worden opgeslagen, al bestaat. Zo niet, dan wordt deze aangemaakt. Zodra dit klaar is, begint het proces van het vinden van de juiste server om

Pagina 5

Page 6: roemerhva.files.wordpress.com  · Web viewOm te onderzoeken of er privacy gevoelige conclusies getrokken kunnen worden uit de online status van Facebook en de implicaties hiervan,

te gebruiken. Dit wordt normaal door een stukje Javascript op de wegpagina geregeld, maar in dit geval moeten we het zelf doen. De eerste stap is om een request te sturen naar https://5-edge-chat.facebook.com/pull met een aantal parameters. Het is mij niet geheel duidelijk wat deze allemaal betekenen, maar de standaard waarden die ik gebruikt heb leveren geen problemen op.

Parameters Server Selectie

Naam Betekenis Gebruikte waarde

cap Onbekend 8 (Standaard)

cb Onbekend cqfi (Standaard)

channel Onbekend p_[Eigen Facebook User ID]

clientid Gegenereerde identifier. Te vinden door de requests die de browser maakt te in-specteren. Wordt meegegeven als HTTP GET parameter.

[Client ID]

idle Eigen online status. 0 (Negatief, rapporteren dat ik niet online ben)

isq Onbekend 173180 (Standaard)

mode (NIET VER-STUURD)

Normaal gesproken worden de requests naar de Messenger server gestreamed. Dit houdt eigenlijk in dat de HTTP head-ers niet continu opnieuw verstuurd ho-even te worden. Door deze parameter niet mee te sturen kan er gebruik worden gemaakt van normale GET requests. Dit doe ik omdat het lastig is om streamende GET requests na te bootsten en omdat bandbreedte en latency in deze situatie geen probleem zijn.

Wordt niet verstuurd

msgs_recv Het aantal berichten wat sinds het begin van deze sessie ontvangen is. Het levert geen errors op om deze altijd op 0 te laten staan.

0 (Standaard)

partition Onbekend -2 (Standaard)

qp Onbekend. De standaard waarde is ‘y’ wat voor ‘yes’ kan staan. Echter wordt er normaal 0 of 1 gebruikt bij boolean waarde.

y (Standaard)

seq Staat voor ‘sequence’. Waarde maakt niet uit.

0 (Standaard)

state Onbekend. Kan iets te maken hebben met online status maar het lijkt erop dat ‘idle’ meer wordt gebruikt.

active (Standaard)

sticky_pool Onbekend atn2c06_chat-proxy

sticky_token Onbekend 0 (Standaard)

uid Eigen Facebook User ID [Eigen Facebook User ID]

viewer_uid Eigen Facebook User ID [Eigen Facebook User ID]

wtc Onbekend 171%2C170%2C0.000%2C171%2C171

Pagina 6

Page 7: roemerhva.files.wordpress.com  · Web viewOm te onderzoeken of er privacy gevoelige conclusies getrokken kunnen worden uit de online status van Facebook en de implicaties hiervan,

Als dit request uitgevoerd is, wordt er bekeken of deze begint met “for(;;); “. Facebook begint alle JSON responses hiermee. Waarschijnlijk om het net iets moeilijker te maken om onderzoeken als deze uit te voeren. Dit heeft echter verder geen betekenis en na deze prefix begint de normale JSON data (Alexander Hogue, 2016). Het ontbreken van de prefix kan betekenen dat de teruggestuurde data een afwijkend formaat heeft en er wordt gecheckt of deze alsnog gebruikt kan worden. Als dit niet het geval is wordt het request opnieuw uitgevoerd.

Zodra er bruikbare data is ontvangen, wordt deze geanalyseerd. De informatie over online statussen staat in een parameter genaamd ‘ms’. Voor elke Facebook vriend wordt de status gecheckt en uiteindelijk opgeslagen in een bestand met de naam [User ID van vriend].log in de log/ map. Hierna begint het hele proces opnieuw.

Verwerking van gegevens

Om de gegevens te laten zien in een grafiek heb ik NVD3.js gebruikt. Dit is een JavaScript bibliotheek voor het maken van interactieve grafieken. NVD3.js gebruikt CSV (Comma Separated Values) bestanden als data input. Met een kort Python script kon ik de ongeformatteerde data van Facebook naar dit data formaat converteren. Daarna heb ik de simpele web server Flask gebruikt om de grafieken te kunnen bekijken in een web browser.

De

genereerde grafieken zien er ongeveer zo uit:

Op de Y-as staan, in verschillende kleuren, op welk soort apparaat de gebruiker online is. De X-as laat tijd zien.

Pagina 7

Page 8: roemerhva.files.wordpress.com  · Web viewOm te onderzoeken of er privacy gevoelige conclusies getrokken kunnen worden uit de online status van Facebook en de implicaties hiervan,

Hoofdstuk 2 - Gebruiksmogelijkheden van de dataDit hoofdstuk gaat over de praktische gebruiksmogelijkheden van de data die vergaard is in hoofdstuk 1. Het gevat enkele scenario’s waarin de data gebruikt kan worden om het gedrag van mensen in de echte wereld te voorspellen. Ook beschrijf ik hoe nauwkeurig deze data is.

Vind je 06:15 niet een beetje vroeg om te Facebooken?

Oké, we hebben nu een hele hoop data verzameld. Maar wat kunnen we daar nou

eigenlijk mee? Oké, we weten nu dat tante Hannie vorige week woensdag om 12:34 een half uur niet de Facebook Messenger app heeft geopend, maar daar hebben we natuurlijk niet zoveel aan. Het wordt pas interessant als we al deze losse datapoints combineren, en bijvoorbeeld op een tijdlijn plaatsen.Zo kunnen we bijvoorbeeld zien dat de persoon hierboven rond 03:15 voor het laatst online was, omdat dit het laatste moment is dat er activiteit is gemeten. Best laat om te Facebooken. Dit soort informatie kan best interessant zijn voor je werkgever.

Nauwkeurigheid

Of de persoon uit de afbeelding hierboven ook daadwerkelijk wakker was tot 03:15 is op basis van een Facebook status natuurlijk niet met zekerheid te zeggen, maar het is wel een indicatie (ISTJ Research Center, 2013). De Facebook Messenger app doet veel zaken in de achtergrond (Tech Insider, 2015), voornamelijk de applicatie voor Android,

Pagina 8

Page 9: roemerhva.files.wordpress.com  · Web viewOm te onderzoeken of er privacy gevoelige conclusies getrokken kunnen worden uit de online status van Facebook en de implicaties hiervan,

omdat dit platform opener is. Als de Messenger app nog open staat in de achtergrond en je je telefoon actief aan het gebruiken bent, is dat terug te zien in je status. Ook al gebruik je de app helemaal niet. Uit een paar testen, heb ik opgemerkt dat de status soms zelfs ‘online’ wordt terwijl ik bijvoorbeeld mijn email aan het lezen ben. Ook als je je telefoon niet gebruikt en deze in je broekzak zit, zal je status — zolang je een werkende internet verbinding hebt — niet op ‘offline’ komen te staan, maar op ‘idle’. Pas als de telefoon een tijdje niet gebruikt is, of de internet verbinding verbroken wordt, wordt je status op ‘offline’ gezet. Het is dus niet nodig om op een computer in een web browser Facebook open te hebben staan om activiteit te meten.

Het enge aan dit hele verhaal is dat het dus mogelijk is om te zien of iemand zijn telefoon gebruikt, zonder dat ze iets met Facebook hebben gedaan. Dit wordt versterkt door het feit dat de meeste mensen zelden de apps sluiten die in de achtergrond open staan. Zodra je 1 keer de Messenger app hebt geopend kan deze, totdat je de app volledig sluit, constant je activiteit in de gaten houden.

Omdat het om een achtergrondproces gaat op een mobiele telefoon die vaak gebruik maakt van een mobiele internet verbinding, zal deze informatie nooit volledig accuraat zijn. Het zal nooit als bewijs kunnen worden gebruikt in een rechtszaak. Het is echter wel een vrij goede indicatie en afhankelijk van het type onderzoek, kan je vrij zekere conclusies trekken.

Als je als werkgever bijvoorbeeld wilt kijken of je werkgevers tijdens kantooruren aan het Facebooken zijn, kan je deze data eigenlijk niet als bewijs gebruiken. Veel werknemers zullen in de pauze even een berichtje gestuurd hebben en de telefoon daarna in hun broekzak hebben gedaan. De app draait dan nog in de achtergrond en er zal dus waarschijnlijk activiteit meetbaar zijn. Bovendien kan het zijn dat de telefoon op dat moment gebruik maakt van een mobiele internet verbinding, wat niet erg stabiel is.

Echter, als je graag wilt weten hoe laat iemand waarschijnlijk is gaan slapen, kan je dit met grotere zekerheid zeggen. Als de persoon thuis slaapt, zal de telefoon waarschijnlijk gebruik maken van WiFi, dit is een stabiele internet verbinding, wat de nauwkeurigheid van de data ten goede komt. Veel mensen checken voor het slapen gaan nog even Facebook en leggen hun telefoon daarna aan de oplader op het nachtkastje (US News, 2011). Doordat Facebook de laatste activiteit is van de telefoon, zal er daarna waarschijnlijk niet meer ‘per ongeluk’ een online status geregistreerd worden. De rest van de nacht is de status dus ‘offline’. De laatste check waarbij de status ‘online’ was is dus waarschijnlijk ongeveer het moment waarop de persoon is gaan slapen.

Scenario’s

Inbreker

Je bent een inbreker en je wilt een inbraak plegen in een bepaalde woonwijk als de bewoners niet thuis zijn. Het is heel makkelijk om een geloofwaardig nep-Facebook profiel aan te maken. Je zou er zelfs een online kunnen kopen die meer dan 200 vrienden heeft, een paar foto’s en wat posts in elke gewenste taal, kiest een paar interessante huizen uit en stuurt de bewoners vriendschapsverzoeken. Een aantal potentiële slachtoffers accepten het verzoek en je kan beginnen met het verzamelen van data. Hoe zou je aan de data kunnen zien wanneer de bewoners niet thuis zijn? ’s Nachts staat de status op

Pagina 9

Page 10: roemerhva.files.wordpress.com  · Web viewOm te onderzoeken of er privacy gevoelige conclusies getrokken kunnen worden uit de online status van Facebook en de implicaties hiervan,

‘offline’. Hier kan je echter niet vanuit gaan want ondanks dat er geen activiteit wordt

gemeten, kunnen de bewoners natuurlijk wel gewoon thuis slapen. Je komt op het idee om in het weekend in te breken als de bewoners ergens op bezoek zijn. Hun status zal dan waarschijnlijk op offline staan omdat ze in gesprek zijn en niet op hun telefoon kijken. Je bent in je activiteitsgrafieken dus op zoek naar een ‘kale’ plek, overdag, in het weekend.

De grafiek in de afbeelding hierboven toont de Messenger activiteit van mijn moeder. Ik heb haar gebeld en ze was inderdaad van ongeveer 12:30 tot 15:30 op bezoek bij een vriendin.

Ochtendhumeur

Stel je collega’s hebben regelmatig last van ochtendhumeur en je weet als je ’s ochtends als je op je werk komt niet hoe ze op je vervelende vragen zullen reageren. Als je vrienden met ze bent op Facebook kan je de hierboven beschreven software gebruiken om data te verzamelen over hun online status. Zodra dit de hele dag draait, kan je een script schrijven die elke ochtend wordt uitgevoerd en de data van de avond daarvoor

Pagina 10

Page 11: roemerhva.files.wordpress.com  · Web viewOm te onderzoeken of er privacy gevoelige conclusies getrokken kunnen worden uit de online status van Facebook en de implicaties hiervan,

analyseert. Op basis van de laatste activiteit kan je uitrekenen hoeveel uur slaap je collega’s hebben gehad. Zo weet je voortaan wie je wel en niet lastig kunt vallen.

Hoofdstuk 3 - Messenger data op grotere schaalIn dit hoofdstuk beschrijf ik enkele implementaties van de data waarbij de gegevens worden gecombineerd. Dit bied bijvoorbeeld inzage in de momenten van de hoogste activiteit op Facebook. Het hoofdstuk gevat ook een beschrijving van de marketingdoeleinden van de data, een korte beschrijving van de techniek die Facebook gebruikt en beantwoord de vraag of we moeten oppassen voor de beschikbaarheid van deze gegevens.

Verzamelde data combineren

We hebben tot nu toe alleen maar in chronologische volgorde naar de data van gebruikers gekeken, we kunnen de data echter ook combineren om andere gegevens de visualiseren.

Door alleen rekening te houden met de tijd van de activiteit, en niet de datum, kunnen we bijvoorbeeld een ‘heatmap’ maken van de momenten waarop gebruikers het vaakst actief zijn. Dit ziet er voor deze gebruiker als volgt uit:

De dikke streep tussen 20:30 en 22:00 representeert het moment van de hoogste activiteit

Door gegevens op deze manier samen te voegen kunnen we nog veel meer dingen onderzoeken. Door de heatmaps van al onze vrienden samen te voegen kunnen we het tijdstip vinden waarop het het drukste is op Facebook. Als we op dit tijdstip iets posten is de kans dat we hier likes en reacties op krijgen dus het grootst. Ook kunnen we de momenten van activiteit bij elkaar optellen, delen door het aantal dagen waarop we gegevens hebben verzameld en zo op de gemiddelde tijd die een persoon per dag op

Pagina 11

Page 12: roemerhva.files.wordpress.com  · Web viewOm te onderzoeken of er privacy gevoelige conclusies getrokken kunnen worden uit de online status van Facebook en de implicaties hiervan,

Facebook zit komen. Met genoeg data kunnen we zelfs onderscheid maken tussen werkdagen en het weekend. We kunnen een script schrijven wat een dataset maakt van de gemeenschappelijke vrienden die onze vrienden hebben, en zo een redelijke schatting maken van wie met wie praat. De mogelijkheden zijn zo goed als eindeloos.

Marketingdoeleinden

Veel mensen vragen zich af waarom Facebook zo’n waardevol bedrijf is. Het gebruik van de dienst kost ten slotte geen geld. Het is niet mogelijk om naar een winkel te gaan en een product van Facebook te kopen. Ook heeft Facebook geen dochterbedrijven die het geld indirect binnenhalen. Het draaiende houden van de duizenden servers in datacentra over de hele wereld kost miljoenen, en toch is Mark Zuckerberg miljardair. Hoe kan dit?

Facebook verdient geld door gebruikersinformatie te verkopen aan bedrijven en door depersonaliseerde advertenties te laten zien op facebook.com (Quora, 2016) en in de door het bedrijf ontwikkelde apps. Tegenwoordig is Facebook zelfs zo groot (TheStreet, 2015), en zo geïntegreerd in ons dagelijks leven dat het niet meer nodig is om advertenties te laten zien zoals wij die kennen. Facebook is heel slim geweest en heeft ingespeeld op de groeiende kritiek op internet advertenties. In plaats van de gebruiker lastig te vallen met popups en banners, is het tegenwoordig mogelijk om de Facebook pagina van je bedrijf te promoten (Facebook Business, 2016). Gebruikers zullen de pagina te zien krijgen bij lijsten van aanbevolen materiaal. Als je bijvoorbeeld een link naar een blog post over een reis door IJsland liked, zal Facebook je een lijstje geven met Facebook pagina’s van reisorganisaties die dergelijke reizen aanbieden (Facebook, 2015).

Maar wat heeft dit nou met data over Messenger activiteit te maken? Om gebruikers zo goed mogelijke aanbevelingen te geven, wordt er zo veel mogelijk data over ze verzameld (The Atlantic, 2014). Niet alleen over interesses, maar er wordt ook bijgehouden wanneer gebruikers het meest actief zijn, en wanneer de grootste kans is dat ze op een link zullen klikken. Hoe vaker jij op een link klikt, hoe meer Facebook ten slotte verdient.

Analyse en statistiek

Facebook verzamelt dus veel data. Heel erg veel data. De grootte van het Facebook Data Warehouse is ongeveer 300 PB (Petabyte, 314.572.800 GB) (Facebook, 2014), waar dagelijks nog zo’n 600 TB bij komt (Facebook, 2014). Facebook gebruikt een ingewikkeld systeem genaamd Presto om deze data te analyseren (Facebook, 2013). Doordat ze zoveel data hebben, kunnen ze berekenen wat de beste tijd is om bepaalde aanbevelingen te doen voor vrijwel elke groep personen.

Pagina 12

Page 13: roemerhva.files.wordpress.com  · Web viewOm te onderzoeken of er privacy gevoelige conclusies getrokken kunnen worden uit de online status van Facebook en de implicaties hiervan,

De formule die Facebook gebruikt voor het genereren van aanbevelingen (Facebook, 2015)

Moeten we oppassen?

Dit is natuurlijk ‘the burning question’. Lopen we gevaar in de echte wereld door de vermindering in onze privacy die veroorzaakt wordt door de digitalisering van onze levens? Aan de ene kant zou je kunnen zeggen ja, vanuit de data die ik op vrij ongecompliceerde wijze verzameld heb kunnen mensen die we graag buiten de deur houden er met enige zekerheid achter komen wanneer je niet thuis bent. Ook kunnen onze werkgevers privacy inbreuk maken op onze privé levens en bekijken hoe laat we naar bed zijn gegaan. Dit zijn gegevens die hun misschien helemaal niks aangaat en we graag voor onszelf willen houden. Bovendien kan de nauwkeurigheid van deze data niet gewaarborgd worden waardoor er geschillen kunnen ontstaan. (Businesses Grow, 2016)

Aan de andere kant kan ik me moeilijk voorstellen dat ik de eerste ben die hieraan heeft gedacht en de implicaties ervan heeft uitgezocht. Ik denk dat als dit tot écht gevaarlijke situaties zou kunnen leiden, we al wel verhalen hadden gehoord waarin dit mis is gegaan. Misschien vinden de mensen die hier misbruik van willen maken het ook wel veel te veel moeite om een dergelijk onderzoek op te zetten. Niet iedereen weet bijvoorbeeld hoe je software zoals die ik gebruikt heb op een server laat draaien en daarna de gegevens de ophaalt. Bovendien zijn er ook wel andere manieren om als inbreker te achterhalen of de bewoners van het huis waar je wilt inbreken thuis zijn of niet.

Ik denk dat we er voornamelijk op de hoogte van moeten zijn dat het mogelijk is om deze gegevens te achterhalen en dat dit door al onze Facebook vrienden gedaan kan worden. We moeten een keer door onze vriendenlijst gaan en ons afvragen welke mensen we echt kennen, en welke we zonder na te denken maar geaccepteerd hebben.

Conclusie

Het antwoord op de hoofdvraag is dus ja. Er kunnen zeker privacy gevoelige conclusies getrokken worden uit de online status van Facebook. Toen ik met dit onderzoek begon, had ik niet verwacht dat er zoveel informatie getrokken kon worden uit zo’n simpel stukje data wat openlijk beschikbaar is voor al mijn Facebook vrienden. Ook had ik niet kunnen voorspellen dat het zo makkelijk zou zijn om deze data te verzamelen. De software die ik geschreven heb bestaat uit enkele honderden regels Python code, wat door de meeste mensen met enige kennis over het schrijven van software en de werking van het HTTP

Pagina 13

Page 14: roemerhva.files.wordpress.com  · Web viewOm te onderzoeken of er privacy gevoelige conclusies getrokken kunnen worden uit de online status van Facebook en de implicaties hiervan,

protocol geschreven kan worden. Bovendien zullen er ongetwijfeld online tools beschikbaar zijn die dezelfde of vergelijkbare functionaliteit hebben.

Ook vind ik het erg interessant dat er zoveel praktische toepassingen zijn voor de data en hoeveel Facebook geïntegreerd is in ons leven. Ik ben geen data-analyst maar ik kon door logisch na te denken allerlei testen bedenken die potentiële inzichten zouden kunnen tonen in de data, en deze zijn allemaal uitgekomen. Ik ben benieuwd — en eerlijk gezegd een beetje bezorgd — wat een professional met deze data zou kunnen doen. Ook ben ik benieuwd wat er uit een vervolgonderzoek over onze ‘digitale voetafdruk’ zou komen. Is het bijvoorbeeld ook mogelijk om de online status van WhatsApp bij te houden? Dit zou niet alleen interessant zijn vanuit een privacy oogpunt, maar het zou ook boeiend kunnen zijn om het verschil in gebruik van Facebook Messenger en WhatsApp in Nederland te zien. Dit omdat WhatsApp door Facebook is opgekocht en ik verwacht dat ze WhatsApp langzaam dood willen laten bloeden om het marktaandeel van Messenger te vergroten.

Verder ben ik zelf van mening dat we niet gevaar lopen door de beschikbaarheid van deze data. Het is mogelijk om enkele privacygevoelige conclusies te trekken maar doordat de instapdrempel voor het verzamelen en analyseren van data toch redelijk hoog is, denk ik dat er niet veel praktische gevaren zijn. Door beter op te letten met wie we onze Facebook posts delen, kunnen we dit alles voorkomen. En dit is eigenlijk niks nieuws. We worden er al jaren voor gewaarschuwd dat we sommige dingen privé moeten houden of alleen moeten delen met de mensen die we het meest vertrouwen. Dit onderzoek geeft denk ik wel praktisch weer wat de gevolgen kunnen zijn als je dit wel doet.

BronnenlijstPew Research Center (27 December 2016) - Social Networking Fact Sheet: http://www.pewinter-net.org/fact-sheets/social-networking-fact-sheet/

Damon Beres, Huffington Post (27 April 2016) - Here’s How Many People Trust Facebook: http://www.huffingtonpost.com/entry/facebook-personal-data-poll_us_571fc867e4b0b49d-f6a96bf3

/jdrch - ISTJ Research Center (18 April 2013) - Ignore Facebook Messenger’s “active now” or “online” presence info, it’s inaccurate: https://jdrch.wordpress.com/2013/04/18/ignore-facebook-messengers-active-now-or-online-presence-info-its-inaccurate/

Pagina 14

Page 15: roemerhva.files.wordpress.com  · Web viewOm te onderzoeken of er privacy gevoelige conclusies getrokken kunnen worden uit de online status van Facebook en de implicaties hiervan,

Alex Heath - Tech Insider (15 Oktober 2015) - Facebook's app is leeching your phone's battery, and there's nothing you can do about it: http://www.techinsider.io/facebook-app-draining-battery-2015-10

US News (7 Maart 2011) - Using Electronics Before Bed May Hamper Sleep: http://health.usnews.com/health-news/family-health/sleep/articles/2011/03/07/using-electronics-before-bed-may-hamper-sleep

Yuen Lo - Quora (18 Maart 2016) - How does Facebook make money? : https://www.quo-ra.com/How-does-Facebook-make-money

Chris Ciaccia - TheStreet (8 November 2015) - Facebook by the Numbers - Here’s How Big It Really Is: https://www.thestreet.com/story/13352739/1/facebook-by-the-numbers-here-s-how-big-it-really-is.html

Facebook Business (2016) - Raise Brand Awareness with Facebook: https://www.face-book.com/business/goals/build-awareness/

Adrienne Lafrance - The Atlantic (12 Juni 2014) - Facebook Is Expanding the Way It Tracks You and Your Data: http://www.theatlantic.com/technology/archive/2014/06/face-book-is-expanding-the-way-it-tracks-you-and-your-data/372641/

Mark Schaefer - Businesses Grow (10 April 2016) - Why Facebook will become the most dangerous company on earth: http://www.businessesgrow.com/2012/04/10/why-facebook-will-become-the-most-dangerous-company-on-earth/

Pamela Vagata en Kevin Wilfong, Facebook Inc. (10 April 2014) - Facebook Code Blog: ‘Scaling the Facebook data warehouse to 300 PB’ via https://code.facebook.com/posts/229861827208629/scaling-the-facebook-data-warehouse-to-300-pb/

Martin Traverso, Facebook Inc. (6 November 2013) - Facebook Code Blog: ‘Presto: Interacting with petabytes of data at Facebook’ via https://code.facebook.com/posts/555001884578896/presto-interacting-with-petabytes-of-data-at-facebook/

Krish Bandaru en Kestutis Patiejunas, Facebook Inc. (4 Mei 2015) - Facebook Code Blog: ‘Under the hood: Facebook’s cold storage system’ via https://code.facebook.com/posts/1433093613662262/-under-the-hood-facebook-s-cold-storage-system-/

Maja Kabiljo en Aleksandar Ilic, Facebook Inc. (2 Juni 2015) - Facebook Code Blog: ‘Recommending items to more than a billion people’ via https://code.facebook.com/posts/861999383875667/recommending-items-to-more-than-a-billion-people/

Alexander Hogue, Personal Blog (15 Februari 2016) via https://defaultnamehere.tumblr.-com/post/139351766005/graphing-when-your-facebook-friends-are-awake

Gebruikte software en documentatieThe Python Programming Language: https://www.python.org/ Documentatie: https://www.python.org/doc/ Licentie: The Python License - The Python Software Foundation: https://docs.python.org/2/license.html

Pagina 15

Page 16: roemerhva.files.wordpress.com  · Web viewOm te onderzoeken of er privacy gevoelige conclusies getrokken kunnen worden uit de online status van Facebook en de implicaties hiervan,

The Python Package Index (PIP): https://pypi.python.org/pypi/pip Documentatie: https://www.python.org/ Licentie: The Python License - The Python Software Foundation: https://docs.python.org/2/license.html

Flask Micro Web Framework: http://flask.pocoo.org/ Documentatie: http://flask.pocoo.org/docs/0.10/ Licentie: Berkeley Software Distribution: https://opensource.org/licenses/BSD-3-Clause

Jinja2 Templating Engine: http://jinja.pocoo.org/docs/dev/ Documentatie: http://jin-ja.pocoo.org/docs/dev/ Licentie: https://github.com/pallets/jinja/blob/master/LICENSE

Markupsafe: http://www.pocoo.org/projects/markupsafe/ Licentie: Berkeley Software Distribution: https://opensource.org/licenses/BSD-3-Clause

Werkzeug: http://werkzeug.pocoo.org/ Documentatie: http://werkzeug.pocoo.org/docs/0.11/ Licentie: https://github.com/pallets/werkzeug/blob/master/LICENSE

argparse: https://pymotw.com/2/argparse/ Documentatie: https://docs.python.org/3/library/argparse.html Licentie: The Python License - The Python Software Foundation: https://docs.python.org/2/license.html

itsdangerous: https://pythonhosted.org/itsdangerous/ Documentatie: https://pythonhost-ed.org/itsdangerous/ Licentie: The Django Software Foundation, https://github.com/pallets/itsdangerous/blob/master/LICENSE

requests: http://docs.python-requests.org/en/master/ Documentatie: http://docs.python-re-quests.org/en/master/ Licentie: The Apache2 License 2.0 - The Apache Software Foundation: https://www.apache.org/licenses/LICENSE-2.0

wsgiref: https://docs.python.org/2/library/wsgiref.html Documentatie: https://doc-s.python.org/2/library/wsgiref.html Licentie: The Python License - The Python Software Foundation: https://docs.python.org/2/license.html

stalky: https://github.com/defaultnamehere/zzzzz Documentatie: https://github.com/default-namehere/zzzzz/blob/master/README.md Licentie: The MIT License - Massachusetts Institute of Technology: https://opensource.org/licenses/MIT

Pagina 16