Deweloperzy anonimowej sieci Tor opublikowali wydanie projektu Arti 1.1.12, rozwijającego klienta Tor napisanego w języku Rust. Gałąź 1.x oznaczona jest jako odpowiednia do użytku przez zwykłych użytkowników i zapewniająca ten sam poziom prywatności, użyteczności i stabilności, co główna implementacja w języku C. Kod jest rozpowszechniany na licencjach 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 Tor w Rust podaje się chęć osiągnięcia wyższego poziomu bezpieczeństwa kodu dzięki użyciu języka, który zapewnia bezpieczną obsługę pamięci. Według oceny deweloperów Tor, co najmniej połowa wszystkich śledzonych przez projekt luk zostanie wyeliminowana w implementacji w Rust, o ile w kodzie nie będą używane bloki „unsafe”. Rust pozwoli także na osiągnięcie wyższej szybkości rozwoju niż w przypadku użycia C, dzięki ekspresyjności języka i ścisłym gwarancjom, które pozwalają zaoszczędzić czas na podwójne sprawdzenia i pisanie zbędnego kodu.
Wersja Arti 1.1.12 jest godna uwagi z powodu doprowadzenia implementacji usług onion do etapu gotowości do testów i eksperymentów. Dzięki Arti teraz można nie tylko łączyć się z istniejącymi usługami onion, ale także tworzyć własne usługi onion. Przy tym w chwili obecnej nie są jeszcze gotowe niektóre funkcje mające na celu zapewnienie prywatności i ochrony usług onion, takie jak autoryzacja klientów, ochrona przed atakami DoS oraz mechanizm zapobiegania identyfikacji węzłów Guard „Vanguard”, dlatego implementacja nie jest obecnie zalecana do użycia w produkcji.
Źródło: opennet.ru
