Přejít k učivu
SBCZ.COM
Lekce 5 z 6 · 7 min čteníZdroj k tématu ↗

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=cats
    

    Tato 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 content má hodnotu origin.

  • 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 content má v původní ukázce hodnotu none.

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=1234abcd
    

    Server 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í 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=63072000
    

    Cookie 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=23
    

    Hodnota click_id, zde YmVhODI1MmZmNGU4, 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=23
    

    Odkaz už sleduje pouze kampaň, na kterou reaguješ. Hodnota click_id zmizela.

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.gif ze serveru example.com.

  • Server automaticky odpoví následujícími hlavičkami:

    HTTP/3 200
    Set-Cookie: id=1234abcd; max-age=31536000
    

    Hlavička Set-Cookie nastaví cookie id s ž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=1234abcd se 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.

Procvičení SBCZ

Ověř si porozumění

1. Co soukromé okno prohlížeče nezaručuje?

Řešení a vysvětlení

Úplnou anonymitu vůči navštíveným serverům a poskytovateli sítě. Soukromé prohlížení řeší zejména místní stav prohlížeče. Servery a síť stále mohou pozorovat komunikaci.

2. Co je fingerprinting?

Řešení a vysvětlení

Rozpoznávání zařízení či uživatele z kombinace dostupných vlastností. Kombinace prohlížeče, zařízení, rozlišení a dalších stop může umožnit rozpoznání i bez běžné sledovací cookie.

3. Co přidávají DoH a DoT oproti tradičnímu nešifrovanému DNS?

Řešení a vysvětlení

Šifrování DNS požadavků mezi klientem a DNS službou. Šifrované DNS omezuje odposlech těchto požadavků na cestě k resolveru. Samotná DNS služba požadavky stále zpracovává.