Dos utilidades centrales similares a Unix, sudo y su, se están reescribiendo en Rust

Dos utilidades centrales similares a Unix, sudo y su, se están reescribiendo en Rust

Invocar los privilegios de otro usuario para <a href="https://xkcd.com/149/">ejecutar un comando</a>.” src=”https://cdn.arstechnica.net/wp-content/uploads/2023/05/GettyImages-958252348-980×653.jpg” width=”980″ height=”653″/></a><figcaption class=
Agrandar / Invocar los privilegios de otro usuario para ejecutar un comando.

Imágenes de Cavan/Getty

Dos de las herramientas más fundamentales de la línea de comandos moderna similar a Unix, sudo y su, se están reescribiendo en el lenguaje moderno Rust como parte de un esfuerzo más amplio para reemplazar piezas de infraestructura críticas pero obsoletas por contrapartes seguras para la memoria.

Como detallado en Prossimoun equipo conjunto de Sistemas Ferrosos y Segunda ola, con el apoyo de Amazon Web Services, está reimplementando sudo y su. Estas utilidades permiten que un usuario realice acciones con los privilegios de otro usuario (generalmente un superusuario de nivel superior) sin tener que aprender e ingresar la contraseña de ese otro usuario. Dada su antigüedad y amplio uso, el equipo de Prossimo cree que es hora de volver a trabajar.

“Sudo se desarrolló por primera vez en la década de 1980. A lo largo de las décadas, se ha convertido en una herramienta esencial para realizar cambios y minimizar el riesgo para un sistema operativo”, escribe Josh Aas. “Pero debido a que está escrito en C, sudo ha experimentado muchas vulnerabilidades relacionadas con problemas de seguridad de la memoria”.

El comando sudo se ajusta a los criterios de proyectos de Prossimo para la reimplementación “directamente”. Se usa en casi todos los servidores y clientes, se encuentra en un límite crítico, realiza una función crítica y está escrito en lenguajes que no son seguros para la memoria, como C y asm. Los proyectos se publican el plan de trabajo y los hitosy tu puedes seguir el trabajo en GitHub.

Sudo fue desarrollado en 1980 por Robber Coggeshall y Cliff Spencer en la Universidad Estatal de Nueva York en Buffalo (go Bulls) en un VAX-11/750 con 4.1BSD. Coggeshall desarrolló aún más sudo en la Universidad de Colorado Boulder; la herramienta finalmente se hizo pública y fue mantenida por Todd C. Miller. El comando su fue parte de la versión 1 de Unix.

Un esfuerzo bien financiado para volver a implementar un aspecto central de los sistemas similares a Unix, incluso en un lenguaje bien considerado como Rust, está casi garantizado para animar a la comunidad. Si bien se desarrolló durante décadas y se implementa en casi todos los sistemas, el comando sudo no está exento de fallas. Ciertas versiones de sudo eran vulnerables a un error de desbordamiento de búfer que proporciona raíz, como reportado en 2019. Entonces otra vez, la mayoría de las vulnerabilidades de sudo no parecen relacionados con la memoria (dependiendo de la definición de uno); ciertamente se pueden codificar nuevos errores en un software que está escrito en un lenguaje seguro para la memoria.

La página de hitos del grupo Prossimo no explica cómo se promovería una adopción más amplia de sudo y su basados ​​en Rust. Es una buena apuesta que el esfuerzo podría requerir tanto esfuerzo como la reescritura en sí.

Imagen del listado por Cavan Images/Getty

Leave a Reply

Your email address will not be published. Required fields are marked *