- Joined
- Apr 19, 2022
- Messages
- 24
- Reaction score
- 20
- Points
- 3
Děkujeme, že jste si našli čas na přečtení tohoto textu! Nejsme žádní odborníci na sítě Tor, ale vyznáme se v nich.
Pokud vám něco z toho, co je zde popsáno, dává smysl a/nebo máte podezření, o co jde, jakoukoli zpětnou vazbu nesmírně oceníme!
1. Co se děje?
Naše služba dlouho fungovala v pořádku a stabilně. Najednou se u naší služby objevily nejprve lehké, pak vážné problémy s výkonem a poté se stala zcela nedostupnou.
Nezdá se, že by se jednalo o "běžný" útok DDoS. Zdá se, že jde o útok DoS, ale ne podobný něčemu známému, protože se zdá, že jde o útok pouze na démona Tor. Všechna protiopatření, která jsme zatím vyzkoušeli, nebyla úspěšná. Není patrný útok na skutečně běžící služby (http, ssh, ftp, mail atd.), ale pouze na samotné připojení k Toru.
I když jsme provedli důkladný průzkum a vyšetřování, zdá se, že událost je mimo naše chápání. Dokumenty o předchozích útocích na skryté služby Tor lze najít jen zřídka a nedávají smysl tomu, co zažíváme.
Odmítáme věřit, že existuje neznámý scénář útoku, kterému nelze čelit, protože by se tím stala zranitelnou každá jednotlivá skrytá služba Tor, přičemž protivníci by mohli libovolnou skrytou službu Tor vyřadit z provozu během několika minut na neomezenou dobu. Dopad na komunitu Tor by byl nedozírný.
Doufáme, že nám někdo s potřebným přehledem a odbornými znalostmi alespoň naznačí, o co přesně jde, a nasměruje nás správným směrem k nalezení řešení, jak tento útok ukončit nebo snížit jeho dopad na naše systémy a jak takovým útokům v budoucnu zabránit. To by pomohlo chránit skryté služby Tor po celém světě před budoucími útoky, jako je ten, který zažíváme.
2. Jaké je nastavení?
- Systém běží na aktuálním a vždy aktualizovaném linuxovém (amd64) serveru.
- Veškerý provoz je směrován přes Tor prostřednictvím Tor transportu na portu 9040, dotazy DNS jsou rovněž řešeny přes Tor
- Skrytá služba Tor je verze 3
- Tor je verze 0.4.7.8 běžící s Libevent 2.1.12-stable, OpenSSL 1.1.1n, Zlib 1.2.11, Liblzma 5.2.5, Libzstd 1.4.8 a Glibc 2.31 jako libc.
- Tor zkompilované pomocí GCC verze 10.2.1. Nainstalována je také verze Vanguards 0.3.1.
- Tor je spuštěn jako služba systemd
- Vanguards běží jako služba systemd
konfigurace torrc:
CookieAuthentication 1
HashedControlPassword 16:<hash>
VirtualAddrNetworkIPv4 10.192.0.0/10
AutomapHostsOnResolve 1
TransPort 127.0.0.1:9040
DNSPort 127.0.0.1:53
HiddenServiceDir /var/lib/tor/hidden_service
HiddenServicePort 80 127.0.0.1:80
HiddenServiceVersion 3
HiddenServiceAllowUnknownPorts 0
3. Jaké jsou příznaky?
- Po necelé minutě od spuštění Toru s povolenou skrytou službou se procesor dostane na 100 %, paměť se zdá být neovlivněna.
- Využitá šířka pásma se zvýší přibližně o 100 kb/s
- Deskriptor skryté služby je nedostupný
- Systém stále dokáže rozlišovat adresy Clearnet a Tor
- Systém se stále může připojit k odchozím službám (např. curl na webové stránky).
- Systém je zahlcen příchozími pakety tcp na rozhraní loopback.
- Po restartování systému Tor zaplavování na několik sekund skončí a pak se znovu spustí.
- Když je Tor spuštěn bez zapnuté skryté služby, zdá se, že k žádnému problému nedochází.
- Když je Tor spuštěn s povolenou druhou skrytou službou, oba deskriptory skryté služby zůstávají nedostupné:
Prohlížeč Tor na primárním HS:
Onionsite se odpojil
Nejpravděpodobnější příčinou je, že stránka Onionsite je offline. Obraťte se na správce stránky onionsite.
Podrobnosti: 0xF2 - Zavedení se nezdařilo, což znamená, že deskriptor byl nalezen, ale služba již není připojena k zaváděcímu bodu. Je pravděpodobné, že služba změnila svůj deskriptor nebo že není spuštěna.
nebo
Spojení vypršelo
Serveru na adrese (napaden skrytý deskriptor služby).onion trvá odpověď příliš dlouho.
Stránka může být dočasně nedostupná nebo příliš vytížená. Zkuste to znovu za několik okamžiků.
Prohlížeč Tor Browser v systému Seconday HS:
Nelze se připojit
Firefox nemůže navázat spojení se serverem na adrese (secondary hidden service descriptor).onion.
Web může být dočasně nedostupný nebo příliš zaneprázdněný. Zkuste to znovu za několik okamžiků.
- Pokud je Tor spuštěn s povolenou druhou skrytou službou, která je chráněna pomocí OnionAuthentication, zůstává primární skrytý deskriptor služby nedostupný,
druhý (chráněný) deskriptor skryté služby je dosažitelný.
- Když je Tor spuštěn pouze s povolenou druhou skrytou službou (s OnionAuthentication nebo bez ní), zdá se, že žádný problém nenastává.
- Když je Tor spuštěn s primární skrytou službou chráněnou pomocí OnionAuthentication, je deskriptor skryté služby dosažitelný.
- Při napadení se v souboru protokolu Tor objeví tyto záznamy:
Aug 24 19:42:18.000 [notice] Bootstrapped 100% (done): Hotovo
Aug 24 19:42:34.000 [notice] Zdá se, že rychlost vašeho síťového připojení se změnila. Obnovení timeoutu na 60000ms po 18 timeoutech a 388 buildtime.
Aug 24 19:42:39.000 [notice] Zdá se, že rychlost vašeho síťového připojení se změnila. Obnovení timeoutu na 60000ms po 18 timeoutech a 240 buildtime.
Aug 24 19:42:53.000 [notice] Zdá se, že rychlost vašeho síťového připojení se změnila. Obnovení timeoutu na 60000ms po 18 timeoutech a 489 buildtimes.
Aug 24 19:43:11.000 [notice] Zdá se, že rychlost vašeho síťového připojení se změnila. Obnovení timeoutu na 60000ms po 18 timeoutech a 659 buildtimes.
...
Aug 24 19:46:09.000 [notice] Extrémně velká hodnota pro timeout sestavení obvodu: 122s. Předpokládaný skok hodin. Účel 14 (Měření timeoutu obvodu)
Aug 24 19:46:09.000 [notice] Extremely large value for circuit build timeout: 122s. Předpokládáme skok hodin. Účel 14 (Měření časového limitu obvodu)
Aug 24 19:46:09.000 [notice] Rychlost vašeho síťového připojení se zřejmě změnila. Obnovení timeoutu na 60000ms po 18 timeoutech a 114 časech sestavení.
Aug 24 19:46:15.000 [notice] Zdá se, že se změnila rychlost vašeho síťového připojení. Obnovení timeoutu na 60000ms po 18 timeoutech a 125 buildtimes.
...
Aug 24 19:47:08.000 [notice] Extrémně velká hodnota pro časový limit sestavení obvodu: 123s. Předpokládáme skok hodin. Účel 14 (Měření timeoutu obvodu)
Aug 24 19:47:10.000 [notice] Extremely large value for circuit build timeout: 122s. Předpokládáme skok hodin. Účel 14 (Měření časového limitu obvodu)
Aug 24 19:47:10.000 [notice] Extrémně velká hodnota pro časový limit sestavení obvodu: 123s. Předpokládáme skok hodin. Účel 14 (Měření časového limitu obvodu)
Aug 24 19:47:13.000 [notice] Extrémně velká hodnota pro časový limit sestavení obvodu: 123s. Předpokládáme skok hodin. Účel 14 (Měření časového limitu obvodu)
Aug 24 19:47:14.000 [notice] Zdá se, že rychlost vašeho síťového připojení se změnila. Obnovení timeoutu na 60000ms po 18 timeoutech a 495 časech sestavení.
Aug 24 19:47:18.000 [notice] Zdá se, že se změnila rychlost vašeho síťového připojení. Obnovení timeoutu na 60000ms po 18 timeoutech a 124 buildtimes.
Aug 24 19:47:21.000 [notice] Extrémně velká hodnota pro časový limit sestavení okruhu: 122s. Předpokládá se skok hodin. Účel 14 (Měření timeoutu obvodu)
Aug 24 19:47:23.000 [notice] Extrémně velká hodnota pro časový limit sestavení obvodu: 123s. Předpokládáme skok hodin. Účel 14 (Měření časového limitu obvodu)
...
Aug 24 19:47:55.000 [notice] Zdá se, že rychlost vašeho síťového připojení se změnila. Obnovení timeoutu na 60000ms po 18 timeoutech a 1000 buildtime.
Aug 24 19:47:59.000 [notice] Zdá se, že se změnila rychlost vašeho síťového připojení. Obnovení timeoutu na 60000ms po 18 timeoutech a 117 buildtimes.
...
Aug 24 19:52:43.000 [notice] Podivná hodnota pro čas sestavení okruhu: 121581msec. Předpokládáme skok hodin. Účel 14 (Měření timeoutu obvodu)
Aug 24 19:52:43.000 [notice] Zdá se, že se změnila rychlost vašeho síťového připojení. Obnovení timeoutu na 120000ms po 18 timeoutech a 57 časech sestavení.
Aug 24 19:52:53.000 [notice] Přerušení: čisté ukončení.
4. Co bylo vyzkoušeno k vyřešení problému?
- Založili jsme zcela nový server od nuly, na kterém běží pouze základní OS i tor a vanguardy ve standardní konfiguraci, abychom vyloučili možnost chybné konfigurace na našem postiženém serveru. Jakmile byl tor spuštěn s napadeným deskriptorem, děje se přesně totéž.
- V tomto nastavení jsme se pokusili rozdělit zátěž na našem serveru pomocí OnionBalance:
Server1: Spouští Onionbalance pro primární skrytý deskriptor služby
Server2/3/4: Spustí skrytou službu na nové a jiné deskriptory skryté služby.
- Tím se původní Skrytý deskriptor služby neoživí.
- Deskriptory služeb na serverech 2/3/4 jsou při přímém otevření dosažitelné, ale ne prostřednictvím nyní vyváženého primárního deskriptoru
- Procesor na serverech 2/3/4 přejde na 100 %, dokud probíhá útok, zatímco procesor na serveru 1 (balancer) zůstává normální
- Přidání dalších backendových serverů k balanceru také nepřineslo změnu
- Přidali jsme tyto směrnice do bloku skrytých služeb v torrc a vyzkoušeli na nich různá nastavení:
HiddenServiceEnableIntroDoSDefense 1
HiddenServiceEnableIntroDoSBurstPerSec <zkoušeno s různými hodnotami>
HiddenServiceEnableIntroDoSRatePerSec <zkoušeno s různými hodnotami>
Tím se výrazně snížilo zatížení CPU na serverech 2/3/4, ale deskriptor vyvážené služby zůstává nedosažitelný.
- Zkoušeli jsme měnit různá nastavení v souboru vanguards.conf, ale bez úspěchu.
- Zkoušeli jsme identifikovat útočící pakety tcp a nechat je blokovat pomocí iptables, bez úspěchu.
Naše odborné znalosti nejsou dostatečné, abychom si mohli udělat představu o tom, co se přesně děje, kontrolou obsahu zmíněných paketů tcp, které vypadají takto:
19:45:27.839934 IP (tos 0x0, ttl 64, id 35746, offset 0, flags [DF], proto TCP (6), length 4100)
127.0.0.1.9051 > 127.0.0.1.46712: příznaky [P.], cksum 0x0df9 (nesprávný -> 0xe713), seq 1543428574:1543432622, ack 1711981309, win 512, options [nop,nop,TS val 2971851406 ecr 2971851369], délka 4048
E.....@[email protected]........#[.x[...f
.............
."...".i650 CIRC 9802 EXTENDED $2BCA0A8B5759DBD764BF9FA5D1B3AEE9D74D2B68~Waeswynn,$CED577F091DCB15AD8C87FBD452A51EA9E60BFC2~strayWires,$CC8B218ED3615827A5DCF008FC62598DEF533B4F~mikrogravitation02,$7B46F20449D6F25150E189428B62E1E3BA5848A9~galtlandeu,$BF93594384A02DE7689C4FD821E2638DA2CD4792~labaliseridicule BUILD_FLAGS=IS_INTERNAL,NEED_CAPACITY PURPOSE=HS_SERVICE_REND HS_STATE=HSSR_CONNECTING REND_QUERY=|---------(attacked hidden service descriptor)---------| TIME_CREATED=2022-08-24T19:45:22.060324
650 CIRC 9802 BUILT $2BCA0A8B5759DBD764BF9FA5D1B3AEE9D74D2B68~Waeswynn,$CED577F091DCB15AD8C87FBD452A51EA9E60BFC2~strayWires,$CC8B218ED3615827A5DCF008FC62598DEF533B4F~mikrogravitation02,$7B46F20449D6F25150E189428B62E1E3BA5848A9~galtlandeu,$BF93594384A02DE7689C4FD821E2638DA2CD4792~labaliseridicule BUILD_FLAGS=IS_INTERNAL,NEED_CAPACITY PURPOSE=HS_SERVICE_REND HS_STATE=HSSR_CONNECTING REND_QUERY=|---------(attacked hidden service descriptor)---------| TIME_CREATED=2022-08-24T19:45:22.060324
650 CIRC_MINOR 9802 PURPOSE_CHANGED $2BCA0A8B5759DBD764BF9FA5D1B3AEE9D74D2B68~Waeswynn,$CED577F091DCB15AD8C87FBD452A51EA9E60BFC2~strayWires,$CC8B218ED3615827A5DCF008FC62598DEF533B4F~mikrogravitation02,$7B46F20449D6F25150E189428B62E1E3BA5848A9~galtlandeu,$BF93594384A02DE7689C4FD821E2638DA2CD4792~labaliseridicule BUILD_FLAGS=IS_INTERNAL,NEED_CAPACITY PURPOSE=HS_SERVICE_REND HS_STATE=HSSR_JOINED REND_QUERY=|---------(napadl skrytý deskriptor služby)---------| TIME_CREATED=2022-08-24T19:45:22.060324 OLD_PURPOSE=HS_SERVICE_REND OLD_HS_STATE=HSSR_CONNECTING
650 CIRC 9818 EXTENDED $2BCA0A8B5759DBD764BF9FA5D1B3AEE9D74D2B68~Waeswynn,$CED577F091DCB15AD8C87FBD452A51EA9E60BFC2~strayWires,$CC8B218ED3615827A5DCF008FC62598DEF533B4F~mikrogravitation02,$7A319C431F38CB30A0BC0C49144369A611920725~BahnhufPowah2,$8587A1B4CCD0700F164CCD588F79743C74FE8700~mev4PLicebeer16b BUILD_FLAGS=IS_INTERNAL,NEED_CAPACITY PURPOSE=HS_SERVICE_REND HS_STATE=HSSR_CONNECTING REND_QUERY=|---------(attacked hidden service descriptor)---------| TIME_CREATED=2022-08-24T19:45:22.493699
650 CIRC 9818 BUILT $2BCA0A8B5759DBD764BF9FA5D1B3AEE9D74D2B68~Waeswynn,$CED577F091DCB15AD8C87FBD452A51EA9E60BFC2~strayWires,$CC8B218ED3615827A5DCF008FC62598DEF533B4F~mikrogravitation02,$7A319C431F38CB30A0BC0C49144369A611920725~BahnhufPowah2,$8587A1B4CCD0700F164CCD588F79743C74FE8700~mev4PLicebeer16b BUILD_FLAGS=IS_INTERNAL,NEED_CAPACITY PURPOSE=HS_SERVICE_REND HS_STATE=HSSR_CONNECTING REND_QUERY=|---------(attacked hidden service descriptor)---------| TIME_CREATED=2022-08-24T19:45:22.493699
650 CIRC_MINOR 9818 PURPOSE_CHANGED $2BCA0A8B5759DBD764BF9FA5D1B3AEE9D74D2B68~Waeswynn,$CED577F091DCB15AD8C87FBD452A51EA9E60BFC2~strayWires,$CC8B218ED3615827A5DCF008FC62598DEF533B4F~mikrogravitation02,$7A319C431F38CB30A0BC0C49144369A611920725~BahnhufPowah2,$8587A1B4CCD0700F164CCD588F79743C74FE8700~mev4PLicebeer16b BUILD_FLAGS=IS_INTERNAL,NEED_CAPACITY PURPOSE=HS_SERVICE_REND HS_STATE=HSSR_JOINED REND_QUERY=|---------(napadl skrytý deskriptor služby)---------| TIME_CREATED=2022-08-24T19:45:22.493699 OLD_PURPOSE=HS_SERVICE_REND OLD_HS_STATE=HSSR_CONNECTING
650 CIRC 9997 EXTENDED $2BCA0A8B5759DBD764BF9FA5D1B3AEE9D74D2B68~Waeswynn,$8D896C8B367813030591A00DB7E7722EF6C4C23C~Luxembourg,$FF353F5D011E69ECDA10A57B46D06BC7B3FEB196~fuego,$347253D1D5246CB1C4CF8088C6982FE77CF7AB9C~ph3x,$E84F41FA1D1FA303FD7A99A35E50ACEF4269868C~Quetzalcoatl BUILD_FLAGS=IS_INTERNAL,NEED_CAPACITY PURPOSE=HS_SERVICE_REND HS_STATE=HSSR_CONNECTING REND_QUERY=|---------(napadl skrytý deskriptor služby)---------| TIME_CREATED=2022-08-24T19:45:25.100429
650 CIRC 9997 BUILT $2BCA0A8B5759DBD764BF9FA5D1B3AEE9D74D2B68~Waeswynn,$8D896C8B367813030591A00DB7E7722EF6C4C23C~Luxembourg,$FF353F5D011E69ECDA10A57B46D06BC7B3FEB196~fuego,$347253D1D5246CB1C4CF8088C6982FE77CF7AB9C~ph3x,$E84F41FA1D1FA303FD7A99A35E50ACEF4269868C~Quetzalcoatl BUILD_FLAGS=IS_INTERNAL,NEED_CAPACITY PURPOSE=HS_SERVICE_REND HS_STATE=HSSR_CONNECTING REND_QUERY=|---------(napadl skrytý deskriptor služby)---------| TIME_CREATED=2022-08-24T19:45:25.10
Toto je s Tor spuštěným na jednom serveru. Při vyvážení je |---------(attacked hidden service descriptor)---------| nahrazen deskriptory služeb backendů serverů 2/3/4.
V případě potřeby můžeme dát k dispozici větší fragment tcpdump.
5. Závěry
Domníváme se, že protivník má možnost "přerušit" deskriptor skryté služby (a tedy i samotnou skrytou službu) tím, že zaplaví démona Tor nespočtem paketů tcp se žádostí o sestavení obvodů. To způsobuje zatížení procesoru a v konečném důsledku znemožňuje použití Deskriptoru skryté služby.
Může to někdo potvrdit?
Vzhledem k tomu, že směrnice jako zmíněné HiddenServiceEnableIntroDoSDefense, HiddenServiceEnableIntroDoSBurstPerSec a HiddenServiceEnableIntroDoSRatePerSec jsou zřejmě určeny k obraně před tímto druhem útoků, stejně jako by měly být obranou i avantgardy, nedokážeme si vysvětlit, proč tyto zůstávají neúčinné. Možná je nutné nějaké velmi specializované nastavení těchto hodnot, aby byly účinné. Bohužel jsou tyto směrnice (stejně jako nastavení v souboru vanguards.config) popsány pouze vágně.
Ví někdo, jak musí být správně nastaveny, aby byly účinné?
V tuto chvíli jsme vyčerpali všechny odkazy na tor a konfiguraci vanguards, které jsme našli na internetu.
Opět bychom uvítali jakoukoli pomoc nebo informace k tomuto problému! Nevěříme, že by to nemělo řešení.
Pokud vám něco z toho, co je zde popsáno, dává smysl a/nebo máte podezření, o co jde, jakoukoli zpětnou vazbu nesmírně oceníme!
1. Co se děje?
Naše služba dlouho fungovala v pořádku a stabilně. Najednou se u naší služby objevily nejprve lehké, pak vážné problémy s výkonem a poté se stala zcela nedostupnou.
Nezdá se, že by se jednalo o "běžný" útok DDoS. Zdá se, že jde o útok DoS, ale ne podobný něčemu známému, protože se zdá, že jde o útok pouze na démona Tor. Všechna protiopatření, která jsme zatím vyzkoušeli, nebyla úspěšná. Není patrný útok na skutečně běžící služby (http, ssh, ftp, mail atd.), ale pouze na samotné připojení k Toru.
I když jsme provedli důkladný průzkum a vyšetřování, zdá se, že událost je mimo naše chápání. Dokumenty o předchozích útocích na skryté služby Tor lze najít jen zřídka a nedávají smysl tomu, co zažíváme.
Odmítáme věřit, že existuje neznámý scénář útoku, kterému nelze čelit, protože by se tím stala zranitelnou každá jednotlivá skrytá služba Tor, přičemž protivníci by mohli libovolnou skrytou službu Tor vyřadit z provozu během několika minut na neomezenou dobu. Dopad na komunitu Tor by byl nedozírný.
Doufáme, že nám někdo s potřebným přehledem a odbornými znalostmi alespoň naznačí, o co přesně jde, a nasměruje nás správným směrem k nalezení řešení, jak tento útok ukončit nebo snížit jeho dopad na naše systémy a jak takovým útokům v budoucnu zabránit. To by pomohlo chránit skryté služby Tor po celém světě před budoucími útoky, jako je ten, který zažíváme.
2. Jaké je nastavení?
- Systém běží na aktuálním a vždy aktualizovaném linuxovém (amd64) serveru.
- Veškerý provoz je směrován přes Tor prostřednictvím Tor transportu na portu 9040, dotazy DNS jsou rovněž řešeny přes Tor
- Skrytá služba Tor je verze 3
- Tor je verze 0.4.7.8 běžící s Libevent 2.1.12-stable, OpenSSL 1.1.1n, Zlib 1.2.11, Liblzma 5.2.5, Libzstd 1.4.8 a Glibc 2.31 jako libc.
- Tor zkompilované pomocí GCC verze 10.2.1. Nainstalována je také verze Vanguards 0.3.1.
- Tor je spuštěn jako služba systemd
- Vanguards běží jako služba systemd
konfigurace torrc:
CookieAuthentication 1
HashedControlPassword 16:<hash>
VirtualAddrNetworkIPv4 10.192.0.0/10
AutomapHostsOnResolve 1
TransPort 127.0.0.1:9040
DNSPort 127.0.0.1:53
HiddenServiceDir /var/lib/tor/hidden_service
HiddenServicePort 80 127.0.0.1:80
HiddenServiceVersion 3
HiddenServiceAllowUnknownPorts 0
3. Jaké jsou příznaky?
- Po necelé minutě od spuštění Toru s povolenou skrytou službou se procesor dostane na 100 %, paměť se zdá být neovlivněna.
- Využitá šířka pásma se zvýší přibližně o 100 kb/s
- Deskriptor skryté služby je nedostupný
- Systém stále dokáže rozlišovat adresy Clearnet a Tor
- Systém se stále může připojit k odchozím službám (např. curl na webové stránky).
- Systém je zahlcen příchozími pakety tcp na rozhraní loopback.
- Po restartování systému Tor zaplavování na několik sekund skončí a pak se znovu spustí.
- Když je Tor spuštěn bez zapnuté skryté služby, zdá se, že k žádnému problému nedochází.
- Když je Tor spuštěn s povolenou druhou skrytou službou, oba deskriptory skryté služby zůstávají nedostupné:
Prohlížeč Tor na primárním HS:
Onionsite se odpojil
Nejpravděpodobnější příčinou je, že stránka Onionsite je offline. Obraťte se na správce stránky onionsite.
Podrobnosti: 0xF2 - Zavedení se nezdařilo, což znamená, že deskriptor byl nalezen, ale služba již není připojena k zaváděcímu bodu. Je pravděpodobné, že služba změnila svůj deskriptor nebo že není spuštěna.
nebo
Spojení vypršelo
Serveru na adrese (napaden skrytý deskriptor služby).onion trvá odpověď příliš dlouho.
Stránka může být dočasně nedostupná nebo příliš vytížená. Zkuste to znovu za několik okamžiků.
Prohlížeč Tor Browser v systému Seconday HS:
Nelze se připojit
Firefox nemůže navázat spojení se serverem na adrese (secondary hidden service descriptor).onion.
Web může být dočasně nedostupný nebo příliš zaneprázdněný. Zkuste to znovu za několik okamžiků.
- Pokud je Tor spuštěn s povolenou druhou skrytou službou, která je chráněna pomocí OnionAuthentication, zůstává primární skrytý deskriptor služby nedostupný,
druhý (chráněný) deskriptor skryté služby je dosažitelný.
- Když je Tor spuštěn pouze s povolenou druhou skrytou službou (s OnionAuthentication nebo bez ní), zdá se, že žádný problém nenastává.
- Když je Tor spuštěn s primární skrytou službou chráněnou pomocí OnionAuthentication, je deskriptor skryté služby dosažitelný.
- Při napadení se v souboru protokolu Tor objeví tyto záznamy:
Aug 24 19:42:18.000 [notice] Bootstrapped 100% (done): Hotovo
Aug 24 19:42:34.000 [notice] Zdá se, že rychlost vašeho síťového připojení se změnila. Obnovení timeoutu na 60000ms po 18 timeoutech a 388 buildtime.
Aug 24 19:42:39.000 [notice] Zdá se, že rychlost vašeho síťového připojení se změnila. Obnovení timeoutu na 60000ms po 18 timeoutech a 240 buildtime.
Aug 24 19:42:53.000 [notice] Zdá se, že rychlost vašeho síťového připojení se změnila. Obnovení timeoutu na 60000ms po 18 timeoutech a 489 buildtimes.
Aug 24 19:43:11.000 [notice] Zdá se, že rychlost vašeho síťového připojení se změnila. Obnovení timeoutu na 60000ms po 18 timeoutech a 659 buildtimes.
...
Aug 24 19:46:09.000 [notice] Extrémně velká hodnota pro timeout sestavení obvodu: 122s. Předpokládaný skok hodin. Účel 14 (Měření timeoutu obvodu)
Aug 24 19:46:09.000 [notice] Extremely large value for circuit build timeout: 122s. Předpokládáme skok hodin. Účel 14 (Měření časového limitu obvodu)
Aug 24 19:46:09.000 [notice] Rychlost vašeho síťového připojení se zřejmě změnila. Obnovení timeoutu na 60000ms po 18 timeoutech a 114 časech sestavení.
Aug 24 19:46:15.000 [notice] Zdá se, že se změnila rychlost vašeho síťového připojení. Obnovení timeoutu na 60000ms po 18 timeoutech a 125 buildtimes.
...
Aug 24 19:47:08.000 [notice] Extrémně velká hodnota pro časový limit sestavení obvodu: 123s. Předpokládáme skok hodin. Účel 14 (Měření timeoutu obvodu)
Aug 24 19:47:10.000 [notice] Extremely large value for circuit build timeout: 122s. Předpokládáme skok hodin. Účel 14 (Měření časového limitu obvodu)
Aug 24 19:47:10.000 [notice] Extrémně velká hodnota pro časový limit sestavení obvodu: 123s. Předpokládáme skok hodin. Účel 14 (Měření časového limitu obvodu)
Aug 24 19:47:13.000 [notice] Extrémně velká hodnota pro časový limit sestavení obvodu: 123s. Předpokládáme skok hodin. Účel 14 (Měření časového limitu obvodu)
Aug 24 19:47:14.000 [notice] Zdá se, že rychlost vašeho síťového připojení se změnila. Obnovení timeoutu na 60000ms po 18 timeoutech a 495 časech sestavení.
Aug 24 19:47:18.000 [notice] Zdá se, že se změnila rychlost vašeho síťového připojení. Obnovení timeoutu na 60000ms po 18 timeoutech a 124 buildtimes.
Aug 24 19:47:21.000 [notice] Extrémně velká hodnota pro časový limit sestavení okruhu: 122s. Předpokládá se skok hodin. Účel 14 (Měření timeoutu obvodu)
Aug 24 19:47:23.000 [notice] Extrémně velká hodnota pro časový limit sestavení obvodu: 123s. Předpokládáme skok hodin. Účel 14 (Měření časového limitu obvodu)
...
Aug 24 19:47:55.000 [notice] Zdá se, že rychlost vašeho síťového připojení se změnila. Obnovení timeoutu na 60000ms po 18 timeoutech a 1000 buildtime.
Aug 24 19:47:59.000 [notice] Zdá se, že se změnila rychlost vašeho síťového připojení. Obnovení timeoutu na 60000ms po 18 timeoutech a 117 buildtimes.
...
Aug 24 19:52:43.000 [notice] Podivná hodnota pro čas sestavení okruhu: 121581msec. Předpokládáme skok hodin. Účel 14 (Měření timeoutu obvodu)
Aug 24 19:52:43.000 [notice] Zdá se, že se změnila rychlost vašeho síťového připojení. Obnovení timeoutu na 120000ms po 18 timeoutech a 57 časech sestavení.
Aug 24 19:52:53.000 [notice] Přerušení: čisté ukončení.
4. Co bylo vyzkoušeno k vyřešení problému?
- Založili jsme zcela nový server od nuly, na kterém běží pouze základní OS i tor a vanguardy ve standardní konfiguraci, abychom vyloučili možnost chybné konfigurace na našem postiženém serveru. Jakmile byl tor spuštěn s napadeným deskriptorem, děje se přesně totéž.
- V tomto nastavení jsme se pokusili rozdělit zátěž na našem serveru pomocí OnionBalance:
Server1: Spouští Onionbalance pro primární skrytý deskriptor služby
Server2/3/4: Spustí skrytou službu na nové a jiné deskriptory skryté služby.
- Tím se původní Skrytý deskriptor služby neoživí.
- Deskriptory služeb na serverech 2/3/4 jsou při přímém otevření dosažitelné, ale ne prostřednictvím nyní vyváženého primárního deskriptoru
- Procesor na serverech 2/3/4 přejde na 100 %, dokud probíhá útok, zatímco procesor na serveru 1 (balancer) zůstává normální
- Přidání dalších backendových serverů k balanceru také nepřineslo změnu
- Přidali jsme tyto směrnice do bloku skrytých služeb v torrc a vyzkoušeli na nich různá nastavení:
HiddenServiceEnableIntroDoSDefense 1
HiddenServiceEnableIntroDoSBurstPerSec <zkoušeno s různými hodnotami>
HiddenServiceEnableIntroDoSRatePerSec <zkoušeno s různými hodnotami>
Tím se výrazně snížilo zatížení CPU na serverech 2/3/4, ale deskriptor vyvážené služby zůstává nedosažitelný.
- Zkoušeli jsme měnit různá nastavení v souboru vanguards.conf, ale bez úspěchu.
- Zkoušeli jsme identifikovat útočící pakety tcp a nechat je blokovat pomocí iptables, bez úspěchu.
Naše odborné znalosti nejsou dostatečné, abychom si mohli udělat představu o tom, co se přesně děje, kontrolou obsahu zmíněných paketů tcp, které vypadají takto:
19:45:27.839934 IP (tos 0x0, ttl 64, id 35746, offset 0, flags [DF], proto TCP (6), length 4100)
127.0.0.1.9051 > 127.0.0.1.46712: příznaky [P.], cksum 0x0df9 (nesprávný -> 0xe713), seq 1543428574:1543432622, ack 1711981309, win 512, options [nop,nop,TS val 2971851406 ecr 2971851369], délka 4048
E.....@[email protected]........#[.x[...f
.............
."...".i650 CIRC 9802 EXTENDED $2BCA0A8B5759DBD764BF9FA5D1B3AEE9D74D2B68~Waeswynn,$CED577F091DCB15AD8C87FBD452A51EA9E60BFC2~strayWires,$CC8B218ED3615827A5DCF008FC62598DEF533B4F~mikrogravitation02,$7B46F20449D6F25150E189428B62E1E3BA5848A9~galtlandeu,$BF93594384A02DE7689C4FD821E2638DA2CD4792~labaliseridicule BUILD_FLAGS=IS_INTERNAL,NEED_CAPACITY PURPOSE=HS_SERVICE_REND HS_STATE=HSSR_CONNECTING REND_QUERY=|---------(attacked hidden service descriptor)---------| TIME_CREATED=2022-08-24T19:45:22.060324
650 CIRC 9802 BUILT $2BCA0A8B5759DBD764BF9FA5D1B3AEE9D74D2B68~Waeswynn,$CED577F091DCB15AD8C87FBD452A51EA9E60BFC2~strayWires,$CC8B218ED3615827A5DCF008FC62598DEF533B4F~mikrogravitation02,$7B46F20449D6F25150E189428B62E1E3BA5848A9~galtlandeu,$BF93594384A02DE7689C4FD821E2638DA2CD4792~labaliseridicule BUILD_FLAGS=IS_INTERNAL,NEED_CAPACITY PURPOSE=HS_SERVICE_REND HS_STATE=HSSR_CONNECTING REND_QUERY=|---------(attacked hidden service descriptor)---------| TIME_CREATED=2022-08-24T19:45:22.060324
650 CIRC_MINOR 9802 PURPOSE_CHANGED $2BCA0A8B5759DBD764BF9FA5D1B3AEE9D74D2B68~Waeswynn,$CED577F091DCB15AD8C87FBD452A51EA9E60BFC2~strayWires,$CC8B218ED3615827A5DCF008FC62598DEF533B4F~mikrogravitation02,$7B46F20449D6F25150E189428B62E1E3BA5848A9~galtlandeu,$BF93594384A02DE7689C4FD821E2638DA2CD4792~labaliseridicule BUILD_FLAGS=IS_INTERNAL,NEED_CAPACITY PURPOSE=HS_SERVICE_REND HS_STATE=HSSR_JOINED REND_QUERY=|---------(napadl skrytý deskriptor služby)---------| TIME_CREATED=2022-08-24T19:45:22.060324 OLD_PURPOSE=HS_SERVICE_REND OLD_HS_STATE=HSSR_CONNECTING
650 CIRC 9818 EXTENDED $2BCA0A8B5759DBD764BF9FA5D1B3AEE9D74D2B68~Waeswynn,$CED577F091DCB15AD8C87FBD452A51EA9E60BFC2~strayWires,$CC8B218ED3615827A5DCF008FC62598DEF533B4F~mikrogravitation02,$7A319C431F38CB30A0BC0C49144369A611920725~BahnhufPowah2,$8587A1B4CCD0700F164CCD588F79743C74FE8700~mev4PLicebeer16b BUILD_FLAGS=IS_INTERNAL,NEED_CAPACITY PURPOSE=HS_SERVICE_REND HS_STATE=HSSR_CONNECTING REND_QUERY=|---------(attacked hidden service descriptor)---------| TIME_CREATED=2022-08-24T19:45:22.493699
650 CIRC 9818 BUILT $2BCA0A8B5759DBD764BF9FA5D1B3AEE9D74D2B68~Waeswynn,$CED577F091DCB15AD8C87FBD452A51EA9E60BFC2~strayWires,$CC8B218ED3615827A5DCF008FC62598DEF533B4F~mikrogravitation02,$7A319C431F38CB30A0BC0C49144369A611920725~BahnhufPowah2,$8587A1B4CCD0700F164CCD588F79743C74FE8700~mev4PLicebeer16b BUILD_FLAGS=IS_INTERNAL,NEED_CAPACITY PURPOSE=HS_SERVICE_REND HS_STATE=HSSR_CONNECTING REND_QUERY=|---------(attacked hidden service descriptor)---------| TIME_CREATED=2022-08-24T19:45:22.493699
650 CIRC_MINOR 9818 PURPOSE_CHANGED $2BCA0A8B5759DBD764BF9FA5D1B3AEE9D74D2B68~Waeswynn,$CED577F091DCB15AD8C87FBD452A51EA9E60BFC2~strayWires,$CC8B218ED3615827A5DCF008FC62598DEF533B4F~mikrogravitation02,$7A319C431F38CB30A0BC0C49144369A611920725~BahnhufPowah2,$8587A1B4CCD0700F164CCD588F79743C74FE8700~mev4PLicebeer16b BUILD_FLAGS=IS_INTERNAL,NEED_CAPACITY PURPOSE=HS_SERVICE_REND HS_STATE=HSSR_JOINED REND_QUERY=|---------(napadl skrytý deskriptor služby)---------| TIME_CREATED=2022-08-24T19:45:22.493699 OLD_PURPOSE=HS_SERVICE_REND OLD_HS_STATE=HSSR_CONNECTING
650 CIRC 9997 EXTENDED $2BCA0A8B5759DBD764BF9FA5D1B3AEE9D74D2B68~Waeswynn,$8D896C8B367813030591A00DB7E7722EF6C4C23C~Luxembourg,$FF353F5D011E69ECDA10A57B46D06BC7B3FEB196~fuego,$347253D1D5246CB1C4CF8088C6982FE77CF7AB9C~ph3x,$E84F41FA1D1FA303FD7A99A35E50ACEF4269868C~Quetzalcoatl BUILD_FLAGS=IS_INTERNAL,NEED_CAPACITY PURPOSE=HS_SERVICE_REND HS_STATE=HSSR_CONNECTING REND_QUERY=|---------(napadl skrytý deskriptor služby)---------| TIME_CREATED=2022-08-24T19:45:25.100429
650 CIRC 9997 BUILT $2BCA0A8B5759DBD764BF9FA5D1B3AEE9D74D2B68~Waeswynn,$8D896C8B367813030591A00DB7E7722EF6C4C23C~Luxembourg,$FF353F5D011E69ECDA10A57B46D06BC7B3FEB196~fuego,$347253D1D5246CB1C4CF8088C6982FE77CF7AB9C~ph3x,$E84F41FA1D1FA303FD7A99A35E50ACEF4269868C~Quetzalcoatl BUILD_FLAGS=IS_INTERNAL,NEED_CAPACITY PURPOSE=HS_SERVICE_REND HS_STATE=HSSR_CONNECTING REND_QUERY=|---------(napadl skrytý deskriptor služby)---------| TIME_CREATED=2022-08-24T19:45:25.10
Toto je s Tor spuštěným na jednom serveru. Při vyvážení je |---------(attacked hidden service descriptor)---------| nahrazen deskriptory služeb backendů serverů 2/3/4.
V případě potřeby můžeme dát k dispozici větší fragment tcpdump.
5. Závěry
Domníváme se, že protivník má možnost "přerušit" deskriptor skryté služby (a tedy i samotnou skrytou službu) tím, že zaplaví démona Tor nespočtem paketů tcp se žádostí o sestavení obvodů. To způsobuje zatížení procesoru a v konečném důsledku znemožňuje použití Deskriptoru skryté služby.
Může to někdo potvrdit?
Vzhledem k tomu, že směrnice jako zmíněné HiddenServiceEnableIntroDoSDefense, HiddenServiceEnableIntroDoSBurstPerSec a HiddenServiceEnableIntroDoSRatePerSec jsou zřejmě určeny k obraně před tímto druhem útoků, stejně jako by měly být obranou i avantgardy, nedokážeme si vysvětlit, proč tyto zůstávají neúčinné. Možná je nutné nějaké velmi specializované nastavení těchto hodnot, aby byly účinné. Bohužel jsou tyto směrnice (stejně jako nastavení v souboru vanguards.config) popsány pouze vágně.
Ví někdo, jak musí být správně nastaveny, aby byly účinné?
V tuto chvíli jsme vyčerpali všechny odkazy na tor a konfiguraci vanguards, které jsme našli na internetu.
Opět bychom uvítali jakoukoli pomoc nebo informace k tomuto problému! Nevěříme, že by to nemělo řešení.
Last edited: