4 · Ochrana soukromí
Ochrana soukromí
- Tohle je úvod do kyberbezpečnosti CS50.
- Dnes se podíváme na to, jaké informace sdílíme bez svého vědomí a jak můžeme toto sdílení omezit.
Historie prohlížení webu
- Historie prohlížení je užitečná funkce i potenciální hrozba pro soukromí.
- Možná nechceš, aby někdo věděl, které weby jsi navštívila.
- Historii prohlížeče můžeš vymazat. V závislosti na tom, jaká další data smažeš, ale můžeš být odhlášena ze služeb.
- Servery obvykle vedou záznamy uživatelských aktivit. I po vymazání historie prohlížeče tak mohou uchovávat údaje o tom, k čemu jsi přistupovala.
Serverový záznam může mít například tuto podobu:
log_format combined '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent"';Obsahuje IP adresu, čas a další podrobnosti sdílené v digitálních obálkách putujících mezi počítači.
- Jak můžeme získat určitou kontrolu nad tím, co sdílíme?
HTTP hlavičky
- HTTP hlavičky jsou dvojice klíč–hodnota posílané mezi počítačem a serverem.
Podívej se na adresu, kterou lze navštívit přes odkaz v tomto HTML:
<a href="https://example.com">cats</a>HTML vytvoří odkaz pojmenovaný „cats“, který uživatele přesměruje na example.com.
- Když navštívíš web, prohlížeč mu může ve výchozím nastavení předat informaci o stránce, ze které jsi přišla.
Při kliknutí na odkaz může prohlížeč sdílet, který web tě na cílový web odkázal. V příkladu se ze zařízení na server předá tato hlavička:
Referer: https://www.google.com/search?q=catsTato hlavička prozrazuje, co jsi hledala.
Nebylo by užitečné rozsah sdílení omezit? Zvaž:
Referer: https://www.google.com/Tento zápis sdílí pouze původ, tedy doménu zdrojového webu, nikoli konkrétní hledaný výraz.
Na web můžeš přidat následující meta značku, která sdílení omezí na původ provozu:
<meta name="referrer" content="origin">Atribut
contentmá hodnotuorigin.Přednáška ukazuje další omezení, které má zcela potlačit předání informace o odkazující stránce:
<meta name="referrer" content="none">Atribut
contentmá v původní ukázce hodnotunone.
Fingerprinting
- Různé prohlížeče zpřístupňují různé množství informací o tvé identitě a chování.
- Ať zvolíš kterýkoli prohlížeč, servery mohou zaznamenávat tvoje aktivity.
- Fingerprinting je způsob, jak tě mohou třetí strany rozpoznávat podle dostupných stop, i když prohlížeči omezíš sdílení informací.
Jedním z údajů je hlavička požadavku User-Agent, která popisuje zařízení například takto:
Mozilla/5.0 (Linux; {Android Version}; {Build Tag etc.}) AppleWebKit/{WebKit Rev} (KHTML, like Gecko) Chrome/{Chrome Rev} Mobile Safari/{WebKit Rev}Uvádí prohlížeč, verzi operačního systému a informace o zařízení.
- Webové servery mohou také zjistit a zaznamenat IP adresu.
- Web může pomocí dostupných rozhraní zjistit rozlišení obrazovky, některé informace o rozšířeních, nainstalovaných fontech a další údaje.
- Pokud se tyto informace shromažďují společně v průběhu času, mohou tě stále více odlišovat od ostatních.
Session cookies
- Cookies si můžeš představit jako virtuální razítko na ruce, které tě jednotlivě označuje.
- Session cookies jsou informace, které server uloží do počítače, aby tě rozpoznal v rámci relace.
Session cookie může vypadat takto:
HTTP/3 200 Set-Cookie: session=1234abcdServer díky ní pozná, že tvoje relace má identifikátor
1234abcd.- Posloupnost čísel či znaků identifikující relaci má být pro každého uživatele jedinečná.
- Relace a související cookie obvykle vyprší podle pravidel a časového limitu určeného serverem.
Sledovací cookie
- Sledovací cookies jsou navržené ke sledování.
Třetí strany je využívají ke sledování chování na webu. Podívej se na příklad:
Set-Cookie: _ga=GA1.2.0123456789.0; max-age=63072000Cookie Google Analytics v této ukázce má životnost dva roky. Původní poznámky ji popisují jako příklad sledování aktivity při návštěvách webů.
Sledovací parametry
- Cookies jsou schované uvnitř mechanismů prohlížeče, zatímco sledovací parametry vidíš přímo v navštěvovaných odkazech.
Podívej se na tuto adresu:
https://example.com/ad_engagement?click_id=YmVhODI1MmZmNGU4&campaign_id=23Hodnota
click_id, zdeYmVhODI1MmZmNGU4, sleduje konkrétní kliknutí či uživatele.- Cookies se zpracovávají na pozadí, ale ze samotné URL můžeš vidět, jak tě mohou navštěvované odkazy sledovat.
Prohlížeče stále častěji odstraňují sledovací parametry. Upravená adresa může vypadat následovně:
https://example.com/ad_engagement?campaign_id=23Odkaz už sleduje pouze kampaň, na kterou reaguješ. Hodnota
click_idzmizela.
Cookies třetích stran
- Dalším typem jsou cookies třetích stran.
Třetí strany, například jiné servery nebo firmy, chtějí poznat, jak se pohybuješ mezi weby. Podívej se na tento HTTP požadavek:
GET /ad.gif HTTP/3 Host: example.com Referer: https://harvard.edu/Požadavek metodou GET žádá soubor
ad.gifze serveru example.com.Server automaticky odpoví následujícími hlavičkami:
HTTP/3 200 Set-Cookie: id=1234abcd; max-age=31536000Hlavička
Set-Cookienastaví cookieids životností jednoho roku.Pokud navštívíš jiný web používající stejnou reklamu, example.com se může dozvědět, že navštěvuješ harvard.edu i yale.edu. Pozdější požadavek může vypadat takto:
GET /ad.gif HTTP/3 Cookie: id=1234abcd Host: example.com Referer: https://yale.edu/Dříve nastavená cookie
id=1234abcdse znovu odešle example.com a prozradí, že jsi později navštívila yale.edu.- Cookies třetích stran lze využívat ke sledování a zpeněžování informací o nás.
Soukromé prohlížení
- Jednou z možností ochrany aktivity je soukromé prohlížení.
- Soukromé okno nebo panel nepoužívá běžné dříve uložené cookies stejným způsobem jako normální relace.
- Web ale stále funguje jako web. Také v soukromém okně mohou během relace vznikat nové cookies.
- Servery mohou i nadále sledovat tvoji aktivitu v rámci jedné relace prohlížení.
Supercookies
- Poskytovatel internetového připojení může do nešifrované HTTP komunikace vkládat vlastní sledovací hlavičky, tzv. supercookies, bez tvého vědomí.
- U poskytovatele může být možné takové sledování odmítnout.
DNS
- Domain Name System, DNS, je služba převádějící názvy webů, například harvard.edu, na konkrétní IP adresy.
- Tradiční DNS provoz je nešifrovaný. Může tak prozrazovat, který web se pokoušíš navštívit.
- Poskytovatel připojení a použitá DNS služba mohou vědět, kam se pokoušíš přistupovat.
- Alternativy DNS over HTTPS, DoH, a DNS over TLS, DoT, umožňují DNS požadavky šifrovat.
Virtuální privátní síť (VPN)
- VPN umožňuje připojit se k internetu tak, že provoz působí jako komunikace přicházející z jiného zařízení.
- Vytváří šifrované spojení mezi tvým počítačem A a důvěryhodným serverem B. Server B odešle požadavek do internetu, takže provoz vypadá jako přicházející z B místo A.
- VPN tě neochrání, pokud je tvůj počítač napadený malwarem.
- Webům se provoz může jevit jako komunikace z IP adresy VPN místo z adresy tvého počítače.
Tor
- Tor je software, který přesměrovává provoz přes síť serverů Tor.
- Komunikace prochází více uzly a vrstvami šifrování.
- Software je navržený tak, aby si pamatoval co nejméně o tvé aktivitě.
- Taková služba může výrazně omezit množství informací, které o tobě lze zjistit.
- Pokud ale Tor používáš jako jediná osoba v místní síti školy nebo práce, mohou tě jiné okolnosti umožnit identifikovat.
- Žádná technologie neposkytuje absolutní ochranu.
Oprávnění
- Operační systémy stále častěji žádají o oprávnění k používání konkrétních možností zařízení.
- Polohové služby zpřístupňují zeměpisnou polohu. Uvědom si, že například Apple Maps a Google Maps mohou znát tvoji aktuální polohu, pokud jim potřebná oprávnění poskytneš.
Co jsme probrali
V tomto kurzu jsme se zabývali:
- Příklady, které snad zvýšily tvé povědomí o informacích poskytovaných třetím stranám.
- Tím, jak vznikají zranitelnosti v počítačích, serverech, softwaru a ochraně soukromí.
- Tím, jak tyto zranitelnosti zmírňovat díky lepší informovanosti.
- Tím, jak lépe spravovat vlastní soukromí i soukromí lidí, kterým poskytuješ služby.
Tohle byl úvod do kyberbezpečnosti CS50.