Това е сигнал за помощ при атака срещу скрита услуга на Tor

Lucifer

Don't buy from me
Resident
Joined
Apr 19, 2022
Messages
24
Reaction score
19
Points
3
Благодарим ви, че отделихте време да прочетете това! Ние не сме експерти в областта на Tor networking, но знаем как да се ориентираме.

Ако нещо от описаното тук има смисъл за вас и/или имате подозрение за това, което се случва, всякакъв вид обратна връзка е изключително ценна!


1. Какво се случва?

Услугата ни работеше добре и стабилно в продължение на дълго време. Изведнъж услугата ни изпита леки, а след това сериозни проблеми с производителността в началото, а след това стана напълно недостъпна.

Изглежда, че това не е "обикновена" DDoS атака. Изглежда, че е DoS атака, но не като всичко известно, тъй като изглежда е атака само срещу демона Tor. Всички контрамерки, които опитахме досега, не бяха успешни. Не се забелязва атака върху реално работещите услуги (http, ssh, ftp, поща и т.н.), а само върху самата Tor връзка.

Дори и да е трудно, направихме задълбочено проучване и разследване, събитието изглежда е извън нашето разбиране. Документации за предишни атаки срещу скритите услуги на Tor се намират рядко и нямат смисъл от това, което изпитваме.

Отказваме да повярваме, че съществува сценарий за атака, който е неизвестен и не може да бъде противодействан, тъй като това би направило всяка една скрита услуга Tor уязвима за нея, като противниците биха могли да изключат всяка скрита услуга Tor по желание в рамките на минути за неопределено време. Въздействието върху общността на Tor би било извън рамките на възможното.

Надяваме се, че някой, който има необходимите познания и опит, може поне да ни подскаже какво точно се случва и да ни насочи в правилната посока към намиране на решение за прекратяване на тази атака или намаляване на нейното въздействие върху нашите системи и за предотвратяване на подобни атаки в бъдеще. Това би помогнало да се защитят Tor Hidden Services по целия свят от бъдещи атаки като тази, която преживяваме.


2. Каква е настройката?

- Системата работи на актуален и винаги актуализиран сървър с операционна система Linux (amd64)
- Целият трафик се пренасочва през Tor чрез Tor transport на порт 9040, DNS заявките също се разрешават през Tor
- Скритата услуга на Tor е версия 3
- Tor е версия 0.4.7.8, работеща с Libevent 2.1.12-stable, OpenSSL 1.1.1n, Zlib 1.2.11, Liblzma 5.2.5, Libzstd 1.4.8 и Glibc 2.31 като libc
- Tor, компилирана с GCC версия 10.2.1. Инсталиран е и Vanguards 0.3.1
- Tor се стартира като услуга на systemd
- Vanguards работи като systemd услуга

Конфигурация на 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. Какви са симптомите?

- По-малко от минута след стартиране на Tor с активирана скрита услуга процесорът достига 100%, паметта изглежда незасегната
- Използваната честотна лента се увеличава с около 100 kb/s
- Дескрипторът на скритата услуга е недостъпен
- Системата все още може да разрешава адресите на Clearnet и Tor
- Системата все още може да се свързва с изходящи услуги (напр. curl към уебсайт)
- Системата се наводнява с входящи tcp пакети на интерфейса loopback
- Когато Tor се рестартира, потокът се прекратява за няколко секунди, след което започва отново

- Когато Tor се стартира без активирана скрита услуга, изглежда, че няма проблем.
- Когато Tor се стартира с активирана втора скрита услуга, и двата дескриптора на скритата услуга остават недостъпни:

Tor Browser на основния HS:
Onionsite е прекъснал връзката
Най-вероятната причина е, че onionsite е офлайн. Свържете се с администратора на onionsite.
Подробности: 0xF2 - Въвеждането се е провалило, което означава, че дескрипторът е намерен, но услугата вече не е свързана с точката на въвеждане. Вероятно е услугата да е променила дескриптора си или да не е стартирана.
или
Връзката е прекъснала
Сървърът на адрес (атакуван скрит дескриптор на услугата).onion се нуждае от твърде много време, за да отговори.
Възможно е сайтът да е временно недостъпен или да е твърде натоварен. Опитайте отново след няколко минути.

Tor Browser на Seconday HS:
Не може да се свърже
Firefox не може да установи връзка със сървъра на адрес (secondary hidden service descriptor).onion
Сайтът може да е временно недостъпен или твърде зает. Опитайте отново след няколко минути.

- Когато Tor е стартиран с активирана втора скрита услуга, която е защитена от OnionAuthentication, основният скрит дескриптор на услугата остава недостъпен,
вторият (защитен) скрит дескриптор на услугата е достъпен.

- Когато Tor се стартира само с активирана втора скрита услуга (със или без OnionAuthentication), изглежда няма проблем.

- Когато Tor се стартира с основната скрита услуга, защитена с OnionAuthentication, дескрипторът на скритата услуга е достъпен

- При атака тези записи се появяват в регистрационния файл на Tor:

Aug 24 19:42:18.000 [notice] Bootstrapped 100% (done): Готово
Aug 24 19:42:34.000 [notice] Скоростта на мрежовата ви връзка изглежда се е променила. Нулиране на таймаута на 60000ms след 18 таймаута и 388 buildtimes.
Aug 24 19:42:39.000 [notice] Скоростта на мрежовата ви връзка изглежда се е променила. Нулиране на таймаут на 60000ms след 18 таймаута и 240 buildtimes.
Aug 24 19:42:53.000 [notice] Скоростта на мрежовата ви връзка изглежда се е променила. Нулиране на таймаут на 60000ms след 18 таймаута и 489 buildtimes.
Aug 24 19:43:11.000 [notice] Скоростта на мрежовата ви връзка изглежда се е променила. Нулиране на времетраенето на 60000ms след 18 времетраения и 659 времена на изграждане.
...
Aug 24 19:46:09.000 [notice] Изключително голяма стойност за времетраенето за изграждане на веригата: 122s. Предполага се скок на часовника. Цел 14 (Измерване на времетраенето на веригата)
Aug 24 19:46:09.000 [notice] Extremely large value for circuit build timeout: 122s. Предполага се скок на часовника. Цел 14 (Измерване на времетраенето на веригата)
Aug 24 19:46:09.000 [notice] Скоростта на мрежовата ви връзка изглежда се е променила. Нулиране на времетраенето на 60000ms след 18 времетраения и 114 времена за изграждане.
Aug 24 19:46:15.000 [notice] Скоростта на мрежовата ви връзка изглежда се е променила. Нулиране на таймаут на 60000ms след 18 таймаута и 125 buildtimes.
...
Aug 24 19:47:08.000 [notice] Изключително голяма стойност за времетраенето за изграждане на веригата: 123s. Предполага се скок на часовника. Цел 14 (Измерване на времетраенето на веригата)
Aug 24 19:47:10.000 [notice] Extremely large value for circuit build timeout: 122s. Предполага се скок на часовника. Цел 14 (Измерване на времетраенето на веригата)
Aug 24 19:47:10.000 [notice] Extremely large value for circuit build timeout: 122: 123s. Предполага се скок на часовника. Цел 14 (Измерване на времетраенето на веригата)
Aug 24 19:47:13.000 [notice] Extremely large value for circuit build timeout: 123s. Предполага се скок на часовника. Цел 14 (Измерване на времетраенето на веригата)
Aug 24 19:47:14.000 [notice] Скоростта на мрежовата ви връзка изглежда се е променила. Нулиране на времетраенето на 60000ms след 18 времетраения и 495 времена за изграждане.
Aug 24 19:47:18.000 [notice] Скоростта на мрежовата ви връзка изглежда се е променила. Нулиране на таймаут на 60000ms след 18 таймаута и 124 buildtimes.
Aug 24 19:47:21.000 [notice] Изключително голяма стойност за времетраенето за изграждане на веригата: 122s. Предполага се скок на часовника. Цел 14 (Измерване на времетраенето на веригата)
Aug 24 19:47:23.000 [notice] Extremely large value for circuit build timeout: 122: 123s. Предполага се скок на часовника. Цел 14 (Измерване на времетраенето на веригата)
...
Aug 24 19:47:55.000 [notice] Скоростта на мрежовата ви връзка изглежда се е променила. Нулиране на времетраенето на 60000ms след 18 времетраения и 1000 времена на изграждане.
Aug 24 19:47:59.000 [notice] Скоростта на мрежовата ви връзка изглежда се е променила. Нулиране на таймаут на 60000ms след 18 таймаута и 117 buildtimes.
...
Aug 24 19:52:43.000 [notice] Странна стойност за времето за изграждане на веригата: 121581msec. Предполага се скок на часовника. Цел 14 (Измерване на времетраенето на веригата)
Aug 24 19:52:43.000 [notice] Скоростта на мрежовата ви връзка изглежда се е променила. Нулиране на времетраенето на 120000ms след 18 времетраения и 57 времена за изграждане.
Aug 24 19:52:53.000 [notice] Прекъсване: излизане на чисто.


4. Какво беше опитано да се разреши проблемът?

- Създадохме напълно нов сървър от нулата, работещ само с основна операционна система, както и с tor и vanguards в стандартна конфигурация, за да изключим възможността за неправилна конфигурация на нашия засегнат сървър. Веднага след като tor беше стартиран с атакувания дескриптор, се случиха абсолютно същите неща.

- Опитахме се да разделим натоварването на нашия сървър чрез OnionBalance в тази конфигурация:

Сървър1: Изпълнява Onionbalance за основния скрит дескриптор на услугата
Сървър2/3/4: Изпълнява скритата услуга за нови и различни скрити дескриптори на услугата

- Това не води до съживяване на първоначалния скрит дескриптор на услугата
- Дескрипторите на услуги на сървъри 2/3/4 са достъпни при директно отваряне, но не и чрез сега балансирания първичен дескриптор
- Процесорът на сървърите 2/3/4 се увеличава на 100%, докато се извършва атаката, докато процесорът на сървър 1 (балансьор) остава нормален
- Добавянето на повече базови сървъри към балансиращия сървър също не доведе до промяна

- Добавихме тези директиви към блока за скрити услуги в torrc и изпробвахме различни настройки върху тях:

HiddenServiceEnableIntroDoSDefense 1
HiddenServiceEnableIntroDoSBurstPerSec <изпробвано с различни стойности>
HiddenServiceEnableIntroDoSRatePerSec <изпробвано с различни стойности>

Това намали значително натоварването на процесора на сървърите 2/3/4, но дескрипторът на балансираната услуга остава недостъпен.

- Опитахме да променим различни настройки в vanguards.conf, без успех.

- Опитахме да идентифицираме атакуващите tcp пакети и да ги блокираме чрез iptables, без успех.
Експертизата ни не е достатъчна, за да си съставим представи какво точно се случва, като инспектираме съдържанието на споменатите tcp пакети, които изглеждат така:

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: Flags [P.], cksum 0x0df9 (неправилно -> 0xe713), seq 1543428574:1543432622, ack 1711981309, win 512, options [nop,nop,TS val 2971851406 ecr 2971851369], length 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=|---------(атакуван скрит дескриптор на услугата)---------| 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=|---------(атакуван скрит дескриптор на услугата)---------| 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=|---------(атакуван скрит дескриптор на услугата)---------| 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=|---------(атакуван скрит дескриптор на услугата)---------| TIME_CREATED=2022-08-24T19:45:25.10

Това е с Tor, работещ на един сървър. Когато е балансиран, |---------(атакуван скрит дескриптор на услугата)---------| се заменя с дескрипторите на услугите на бекендите на сървъри 2/3/4.

Ако е необходимо, можем да предоставим по-голям фрагмент от tcpdump.


5. Изводи

Смятаме, че противникът има възможност да "прекъсне" скрит дескриптор на услуга (и следователно самата скрита услуга), като наводни демона Tor с безброй tcp пакети, искащи изграждане на вериги. Именно това води до натоварване на процесора и в крайна сметка прави скрития дескриптор на услугата неизползваем.

Може ли някой да потвърди това?

Тъй като директиви като споменатите HiddenServiceEnableIntroDoSDefense, HiddenServiceEnableIntroDoSBurstPerSec и HiddenServiceEnableIntroDoSRatePerSec изглежда са предназначени да защитават от този вид атаки, точно както би трябвало да правят и авангардите, не можем да обясним защо те остават неефективни. Може би са необходими някои много специализирани настройки на тези стойности, за да станат ефективни. За съжаление тези директиви (както и настройките в vanguards.config) са описани само по неясен начин.

Знае ли някой как трябва да се настроят правилно, за да бъдат ефективни?

На този етап изчерпахме всички препратки към tor и конфигурацията на vanguards, които успяхме да намерим онлайн.

Отново, всяка помощ или информация по този въпрос ще бъде много ценна! Не вярваме, че няма решение на този проблем.
 
Last edited:

KokosDreams

Don't buy from me
Resident
Joined
Aug 16, 2022
Messages
912
Solutions
2
Reaction score
594
Points
93
Публикували ли сте това и в криптовалутата? Наистина бих ви го препоръчал, тъй като този форум е насочен предимно към химически теми
 

Oppenheimer

Don't buy from me
New Member
Joined
Aug 31, 2022
Messages
11
Reaction score
6
Points
3
Разполагате ли с по-ранна версия на проекта си, която можете да възстановите?

Винаги създавам изображения на всеки VPS, който използвам за проекти, за да мога да се върна към тях и да отстраня проблеми.

Смятам, че нещо, което е внедрено в системата ви, е повредено и причинява задушаване на процесора. Бих проучил всички потребителски скриптове, които използвате.
 
Top