Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
PRISM: dwukrotnie więcej użytkowników Tora [Aktualizacja]
Liczba użytkowników sieci Tor wzrosła w ostatnim czasie dwukrotnie! Jest to najwyraźniej efekt niedawnego upublicznienia informacji o programach masowej inwigilacji internautów.
Dane dostępne w portalu Tor Metrics nie pozostawiają żadnych wątpliwości. Po upublicznieniu informacji o programach takich jak PRISM i XKeyscore, liczba użytkowników Tora zaczęła gwałtownie rosnąć.
Przypominamy, że wygodnym i bezpiecznym sposobem na skorzystanie z dobrodziejstw Tora są dedykowane systemy operacyjne, takie jak:
[Aktualizacja]
Na gwałtowny wzrost liczby użytkowników Tora mogła również mieć wpływ premiera PirateBrowsera. Oczywiście możliwe również, że ktoś rozpoczął w tym czasie eksperymenty z siecią Tor zakrojone na szeroką skalę…
— WS
Na serio myślicie że to ma związek z PRISM? Czy tylko tak, rozpędu? :)
Adam,
W aktualizacji dodałem jeszcze kilka innych hipotez ;). Faktycznie patrząc dokładnie na daty, w stosunku do samego PRISMa jest małe opóźnienie.
TOR nigdy nie osiągnie sukcesu gdyż:
1. jest niestabilny
2. jest powolny
Idealnie sprawdza się, jako stała wymiana danych, ale wystarczy, że strona ma powyżej 400kb i jej ładowanie się, to istna katorga, nie mówiąc już o jej przeglądaniu w tym wliczając media takie jak zdjęcia, gify czy filmy.
Gdyby ktoś w organizacji TORa miał mózg, to zamiast tunelowania liniowego, stworzył by tunelowanie o topologii gwiazdy. Każdy zestaw pakietów można dowolnie dzielić, przecież ich przesył również nie jest ograniczony.
Proste obliczenie. Mamy pakiet wielkości 400KB, TOR standardowo ustawia po 8 węzłów, średnia prędkość TORa to 15KBs.
No więc wysyłamy (my komputer A, docelowy kompuer B, węzły pochodne X):
A(400KB:szerokość pasma nieustalona, więc wysyłamy z prędkością nieustaloną) -> X1 (15KBs:400/15/2 = 13s) -> X1 (15KBs:400/15/2 = 13s) -> X2 (15KBs:400/15/2 = 13s) -> X3 (15KBs:400/15/2 = 13s) -> X4 (15KBs:400/15/2 = 13s) -> X5 (15KBs:400/15/2 = 13s) -> X6 (15KBs:400/15/2 = 13s) -> X7 (15KBs:400/15/2 = 13s) -> X8 (15KBs:400/15/2 = 13s) -> B (15KBs:400/15/2 = 13s – prędkość ograniczona poprzedzającym węzłem).
Oczywiście to obliczenie jest bardzo, ale bardzo uproszczone, wiadomo że węzły mają przykładowo większe pasmo wejścia i węższe wyjścia, bo działamy na polu łącz asymetrycznych.
Wszystkie wartości wyżej, są podzielone przez dwa dlatego, że w momencie otrzymania danych przez węzeł, natychmiast pakiet wysyłany jest do następnego węzła, jednak transmisja nie może być szybka jak 1:1. 13sx9 = 108s. Tyle będzie trwało pełne przesłanie pakietu wielkości 400KB (kilobajty) przez wszystkie węzły z komputera A do komputera B. Oczywiście, jest to wartość pozorna, bo pomijam tutaj czasy odpowiedzi poszczególnych węzłów. Dodatkowo wystarczy, że jakikolwiek z węzłów zamknie połączenie i cała transmisja leży.
Topologia rozszerzonej gwiazdy jest lepsza moim zdaniem do takich zadań, jakie wyznaczył sobie TOR. Na czym to polega?
Komputer A chce wysłać pakiet 400KB do komputera B. Dzieli pakiet, na dwie równe części – po 200KB. Łączy się z dwoma, niezależnymi węzłami X oraz C. Średnia prędkość na węźle wynosi 15KBs. Z kolei X znowu dzieli pakiet na dwie części i wysyła pakiety do dwóch niezależnych węzłów Zx1 oraz Zx2, tak samo robi węzeł C, wysyłając pakiety do węzłów Zc1 i Zc2. Sytuacja powtarza się jeszcze raz. W dowolnej sprecyzowanej przez użytkownika liczbie ciągu geometrycznego 2^n. Załóżmy, że my apogeum ustalamy na 3 (2^3). Pojawiają się zatem jeszcze jedna linia węzłów: Zx1 -> Yzx1, Yzx2 ; Zx2 -> Wzx1, Wzx2 ; Zc1 -> Mzc1, Mzc2 ; Zc2 -> Rzc1, Rzc2.
Waga pakietu przy 2^3 będzie wynosiła 400/2/2/2 = 50KB (w węźle np. Mzc2 znajduje się pakiet 50KB) – łatwo też zauważyć, że przy 2^4, będzie to /2/2/2/2 a przy 2^9 /2/2/2/2/2/2/2/2/2.
Teraz przejście mniejszych pakietów, przy takich samych łączach – będzie relatywnie szybsze.
Z A -> XC (200:15:2 = 6s) -> Zx1Zx2;Zc1Zc2 (100:15:2 = 3s) -> Yzx1Yzx2;Wzx1Wzx2;Mzc1Mzc2;Rzc1Rzc2 -> (50:15:2 = 1.6s) -> B.
6 + 3 + 1.6 = 10.6s. Zauważamy kilka rzeczy:
1. Prędkość przesyłu pakietu w takiej sieci jest 10x szybsza, przy założeniu ciągu geometrycznego 2^n, gdzie n=3
2. Czasy przesyłu na każdym węźle są dwukrotnie mniejsze, niż w węźle poprzednim
3. Każdy pakiet, będzie miał inny IP nadawcy (co wynika z samego założenia tunelowania), więc komputer B otrzyma pakiety z aż 8 różnych IP. Oznacza to, że ustalenie węzłów w ciągu jest utrudnione ośmiokrotnie przy EXIT-NODE’ach, najwrażliwszej na szpiegostwo części TORa
4. Przy tak niskich czasach i obciążeniach, komputer B może wysłać pakiety zwrotne do komputera A używając odrębnej sieci węzłowej
5. Można tworzyć węzły przeznaczone do konkretnych węzłów w ciągu (czym jest węzeł? komputerem-routerem, przekazującym otrzymane pakiety gdzieś indziej, z reguły ma przepustowość ok. 100mB/s, ale obsługuje wiele połączeń jednocześnie, ustalając maksymalną przepustowość dla jednego połączenia), co oznacz tyle, że dany komputer może być przeznaczony do obsługi tylko przykładowo 3 węzłów w ciągu 2^3, co za tym idzie będzie operował na jak najmniejszych pakietach – co zwiększy jego wydajność
6. Pakiety przesyłają się również ze stratami, więc jeżeli wystąpią problemy, wypieprzy się tylko część transmisji, a nie cała transmisja
7. Można szybko wznawiać transmisję
8. Można szybko zastępować konkretne węzły innymi węzłami, w przypadku przerwania połączenia, co gwarantuje zdecydowanie większą stabilność, a do obsługi wszelkich działań wystarczy dobry software
Sieć taka ma tylko jeden problem – jest BARDZO podatna na DDoSy. Można ją dosłownie zalać zapytaniami, zacząć przesyłać miliony plików w sekundę do dwóch komputerów stojących w tym samym pokoju i tak zalać sieć, ale to też można ograniczyć, software przykładowo może ograniczyć połączenia z jednego węzła do maksymalnie dwóch wychodzących tuneli i nałożyć maksymalne ograniczenia ciągu do np. 2^6. Wtedy jedyny minus sieci, ograniczy się do „cholera, czemu mogę przeglądać tylko jedną stronę w tym samym momencie?!” :))
Tyle pomysłów, takie ambicje, a siedzę sobie na bezrobociu przed kompem i piszę moje złote myśli, by ktoś inny mógł je wykorzystać. Wstyd mi za siebie. :(
Aha no tak, zastanawiałem się co mi tu nie pasuję i po kilku godzinach już wiem :)
Zapomniałem wspomnieć, że TOR jest kompatybilny ze standardowym protokołem TCP/IP, czyli nie ma problemów z przeglądaniem standardowego zasobu internetu (wszystkie strony). Całkowicie to pominąłem, więc teraz uwzględniam.
Otóż, topologia rozproszonej gwiazdy będzie działała jedynie w momencie, kiedy oprogramowanie (np. w przypadku TORa Vidalia) połączy w komputerze B wszystkie otrzymane pakiety. Taka rzecz nigdy nie nastąpi w momencie, kiedy serwer takiego oprogramowania nie posiada, a zapewniam, że żadna ze stron clearnetowych nie ma wmontowanej np. Vidalii w domyśle, natomiast sam TOR uchodzi za definicję zła niemal u wszystkich administratorów.
Lecz wystarczy, że nasz software użyty przy ustalaniu połączenia będzie wstanie wykryć, że komputer B nie posiada zainstalowanego odpowiedniego oprogramowania. Wtedy stosujemy odwrócenie topologii, czyli z punktu apogeum (największej ilości węzłów w ciągu), zmniejszamy ich ilość również w ciągu geometrycznym x/2, gdzie x= max. ilość węzłów). Tylko, że na samym końcu łączenia, musimy uwzględnić węzeł, który przechwyci pełny pakiet. Nie chce mi się obliczeń objaśniać od początku, więc pokażę tylko obliczenia:
A -> 6 + 3 + 1.6 (bo apogeum jest jedno) + 3 + 6 + 13 (bo następuje tutaj przekazanie pełnego pakietu) + 13 (bo przekazujemy to do B) -> B = 46.6s.
Tak czy siak, w momencie przeglądania clearnetu uzyskujemy dwukrotny wzrost prędkości, w stosunku do TORa, reszta plusów i minusów w poście powyżej.
józek, nic nie rozumiem, ale podziwiam, że chciało Ci się to pisać i że to ogarniasz :D
@OH
Jak z czymś konkretnym masz problem, to mów. Mogę wyjaśnić.
czesc jozek, fajnie to opisales. szkoda ze nie chcialo Ci sie do konca (ale rozumiem – bezrobocie moze wymeczyc ;]).
tak czy siak: z matematykoinformatyki widze, ze niezle sobie radzisz,
moze wiec 'na start’ pare projektow gratis jako wymiatacz w htmlu/php i zaraz skapnie Ci pare projektow – juz 'za pieniadze’? ;)
ot takie gdybanie na zawolanie ;)
pozdrawiam
@do_jozka
heh wyczuwam nutkę sarkazmu ;) akurat jeśli chodzi o matematykę, to jestem słaby. Moją mocną stroną jest algorytmika. Jeśli chodzi o html/php – przykro mi, jestem zawodowym programistom obiektowym w C, musiałbym najpierw php się solidnie nauczyć, a potem dość długo praktykować, żeby samodzielnie zabrać się za projekty. A bezrobotny jestem na własne życzenie, zachciało mi się właśnie projektów internetowych, ale nie mam kapitału początkowego i utknąłem w czarnej dupie :(
pozdrawiam serdecznie
józek: o ile to czytasz, wydajesz się dosyć ogarnięty z tematyką tora. Moglibyśmy porozmawiać o tym na priv? Mam parę pytań i bardzo byłbym wdzięczny za informacje:)
To zależy w czym rzecz, możesz pisać tu ew. mogę założyć jakiegoś maila ;)
Jestem pewny, że jest tutaj wiele ludzi znających odpowiedzi na dręczące cię pytania.