Проектът Tor представи изпълнение на езика Rust, което в бъдеще ще замени версията на C

Разработчиците на анонимната мрежа Tor представиха проекта Arti, в рамките на който се работи по създаването на реализация на протокола Tor на езика Rust. За разлика от реализацията на C, която първоначално е проектирана като SOCKS-прокси и след това е приспособена към други нужди, Arti се развива в етап на модулна вградена библиотека, която могат да използват различни приложения. Работата продължава вече повече от година с финансиране по програмата за грантове Zcash Open Major Grants (ZOMG). Кодът се разпространява под лицензите Apache 2.0 и MIT.

Като причини за пренаписването на Tor на Rust се посочва желанието да се постигне по-високо ниво на защита на кода чрез използването на език, осигуряващ безопасна работа с паметта. По оценка на разработчиците на Tor, поне половината от всички уязвимости, следени от проекта, ще бъдат изключени в реализацията на Rust, ако в кода не се използват блокове 'unsafe'. Rust също така ще позволи да се постигне по-висока скорост на разработка в сравнение с C, благодарение на изразителността на езика и строгите гаранции, които позволяват да не се губи време за двойни проверки и писане на излишен код. Освен това, при разработката на новия проект се взема предвид целият предишен опит от разработката на Tor, което ще позволи да се избегнат известни архитектурни проблеми и да се направи проектът по-модулен и ефективен.

В текущото си състояние Arti вече може да се свързва с мрежата Tor, да осигурява взаимодействие с сървъри директории и да създава анонимизирани връзки на базата на Tor с предоставяне на прокси, основан на протокола SOCKS. Разработката все още не се препоръчва за използване в работни системи, тъй като не всички възможности за осигуряване на конфиденциалност са реализирани и не се гарантира обратно съвместимост на ниво API. Първата версия на клиента, която отговаря на критериите за безопасност, подкрепяща наблюдателни възли и изолация на потоците, планирано да бъде пусната през октомври.

През март 2022 г. се очаква първият бета-изход с експериментална реализация на вградена библиотека и оптимизации на производителността. Първият стабилен изход, с стабилен API, CLI и формат на конфигурация, както и с проведен одит, е планиран за средата на септември 2022 г. Тази версия ще бъде подходяща за начална употреба от обикновени потребители. В края на октомври 2022 г. се очаква актуализация 1.1 с поддръжка на приставки за транспорт и мостове за заобикаляне на блокировки. Поддръжката на onion услуги е предвидена за версия 1.2, а достигането на паритет с клиента на езика C се очаква в версия 2.0, сроковете за които все още не са определени.

По-нататък разработчиците прогнозират постепенно намаляване на активността, свързана с разработката на код на C, и увеличаване на времето, отделяно за редакция на Rust. Когато реализацията на Rust достигне ниво, способно да замести варианта на C, разработчиците ще прекратят добавянето на нови възможности в реализацията на C и след известно време напълно ще прекратят нейното поддържане. Но това няма да се случи скоро, и докато реализацията на Rust не достигне нивото на пълноценна замяна, разработката на клиента и релея Tor на C ще продължи.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster