Projekt Tor opublikował Arti 0.0.3, implementację klienta Tor w Rust

Twórcy anonimowej sieci Tor zaprezentowali wydanie projektu Arti 0.0.3, który rozwija klienta Tor napisanego w języku Rust. Projekt ma status rozwoju eksperymentalnego, odstaje od funkcjonalności głównego klienta Tora w C i nie jest jeszcze gotowy, aby go w pełni zastąpić. W marcu spodziewana jest wersja 0.1.0, która jest pozycjonowana jako pierwsza wersja beta projektu, a jesienią wersja 1.0 ze stabilizacją API, CLI i ustawieniami, która będzie odpowiednia do pierwszego użycia przez zwykłych użytkowników. W dalszej przyszłości, gdy kod Rusta osiągnie poziom mogący całkowicie zastąpić wersję C, programiści zamierzają nadać Arti status głównej implementacji Tora i zaprzestać utrzymywania implementacji C.

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 pozwoli uniknąć znanych problemów architektonicznych i sprawi, że projekt będzie bardziej modułowy i wydajny. Kod jest rozpowszechniany na licencji Apache 2.0 i MIT.

Powodem przepisywania Tora w Ruście jest chęć osiągnięcia wyższego poziomu bezpieczeństwa kodu poprzez użycie języka zapewniającego bezpieczną pracę z pamięcią. Według twórców Tora, co najmniej połowa wszystkich luk monitorowanych przez projekt zostanie wyeliminowana w implementacji Rusta, jeśli kod nie będzie korzystał z „niebezpiecznych” bloków. 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.

Wśród zmian w wersji 0.0.3 znajduje się kompletna przebudowa systemu konfiguracyjnego i powiązanego API. Zmiana umożliwiła zmianę ustawień Rusta w locie, podczas gdy klient Tor był uruchomiony. Dodano także nowy system budowy obwodów z wywłaszczaniem, uwzględniający wcześniej wykorzystywane porty w celu wywłaszczania tworzenia łańcuchów, które prawdopodobnie będą potrzebne w przyszłości.

Źródło: opennet.ru

Dodaj komentarz