Toto je tiesňové volanie o pomoc pri útoku na skrytú službu Tor

Lucifer

Don't buy from me
Resident
Joined
Apr 19, 2022
Messages
24
Reaction score
20
Points
3
Ďakujeme, že ste si našli čas na prečítanie tohto dokumentu! Nie sme odborníci na siete Tor, ale vieme sa v nich orientovať.

Ak vám niečo z toho, čo je tu opísané, dáva zmysel a/alebo máte podozrenie, o čo ide, akúkoľvek spätnú väzbu mimoriadne oceníme!


1. Čo sa deje?

Naša služba dlho fungovala v poriadku a stabilne. Zrazu naša služba zaznamenala najprv ľahké, potom vážne problémy s výkonom, potom sa stala úplne nedostupnou.

Zdá sa, že nejde o "bežný" útok DDoS. Zdá sa, že ide o útok DoS, ale nie o nič známe, pretože sa zdá, že ide o útok na samotný démon Tor. Všetky protiopatrenia, ktoré sme doteraz vyskúšali, neboli úspešné. Nie je badateľný útok na skutočne spustené služby (http, ssh, ftp, mail atď.), ale len na samotné pripojenie k Toru.

Aj napriek náročnému skúmaniu a vyšetrovaniu sa zdá, že udalosť je mimo nášho chápania. Dokumentácie o predchádzajúcich útokoch na skryté služby Tor sa dajú nájsť len zriedka a nedávajú zmysel tomu, čo zažívame.

Odmietame veriť, že existuje scenár útoku, ktorý je neznámy a nedá sa mu čeliť, pretože by sa ním stala zraniteľnou každá jedna skrytá služba Tor, pričom protivníci by mohli ľubovoľnú skrytú službu Tor vyradiť z prevádzky v priebehu niekoľkých minút na neurčitý čas. Dopad na komunitu Tor by bol nad rámec.

Dúfame, že nám niekto s potrebnými znalosťami a skúsenosťami aspoň naznačí, o čo presne ide, a nasmeruje nás správnym smerom k nájdeniu riešenia na ukončenie tohto útoku alebo na zníženie jeho vplyvu na naše systémy a na zabránenie takýmto útokom v budúcnosti. Pomohlo by to ochrániť skryté služby Tor na celom svete pred budúcimi útokmi, ako je ten, ktorý zažívame.


2. Aké je nastavenie?

- Systém beží na aktuálnom a vždy aktualizovanom serveri Linux (amd64)
- Všetka prevádzka je smerovaná cez Tor cez Tor transport na porte 9040, DNS dotazy sú tiež riešené cez Tor
- Skrytá služba Tor je v3
- Tor je vo verzii 0.4.7.8 a beží 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 ako libc
- Tor skompilované pomocou GCC verzie 10.2.1. Nainštalovaná je aj verzia Vanguards 0.3.1
- Tor je spustený ako služba systemd
- Vanguards beží ako služba systemd

konfigurácia 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. Aké sú príznaky?

- Po necelej minúte od spustenia Tor so zapnutou skrytou službou sa CPU dostane na 100 %, pamäť sa zdá byť neovplyvnená
- Využitá šírka pásma sa zvyšuje približne o 100 kb/s
- Deskriptor skrytej služby je nedostupný
- Systém stále dokáže rozlíšiť adresy Clearnet a Tor
- Systém sa stále dokáže pripojiť k odchádzajúcim službám (napr. curl na webovú stránku)
- Systém je zaplavovaný prichádzajúcimi paketmi tcp na rozhraní loopback
- Po reštartovaní Tor sa zaplavenie na niekoľko sekúnd ukončí a potom sa opäť spustí

- Keď je Tor spustený bez zapnutej skrytej služby, zdá sa, že problém nenastáva
- Keď sa Tor spustí s druhou povolenou skrytou službou, oba deskriptory skrytej služby zostanú nedostupné:

Tor Browser na primárnom HS:
Onionsite sa odpojil
Najpravdepodobnejšou príčinou je, že stránka Onionsite je offline. Kontaktujte správcu stránky onionsite.
Podrobnosti: 0xF2 - Zavedenie sa nepodarilo, čo znamená, že deskriptor bol nájdený, ale služba už nie je pripojená k bodu zavedenia. Je pravdepodobné, že služba zmenila svoj deskriptor alebo že nie je spustená.
alebo
Spojenie sa časovo prerušilo
Serveru na adrese (napadnutý skrytý deskriptor služby).onion trvá príliš dlho, kým odpovie.
Stránka môže byť dočasne nedostupná alebo príliš vyťažená. Skúste to o niekoľko okamihov zopakovať.

Prehliadač Tor na Seconday HS:
Nie je možné sa pripojiť
Firefox nemôže nadviazať spojenie so serverom na adrese (secondary hidden service descriptor).onion
Stránka môže byť dočasne nedostupná alebo príliš zaneprázdnená. Skúste to znova za niekoľko okamihov.

- Keď je Tor spustený so zapnutou druhou skrytou službou, ktorá je chránená funkciou OnionAuthentication, primárny deskriptor skrytej služby zostáva nedostupný,
druhý (chránený) deskriptor skrytej služby je dosiahnuteľný.

- Keď je Tor spustený len s druhou povolenou skrytou službou (s OnionAuthentication alebo bez nej), zdá sa, že nie je žiadny problém

- Keď je Tor spustený s primárnou skrytou službou chránenou pomocou OnionAuthentication, deskriptor skrytej služby je dosiahnuteľný

- Pri útoku sa v súbore denníka Tor objavia tieto záznamy:

Aug 24 19:42:18.000 [notice] Bootstrapped 100% (done): Hotovo
Aug 24 19:42:34.000 [notice] Zdá sa, že rýchlosť vášho sieťového pripojenia sa zmenila. Obnovenie timeoutu na 60000ms po 18 timeoutoch a 388 buildtime.
Aug 24 19:42:39.000 [notice] Zdá sa, že rýchlosť vášho sieťového pripojenia sa zmenila. Obnovenie timeoutu na 60000ms po 18 timeoutoch a 240 buildtime.
Aug 24 19:42:53.000 [notice] Zdá sa, že rýchlosť vášho sieťového pripojenia sa zmenila. Obnovenie timeoutu na 60000ms po 18 timeoutoch a 489 buildtime.
Aug 24 19:43:11.000 [notice] Zdá sa, že rýchlosť vášho sieťového pripojenia sa zmenila. Obnovenie timeoutu na 60000ms po 18 timeoutoch a 659 buildtime.
...
Aug 24 19:46:09.000 [notice] Extrémne veľká hodnota pre časový limit zostavenia okruhu: 122s. Predpokladá sa skok hodín. Účel 14 (Meranie časového limitu obvodu)
Aug 24 19:46:09.000 [notice] Extrémne veľká hodnota pre časový limit zostavenia obvodu: 122s. Predpokladá sa skok hodín. Účel 14 (Meranie časového limitu obvodu)
Aug 24 19:46:09.000 [notice] Zdá sa, že rýchlosť vášho sieťového pripojenia sa zmenila. Obnovenie časového limitu na 60000ms po 18 časových limitoch a 114 časoch zostavenia.
Aug 24 19:46:15.000 [notice] Zdá sa, že rýchlosť vášho sieťového pripojenia sa zmenila. Obnovenie timeoutu na 60000ms po 18 timeoutoch a 125 buildtime.
...
Aug 24 19:47:08.000 [notice] Extrémne veľká hodnota pre časový limit zostavenia okruhu: 123s. Predpokladá sa skok hodín. Účel 14 (Meranie časového limitu obvodu)
Aug 24 19:47:10.000 [notice] Extrémne veľká hodnota pre časový limit zostavenia obvodu: 122s. Predpokladá sa skok hodín. Účel 14 (Meranie časového limitu obvodu)
Aug 24 19:47:10.000 [notice] Extrémne veľká hodnota pre časový limit zostavenia obvodu: 123s. Predpokladá sa skok hodín. Účel 14 (Meranie časového limitu obvodu)
Aug 24 19:47:13.000 [notice] Extrémne veľká hodnota pre časový limit zostavenia obvodu: 123s. Predpokladá sa skok hodín. Účel 14 (Meranie časového limitu obvodu)
Aug 24 19:47:14.000 [notice] Zdá sa, že rýchlosť vášho sieťového pripojenia sa zmenila. Obnovenie časového limitu na 60000ms po 18 časových limitoch a 495 časoch zostavenia.
Aug 24 19:47:18.000 [notice] Zdá sa, že rýchlosť vášho sieťového pripojenia sa zmenila. Obnovenie timeoutu na 60000ms po 18 timeoutoch a 124 buildtime.
Aug 24 19:47:21.000 [notice] Extrémne veľká hodnota pre časový limit zostavenia okruhu: 122s. Predpokladá sa skok hodín. Účel 14 (Meranie časového limitu obvodu)
Aug 24 19:47:23.000 [notice] Extrémne veľká hodnota pre časový limit zostavenia obvodu: 123s. Predpokladá sa skok hodín. Účel 14 (Meranie časového limitu obvodu)
...
Aug 24 19:47:55.000 [notice] Zdá sa, že rýchlosť vášho sieťového pripojenia sa zmenila. Obnovenie časového limitu na 60000ms po 18 časových limitoch a 1000 buildtime.
Aug 24 19:47:59.000 [notice] Zdá sa, že rýchlosť vášho sieťového pripojenia sa zmenila. Obnovenie timeoutu na 60000ms po 18 timeoutoch a 117 buildtime.
...
Aug 24 19:52:43.000 [notice] Podivná hodnota pre čas zostavenia okruhu: 121581msec. Predpokladá sa skok hodín. Účel 14 (Meranie časového limitu obvodu)
Aug 24 19:52:43.000 [notice] Zdá sa, že rýchlosť vášho sieťového pripojenia sa zmenila. Obnovenie časového limitu na hodnotu 120000ms po 18 časových limitoch a 57 časoch zostavenia.
Aug 24 19:52:53.000 [notice] Prerušenie: čisté ukončenie.


4. Čo bolo vyskúšané na vyriešenie problému?

- Nastavili sme úplne nový server od začiatku, na ktorom beží len základný OS, ako aj tor a vanguardy v štandardnej konfigurácii, aby sme vylúčili možnosť nesprávnej konfigurácie na našom postihnutom serveri. Akonáhle bol tor spustený s napadnutým deskriptorom, dejú sa presne tie isté veci.

- V tejto konfigurácii sme sa pokúsili rozdeliť záťaž na našom serveri prostredníctvom OnionBalance:

Server1: Spustí Onionbalance pre primárny skrytý deskriptor služby
Server2/3/4: Spúšťa skrytú službu na nových a iných deskriptoroch skrytej služby

- Tým sa pôvodný deskriptor skrytej služby nevráti do života
- Deskriptory služieb na serveroch 2/3/4 sú dosiahnuteľné pri priamom otvorení, ale nie prostredníctvom teraz vyváženého primárneho deskriptora
- Procesor na serveroch 2/3/4 ide na 100 %, kým prebieha útok, zatiaľ čo procesor na serveri 1 (balancer) zostáva normálny
- Ani pridanie ďalších backendových serverov k balancéru neprinieslo zmenu

- Tieto smernice sme pridali do bloku skrytých služieb v torrc a vyskúšali sme na nich rôzne nastavenia:

HiddenServiceEnableIntroDoSDefense 1
HiddenServiceEnableIntroDoSBurstPerSec <skúšané s rôznymi hodnotami>
HiddenServiceEnableIntroDoSRatePerSec <skúšané s rôznymi hodnotami>

Tým sa výrazne znížilo zaťaženie CPU na serveroch 2/3/4, ale deskriptor vyváženej služby zostáva nedosiahnuteľný.

- Skúšali sme zmeniť rôzne nastavenia v súbore vanguards.conf, bez úspechu.

- Skúšali sme identifikovať útočiace pakety tcp a nechať ich blokovať cez iptables, bez úspechu.
Naše odborné znalosti nie sú dostatočné na to, aby sme si mohli vytvoriť predstavu o tom, čo sa presne deje, preskúmaním obsahu uvedených paketov tcp, ktoré vyzerajú 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: príznaky [P.], cksum 0x0df9 (nesprávne -> 0xe713), seq 1543428574:1543432622, ack 1711981309, win 512, options [nop,nop,TS val 2971851406 ecr 2971851369], dĺžka 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=|---------(napadol 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=|---------(napadol 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=|---------(napadol 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=|---------(napadol skrytý deskriptor služby)---------| TIME_CREATED=2022-08-24T19:45:25.10

Toto je s Tor spusteným na jednom serveri. Pri vyvážení je |---------(napadnutý skrytý deskriptor služby)---------| nahradený deskriptormi služieb backendov serverov 2/3/4.

V prípade potreby môžeme sprístupniť väčší úryvok tcpdump.


5. Závery

Domnievame sa, že protivník má možnosť "prerušiť" deskriptor skrytej služby (a teda aj samotnú skrytú službu) tým, že zaplavuje démona Tor nespočetnými paketmi tcp so žiadosťou o vytvorenie okruhov. Práve to spôsobuje zaťaženie procesora a v konečnom dôsledku spôsobuje nepoužiteľnosť Deskriptora skrytej služby.

Môže to niekto potvrdiť?

Keďže smernice ako spomínané HiddenServiceEnableIntroDoSDefense, HiddenServiceEnableIntroDoSBurstPerSec a HiddenServiceEnableIntroDoSRatePerSec sa zdajú byť určené na obranu proti tomuto druhu útokov, rovnako ako by sa mali brániť aj avantgardy, nevieme si vysvetliť, prečo tieto zostávajú neúčinné. Možno sú potrebné nejaké veľmi špecializované nastavenia týchto hodnôt, aby boli účinné. Bohužiaľ, tieto smernice (ako aj nastavenia v súbore vanguards.config) sú popísané len vágne.

Vie niekto, ako musia byť správne nastavené, aby boli účinné?

V tejto chvíli sme vyčerpali všetky odkazy na tor a konfiguráciu vanguards, ktoré sme mohli nájsť na internete.

Opäť by sme ocenili akúkoľvek pomoc alebo informácie o tomto probléme! Neveríme, že na to neexistuje žiadne riešenie.
 
Last edited:

KokosDreams

Don't buy from me
Resident
Joined
Aug 16, 2022
Messages
912
Solutions
2
Reaction score
600
Points
93
Uverejnili ste to aj na cryptbb? Naozaj by som to odporúčal, keďže toto fórum je zamerané najmä na chemické témy
 

Oppenheimer

Don't buy from me
New Member
Joined
Aug 31, 2022
Messages
11
Reaction score
6
Points
3
Máte k dispozícii skoršiu verziu projektu, ktorú môžete obnoviť?

Vždy si vytváram obrazy všetkých VPS, ktoré používam pre projekty, aby som sa k nim mohol vrátiť a riešiť problémy.

Domnievam sa, že niečo, čo je nasadené vo vašom systéme, je poškodené a spôsobuje škrtenie procesora. Preskúmal by som všetky vlastné skripty, ktoré používate.
 
Top