Перший бета-випуск Arti, реалізації Tor мовою Rust

Розробники анонімної мережі Tor представили перший бета-випуск (0.1.0) проекту Arti, який розвиває Tor-клієнт, написаний мовою Rust. Проект має статус експериментальної розробки, відстає від функціональності від основного клієнта Tor мовою Сі і доки готовий повноцінно замінити його. У вересні планується сформувати випуск 1.0 зі стабілізацією API, CLI та налаштувань, що буде придатний для початкового використання звичайними користувачами. У більш віддаленому майбутньому, коли код на Rust досягне рівня, здатного повністю замінити варіант на Сі, розробники мають намір надати Arti статусу основної реалізації Tor і припинити супровід реалізації на Сі.

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

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

Зі змін у випуску 0.1.0 відзначається базова стабілізація високорівневих API та доведення бібліотеки до готовності до експериментальної інтеграції з іншими проектами. Змін згадується додавання API для створення екземплярів TorClient, у тому числі з можливістю складання та ініціалізації (bootstrap) у фоновому режимі при першому використанні. Крім того, додано новий високорівневий API для обробки помилок.

До публікації випуску 1.0.0 розробники мають намір забезпечити у Arti повну підтримку роботи в ролі клієнта Tor, що забезпечує доступ до інтернету (реалізацію підтримки onion-сервісів відкладено на майбутнє). У тому числі планується домогтися паритету з основною реалізацією мовою Сі в таких областях, як мережна продуктивність, навантаження на CPU та надійність, а також забезпечити підтримку всіх можливостей, пов'язаних із безпекою.

Джерело: opennet.ru

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