Ochrana proti profilování v online vyhledávačích pomocí obfuskace dotazů
Moderní vyhledávače personalizují výsledky na základě profilů uživatelů, což zvyšuje relevanci, ale ohrožuje soukromí a podporuje vznik filtračních bublin. Tento článek představuje lehkou strategii obfuskace na straně klienta, která pomocí náhodně generovaných vícejazyčných dotazů narušuje profilování. Řízené experimenty na Seznam.cz ukazují, že ačkoli výsledky vyhledávání zůstávají stabilní, tak identifikované zájmy uživatelů se vlivem obfuskace výrazně mění.
Práce byla prezentována na konferenci ARES 2025 a plné znění článku je možné naléz zde.
Úvod
Online vyhledávače jsou nedílnou součástí způsobu, jakým uživatelé pracují s digitálními informacemi. Tyto systémy se však často spoléhají na rozsáhlé profilování uživatelů, využívají demografické údaje, historii vyhledávání a chování uživatelů, aby přizpůsobily výsledky vyhledávání a optimalizovaly poskytování reklamy. Personalizace sice může zlepšit uživatelský zážitek, ale vyvolává dobře zdokumentované obavy týkající se soukromí, dohledu a zkreslování informací [2, 5].
Personalizované vyhledávání může uživatele uzavřít do „filtračních bublin“ a zároveň bez jejich souhlasu shromažďovat citlivá data. Tyto problémy podnítily výzkum technik na ochranu soukromí, jako jsou anonymizační sítě, soukromé vyhledávání informací (Private Information Retrieval) a obfuskace dotazů [4, 10, 12, 15].
Z těchto možností představuje obfuskace dotazů přesvědčivý kompromis: vyžaduje pouze změny na straně klienta, dobře se škáluje a mohou ji nasadit i jednotlivci, kteří dbají na soukromí.
V rámci experimentů byl vytvořen nástroj, který prokládá skutečné dotazy uživatelů šumem, generovaným ze slovníků specifických pro daný jazyk, a simuluje tak různé zájmy uživatelů. Pomocí experimentů na Seznam.cz je vyhodnocen dopad šumu na výsledky vyhledávání a profilování uživatelů.
Práce popsaná v tomto článku vychází z dříve dokončené magisterské práce Protection against profiling with random multilingual search, která tvoří jádro tohoto výzkumu. Její realizace s dalšími materiály je k dispozici na adrese: https://github.com/Sacek073/Protection-Against-Profiling-with-Random-Multilingual-Search.
Personalizace
Personalizované vyhledávání využívá podrobné profilování, které shromažďuje a analyzuje údaje o chování uživatelů, například dotazy, historii kliknutí nebo polohu. Profily vznikají kombinací explicitního profilování (uživatelé vyplní informace jako např. věk, zájmy, apod. ve formuláři), implicitního profilování (sledování chování) a nebo jejich kombinací. Ačkoli personalizace zvyšuje uživatelský komfort, přináší vážná rizika pro soukromí [1, 2, 3, 7].
Vyhledávače své profilovací algoritmy nezveřejňují, což komplikuje analýzy třetích stran. Přestože patenty (jako např. [9]) odhalují starší přístupy, současné metody zůstávají proprietární a dynamicky se vyvíjejí.
Vyhledávací techniky zachovávající soukromí
- Soukromé vyhledávání informací (PIR) umožňuje načítat data bez odhalení dotazů, ale tradiční schémata jsou náročná a vyžadují spolupráci serverů. Alternativou jsou h(k)-PIR schémata, která vkládají falešná klíčová slova pro věrohodné popření.
- Anonymizační sítě jako Tor maskují identitu uživatelů tím, že provoz směrují přes více uzlů, ale obsah dotazů zůstává pro vyhledávače viditelný a je zranitelný vůči deanonymizaci. Studie ukazují, že útočníci mohou uživatele znovu identifikovat pomocí krátké historie vyhledávání a běžných klasifikátorů [11, 12].
- Obfuskace dotazů odesílá vedle pravých i falešné dotazy, aby skryla zájmy uživatele. Nástroje jako TrackMeNot generují dotazy podle předchozích vzorů, ale mohou nechtěně posílit určitá témata a mají omezenou podporu [6, 8, 12]. Náš přístup využívá headless prohlížeč, podporuje vícejazyčný šum a umožňuje doladění frekvence a rozmanitosti dotazů, čímž zvyšuje skrytost a přizpůsobivost.
Nástroj pro obfuskaci vyhledávání
V rámci experimentů byl vyvinut vlastní nástroj pro vyhodnocení vícejazyčné obfuskace, protože stávající řešení jako TrackMeNot postrádala potřebné funkce a udržovatelnost [6, 12]. Nástroj simuluje uživatelské chování na Seznam.cz zadáváním pravých a náhodných vícejazyčných dotazů a umožňuje experimentování s narušením profilování v reálném prostředí.
Nástroj je implementován pomocí Puppeteer, knihovny Node.js pro automatizaci prohlížeče, a je rozšířen o doplněk puppeteer-extra-stealth, který napodobuje přirozenou interakci uživatele. Funguje v headless módu, zařizuje přihlašování, vyhledávání dotazů a shromažďování výsledků a zároveň minimalizuje detekovatelnost. Všechny akce, včetně prodlev a zadávání dotazů, napodobují skutečné vzorce používání.
Obfuskační dotazy jsou generovány z předpřipravených jazykových slovníků obsahujících obecnou slovní zásobu vybranou tak, aby reprezentovala široká, demograficky různorodá témata. Pro zajištění náhodnosti a rozmělnění témat se délka dotazu a rotace jazyků řídí konfiguracemi definovanými uživatelem. Ačkoli by nástroj v ideálním případě simuloval různorodé demografické profily, bylo to považováno za neproveditelné, a proto byla upřednostněna náhodnost ze širokých lexikálních zdrojů.
Módy použití
Nástroj pracuje ve dvou různých režimech:
- Náhodné vyhledávání: Vydává náhodné dotazy pomocí vybraných jazykových slovníků. Uživatelé konfigurují rozsah délky dotazu a cizí jazyky. Cizí jazyky se postupně střídají.
- Předpřipravené dotazy: Provádí předdefinované dotazy ze zadaného seznamu určené pro cílené profilování. Výsledky vyhledávání jsou ukládány a následně použity pro vyhodnocování míry personalizace.
Workflow
- Spuštění prohlížeče (v headless režimu) se stealth pluginem.
- Přihlášení do účtu na Seznam.cz.
- Načtení jazykových slovníků a nebo předdefinovaných dotazů (záleží na módu spuštění).
- Provádění dotazů ve smyčce: zadávání textu, spouštění vyhledávání, shromažďování metadat o výsledcích a uspávání mezi iteracemi.
- Ukládání strukturovaných výstupů ve formátu JSON, které obsahují dotaz, jazyk, uživatele, čas a objekty výsledků s odkazy a kategorizací.
Experiment
Cílem výzkumu je vyhodnotit účinnost vícejazyčné obfuskace dotazů při narušování profilování uživatelů ve vyhledávačích prostřednictvím čtyř řízených experimentů, které odpovídají na následující výzkumné otázky:
- O1: Mění se zobrazené výsledky nebo odvozené zájmy uživatele při použití obfuskace dotazů pomocí náhodného vícejazyčného vyhledávání?
- O2: Jak ovlivňuje profilování počet jazyků použitých v náhodných dotazech?
- O3: Jak ovlivňuje výsledky změna poměru skutečných a náhodných dotazů?
- O4: Může obfuskace přetvořit již vytvořený profil uživatele?
Konfigurace experimentů
Všechny experimenty probíhaly na virtuálních počítač (VM) v rámci univerzitní podsítě, aby se minimalizovalo geolokační zkreslení a časový šum [5]. Virtuální stroje byly izolovány pomocí různých účtů a prohlížečových instancí, což zajišťovalo nezávislé relace bez sdílení souborů cookie a úniku informací.
Byly vytvořeny tři základní virtuální počítače:
- Normal VM: odesílá pouze profilovací dotazy.
- Control VM: totožný s normálním, slouží k základnímu porovnání.
- Tool VM: odesílá profilovací dotazy a na pozadí spouští náhodné vícejazyčné dotazy.
Pro pokročilejší experimenty byly vytvořeny další virtuální počítače, popsané níže.
Každý virtuální počítač měl účet na Seznam.cz s identickými demografickými údaji (muž, narozen 1. 1. 2000), bez další personalizace. K aktivaci účtů byla použita nová předplacená SIM karta, což zabránilo propojení s předchozí identitou nebo externími službami.
Návrh a provádění dotazů
Pro simulaci reálného chování uživatelů byly sestaveny profilové dotazy odrážející zájem o tři kategorie: sport, technologie a cestování. Celkem bylo vytvořeno 300 dotazů v českém jazyce (100 pro každou kategorii), rovnoměrně rozložených do 10 denních dávek. Ukázkové dotazy zahrnují např.: „zimní olympiáda“, „stackoverflow“, „letenky online“. Každý virtuální počítač odeslal 30 dotazů denně (prodleva 960 sekund).
Tool VM denně navíc odeslal 90 náhodných dotazů na pozadí, generovaných ze slovníků v češtině, angličtině, francouzštině a španělštině. Dotazy byly vytvářeny náhodným výběrem 1–3 slov, což zajišťovalo tematickou rozmanitost. Byly rozloženy do 320sekundových intervalů, čímž vznikl poměr náhodných a skutečných dotazů 3:1. Tento přístup minimalizoval detekci automatizovaného vyhledávání a carry-over efekt, kdy by rychle po sobě jdoucí dotazy mohly ovlivnit výsledky vyhledávání.
Experimenty probíhaly 8 hodin denně po dobu 10 dnů. Dotazy byly zadávány postupně prostřednictvím headless prohlížeče řízeného Puppeteerem, s náhodnými prodlevami, simulací psaní a stealth pluginy, které bránily detekci heuristikou pro detekci botů.
Výběr vyhledávače
Seznam.cz byl vybrán díky svému transparentnímu modelu profilování a absenci omezení automatizovaného vyhledávání, které je v ostatních velkých vyhledávačích ve smluvních podmínkách výslovně zakázáno. Na rozdíl od Googlu nebo Bingu zobrazuje Seznam.cz denně aktualizované „Oblasti zájmu“ odvozené z historie vyhledávání uživatelů, které si uživatelé mohou zobrazit nebo smazat na adrese https://ucet.seznam.cz/activity/targeting. Tato vlastnost umožňuje přímé sledování vývoje profilu v čase, díky čemuž je vhodný pro řízené obfuskační studie.
Metriky hodnocení a analýza
Ve všech experimentech se z každého virtuálního počítače ukládaly výsledky vyhledávání předdefinovaných dotazů a k tomu se jednou denně ukládal seznam identifikovaných oblastí zájmů. Tyto uložené výsledky se následně mezi virtuálními počítači porovnávaly pomocí metrik popsaných níže, přičemž porovnání mezi Normal VM a Control VM sloužilo jako výchozí bod, jelikož se jednalo o dva totožné stroje, které neprováděly žádné náhodné vyhledávání a měly by tak poskytovat totožné výsledky.
K posouzení změn v personalizaci a obsahu byly použity dvě metriky:
- Jaccardův index [14]: měří podobnost kolekce výsledků nebo kolekce identifikovaných zájmů mezi různými VM; pohybuje se od 0 (kolekce nemají žádný překrv) do 1 (kolekce jsou identické).
- Levenshteinova vzdálenost (Edit distance) [13]: je definována jako minimální počet prvků, které se musí nahradit, vložit nebo smazat, aby se změnila kolekce 1 na kolekci 2. Díky této metrice je možné hodnotit i pořadí prvků v kolekci, kromě porovnání, jak moc jsou si kolekce podobné. Hodnota 0 znamená, že dvě kolekce jsou úplně totožné (včetně pořadí prvků). Čím vyšší hodnota je, tím více operací je nutné provést, aby se kolekce 1 přetvořila na kolekci 2.
Výsledky
Experimenty byly prováděny postupně po dobu více než 40 dnů. Výsledky vyhledávání a identifikované zájmy byly shromažďovány denně a vyhodnocovány pomocí Jaccardova indexu a vzdálenosti úprav.
O1: Účinnost vícejazyčné obfuskace
První experiment ukázal statisticky významné rozdíly mezi virtuálními počítači Tool VM a Normal VM jak ve výsledcích vyhledávání, tak v identifikovaných zájmech. Ačkoli změny ve výsledcích vyhledávání byly mírné (Obrázek 1), rozdíly v identifikovaných zájmech byly výrazné (Obrázek 2). Identifikované zájmy na Tool VM měly konzistentně nižší hodnoty Jaccardova indexu a vyšší hodnoty Levenshteinovy vzdálenosti, což naznačuje úspěšné narušení profilování.


O2: Rozdíly v počtu cizích jazyků
Ve druhém experimentu bylo zjištěno, že měl počet jazyků použitých v náhodných dotazech minimální vliv na výsledky vyhledávání, ale významný vliv na identifikované zájmy (Obrázek 3). Použití pouze jednoho jazyka (češtiny) přineslo větší odchylku od Normal VM než použití osmi různých jazyků, což naznačuje, že menší jazyková rozmanitost může lépe zastínit zájmové profily. V tomto experimentu byly zavedeny 2 nové VM – Language Low VM (pouze čeština) a Language High VM (celkem 8 jazyků pro náhodné vyhledávání).

O3: Rozdíly v poměru náhodného vyhledávání k normálnímu vyhledávání
Třetí experiment neodhalil žádné statisticky významné změny ve výsledcích vyhledávání, ale měl silný vliv na identifikované zájmy. Vyšší poměr náhodných a pravých dotazů (7:1) vedl k větší odchylce od Normal VM ve srovnání s nižším poměrem (1:1), jak ukazuje Obrázek 4. To potvrzuje, že silnější obfuskace koreluje s lepším narušením profilu.
Zde byly opět zavedeny dva nové virtuální počítače – Ratio Low VM (poměr 1:1) a Ratio High VM (poměr 7:1).

O4: Změna identifikovaných zájmu již existujícího profilu
Ve čtvrtém experimentu byl zaveden nový virtuální počítač Delay VM. Na něm proběhlo prvních pět dní bez náhodného vyhledávání – prováděly se tedy pouze profilovací dotazy. Poté dalších pět dní probíhalo už i náhodné vyhledávání. Ačkoli výsledky vyhledávání zůstaly z velké části nezměněny, po zahájení náhodných dotazů došlo k posunu v identifikovaných zájmech (Obrázek 5). Levenshteinova vzdálenost se zvýšila a Jaccardův index se snížil, což svědčí o úspěšné mutaci profilu.

Vliv na profilování vs. výsledky vyhledávání
Klíčovým poznatkem z našich experimentů je oddělení personalizovaných výsledků vyhledávání od profilování uživatelů. Zatímco obfuskace měla pouze omezený vliv na výsledky vyhledávání vrácené pro konkrétní dotazy, výrazně ovlivnila identifikované zájmy přiřazené uživatelům. To naznačuje, že pipeline personalizace vyhledávání fungují na základě dlouhodobějšího behaviorálního modelu, kde je odvozování zájmů citlivější na objem a rozmanitost historie dotazů než na krátkodobé řazení výsledků.
Důsledky jsou dvojí. Zaprvé, uživatelé, kteří mají zájem o profilování – např. pro účely reklamy nebo filtrování obsahu – mohou z lehké obfuskace přece jen těžit, aniž by byla ohrožena použitelnost výsledků vyhledávání. Zadruhé, toto rozdělení mezi viditelnými výsledky a backendovým profilováním zdůrazňuje neprůhlednost personalizačních systémů a potřebu nástrojů, které uživatelům umožňují zasahovat do utváření nebo zastírání jejich odvozené identity.
Závěr
Tento výzkum ukazuje, že náhodná obfuskace dotazů může účinně narušit profilování uživatelů ve vyhledávačích, zejména tím, že změní odvozené zájmy uživatelů, aniž by to mělo znatelný dopad na výsledky vyhledávání. Prostřednictvím experimentů provedených na serveru Seznam.cz jsme ukázali, že použití jediného jazyka (češtiny) a vysokého poměru náhodných a skutečných dotazů nabízí silnou účinnost obfuskace. Navíc obfuskace zůstává účinná i při aplikaci na dříve vytvořené profily s již identifikovanými zájmy uživatelů, což umožňuje zpětnou ochranu soukromí.
Náš přístup je nenáročný, uživatelsky přívětivý a v souladu s podmínkami služby vyhledávače. Může být nasazen na pozadí během běžných relací prohlížení a nabízí praktická vylepšení ochrany soukromí s minimálním zásahem uživatele.
Ačkoli byly experimenty prováděny na serveru Seznam.cz kvůli jeho transparentnosti a podmínkám služby, základní mechanismus profilování na základě dotazů sdílí většina velkých vyhledávačů. V důsledku toho se očekává, že lze pozorované účinky obfuskace přenést i na platformy, jako je Google nebo Bing, i když s odchylkami způsobenými jejich složitějšími personalizačními modely.
Spolupráce
Anton Firc, Kamil Malinka
Literatura
- KLUSÁČEK, Jan. Protection Against Profiling With Random Multilingual Search. Brno, 2024. Master’s thesis. Brno University of Technology, Faculty of Information Technology. Supervisor Ing. Anton Firc
- Bhopale, S.D., Sahu, A., Pandyaji, K.: Web services recommendation system using machine learning algorithms. 2023 4th International Conference for Emerging Technology (INCET) pp. 1-7 (2023). https://doi.org/10.1109/INCET57972.2023.10170205
- Bozdag, E.: Bias in algorithmic filtering and personalization. Ethics and Information Technology 15(3), 209–227 (9 2013). https://doi.org/10.1007/s10676-013-9321-6
- Eke, C.I., Norman, A., Shuib, L., Nweke, H.F.: A survey of user profiling: Stateof-the-art, challenges, and solutions. IEEE Access 7, 144907–144924 (2019). https: //doi.org/10.1109/ACCESS.2019.2944243
- Guha, S., Cheng, B., Francis, P.: Challenges in measuring online advertising systems. In: Proceedings of the 10th ACM SIGCOMM Conference on Internet Measurement. p. 81–87. IMC ’10, Association for Computing Machinery, New York, NY, USA (2010). https://doi.org/10.1145/1879141.1879152, https://doi.org/10.1145/1879141.1879152
- Hannak, A., Sapieżyński, P., Kakhki, A.M., Krishnamurthy, B., Lazer, D., Mislove, A., Wilson, C.: Measuring personalization of web search. Proceedings of the 22nd international conference onWorld WideWeb (May 2013). https://doi.org/10.1145/2488388.2488435
- Howe, D., NISSENBAUM, H.: Trackmenot: Resisting surveillance in web search. Lessons from the Identity Trail: Anonymity, Privacy, and Identity in a Networked Society 23 (01 2009)
- Kanoje, S., Girase, S., Mukhopadhyay, D.: User profiling trends, techniques and applications. International Journal of Advance Foundation and Research in Computer 1, 2348–4853 (11 2014)
- Kumar, K.: Privacy protection in personalized web search using obfuscation. International Journal of Emerging Trends in Engineering Research 8(4), 1410–1416 (Apr 2020). https://doi.org/10.30534/ijeter/2020/76842020, http://dx.doi.org/10.30534/ijeter/2020/76842020
- Lawrence, S.R.: Personalization of web search results using term, category, and link-based user profiles (9 2012)
- Maylybaeva, G.A.: The order of communication complexity of pir-protocols 18, 505 – 515 (2008). https://doi.org/10.1515/DMA.2008.036
- Peddinti, S.T., Saxena, N.: On the effectiveness of anonymizing networks for web search privacy. In: Proceedings of the 6th ACM Symposium on Information, Computer and Communications Security. p. 483–489. ASIACCS ’11, Association for Computing Machinery, New York, NY, USA (2011). https://doi.org/10.1145/1966913.1966984, https://doi.org/10.1145/1966913.1966984
- Peddinti, S.T., Saxena, N.:Web search query privacy: Evaluating query obfuscation and anonymizing networks. J. Comput. Secur. 22(1), 155–199 (jan 2014)
- Schulz, K., Mihov, S.: Fast string correction with levenshtein automata. International Journal on Document Analysis and Recognition 5, 67–85 (2002). https://doi.org/10.1007/s10032-002-0082-8
- Verma, V., Aggarwal, R.: A comparative analysis of similarity measures akin to the jaccard index in collaborative recommendations: empirical and theoretical perspective. Social Network Analysis and Mining 10, 1–16 (2020). https://doi.org/10.1007/s13278-020-00660-9
- Xu, Y., Wang, K., Zhang, B., Chen, Z.: Privacy-enhancing personalized web search. In: Proceedings of the 16th International Conference on World Wide Web. p. 591–600. WWW ’07, Association for Computing Machinery, New York, NY, USA (2007). https://doi.org/10.1145/1242572.1242652, https://doi.org/10.1145/1242572.1242652