Deducing search queries from encrypted network traffic

Isaac Meers
Persbericht

Ik weet waar jij naar zoekt!

Heb jij al ooit gebruikt gemaakt van een publiek Wi-Fi netwerk? Waarschijnlijk wel want we vinden ze in vele openbare ruimtes zoals een café, een restaurant, een hotel, het openbaar vervoer, noem maar op. En dat is normaal, want die netwerken zijn handig en zorgen er voor dat we minder moeten uitgeven aan mobiele data. Maar het gebruik van die netwerken is niet helemaal zonder gevaar…

Schermafbeelding van iemand die aan het zoeken is via Google

HTTPS, onze beschermengel

Een aantal jaren geleden was het voor de eigenaar van een publiek netwerk (bijvoorbeeld een hoteluitbater) zeer eenvoudig om mee te luisteren naar wat jij op zijn netwerk aan het uitspoken was. Hij kon niet alleen jouw wachtwoorden zien maar ook de mails en berichtjes die je verstuurde via zijn Wi-Fi netwerk. Niet alleen de eigenaar kon eenvoudig meeluisteren, ook een aanvaller die in jouw buurt een antenne in de lucht stak, kon er zelfs in slagen om mee te luisteren naar wat jij aan het doen was. Gelukkig is het internet de afgelopen jaren sterk geëvolueerd en gebruiken we bijna overal HTTPS, je weet wel dat slotje in je webbrowser. HTTPS zorgt er voor dat al het verkeer tussen jou en de website waarmee je communiceert versleuteld is. Voor iemand die wil meelezen zien alle berichtjes tussen jou en de website er uit als allemaal willekeurige tekens. Doordat enkel jij en de website de sleutel hebben, kunnen enkel jullie die willekeurige tekens omvormen naar een zinvolle tekst.

Toch is HTTPS niet dé perfecte beschermer van onze privacy. Iemand die kan meeluisteren ziet bijvoorbeeld nog altijd vanaf welk uniek adres, het IP-adres, je bericht verzonden is en naar welk IP-adres het bericht verstuurd wordt. Ook zorgt de versleuteling er niet voor dat de lengte van je bericht verandert en zijn de domeinnamen van de websites die je bezoekt nog steeds zichtbaar. De aanvallers kunnen echter niet zien welke pagina je op een website bezoekt. Zo kunnen ze zien dat je bijvoorbeeld naar Wikipedia surft, maar kunnen ze niet zien welk artikel je aan het lezen bent.

Al die verschillende verbindingen kunnen interessant zijn voor iemand die meeluistert. Toch is het niet zo eenvoudig om te achterhalen welke websites jij expliciet opende. Als je bijvoorbeeld naar een website surft die ook een kaartje toont zal niet alleen die website geladen worden maar ook een website die dat kaartje voorziet, zoals Google Maps. Dat verschil is echter niet direct zichtbaar voor iemand die aan het meeluisteren is.

Hoe weet jij nu naar wat ik zoek?

Het onderzoek in deze thesis heeft uitgewezen dat deze lekkende informatie voldoende kan zijn om jouw zoekopdracht te achterhalen. Doordat we de verschillende vormen van informatie op een intelligente manier combineren, vertelt die meer over jouw zoekopdracht dan je zou denken.

Zo zijn we er in de eerste plaats in geslaagd om de lengte van de verschillende woorden in je zoekopdracht te achterhalen, op voorwaarde dat je die volledig intypte. Daarnaast kunnen we de websites die je hebt aangeklikt ook onderscheiden van de websites die door je smartphone in de achtergrond geopend werden. Als we van al die websites de startpagina bekijken en we zoeken naar woorden van de lengte van jouw zoekopdracht, dan zou het wel eens kunnen dat we die zoekopdracht op de website vinden. Stel, je bent op zoek naar een nieuwe gsm en je bent geïnteresseerd in een nieuwe iPhone. Je zoekt naar die “iPhone” en opent de productpagina op de website van Apple. Dan kan iemand die je afluistert zien dat je zoekopdracht bestaat uit één zesletterwoord en dat je verbinding maakte met apple.com. Op de startpagina van Apple staat verschillende keren het zesletterwoord “iPhone”, wat jouw zoekopdracht was.

Op diezelfde pagina staan meerdere zesletterwoorden. Om deze lijst van potentiële zoekopdrachten te filteren bespreken we verschillende methodes in de thesis. We hebben onze aanpak automatisch getest aan de hand van een lijst van vaak uitgevoerde zoekopdrachten en we konden in een kleine 41% van de testen de zoekopdracht correct achterhalen. 

Jouw gegevens zijn goud waard

Je vraagt je nu misschien af: waarom zou iemand zich in deze informatie interesseren? Bedrijven zijn de laatste jaren alsmaar meer verzot geworden op jouw persoonlijke gegevens. Kijk naar bijvoorbeeld, Google of Facebook, ze houden alles bij wat je doet op hun websites. Met die gegevens proberen ze om zo gericht mogelijk advertenties te tonen aan hun gebruikers. Hierdoor kunnen ze die advertentieruimte ook duurder verkopen aan geïnteresseerde adverteerders en dus meer winst maken. Zo verdiende Facebook in de eerste vier maanden van 2020 ongeveer $6 per gebruiker. Maar ook de eigenaren van die publieke netwerken zouden jullie gegevens kunnen gebruiken voor reclame op bijvoorbeeld digitale schermen in hun zaak.

Zal ik dan maar stoppen met het gebruik van die Wi-Fi netwerken?

Er zijn veel gevallen waarin die netwerken toch handig zijn omdat mobiele data ook wel zijn beperkingen heeft. Wees je ervan bewust dat als je verbindt met een Wi-Fi hotspot, het altijd zo kan zijn dat er iemand je probeert af te luisteren. Je kan ervan uitgaan dat de inhoud van je berichten onleesbaar en veilig is, maar er kan toch randinformatie over je surfgedrag kan lekken. Voor de thesis is er een extensie voor je internetbrowser ontwikkeld die er al voor zorgt dat de lengte van je zoekopdrachten verborgen wordt. Er wordt momenteel ook al onderzoek gevoerd naar manieren om de domeinnamen van websites die je bezocht af te schermen. Je gegevens worden dus steeds beter beschermt maar ook aanvallers worden steeds beter in het achterhalen van gegevens. Als je dus volgende keer reclame krijgt van de Burger King in de hotellift terwijl je juist de dichtstbijzijnde McDonald's hebt opgezocht dan weet je hoe laat het is.

Bibliografie

HTML - Living Standard: DOM. (n.d.).

Adobe. (n.d.). Adobe Creative Cloud Network Endpoints. Retrieved from https://helpx.adobe.com/enterprise/kb/network-endpoints.html

Bahajji, Z. A., & Illyes, G. (n.d.). HTTPS as a ranking signal. Retrieved from https://webmasters.googleblog.com/2014/08/https-as-ranking-signal.html

Belshe, M., Peon, R., & Thomson, M. (2015, May). Hypertext Transfer Protocol Version 2 (HTTP/2). RFC Editor. https://doi.org/10.17487/RFC7540

Blake-Wilson, S., Mikkelsen, J., Nystrom, M., Hopwood, D., & Wright, T. (2003, June). Transport Layer Security (TLS) Extensions. RFC Editor. https://doi.org/10.17487/RFC3546

Borgolte, K., Chattopadhyay, T., Feamster, N., Kshirsagar, M., Holland, J., Hounsel, A., & Schmitt, P. (2019). How DNS over HTTPS is Reshaping Privacy, Performance, and Policy in the Internet Ecosystem. TPRC 47. https://doi.org/10.2139/ssrn.3427563

Bortzmeyer, S. (2015, August). DNS Privacy Considerations. RFC Editor. https://doi.org/10.17487/RFC7626

Calvano, P. (2019). Caching. Web Almanac. Retrieved from https://almanac.httparchive.org/en/2019/caching8

Can I use? (n.d.). Server Name Indication. Retrieved from https://caniuse.com/#feat=sni

Chai, Z., Ghafari, A., & Houmansadr, A. (2019). On the Importance of Encrypted-SNI (ESNI) to Censorship Circumvention. In 9th USENIX Workshop on Free and Open Communications on the Internet (FOCI 19). Santa Clara, CA: USENIX Association. Retrieved from https://www.usenix.org/conference/foci19/presentation/chai

Cheng, H., & Avnur, R. (1998). Traffic analysis of SSL Encrypted Web Browsing. URL Citeseer. Ist. Psu. Edu/656522. Html.

Cheng, N., Oscar Wang, X., Cheng, W., Mohapatra, P., & Seneviratne, A. (2013). Characterizing privacy leakage of public WiFi networks for users on travel. In 2013 Proceedings IEEE INFOCOM (pp. 2769–2777). https://doi.org/10.1109/INFCOM.2013.6567086

Cloudflare Support. (2019, September). How does Cloudflare work? Retrieved from https://support.cloudflare.com/hc/en-us/articles/205177068-How-does-Clo…-

Cucerzan, S., & Brill, E. (2004). Spelling Correction as an Iterative Process that Exploits the Collective Knowledge of Web Users. In Proceedings of the 2004 Conference on Empirical Methods in Natural Language Processing (pp. 293–300). Barcelona, Spain: Association for Computational Linguistics. Retrieved from https://www.aclweb.org/anthology/W04-3238

Dance, G. J. X., LaForgia, M., & Confessore, N. (n.d.). As Facebook Raised a Privacy Wall, It Carved an Opening for Tech Giants. The New York Times. Retrieved from https://www.nytimes.com/2018/12/18/technology/facebook-privacy.html

Dean, B. (2019, September). We analyzed 5 million Google search results - Here’s What We Learned About Organic Click Through Rate. Backlinko. Retrieved from https://backlinko.com/google-ctr-stats

Deckelmann, S. (2020, September). Firefox continues push to bring DNS over HTTPS by default for US users . Retrieved from https://blog.mozilla.org/blog/2020/02/25/firefox-continues-push-to-brin…

Dhakal, V., Feit, A., Kristensson, P. O., & Oulasvirta, A. (2018). Observations on Typing from 136 Million Keystrokes. In Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems (CHI ’18). ACM. https://doi.org/https://doi.org/10.1145/3173574.3174220

Di Martino, M., Quax, P., & Lamotte, W. (2020). Knocking on IPs: Identifying HTTPS Websites for Zero-Rated Traffic. Manuscript Submitted for Publication.

Di Martino, M., Quax, P., & Lamotte, W. (2019). Realistically Fingerprinting Social Media Webpages in HTTPS Traffic. In Proceedings of the 14th International Conference on Availability, Reliability and Security. New York, NY, USA: Association for Computing Machinery. https://doi.org/10.1145/3339252.3341478

Dyer, K. P., Coull, S. E., Ristenpart, T., & Shrimpton, T. (2012). Peek-a-Boo, I Still See You: Why Efficient Traffic Analysis Countermeasures Fail. In 2012 IEEE Symposium on Security and Privacy (pp. 332–346). IEEE.

Electronic Frontier Foundation. (2017). Encrypting the Web. Retrieved from https://www.eff.org/encrypt-the-web

Facebook. (2020, September). Facebook Q1 2020 Results. Retrieved from https://s21.q4cdn.com/399680738/files/doc_financials/2020/q1/Q1-2020-FB…

Farahat, A., & Bailey, M. C. (2012). How Effective is Targeted Advertising? In Proceedings of the 21st International Conference on World Wide Web (pp. 111–120). New York, NY, USA: Association for Computing Machinery. https://doi.org/10.1145/2187836.2187852

Fidler, A. (2019). A UK ISP view on DNS over HTTPS. Retrieved from https://www.icann.org/sites/default/files/packages/ids-2019/08-fidler-i…

Fielding, R. T., & Reschke, J. (2014, June). Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing. RFC Editor. https://doi.org/10.17487/RFC7230

Google. (n.d.). Google APIs. Retrieved from https://googleapis.github.io/

Google. (n.d.). HTTPS encryption on the web - Transparency Report. Retrieved from https://transparencyreport.google.com/https/overview

Google. (n.d.). What is 1e100.net? Retrieved from https://support.google.com/faqs/answer/174717

Grigorik, I. (2014). High Performance Browser Networking. Shroff Publishers & Distr. Retrieved from https://hpbn.co/

Hasselt University. (2020). Coronavirus. Retrieved from https://www.uhasselt.be/Coronavirus

Hoffman, P. E., & McManus, P. (2018, October). DNS Queries over HTTPS (DoH). RFC Editor. https://doi.org/10.17487/RFC8484

Horling, B., & Kulick, M. (2009, September). Personalized Search for everyone. Retrieved from https://googleblog.blogspot.com/2009/12/personalized-search-for-everyon…

httparchive.org. (n.d.). Report - Page Weigth. Retrieved from https://httparchive.org/reports/page-weight

Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D., & Hoffman, P. E. (2016, May). Specification for DNS over Transport Layer Security (TLS). RFC Editor. https://doi.org/10.17487/RFC7858

Hui, D. S., I Azhar, E., Madani, T. A., Ntoumi, F., Kock, R., Dar, O., … Petersen, E. (2020). The continuing 2019-nCoV epidemic threat of novel coronaviruses to global health — The latest 2019 novel coronavirus outbreak in Wuhan, China. International Journal of Infectious Diseases, 91, 264–266. https://doi.org/10.1016/j.ijid.2020.01.009

Krombholz, K., Hobel, H., Huber, M., & Weippl, E. (2015). Advanced social engineering attacks. Journal of Information Security and Applications, 22, 113–122. https://doi.org/https://doi.org/10.1016/j.jisa.2014.09.005

Kurose, J., & Ross, K. (2017). Computer Networking: A Top-Down Approach, Global Edition (7th ed.). Pearson Education Limited. Retrieved from https://books.google.be/books?id=IUh1DQAAQBAJ

Lanze, F., Panchenko, A., Ponce-Alcaide, I., & Engel, T. (2014). Undesired Relatives: Protection Mechanisms against the Evil Twin Attack in IEEE 802.11. In Proceedings of the 10th ACM Symposium on QoS and Security for Wireless and Mobile Networks (pp. 87–94). New York, NY, USA: Association for Computing Machinery. https://doi.org/10.1145/2642687.2642691

Lewandowski, D., & Spree, U. (2011). Ranking of Wikipedia articles in search engines revisited: Fair ranking for reasonable quality? Journal of the American Society for Information Science and Technology, 62(1), 117–132. https://doi.org/10.1002/asi.21423

Liberatore, M., & Levine, B. N. (2006). Inferring the Source of Encrypted HTTP Connections. In Proceedings of the 13th ACM Conference on Computer and Communications Security (pp. 255–263). New York, NY, USA: Association for Computing Machinery. https://doi.org/10.1145/1180405.1180437

Martínez, A. G. (n.d.). No, Data Is Not the New Oil. WIRED. Retrieved from https://www.wired.com/story/no-data-is-not-the-new-oil/

McElroy, S. (2019, September). Despite DoH and ESNI, with OCSP, web activity is insecure and not private. Retrieved from http://blog.seanmcelroy.com/2019/01/05/ocsp-web-activity-is-not-private/

MDN. (n.d.). Host. Retrieved from https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Host

Mihajlija, M. (2019, September). Establish network connections early to improve perceived page speed. Web.Dev. Retrieved from https://web.dev/preconnect-and-dns-prefetch/

Monaco, J. V. (2019). What are you searching for? a remote keylogging attack on search engine autocomplete. In 28th {USENIX} Security Symposium ({USENIX} Security 19) (pp. 959–976).

Morla, R. (2017). Effect of Pipelining and Multiplexing in Estimating HTTP/2.0 Web Object Sizes. CoRR, abs/1707.00641. Retrieved from http://arxiv.org/abs/1707.00641

Mozilla Support. (2019). Firefox DNS-over-HTTPS. Retrieved from https://support.mozilla.org/en-US/kb/firefox-dns-over-https

Nielo, D. (n.d.). Simple Steps to Protect Yourself on Public Wi-Fi. WIRED. Retrieved from https://www.wired.com/story/public-wifi-safety-tips/

Peon, R., & Ruellan, H. (2015, May). HPACK: Header Compression for HTTP/2. RFC Editor. https://doi.org/10.17487/RFC7541

Qixiang Sun, Simon, D. R., Yi-Min Wang, Russell, W., Padmanabhan, V. N., & Lili Qiu. (2002). Statistical identification of encrypted Web browsing traffic. In Proceedings 2002 IEEE Symposium on Security and Privacy (pp. 19–30).

Rauti, S., & Leppänen, V. (2012). Browser Extension-Based Man-in-the-Browser Attacks against Ajax Applications with Countermeasures. In Proceedings of the 13th International Conference on Computer Systems and Technologies (pp. 251–258). Association for Computing Machinery. https://doi.org/10.1145/2383276.2383314

Rescorla, E. (2000, May). HTTP Over TLS. RFC Editor. https://doi.org/10.17487/RFC2818

Rescorla, E. (2018, August). The Transport Layer Security (TLS) Protocol Version 1.3. RFC Editor. https://doi.org/10.17487/RFC8446

Rescorla, E., & Dierks, T. (2008, August). The Transport Layer Security (TLS) Protocol Version 1.2. RFC Editor. https://doi.org/10.17487/RFC5246

Rescorla, E., Oku, K., Sullivan, N., & Wood, C. A. (2020). Encrypted Server Name Indication for TLS 1.3. Internet Engineering Task Force. Retrieved from https://datatracker.ietf.org/doc/html/draft-ietf-tls-esni-06

Rizzo, J., & Duong, T. (2012). The CRIME attack. Retrieved from https://docs.google.com/presentation/d/11eBmGiHbYcHR9gL5nDyZChu_-lCa2Gi…

Rose, D. E., & Levinson, D. (2004). Understanding User Goals in Web Search. In Proceedings of the 13th International Conference on World Wide Web (pp. 13–19). New York, NY, USA: Association for Computing Machinery. https://doi.org/10.1145/988672.988675

Savage, J., & Lazar, A. (2018). Encrypted SNI Comes to Firefox Nightly. Retrieved from https://blog.mozilla.org/security/2018/10/18/encrypted-sni-comes-to-fir…

Savage, J., & Lazar, A. (2019). Canary domain - use-application-dns.net. Retrieved from https://support.mozilla.org/en-US/kb/canary-domain-use-application-dnsn…

Siby, S., Marc, J., Diaz, C., Vallina-Rodriguez, N., & Troncoso, C. (2020). Encrypted DNS –> Privacy? A Traffic Analysis Perspective. In Network and Distributed System Security Symposium (NDSS 2020). Retrieved from https://www.ndss-symposium.org/wp-content/uploads/2020/02/24301-paper.p…

Sombatruang, N., Kadobayashi, Y., Sasse, M. A., Baddeley, M., & Miyamoto, D. (2018). The continued risks of unsecured public Wi-Fi and why users keep using it: Evidence from Japan. In 2018 16th Annual Conference on Privacy, Security and Trust (PST) (pp. 1–11). IEEE. https://doi.org/10.1109/PST.2018.8514208

Stark, E., Hamburg, M., & Boneh, D. (2009). Symmetric Cryptography in Javascript. In 2009 Annual Computer Security Applications Conference (pp. 373–381). IEEE. https://doi.org/10.1109/ACSAC.2009.42

Taghavi, M., Patel, A., Schmidt, N., Wills, C., & Tew, Y. (2012). An analysis of web proxy logs with query distribution pattern approach for search engines. Computer Standards & Interfaces, 34(1), 162–170. https://doi.org/https://doi.org/10.1016/j.csi.2011.07.001

Tan, J., & Nahata, J. (2013). Petal: Preset encoding table information leakage. Retrieved from https://www.pdl.cmu.edu/PDL-FTP/associated/CMU-PDL-13-106.pdf

The  Chromium  Project. (n.d.). Issue 908132: FR: Support for Encrypted SNI (ESNI). Retrieved from https://bugs.chromium.org/p/chromium/issues/detail?id=908132

The Chromium Project. (2019). DNS over HTTPS (aka DoH). Retrieved from https://www.chromium.org/developers/dns-over-https

Valsorda, F. (2016, September). An overview of TLS 1.3 and Q&A. Cloudflare Blog. Retrieved from https://blog.cloudflare.com/tls-1-3-overview-and-q-and-a/

Vanhoef, M., & Piessens, F. (2017). Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2. In Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security (pp. 1313–1328). New York, NY, USA: Association for Computing Machinery. https://doi.org/10.1145/3133956.3134027

Watson, M. (2017). Web Cryptography API. Retrieved from https://www.w3.org/TR/2017/REC-WebCryptoAPI-20170126/

Wikidata contributors. (2020). Wikidata:Main Page — Wikidata,. Retrieved from https://www.wikidata.org/wiki/Wikidata:Main_Page

Wikipedia contributors. (2020). Wikipedia:Naming conventions (capitalization) — Wikipedia, The Free Encyclopedia. Retrieved from https://en.wikipedia.org/wiki/Wikipedia:Naming_conventions_(capitalizat…

Wikipedia contributors. (2020). Wikipedia:Article Titles — Wikipedia, The Free Encyclopedia. Retrieved from http://en.wikipedia.org/w/index.php?title=Wikipedia%3AArticle titles&oldid=953494343

Wikipedia contributors. (2020). Wikipedia:About — Wikipedia, The Free Encyclopedia. Retrieved from http://en.wikipedia.org/w/index.php?title=Wikipedia%3AAbout&oldid=95242…

Witten, I. H., Frank, E., & Hall, M. A. (2011). Chapter 10 - Introduction to Weka. In I. H. Witten, E. Frank, & M. A. Hall (Eds.), Data Mining: Practical Machine Learning Tools and Techniques (Third Edition) (Third Edition, pp. 403–406). Boston: Morgan Kaufmann. https://doi.org/https://doi.org/10.1016/B978-0-12-374856-0.00010-9

Zittrain, J., & Edelman, B. (2003). Internet filtering in China. IEEE Internet Computing, 7(2), 70–77.

Universiteit of Hogeschool
Master Informatica
Publicatiejaar
2020
Promotor(en)
Prof. dr. Peter Quax
Kernwoorden
@isaacmeers
Share this on: