Wydanie Arti 1.4.0, oficjalnej implementacji Tora w języku Rust

Twórcy projektu Tor opublikowali wersję Arti 1.4.0, realizacji klienta Tor napisanego w języku Rust. Gałąź 1.x jest oznaczona jako gotowa do użycia przez zwykłych użytkowników i zapewnia ten sam poziom prywatności, użyteczności i stabilności, co główna realizacja w języku C. Osiągnięcie parytetu z klientem w języku C planowane jest w gałęzi 2.0. Kiedy kod w Rust osiągnie poziom, który umożliwi całkowite zastąpienie wersji w C, twórcy zamierzają nadać Arti status głównej realizacji Tor i stopniowo zakończyć wsparcie dla realizacji w C. Kod jest rozpowszechniany na licencjach Apache 2.0 i MIT.

Arti początkowo rozwijane jest w formie modułowej, wbudowanej biblioteki, którą mogą wykorzystać różne aplikacje. Przy projektowaniu Arti uwzględniono wcześniejsze doświadczenia z rozwoju Tor, co pozwoliło uniknąć znanych problemów architektonicznych związanych z tym, że implementacja w C początkowo została zaprojektowana jako proxy SOCKS, a dopiero potem dostosowana do innych potrzeb.

Oprócz modernizacji architektury, powodem przepisania Tor w Rust było pragnienie zwiększenia bezpieczeństwa kodu poprzez zastosowanie języka zapewniającego bezpieczne zarządzanie pamięcią. Według oceny twórców Tor, użycie języka Rust bez bloków „unsafe” pozwoli uniknąć powstania co najmniej połowy wszystkich typowych luk w projekcie. Dodatkowo zakłada się, że Rust przyspieszy proces rozwoju dzięki wyrazistości języka i restrykcyjnym gwarancjom, które pozwolą zaoszczędzić czas na podwójne kontrole i pisanie zbędnego kodu.

W nowej wersji skompletowano nowy interfejs RPC, który zastąpił protokół kontrolny przez port TCP określany za pomocą parametru ControlPort. RPC może być używany do integracji aplikacji i usług z Arti bez wbudowywania w aplikację biblioteki z funkcjonalnością Arti.

Kluczowe różnice nowego protokołu:

  • Użycie formatu JSON zamiast specyficznego formatu wymagającego własnego parsera;
  • Prostota rozszerzenia protokołu. Sformalizowanie tego, jak klient i serwer powinny obsługiwać nieobsługiwane wiadomości, parametry i dane;
  • Mechanizm określania dostępności RPC;
  • Wsparcie dla jednoczesnego przesyłania wielu zapytań w jednym połączeniu sieciowym;
  • Dostępność gotowych bibliotek klienckich dla C, Pythona i Rust.

Inne zmiany w Arti 1.4.0 obejmują wykonanie prac przygotowawczych dla wsparcia relayów oraz kontynuację realizacji możliwości ochrony usług onion przed atakami DDoS.

Ź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