Bitfrost, el sistema de seguridad del OLPC

Bitfrost, el sistema de seguridad del OLPC
Facebook Twitter Flipboard E-mail

Poco a poco se van conociendo más detalles del software que funcionará en el OLPC, el ordenador destinado a la educación en los países en desarrollo. Ya vimos hace tiempo cual sería su interfaz gráfico, Sugar, y ahora es momento de conocer cual será su sistema de seguridad.

Con tantos ordenadores distribuidos y conectados en red sería muy atractivo para un atacante poder encontrar una vulnerabilidad en estos que permitiera realizar ataques a otros ordenadores, enviar spam, robar datos de los usuarios,... Además, no se puede mantener el mismo sistema de seguridad que se viene usando hasta ahora en Unix, ya que es muy limitado. Hay que tener en cuenta que este ordenador vana usarlo niños de muy corta edad, por lo que hay que tener en cuenta sus necesidades y las limitaciones que esto implica.

Por todo esto, los diseñadores del OLPC han implementado Bitfrost, un framework que impedirá que todos estos ordenadores se conviertan en un desastre de seguridad.

El documento que explica su funcionamiento es bastante largo, así que intentaremos hacer un resumen de lo más importante y procuraremos no equivocarnos en ningún detalle.

En primer lugar, para evitar robos de los portátiles cuando todavía no han llegado a los usuarios finales, cada ordenador deberá ser activado mediante un disco USB que se dará al administrador de cada escuela. Para evitar posteriores robos, una vez ya esté activado el ordenador este tendrá un límite de días de uso sin autenticarse de nuevo en la red en una de las estaciones autorizadas (que se situarán en las escuelas), de forma que si alguien roba uno este dejará de funcionar al cabo de ciertos días. Para todo esto, cada portátil dispone de un número de serie y de un identificador.

En el aspecto del software, que creo que es el más importante, cuando se instala un programa este pedirá una serie de privilegios al sistema. Estos privilegios le permitirán acceder a ciertos recursos. Para evitar usos maliciosos hay ciertas combinaciones de privilegios que no se pueden pedir a la vez, aunque las aplicaciones que vengan firmadas por OLPC podrán pedir todos los permisos. Estos privilegios (o protecciones que ofrece el sistema, si queremos verlo así) pueden ser cambiados posteriormente a mano por el usuario, pero solo por él y desde la interfaz gráfica.

Veamos cuales son estas protecciones:

P_BIOS_CORE. Solo las BIOS firmadas por OLPC se pueden usar para actualizar el firmware. Se pueden pedir claves ligadas al número de serie e identificador del portátil que permitirán actualizar con una BIOS modificada.

P_BIOS_COPY. Dependiendo de si finalmente cabe, se incluirá una segunda copia de la BIOS que no será modificable y que podrá usarse en caso que la primera quede corrupta.

P_SF_CORE. No se permite la modificación de los ficheros de sistema. Esta protección solo puede desactivarse con una clave de desarrollador como la del P_BIOS_CORE.

P_SF_RUN. Permite que no se puedan modificar los ficheros en ejecución. Cuando se desactiva se realizan copias de los ficheros cuando se modifican de forma que siempre se pueda recuperar el original.

P_NET. Los programas que no estén firmados estarán limitados en su uso de la red, por ejemplo, en la cantidad de datos que pueden enviar o en la velocidad a la que pueden hacerlo.

P_NAND_RL. Para evitar que el software pueda estropear el disco NAND, que tiene un ciclo de escrituras finito, se limita la cantidad de veces que puede modificar ficheros, aumentando el tiempo de espera entre operaciones si estas se producen muy seguidas.

P_NAND_QUOTA. Cada programa tiene un límite de espacio para ficheros de configuración y datos temporales. Por defecto es de 5 MB.

P_MIC_CAM. La cámara y el micro no pueden activarse directamente, solo pedirle al usuario que de permiso para activarla. Además, si un programa no ha pedido este permiso no podrá ni siquiera pedirselo al usuario.

P_CPU_RL. Los programas en segundo plano no pueden usar más de un 10% del procesador.

P_RTC. Los programas no pueden modificar el reloj interno del ordenador. Si lo hacen solo es en una copia exclusiva para ellos.

P_DSP_BG. Sin este permiso los programas no pueden reproducir sonidos si estan en segundo plano.

P_X. Este permiso se debe dar a mano y no puede pedirse en la instalación. Permite que programas como teclados en pantalla puedan enviar eventos a otros programas.

P_SANDBOX. Los programas se ejecutan en una sandbox de forma que solo las librerías que necesita se copian a esta y además no son modificables.

P_DOCUMENT. Un programa no puede abrir el fichero que quiera. Solo puede mostrar un dialogo de selección al usuario para que este seleccione el fichero que el quiera.

Además de estos hay unos cuantos más que mejoran la seguridad. Vemos que este es todo un nuevo paradigma que cambia radicalmente el que disponemos ahora. ¿Sería aplicable a nuestros ordenadores? Veremos primero como funciona en el OLPC y si es suficientemente bueno no sería de extrañar que se fuera adoptando en un futuro.

Vía | Caballe. Más información | Bitfrost.

Comentarios cerrados
Inicio