Wydanie Arti 1.2, oficjalnej implementacji Tor w języku Rust

Deweloperzy sieci Tor opublikowali wersję projektu Arti 1.2.0, rozwijającego klienta Tor, napisanego w języku Rust. Gałąź 1.x została oznaczona jako odpowiednia do użycia przez zwykłych użytkowników i zapewniająca ten sam poziom poufności, użyteczności i stabilności, co główna implementacja w języku C. Kod jest rozpowszechniany na zasadzie licencji Apache 2.0 i MIT.

W przeciwieństwie do implementacji w C, która początkowo została zaprojektowana jako proxy SOCKS, a potem przystosowana do innych potrzeb, Arti z założenia rozwija się w formie modułowej biblioteki wbudowanej, którą mogą wykorzystać różne aplikacje. Ponadto, podczas opracowywania nowego projektu uwzględniono całe dotychczasowe doświadczenie związane z rozwojem Tor, co pozwala na uniknięcie znanych problemów architektonicznych i uczynienie projektu bardziej modułowym oraz efektywnym. Gdy kod w Rust osiągnie poziom, który będzie mógł całkowicie zastąpić wariant w C, deweloperzy zamierzają nadać Arti status głównej implementacji Tor i zaprzestać wsparcia dla implementacji w C.

Jako powód przepisania Tora w Rust podaje się chęć osiągnięcia wyższego poziomu bezpieczeństwa kodu dzięki zastosowaniu języka, który zapewnia bezpieczną pracę z pamięcią. Według oszacowań deweloperów Tora, użycie języka Rust bez bloków «unsafe» pozwoli uniknąć przynajmniej połowy wszystkich typowych podatności w projekcie. Rust także umożliwi szybszy rozwój niż przy użyciu C, dzięki ekspresywności języka i rygorystycznym gwarancjom, które pozwalają zaoszczędzić czas na podwójne kontrole i pisanie zbędnego kodu.

Wydanie Arti 1.2 jest godne uwagi ze względu na stabilną obsługę usług onion. Dzięki Arti można teraz nie tylko łączyć się z istniejącymi usługami onion, ale także tworzyć własne usługi onion.

Rozpoczęto, ale jeszcze nie zakończono, prace nad wdrożeniem towarzyszących funkcji związanych z zapewnieniem prywatności i ochroną usług onion, takich jak protokół zarządzania przeciążeniem (RTT Congestion Control), środki ochrony przed atakami DDoS, regulacja przepustowości, autoryzacja klientów i mechanizm «Vanguard» mający na celu zapobieganie identyfikacji węzłów Guard. Do czasu zakończenia realizacji tych funkcji tworzenie usług onion na bazie Arti nie jest zalecane do wdrożeń produkcyjnych.

W nowej wersji usunięto również podatność w kodzie obsługi wiadomości od przełączników, spowodowaną możliwością wysyłania pustych wiadomości DATA, które mogą być używane do zastępowania nieokreślonych wskaźników ruchu. Problemowi nadano niski poziom ryzyka, ponieważ pakiety DATA są akceptowane tylko dla już otwartych strumieni.

Osiągnięcie parytetu z klientem w języku C planowane jest w wersji 2.0, w której również zostaną zaproponowane powiązania do używania Arti w kodzie w różnych językach programowania. Gdy kod w Rust osiągnie poziom, który będzie w stanie całkowicie zastąpić wersję w C, deweloperzy zamierzają nadać Arti status głównej implementacji Tor i zaprzestać wsparcia dla wersji w C. Wsparcie dla wersji w języku C będzie stopniowo wygaszane, umożliwiając płynne przejście.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster