O skrytých službách v síti Tor jsme už na Rootu několikrát psali. Jejich hlavním cílem je ukrýt server v anonymizační síti tak, aby nemohla být odhalena skutečná identita provozovatele. Tor vytváří bezpečné rozhraní mezi serverem a klientem, takže ani jeden z nich nezná skutečnou IP adresu protistrany.
To platí jen za předpokladu, že je vše správně nakonfigurováno a žádným postranním kanálem nepronikají citlivé údaje. Služba na serveru (web server) musí být například nastavena tak, aby poslouchala pouze na místní smyčce (loopbacku) na adrese 127.0.0.1. Web pak není dostupný z internetu, ale jen pro další aplikace na stejném počítači.
Tor klient se pak postará o připojení na lokální TCP port a předávání dotazů ze sítě ke skutečné službě. Spojení z Toru na web server je pak velmi krátké, neputuje přes internet a probíhá jen lokálně. Takto vypadá bezpečný stav.
Když to nastavíte špatně
Yonathan Klijnsma ze společnosti RiskIQ objevil velkou řadu služeb, které používají HTTPS (TLS) certifikáty a zároveň jsou špatně nakonfigurované, takže jejich web je dostupný zároveň z Toru, ale i z veřejného internetu. Protože RiskIQ se zabývá sběrem certifikátů, bylo snadné spojit certifikáty s konkrétními IP adresami, na kterých se vyskytují.
Takto je možné velmi snadno odhalit skutečnou identitu (IP adresu) serveru, který zároveň poskytuje skrytou službu přes Tor. Chyba totiž spočívá v tom, že správce nechá web server poslouchat na adrese * nebo 0.0.0.0. TCP port se tedy otevře na všech rozhraních.
Web je pak dostupný na lokálním rozhraní pro Tor klienta, ale také se takto vystrčí na veřejnou IP adresu do internetu. Na té se pak stačí na web zeptat na TCP portu 443 (HTTPS) a velká část takto nastavených web serverů vám ochotně vydá svůj certifikát původně vygenerovaný pro Tor. Protože je vystaven na doménu .onion, snadno získáte propojení skutečné IP adresy se službou běžící na skryté adrese.
Rozšířený problém, ochrana je snadná
Yonathan Klijnsma navíc tvrdí, že jde o poměrně rozšířený problém. Skutečně je takto možné bez problémů propojit konkrétní služby s jejich reálnou adresou. Odtud už může být velmi blízko k odhalení provozovatele. Demonstroval to například na skrytém fóru Prometheon, které se takto odhaluje.
Another #Tor hidden service exposed through an incorrect configuration of the listening server. Hiding your private forum on the deep dark (and still very public) web. Certificate can be found here (host is still live!): https://t.co/KEqN6hfyFb pic.twitter.com/cwHOuUdwmk
— Yonathan Klijnsma (@ydklijnsma) August 4, 2018
Bezpečnostní odborník je kritizován za to, že se snaží zničit Tor. On ale tvrdí, že je to přesně naopak: snaží se poukázat na to, jaké problémy může mít špatně nakonfigurovaná skrytá služba. Chci především ukázat, že je rozdíl mezi tím, když služba poslouchá na *, 0.0.0.0 nebo 127.0.0.1.
Ochrana je velmi snadná: stačí si pohlídat, že služba poslouchá skutečně jen na místní smyčce a není dostupná do jiné sítě než do Toru.