Випуск Arti 1.1, офіційної реалізації Tor мовою Rust

Розробники анонімної мережі Tor опублікували випуск проекту Arti 1.1.0, який розвиває Tor-клієнт, написаний мовою Rust. Гілка 1.x відзначена як придатна для використання звичайними користувачами та забезпечує той самий рівень конфіденційності, юзабіліті та стабільності, що й основна реалізація мовою Сі. Код розповсюджується під ліцензіями Apache 2.0 та MIT.

На відміну від реалізації на Сі, яка спочатку була спроектована як SOCKS-проксі, а вже потім підігнана під інші потреби, Arti спочатку розвивається у формі модульної бібліотеки, що вбудовується, яку зможуть використовувати різні додатки. Крім того, при розробці нового проекту враховується весь минулий досвід розробки Tor, що дозволяє уникнути відомих архітектурних проблем, зробити проект більш модульним та ефективним.

Як причина переписування Tor на Rust згадується бажання досягти вищого рівня захищеності коду за рахунок використання мови, що забезпечує безпечну роботу з пам'яттю. За оцінкою розробників Tor, як мінімум половина всіх вразливостей, що відстежуються проектом, буде виключена в реалізації на Rust, якщо в коді не використовуються блоки «unsafe». Rust також дасть можливість досягти більш високої швидкості розробки, ніж при використанні Сі, за рахунок виразності мови та суворих гарантій, що дозволяють не витрачати час на подвійні перевірки та написання зайвого коду.

У версії 1.1 реалізована підтримка бриджів для обходу блокувань і транспорту, що підключається. З протестованих з Arti транспортів для приховання трафіку та боротьби з блокуваннями відзначені obfs4proxy та snowflake. Підвищено вимоги до складального оточення – для складання Arti тепер потрібна як мінімум гілка Rust 1.60.

У наступній версії (1.2) очікується поява підтримки onion-сервісів та супутніх можливостей, таких як протокол управління навантаженням (RTT Congestion Control) та засоби захисту від DDoS-атак. Досягнення паритету з клієнтом на мові Сі намічено у гілці 2.0, в якій також будуть запропоновані прив'язки для використання Arti у коді різними мовами програмування. Протягом наступних кількох років робота буде спрямована на реалізацію функціональності, необхідної для роботи релеїв та серверів директорій. Коли код на Rust досягне рівня, здатного повністю замінити варіант на Сі, розробники мають намір надати Arti статусу основної реалізації Tor і припинити супровід реалізації на Сі. Підтримка версії мовою Сі буде припинено поступово з наданням можливості плавної міграції.

Джерело: opennet.ru

Додати коментар або відгук