Проект Tor представив реалізацію мовою Rust, яка в майбутньому замінить варіант на Сі

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

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

У поточному стані Arti вже може підключатися до мережі Tor, забезпечувати взаємодію із серверами директорій та створювати анонімізовані з'єднання поверх Tor з наданням проксі на основі протоколу SOCKS. Розробку поки що не рекомендується використовувати в робочих системах, оскільки не всі можливості забезпечення конфіденційності реалізовані і не гарантується зворотна сумісність на рівні API. Першу версію клієнта, яка відповідає критеріям безпеки, що підтримує сторожові вузли та ізоляцію потоків, планується випустити у жовтні.

У березні 2022 року очікується перший бета-випуск з експериментальною реалізацією бібліотеки, що вбудовується, і оптимізаціями продуктивності. Перший стабільний реліз зі стабільним API, CLI та форматом конфігурації, а також з проведенням аудиту запланований на середину вересня 2022 року. Цей випуск буде придатний для використання звичайними користувачами. Наприкінці жовтня 2022 року очікується оновлення 1.1 з підтримкою транспорту, що підключається, і бриджів для обходу блокувань. Підтримка onion-сервісів намічено на випуск 1.2, а досягнення паритету з клієнтом мовою Сі очікується у випуску 2.0, терміни для яких поки що не визначені.

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

Джерело: opennet.ru

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