Arti implementación de Tor en Rust 🦀🤔

Arti es una reescritura desde cero del proyecto Tor desarrollado en el lenguaje Rust, aprovechando sus características avanzadas, rendimiento y en especial, el enfoque en la seguridad.


Proyecto Tor 🧅

Se originó a mediados de la década de 1990 en el Laboratorio de Investigación Naval de los Estados Unidos (NRL). Fue concebido como una herramienta para proteger las comunicaciones en línea de la inteligencia estadounidense.

A principios de la década de 2000, Roger Dingledine, Nick Mathewson y Paul Syverson retomaron el proyecto y lo desarrollaron aún más, dando origen a lo que hoy conocemos como Tor. En 2002, Tor fue lanzado como un proyecto de código abierto, lo que permitió que cualquier persona pudiera acceder al código y contribuir a su desarrollo.

En 2006, se fundó The Tor Project, una organización sin fines de lucro encargada de mantener y desarrollar Tor. La organización se dedica a promover la libertad y la privacidad en línea, y trabaja para mejorar Tor y hacerlo más accesible para todos.



El problema

Tor está desarrollado principalmente en el lenguaje de programación C. Sin embargo, también se utilizan otros lenguajes como Python y Rust para componentes específicos.

El soporte de C para la seguridad de subprocesos es bastante frágil, y es muy fácil escribir un programa que parezca seguro para ejecutarse en varios subprocesos, pero que introduzca errores sutiles o agujeros de seguridad.


 

La selección de Rust

Para los responsables del proyecto Tor, Rust parece ser la salida más clara a este aprieto. Es un lenguaje de alto nivel y mucho más expresivo que C. Además, tiene algunas características realmente innovadoras que permiten que el lenguaje aplique ciertas propiedades de seguridad en tiempo de compilación.


Desde 2016, los desarrolladores han estado rastreando todos los errores de seguridad encontrado en Tor, y resulta que al menos la mitad de ellos se debían específicamente a errores que deberían ser imposibles en el código seguro de Rust.

 

Inicio de Rust en el proyecto

Planificaron reemplazar lentamente el código C de Tor con Rust, pieza por pieza. Sin embargo, eso no funcionó. El problema es que los módulos escrito en C existente no están muy bien separados entre sí.

Eso hace que resulte difícil reescribir el código módulo por módulo, sin desenredarlo primero para que sea más modular. 


Nacimiento de Arti

La complicada estructura del código C ha dificultado su adopción para su integración en otras aplicaciones. Pero con la reescritura de Arti, se puede tener en cuenta la integración desde el principio, para ayudar a dar soporte a las aplicaciones en el futuro.



El anuncio oficial del lanzamiento de la primera versión alfa de Arti, la 0.0.1, se realizó el 29 de octubre de 2021. Esta versión inicial ya incluía un cliente proxy SOCKS funcional y una API básica para la integración, lo que marcó un hito importante en el desarrollo del proyecto."


Esto es un resumen del siguiente articulo:


Otros recursos interesantes:


Otros entradas sobre el Proyecto Tor, en en blog las puede consultar aquí.


Comentarios

Entradas más populares de este blog

Super Mario RPG 🎮