Tor Browser es un navegador web basado
en Firefox utilizado especialmente para conectarnos a la red Tor y poder
navegar de forma totalmente segura y anónima por esta red. Debido a la
naturaleza de este navegador (navegar seguros y mantener el anonimato en esta
red distribuida), es de vital importancia mantenerlo libre de todo tipo de
fallos, algo que, en ocasiones, puede llegar a resultar complicado debido a que
la mayoría de este navegador está escrito en C++.
En 2014 se propuso cambiar todo el
núcleo del navegador dejando de lado C++ a favor de otro lenguaje de
programación más seguro y robusto. Aunque entonces esta propuesta pasó a
segundo plano y ha sido ignorada durante varios años, ahora parece que los
responsables de Tor Browser quieren reforzar por completo el núcleo del navegador
para acabar con posibles errores de corrupción de memoria que puedan aparecer
y, para ello, deben cambiar el lenguaje de programación del núcleo por otro,
siendo los dos principales candidatos Go, el lenguaje de programación de Google
y Rust.
Finalmente, parece que el lenguaje
favorito será Rust. Este es un lenguaje de programación creado por Mozilla para
ofrecer a los desarrolladores una alternativa a C++ mucho más segura que ayude
a los desarrolladores a evitar cometer fallos de corrupción de memoria en el
código.
Tor Browser 6.0.6
• Firefox cada vez está
más escrito en Rust, y Tor Browser es Firefox. Y aunque Go también era una
excelente alternativa, finalmente los responsables del proyecto Tor han
decidido dar el salto a Rust, principalmente, porque Firefox cada vez tiene más
partes de código escritas en Rust y, al estar basado principalmente en Firefox,
es mucho más cómodo adaptar el navegador a este navegador en vez de a otro.
• En verano del año
pasado, Mozilla empezó a enviar a los usuarios los primeros componentes del
navegador escritos ya en este lenguaje de programación, y los resultados fueron
más que satisfactorios. Por ello, poco a poco se han ido convirtiendo más
componentes de manera que, a medida que pase el tiempo, cada vez mayor
porcentaje de Firefox pase a este nuevo lenguaje de programación.
• Aunque el proceso de
cambio de lenguaje es largo (los desarrolladores de Tor Browser deben
familiarizarse con este lenguaje), poco a poco se van a ir migrando más partes
del código de este navegador al nuevo lenguaje de programación, siguiendo un
proceso como el siguiente:
1. Definir los elementos
que se van a convertir de C++ a Rust en orden de prioridad.
2. Habilitar el uso
opcional de la API escrita en Rust para los usuarios que quieran.
3. Aprender de proyectos
similares.
4. Añadir herramientas
de conversión y depuración para Rust.
Desde luego era necesario dar el salto
a un lenguaje de programación más moderno y seguro que C, donde el más mínimo
fallo al programar podía tener repercusiones reales en los usuarios, especialmente
cuando hablamos de un software tan crítico y, sobre todo, atacado por piratas
informáticos y organizaciones gubernamentales como este navegador.
Por el momento aún tendremos que
esperar para poder probar este navegador web, aunque todo va por el buen camino
y, sin duda, dará lugar a un navegador más seguro y robusto, tal como debería
ser.
Fuente: Tor