Poeksperymentuj, aby symulować pełnowymiarową sieć Tor

Naukowcy z Uniwersytetu Waterloo i US Naval Research Laboratory zaprezentowali wyniki prac nad symulatorem sieci Tor, porównywalnym pod względem liczby węzłów i użytkowników z główną siecią Tor i pozwalającym na eksperymenty zbliżone do warunków rzeczywistych. Przygotowane w trakcie eksperymentu narzędzia i metodologia modelowania sieci umożliwiły na komputerze z 4 TB pamięci RAM symulację działania sieci składającej się z 6489 węzłów Tor, do których podłączonych jest jednocześnie 792 tys. wirtualnych użytkowników.

Należy zauważyć, że jest to pierwsza symulacja sieci Tor na pełną skalę, której liczba węzłów odpowiada sieci rzeczywistej (działająca sieć Tor ma około 6 tysięcy węzłów i 2 miliony podłączonych użytkowników). Pełna symulacja sieci Tor jest interesująca z punktu widzenia identyfikacji wąskich gardeł, symulacji zachowań ataku, testowania nowych metod optymalizacji w warunkach rzeczywistych oraz testowania koncepcji związanych z bezpieczeństwem.

Dzięki pełnoprawnemu symulatorowi programiści Tora będą mogli uniknąć praktyki przeprowadzania eksperymentów w sieci głównej lub na poszczególnych węzłach roboczych, co stwarza dodatkowe ryzyko naruszenia prywatności użytkowników i nie wyklucza możliwości awarii. Na przykład oczekuje się, że w nadchodzących miesiącach w Torze zostanie wprowadzona obsługa nowego protokołu kontroli przeciążenia, a symulacja pozwoli nam w pełni przestudiować jego działanie przed wdrożeniem w prawdziwej sieci.

Oprócz wyeliminowania wpływu eksperymentów na poufność i niezawodność głównej sieci Tor, obecność oddzielnych sieci testowych umożliwi szybkie testowanie i debugowanie nowego kodu w procesie rozwoju, natychmiastowe wdrażanie zmian dla wszystkich węzłów i użytkowników bez czekając na zakończenie długotrwałych wdrożeń pośrednich, szybciej twórz i testuj prototypy wraz z wdrażaniem nowych pomysłów.

Trwają prace nad udoskonaleniem narzędzi, które według twórców zmniejszą 10-krotnie zużycie zasobów i pozwolą na tym samym sprzęcie symulować działanie sieci przewyższających sieć rzeczywistą, co może być wymagane aby zidentyfikować możliwe problemy ze skalowaniem Tora. W ramach prac stworzono także kilka nowych metod modelowania sieci, które umożliwiają przewidywanie zmian stanu sieci w czasie oraz wykorzystanie generatorów ruchu w tle do symulacji aktywności użytkowników.

Naukowcy zbadali także wzór pomiędzy rozmiarem symulowanej sieci a wiarygodnością projekcji wyników eksperymentów na sieć rzeczywistą. Podczas opracowywania Tora zmiany i optymalizacje są wstępnie testowane w małych sieciach testowych, które zawierają znacznie mniej węzłów i użytkowników niż sieć rzeczywista. Stwierdzono, że błędy statystyczne w przewidywaniach uzyskanych z małych symulacji można kompensować poprzez wielokrotne powtarzanie niezależnych eksperymentów z różnymi zestawami danych początkowych, biorąc pod uwagę, że im większa jest symulowana sieć, tym mniej powtarzanych testów potrzeba do uzyskania statystycznie istotnych wniosków.

Aby modelować i symulować sieć Tor, badacze opracowują kilka otwartych projektów rozpowszechnianych na licencji BSD:

  • Shadow to uniwersalny symulator sieci, który umożliwia uruchomienie prawdziwego kodu aplikacji sieciowej w celu odtworzenia systemów rozproszonych z tysiącami procesów sieciowych. Aby symulować systemy oparte na rzeczywistych, niezmodyfikowanych aplikacjach, Shadow wykorzystuje techniki emulacji wywołań systemowych. Interakcja sieciowa aplikacji w symulowanym środowisku odbywa się poprzez wdrożenie VPN i wykorzystanie symulatorów typowych protokołów sieciowych (TCP, UDP). Obsługuje niestandardową symulację charakterystyk sieci wirtualnej, takich jak utrata pakietów i opóźnienia w dostarczaniu. Oprócz eksperymentów z Torem podjęto próbę opracowania wtyczki do Shadow symulującej sieć Bitcoin, jednak projekt ten nie został opracowany.
  • Tornettools to zestaw narzędzi umożliwiający generowanie realistycznych modeli sieci Tor, które można uruchomić w środowisku Shadow, a także uruchamianie i konfigurowanie procesu symulacji, zbieranie i wizualizację wyników. Metryki odzwierciedlające działanie prawdziwej sieci Tor można wykorzystać jako szablony do generowania sieci.
  • TGen jest generatorem potoków ruchu na podstawie parametrów określonych przez użytkownika (wielkość, opóźnienia, liczba potoków itp.). Schematy kształtowania ruchu można określić zarówno w oparciu o specjalne skrypty w formacie GraphML, jak i wykorzystując probabilistyczne modele Markowa do dystrybucji przepływów i pakietów TCP.
  • OnionTrace to narzędzie do śledzenia wydajności i zdarzeń w symulowanej sieci Tor, a także do rejestrowania i odtwarzania informacji o tworzeniu łańcuchów węzłów Tora i przypisywaniu do nich strumieni ruchu.



Źródło: opennet.ru

Dodaj komentarz