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 馃幃