Wydanie Arti 1.2, oficjalnej implementacji Tora w Rust

Twórcy sieci Tor opublikowali wydanie projektu Arti 1.2.0, który rozwija klienta Tora napisanego w języku Rust. Gałąź 1.x jest oznaczona jako odpowiednia do użytku przez zwykłych użytkowników i zapewnia ten sam poziom prywatności, użyteczności i stabilności, co główna implementacja C. Kod jest rozpowszechniany na licencji Apache 2.0 i MIT.

W przeciwieństwie do implementacji w języku C, która została najpierw zaprojektowana jako proxy SOCKS, a następnie dostosowana do innych potrzeb, Arti jest początkowo rozwijany w postaci modułowej, osadzanej biblioteki, z której można korzystać w różnych aplikacjach. Ponadto podczas opracowywania nowego projektu brane są pod uwagę wszystkie dotychczasowe doświadczenia związane z tworzeniem Tora, co pozwala uniknąć znanych problemów architektonicznych i sprawia, że ​​projekt jest bardziej modułowy i wydajny. Kiedy kod Rusta osiągnie poziom, który będzie w stanie całkowicie zastąpić wersję C, programiści zamierzają nadać Artiemu status głównej implementacji Tora i zaprzestać utrzymywania implementacji C.

Powodem przepisania Tora w Rust jest chęć osiągnięcia wyższego poziomu bezpieczeństwa kodu poprzez użycie języka bezpiecznego dla pamięci. Według twórców Tora, używanie języka Rust bez „niebezpiecznych” bloków zapobiegnie pojawieniu się co najmniej połowy typowych luk w projekcie. Rust umożliwi również osiągnięcie większych prędkości programowania niż przy użyciu C, ze względu na wyrazistość języka i ścisłe gwarancje, które pozwalają uniknąć marnowania czasu na podwójne sprawdzanie i pisanie niepotrzebnego kodu.

Wydanie Arti 1.2 wyróżnia się wdrożeniem stabilnej obsługi usług cebulowych. Korzystając z Arti, możesz teraz nie tylko łączyć się z istniejącymi usługami cebulowymi, ale także tworzyć własne usługi cebulowe.

Rozpoczęły się prace, ale nie zostały jeszcze zakończone, nad powiązanymi funkcjami związanymi z prywatnością i bezpieczeństwem usług cebulowych, takimi jak kontrola przeciążenia RTT, ochrona DDoS, ograniczanie przepustowości, autoryzacja klientów i Vanguard » w celu zapobiegania wykrywaniu węzłów Guard. Do czasu wdrożenia tych funkcjonalności nie zaleca się tworzenia serwisów cebulowych w oparciu o Arti do wdrożeń produkcyjnych.

Nowa wersja naprawia także lukę w kodzie przetwarzania komunikatów przekaźnika, spowodowaną możliwością wysyłania pustych komunikatów DATA, którymi można zastąpić niewykrywalne wskaźniki ruchu. Problem ma ocenę Niski, ponieważ pakiety DATA są akceptowane tylko w przypadku wątków, które są już otwarte.

Osiągnięcie parytetu z klientem C planowane jest dla gałęzi 2.0, która będzie oferować także powiązania umożliwiające wykorzystanie Arti w kodzie w różnych językach programowania. Kiedy kod Rusta osiągnie poziom, który będzie w stanie całkowicie zastąpić wersję C, programiści zamierzają nadać Artiemu status głównej implementacji Tora i zaprzestać utrzymywania implementacji C. Wersja C będzie wycofywana stopniowo, aby umożliwić płynną migrację.

Źródło: opennet.ru

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster