The Tor Project is Making a Switch to Rust, Ditches C

Arti, the Rust rewrite of Tor, brings circuit isolation and onion service improvements in its 1.8.0 release.
Warp Terminal

The Tor Project has been busy with the rustification of their offering for quite some time now.

If you have used Tor Browser, you know what it does. Anonymous browsing through encrypted relay chains. The network itself has been running since the early 2000s. All of it is built on C.

But that C codebase is an issue. It is known to have buffer overflows, use-after-free bugs, and memory corruption vulnerabilities. That is why they introduced Arti, a Rust rewrite of Tor that tackles these flaws by leveraging the memory safety of the programming language.

A new release of Arti just dropped last week, so let's check it out!

Arti 1.8.0: What's New?

arti is written in a shade of light green in the center, with four circles surrounding it
Source: The Tor Project

We begin with the main highlight of this release, the rollout of the circuit timeout rework that was laid out in proposal 368. Tor currently uses something called Circuit Dirty Timeout (CDT). It is a single timer that controls when your connection circuits become unavailable and when they close down.

Unfortunately, it is predictable. Someone monitoring traffic can spot these patterns and potentially track your activity. Arti 1.8.0 fixes this by implementing usage-based timeouts with separate timers. One handles when circuits accept new connections. Another closes idle circuits at random times instead of fixed intervals.

This should reduce the risk of fingerprinting from predictable timeout behavior.

Next up is the new experimental arti hsc ctor-migrate command that lets onion service operators migrate their restricted discovery keys from the C-based Tor to Arti's keystore.

These keys handle client authorization for onion services. The command transfers them over without requiring operators to do the manual legwork. The release also delivers improvements for routing architecture, protocol implementation, directory cache support, and OR port listener configuration.

You can go through the changelog to learn more about the Arti 1.8.0 release.

Via: Sam Bent

Suggested Read πŸ“–: Is Helium the Browser Brave Was Meant to Be?

Is Helium the Browser Brave Was Meant to Be?
An in-depth look at ’another new Chromium-based web browser” that is β€œdifferent from the other Chromium-based web browsers”.
About the author
Sourav Rudra

Sourav Rudra

A nerd with a passion for open source software, custom PC builds, motorsports, and exploring the endless possibilities of this world.

Become a Better Linux User

With the FOSS Weekly Newsletter, you learn useful Linux tips, discover applications, explore new distros and stay updated with the latest from Linux world

itsfoss happy penguin

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to It's FOSS.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.