Seguridad entre programas que ejecuta un mismo usuario.
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?
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.
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.
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.
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
OpenBSD distribuye software privativo, por lo tanto el solo hecho de tener OpenBSD ya es tener instalado malware
¡Pues vaya! si que estaba equivocado...
Gracias isf.
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.
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.
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.