Seguridad entre programas que ejecuta un mismo usuario.

9 replies [Last post]
noblob
Offline
Joined: 02/08/2018

Todos los programas que ejecuta un usuario tienen acceso a partir /home/usuario/ para arriba, por ejemplo: la mayoría de programas guardan su configuración en ~/.config/...

Vale que en trisquel y otros GNU/linux-libres se dispone del código fuente de el sistema de software completo, y se supone que esos programas hacen lo que dicen que hacen, sino alguien lo denunciaría a la comunidad, pero si en un programa del sistema estuviéramos en fechas anteriores a un day-zero, o sea, hubiera una función malévola todavía no descubierta por nadie, este programa malicioso podría por ejemplo acceder a ~/.ssh/* y obtener nuestras claves ssh, o ~/.gnupg/* accediendo a nuestras claves almacenadas, etcétera.

¿Existe algún mecanismo para evitar este tipo de cosas?

iShareFreedom
Offline
Joined: 12/20/2021

lo genial del sistema operativo GNU es que nada se ejecuta como súper usuario a menos que el mismo usuario voluntariamente arranque tal programa, por lo tanto realmente ningún tipo de malware debería ser experimentado a menos que el usuario administrador del sistema de consentimiento expreso de ejecutarlo.

noblob
Offline
Joined: 02/08/2018

Discrepo en que haga falta ejecutar como root un programa para que funcione como malware, un usuario con pocos pribilejios, que no pueda ejecutar ni sudo, acostumbra a tener acceso a internet, puede ejecutar un programa del que nadie haya estudiado sus fuentes con detalle, y por ejemplo en segundo plano conectarse a una IP o dominio que venga establecido por un desarrollador con mala fe, y mandar todos los archivos de ~/Documentos/* por ejemplo, para espionaje empresarial o lo que sea, Creo yo.

Parodper
Offline
Joined: 05/01/2020

xkcd.com/1200

Lo que se suele hacer es crear un usuario sólo para ese ejecutable, de manera que el programa solo puede acceder a los archivos que pertenezcan a ese usuario, y a los accesibles de forma global. OpenBSD, por ejemplo, tiene una lista de que usuario corresponde a que paquete: http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/infrastructure/db/user.list?rev=1.410&content-type=text/x-cvsweb-markup.

noblob
Offline
Joined: 02/08/2018

https://xkcd.com/1200 Muy grafico, he visto otras pocas diapositivas >1200, guardado a favoritos.

Parodper: Lo que se suele hacer es crear un usuario sólo para ese ejecutable, de manera que el programa solo puede acceder a los archivos que pertenezcan a ese usuario

Ya había pensado en esta solución... Si, creo que es lo que hay que hacer.

Parodper: OpenBSD, por ejemplo, tiene una lista de que usuario corresponde a que paquete: http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/infrastructure/db/user.list?rev=1.410&content-type=text/x-cvsweb-markup.

Una duda que me asalta sobre OpenBSD que use hace algún tiempo para escritorio primero y también otra vez para servidor web con "duck ddns" expuesto a internet, por mantener la coherencia en el foro te lo preguntaré aquí: https://trisquel.info/es/forum/sistemas-operativos-totalmente-libres-mantenidos-y-funcionales-algo-ex%C3%B3ticos-pero-tipo-unix-si

iShareFreedom
Offline
Joined: 12/20/2021

OpenBSD distribuye software privativo, por lo tanto el solo hecho de tener OpenBSD ya es tener instalado malware

noblob
Offline
Joined: 02/08/2018

¡Pues vaya! si que estaba equivocado...

Gracias isf.

iShareFreedom
Offline
Joined: 12/20/2021

la única distribución instalable de BSD será la de HyperbolaBSD y aún no está instalada, y por supuesto será completamente software libre y su software será compatible con la GNU GPL.

noblob
Offline
Joined: 02/08/2018

Menos mal, una buena noticia, anoto investigar HyperbolaBSD entre mis tareas pendientes...

¿Sabes En que núcleo se basará? FreeBSD ("FreeBeerBSD", disculpar la broma), NetBSD o OpenBSD.

iShareFreedom
Offline
Joined: 12/20/2021

Creo que se basará en el de OpenBSD, pero será modificado por supuesto, te recomiendo comunicarte con ellos por medio de sus medios, listas de correo-e, IRC, etc.