Hlavní navigace

Opera představila VPN, která vlastně není VPN. Takhle funguje

 Autor: Opera Software
Michal Špaček

Opera Software ve své tiskové zprávě tvrdí, že jejich “VPN” je lepší, než tradiční VPN. No, jak se to vezme.

  • 25.4. 16:15 – doplněn odkaz na The Oprah Proxy a informace o připojování přes HTTPS

Po několika dlouhých letech jsme se včera opět setkali a dnes jsme spolu strávili noc. Pamatuji si ji jako dívku, kterou bych ani za kus naleštěného chromu nevyměnil, ale dnes ráno jsem měl trochu hořko v ústech. Jmenuje se Opera a její rodiče se snaží dohnat vlak, který jim tak trochu ujel, když svého potomka v roce 2013 přestěhovali do čtvrti, kde vládne famílie Blink, aby s nimi Opera mohla začít nový život.

Opera se tento rok docela rozjela. V únoru Norská firma oznámila, že ji kupuje skupina čínských investorů, v březnu Opera přišla s blokováním reklam přímo zabudovaným do prohlížeče a minulý týden oznámila, že do svého prohlížeče přidala neomezenou „VPN“ zdarma. Ta je zatím jen ve vývojářské verzi Opery pro Windows, Mac a Linux a jedná se o produkt postavený na základech firmy SurfEasy, která nově patří do stále ještě norské rodiny. Uvidíme, s čím Opera přijde v květnu.

VPN (Virtual Private Network) je ta věc, kterou možná používáte v situaci, kdy chcete nebo musíte pracovat, ale máte tělo oslabené natolik, že si sotva dojdete pro nabíječku na laptop. Převážně velké nadnárodní firmy používají VPN, aby zpřístupnily své interní služby i lidem, kteří zrovna pracují z domova. VPN byste také měli používat vždy, když jste připojeni na nějakou veřejnou Wi-Fi, protože nikdy nevíte, komu ta síť patří a jaké má úmysly.

Jenže VPN v Opeře není tak docela VPN, i proto jsem tu zkratku výše dal do uvozovek. Klasická VPN totiž chrání všechna spojení, která jdou z vašeho počítače, včetně všech webových prohlížečů, outlooků a skajpů. VPN v Opeře zabezpečí jen Operu, respektive požadavky odcházející z a odpovědi vracející se do Opery. VPN v Opeře nezabezpečí jiné prohlížeče ani ty skajpy a outlooky. Potud asi v pořádku, ačkoliv to tisková zpráva Opery nezmiňuje. Jen na tohle musíte pamatovat, až si budete chtít ve vaší oblíbené kavárně stáhnout nově došlé e-maily do vašeho poštovního programu.

Sama Opera trochu tápe v tom, jak novou vlastnost nazývat, v nastavení sice najdete “povolení VPN”, ale hned pod tím je poznámka, že “zabezpečenou proxy poskytuje SurfEasy”. Zajímavé je i to, že když VPN zapnete, tak v prohlížeči nemůžete měnit nastavení proxy serverů. To trochu zavání, u klasických VPN takovéto omezení nenajdete.

Nastavení Opery s vyhledáním slova “proxy”

To zaujalo i Ondreje Galbavého a na Twitteru si lehce rýpnul do zástupce technického ředitele (Deputy Chief Technology Officer) Opery Bruce Lawsona, ale ten ho ujistil, že to opravdu je VPN. 

A tady začíná moje část příběhu, to totiž zaujalo i mě a tak jsem si stáhnul vývojářskou Operu, spustil packetový sniffer a ponořil se do tajů prohlížečů postavených na Chromiu, abych zjistil, co to vlastně ta VPN od Opery je a…

Jak to funguje?

Jakmile v nastavení Opery zaškrtnete, že chcete VPN povolit, tak prohlížeč odešle několik požadavků metodou post na https://api.surfeasy.com, aby zjistil, kam a na jakou “VPN” se vlastně má připojit.

První požadavek jde na https://api.surfeasy.com/v2/re­gister_subscriber a z odpovědi serveru browser získá několik cookie, které později posílá pro ověření zpět na SurfEasy API. Jsou to cookie subscriber_credentials, api_session (ta se v průběhu posílání požadavků mění) a _proxy_manager_session31. V požadavku jsou vidět hlavičky SE-Client-Type a SE-Client-API-Key, to jsou pravděpodobně hodnoty uvedené přímo v browseru, alespoň to tak vypadá po prozkoumání rozšíření SurfEasy VPN for Opera, ze kterého nejspíš “VPN” v Opeře vychází.

Api.CLIENT_TYPE_OPERA = 'se0204';
Api.CLIENT_TYPE_CHROME = 'se0205';

Api.CLIENT_API_KEY_OPERA = '184E166877D1AA1AB7BB702E31DE0EE650442D67529CFEE7DA12FE72455EF32D';
Api.CLIENT_API_KEY_CHROME = '37403FC0A1C5C5FCDAAF7A31253A855AC900BEE2CFF2AB3FFF5AEFD83ECB04F9';

api.js z surfeasy-proxy-an-opera-software-company-1.2.3–1.crx

Druhý požadavek browser posílá na https://api.surfeasy.com/v2/re­gister_device, server nazpět pošle device_password a device_id, těmito údaji se poté browser autorizuje proxy serveru (kterému Opera říká VPN server)

  "data" : {
      "device_password" : "C74891C1220057FBC43B1C403D6D10916F609DFB678D04BAB39303646E14CA77",
      "client_type" : "se0304",
      "device_id" : "se0304-30e2096eed63607b34b36af"
  },

Příchozí id a heslo

Požadavkem poslaným na https://api.surfeasy.com/v2/geo_list pak Opera zjišťuje, kde všude po světě jsou dostupné VPN proxy servery.

V odpovědi na poslední, čtvrtý požadavek se Opera konečně dozví, jaké IP adresy jednotlivé proxy servery mají a v jaké zemi se ten který server nachází. Nějakou vnitřní magií si vybere jednu IP adresu, v mém případě to byla adresa 185.108.219.42, ke které prohlížeč přiřadil jméno de0.opera-proxy.net a server s tímto jménem pak používal jako proxy server. Jméno de0.opera-proxy.net jde přeložit na IP pouze a jen v Opeře a jen když je zapnutá “VPN”, Opera pravděpodobně používá nějak upravený resolver.

Kompletní záznam všech požadavků a odpovědí najdete u mě na GitHubu. Vytvořil jsem také jednoduchý skript v Pythonu, který všechny ty požadavky pošle a zpracuje tak, jak to nejspíš dělá i samotná Opera. Nazval jsem ho The Oprah Proxy.

Proxy servery jako např. de0.opera-proxy.net vyžadují jméno a heslo, heslo prohlížeč zná z odpovědi na druhý API požadavek ( device_password), jméno je vypočítané jako sha1(device_id). Když toto jméno a heslo získáte, třeba tak, že si v browseru zachytíte požadavek na proxy server, který jméno a heslo obsahuje v hlavičce Proxy-Authorization, tak se pak na proxy servery Opery můžete připojit i z jiného počítače, na kterém Opera vůbec není nainstalována. Jsou to klasické HTTP(S) proxy servery, které vyžadují ověření, ne VPN servery.

Od těch klasických běžných HTTP proxy serverů se přece jen ve dvou věcech odlišují: za prvé, browser se na ně připojuje vždy pomocí šifrovaného HTTPS, a to i přesto, že se zrovna snaží načíst stránku pomocí nešifrovaného HTTP a za druhé, překlad domény na IP adresu se provádí až na tom proxy serveru, nedělá ho samotný prohlížeč, takže z browseru bokem neutíkají nešifrované dotazy do DNS. Díky tomu si celkem oprávněně zaslouží název “secure proxy”.


Autor: Michal Špaček

Proxy vyžaduje ověření

Je tu ještě několik důležitých drobností. Nastavení “VPN” přežije restart browseru, což znamená, že device_id (a tedy uživatelské jméno pro přihlášení na proxy) zůstává stejné, i když browser vypnete a zase zapnete. Toho by se dalo využít pro sledování chování uživatelů, a reklamní průmysl by jistě věděl, co s takovými daty dělat. Parametr device_id přežije dokonce i reinstalaci browseru, pokud při odinstalaci nevyberete, že chcete smazat i uživatelská data.

“VPN” v Opeře má ještě jeden problém. Může prozradit vaši IP adresu, i když jste připojeni přes tuto “VPN”. K vyzrazení se dá zneužít WebRTC, které adresu leakne. Vyzkoušet si to můžete na https://ipleak.net/. Pokud jste připojení přes opravdovou VPN, tak by k vyzrazení vaší IP adresy docházet nemělo.

Opera Software ve své zprávě tvrdí, že jejich “VPN” je lepší, než tradiční VPN. No, jak se to vezme. Není to VPN, nezabezpečí to všechna spojení tak jako VPN, ale umí to vyzradit vaši IP adresu a má to potenciální sledovací možnosti a je to zdarma a neomezené. Odpovězte si raději sami.

Podobných “VPN” bude jistě víc, ale pokud si chcete vybrat nějakou opravdovou VPN, může vám pomoci třeba tento rozsáhlý přehled porovnávající VPN služby. SurfEasy, tedy služba, kterou Opera používá, tam nemá zrovna nejlepší hodnocení, údajně má zaznamenávat IP adresy klientů používajících službu, ačkoliv v Privacy Policy aktualizované 18. dubna už tvrdí, že to nedělá.

Našli jste v článku chybu?

25. 4. 2016 7:34

Michal Kubeček (neregistrovaný)

VPN byste také měli používat vždy, když jste připojeni na nějakou veřejnou Wi-Fi, protože nikdy nevíte, komu ta síť patří a jaké má úmysly.

Na tenhle pořád dokola opakovaný nesmysl už začínám být alergický. Jaký je podle autora rozdíl mezi "nějakou veřejnou Wi-Fi" a připojením, které má doma (nebo třeba na svém mobilu)? Absolutně žádný. V obou případech je to síť, kterou nemá pod kontrolou a která je tedy a priori nedůvěryhodná, takže by pro jakýkoli citlivý provoz měl používat šifrování a aute…

25. 4. 2016 11:27

Tomáš2 (neregistrovaný)

článek je plný nepřesností a polopravd, Michala ale respektuji a chápu, že se věnuje více webové bezpečnosti.

Úkolem VPN není tunelovat veškerý provoz, ale pouze získat přístup do nějaké sítě (ano, virtual private network je VPN) a je pouze na nastavení dané sítě a klienta, jak bude routovat provoz, jestli se do vpn bude posílat veškerý provoz nebo jen ten, pro danou síť.

Stejně jak na VPN klientovi a serveru záleží, jestli bude resolvovat DNS nebo se to nechá na nějakém public/private resolve…

DigiZone.cz: Optimedia: hybridní kampaň Nescafé

Optimedia: hybridní kampaň Nescafé

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: Znáte „černý detox“? Ani to nezkoušejte

Znáte „černý detox“? Ani to nezkoušejte

DigiZone.cz: NG natáčí v Praze seriál o Einsteinovi

NG natáčí v Praze seriál o Einsteinovi

DigiZone.cz: R2B2 a Hybrid uzavřely partnerství

R2B2 a Hybrid uzavřely partnerství

Root.cz: Kamery Sony se dají ovládnout na dálku

Kamery Sony se dají ovládnout na dálku

Podnikatel.cz: Udávání kvůli EET začalo

Udávání kvůli EET začalo

DigiZone.cz: ČT má dalšího zástupce v EBU

ČT má dalšího zástupce v EBU

Vitalia.cz: To nejhorší při horečce u dětí: Febrilní křeče

To nejhorší při horečce u dětí: Febrilní křeče

Měšec.cz: Banky mlží o nákladech na předčasnou splátku hypotéky

Banky mlží o nákladech na předčasnou splátku hypotéky

Podnikatel.cz: Chaos u EET pokračuje. Jsou tu další návrhy

Chaos u EET pokračuje. Jsou tu další návrhy

Podnikatel.cz: 3, 2, 1..EET startuje. Na co nezapomenout?

3, 2, 1..EET startuje. Na co nezapomenout?

Vitalia.cz: Nahradí sluch, ale zvuk je zcela jiný

Nahradí sluch, ale zvuk je zcela jiný

120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Měšec.cz: Europlatby: někde bez poplatku, jinde i 350 Kč

Europlatby: někde bez poplatku, jinde i 350 Kč

120na80.cz: Rovnátka, která nejsou vidět

Rovnátka, která nejsou vidět

Vitalia.cz: Pravda o přibírání na zimu

Pravda o přibírání na zimu

Podnikatel.cz: Vládu obejde, kvůli EET rovnou do sněmovny

Vládu obejde, kvůli EET rovnou do sněmovny

Root.cz: Telegram spustil anonymní blog Telegraph

Telegram spustil anonymní blog Telegraph