Bitfrost

Bitfrost
Información sobre la plantilla
Ínsssdice.jpg
Bitfrost que funcionará en el OLPC es un framework que impedirá que todos estos ordenadores se conviertan en un desastre de seguridad.
CreadorIvan Krstić
DesarrolladorEl proyecto One Laptop Per Child (OLPC)
Modelo de desarrolloPlataforma de seguridad
Fecha de CreaciónFundada en el año 2002
Lanzamiento inicialNoviembre de 2005
Plataformas soportadasLinux
GéneroPrivacidad, Antivirus
Sistemas Operativos compatiblesLinux.
IdiomaIngles
LicenciaGNU General Public License

Bitfrost es la plataforma de seguridad de la OLPC XO-1, una laptop de bajo costo destinada a niños de países en desarrollo, y desarrollada por el proyecto One Laptop Per Child (OLPC) project. El principal arquitecto de Bitfrost es Ivan Krstić. La primera especificación pública fue publicada en febrero de 2007.

Consideraciones

La mayoría de las ideas y tecnologías que conforman la plataforma Bitfrost no son el resultado de nuevas investigaciones: han sido conocidas en la literatura pertinente durante años, algunas han sido probadas en situaciones reales, y otras en laboratorios.

Lo que se destaca en la XO de la OLPC, es que representa la primera vez que estas medidas de seguridad han sido cuidadosamente ensambladas en un sistema a ser distribuido a decenas o centenas de millones de usuarios. Las laptops son probablemente la primvera vez que un producto de computación masiva ha decidido romper con su legado con tal de mejorar la seguridad. Por ejemplo, notarán que la discusión sobre anti-virus y anti-spyware no figura en la especificación de Bitfrost, principalmente porque la plataforma de seguridad torna dicho tema en algo irrelevante.

Nos hemos puesto como objetivo crear un sistema que sea drásticamente más seguro y usable que cualquier otro sistema masivo actualmente en el mercado. Un resultado de la dedicación a la usabilidad es que sólo existe una protección provista por Bitfrost que requiere una respuesta del usuario, y aún entonces, es una sencilla pregunta por 'si o no' comprehensible aún por un chico pequeño. El resto de la seguridad es provista tras bambalinas. El llevar al límite los aspectos de usabilidad y seguridad no es fácil, y es importante destacar que no hemos intentado crear, y no creemos que lo hayamos hecho, un sistema "perfectamente seguro". La idea de seguridad perfecta en el mundo real es vana, y negamos todo tipo de insinuación que lo hayamos logrado.

Arquitectura de Bitfrost

Contraseñas

No se requiere ninguna contraseña para acceder a la computadora.

Sistema de derechos

Cualquier programa, al momento de ser instalado, requiere ciertos conjuntos de derechos, por ejemplo "acceder a la cámara", o "acceder a internet". El sistema realiza un seguimiento de estos derechos, y el programa es luego ejecutado en un ambiente en el cual sólo los recursos requeridos están disponibles. Esto está implementado mediante una máquina virtual contenedora completamente desarrollada.

Por defecto, el sistema no permite ciertas combinaciones de derechos; por ejemplo, un programa no tendría permisos para acceder a la cámara y acceder a internet a la vez. Cualquiera puede escribir y distribuir programas que requieran combinaciones de derechos permitidas. Los programas que requieran combinaciones de derechos no aprobadas necesitan una firma criptográfica de alguna autoridad. El usuario de la laptop puede utilizar el panel de seguridad incluido para otorgar derechos adicionales a cualquier Aplicación informática.

Modificando el sistema

Los usuarios pueden realizar modificaciones al sistema operativo de la laptop, una versión especial de Red Hat Linux corriendo la nueva interfaz gráfica Sugar, y operando sobre LinuxBIOS y Open Firmware. El sistema original permanece disponible en segundo plano y puede ser restaurado.

Adquiriendo una clave de desarrollador de una ubicación central, un usuario puede incluso modificar la copia de resguardo del sistema y varios aspectos de la BIOS. Dicha clave de desarrollador es entregada sólo después de un período de espera (para que el robo de la máquina pueda ser reportado a tiempo) y es válida para una sola máquina en particular.

Contratos anti-robo

Las laptops solicitan un nuevo "contrato" a un servidor de la red central una vez al día. Estos contratos llegan con una fecha de vencimiento (normalmente un mes), y la laptop deja de funcionar si todos sus contratos han expirado. Los contratos también pueden ser otorgados por un servidor en la escuela, o mediante un dispositivo USB. Aquellas laptops que hayan sido reportadas como robadas no pueden obtener un nuevo contrato.

El país que adquiere la laptop puede determinar si se utiliza este sistema de contratos, y seleccionar el tiempo de vencimiento de los mismos.

Micrófono y cámara

El micrófono y la cámara incluidos en la laptop se encuentran conectados directamente a un LED, así el usuario puede saber en todo momento si están encendidos. Esto no puede ser desabilitado por software.

El Enfoque Bitfrost

Principios

  • Diseño abierto

La seguridad de la laptop no puede depender de algun diseño secreto implantado en el hardware o software

  • Sin bloqueos

A pesar que varios parametros por defecto, el sistema de seguridad de la laptop puede imponer varias prohibiciones a las acciones del usuario, debe existir la manera por la cual éstos sistemas de seguridad puedan ser deshabilitados. En dicho caso, la máquina le permitirá al usuario un control absoluto.

  • Sin lecturas requeridas

La seguridad no puede depender de la habilidad del usuario de leer un mensaje de la computadora y actuar de manera informada y razonable. Si bien el deshabilitar un mecanísmo particular puede requerir una lectura, la máquina debe ser segura desde la fábrica si es entregada a algún usuario que todavía no sabe leer.

  • Seguridad que no obstruya

Siempre que sea posible, la seguridad en las máquinas debe realizarse tras bambalinas, haciendose notar sólamente por medio de sutiles indicadores visuales o audio, y nunca interponiéndose en el camino del usuario. De existir un conflicto leve frente a la comodidad del usuario, la seguridad máxima toma precedencia, aunque cuidados extremos deben llevarse a cabo con el fin de asegurarse que dichos permisos no reduzcan seriamente o solapadamente la usabilidad de las máquinas. Por ejemplo, si un programa es descubierto en el intento de violar una medida de seguridad, no se le preguntará al usuario para permitir dicha acción; que será simplemente negada. Si el usuario desea otorgar dicho permiso, ello puede ser hecho en la interfaz gráfica del centro de seguridad.

Objetivos

  • Sin claves de usuario

Con usuarios jóvenes (a partir de los cinco años), la seguridad de la laptop no puede depender del habilidad del usuario de recordar una clave. No se puede suponer que los usuarios elijan una clave cuando las reciban por primera vez.

  • Sin autentificación no-encriptada

La autentificación de las laptops o sus usuarios no dependerá de identificadores transmitidos sin encriptar en la red. Esto quiere decir que claves visibles de ningún tipo pueden ser usadas en los protocolos OLPC y que el MAC de Ethernet jamás serán usados como autentificación.

  • Seguridad desde la caja

La laptop deberá ser usable y segura desde la caja, sin necesidad de realizar o descargar actualizaciones de seguridad en la medidad de lo posible.

  • Uso limitado institucional

La laptop estará provista con llaves públicas de la OLPC y la autoridad del el país o región (ej: ministerio o departamento de educación), pero estas llaves no serán usadas para validar la identidad de los usuarios. El único propósito de estas llaves es verificar la integridad del software y contenido incluído en la laptop. Los usuarios serán identificados por medio de un sistema orgánico

  • Sin pérdida permanente de datos

La información en la laptop será replicada sobre algún almacenamiento centralizado de modo tal que el estudiante pueda recuperarla en el caso que la laptop se pierda, sea robada o destruida.

Protecciones

  • PBIOSCORE. 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.
  • PBIOSCOPY. 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.
  • PSFCORE. 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 PBIOSCORE.
  • PSFRUN. 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.
  • PNANDRL. 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.
  • PNANDQUOTA. Cada programa tiene un límite de espacio para ficheros de configuración y datos temporales. Por defecto es de 5 MB.
  • PMICCAM. 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.
  • PCPURL. 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.
  • PDSPBG. 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.

Fuentes