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

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

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

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

Найбільш помітні зміни у випуску 0.2.0 пов'язані з роботою щодо підвищення продуктивності та надійності. Покращено роботу в мережах, що підтримують лише IPv6. Скорочено споживання пам'яті для зберігання даних із серверів директорій. Додано опцію dns_port, за допомогою якої можна налаштувати відправлення DNS-запитів через Tor. Запропоновано новий код для роботи з конфігурацією. Додано API для визначення правил ізоляції потоків та включення сплячого режиму (зупинення роботи для неактивних клієнтів). Забезпечено можливість підключення альтернативних реалізацій коду для роботи із серверами директорій.

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

Джерело: opennet.ru

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