proyecto manolo abel 20150706

24
Reporte del Taller de expertos Nova-Coloso Julio 2015

Upload: mary-martinez-morales

Post on 14-Jul-2016

27 views

Category:

Documents


3 download

DESCRIPTION

Proyecto Manolo ABEL 20150706

TRANSCRIPT

Page 1: Proyecto Manolo ABEL 20150706

Reporte del Taller de expertos

Nova-Coloso

Julio 2015

Page 2: Proyecto Manolo ABEL 20150706

Índice de contenido

Introducción......................................................................................................................................................3

Estado del Arte.................................................................................................................................................8

Sistemas basados en micro-núcleo.............................................................................................................8

QNX..............................................................................................................................................................8

seL4..............................................................................................................................................................9

Sistemas basados en hipervisores..............................................................................................................9

El micro hipervisor Nova..............................................................................................................................9

El sistema operativo Qubes.......................................................................................................................10

Sistemas operativos y distribuciones GNU/Linux minimalistas.................................................................11

Propuesta de solución....................................................................................................................................13

Capa de sistema operativo........................................................................................................................13

Capa de librerías........................................................................................................................................14

Capa de marco de trabajo propio...............................................................................................................15

Capa de aplicaciones.................................................................................................................................15

Análisis Estructural prospectivo. Identificación de los factores clave de futuro para el desarrollo de

solución propuesta.....................................................................................................................................15

Acciones Propuestas.....................................................................................................................................20

1ra etapa: Concepción...............................................................................................................................20

2da etapa: Preparación..............................................................................................................................20

3ra etapa: Evolución del modelo productivo..............................................................................................21

4ta etapa: Elaboración...............................................................................................................................22

5ta etapa: Consolidación............................................................................................................................22

Consideraciones sobre el modelo de negocio...........................................................................................22

Recursos (Humanos, Tecnológicos y Logísticos)......................................................................................23

Conclusiones..................................................................................................................................................24

Page 3: Proyecto Manolo ABEL 20150706

Introducción

Varios son los ejemplos históricos del peligro que representan las vulnerabilidades de los sistemas

informáticos para la soberanía de un país, desde la explosión en la antigua Unión Soviética del

gaseoducto transiberiano, considerado uno de los tiros de gracia al campo socialista, hasta el más

reciente, en junio del 2013, cuando el contratista de la Agencia de Seguridad Nacional (NSA)

norteamericana, Edward Snowden, hizo públicos documentos clasificados como alto secreto donde se

exponía que Estados Unidos de América tiene la capacidad de espiar el contenido de gran cantidad de

usuarios de Internet.

Para solventar estos riesgos países de todos los continentes se han dado, con mayor y menor éxito, a la

tarea de migrar sus sistemas informáticos críticos a alternativas libres y de código abierto (FOSS, por sus

siglas en Inglés). Ejemplo de ello son Venezuela, Alemania, Brasil, Bolivia y Argentina.

En Cuba La migración a FOSS está planteada desde el año 2004 pero no ha fructificado con la fuerza

necesaria por diversas razones, entre ellas:

Ausencia de una adecuada legislación, regulaciones y/o procedimientos que indiquen el uso de

FOSS en las empresas cubanas.

La baja calidad de las herramientas que propone el FOSS para el trabajo de oficina es un

impedimento en la migración de los procesos burocráticos.

Existe desplegado en la isla gran cantidad de aplicaciones, accesorios y equipamiento no

compatibles con el FOSS .

No existe infraestructura para colocar las actualizaciones de FOSS, esto favorece en el entorno

actual, amparados en la ley 127, a los sistemas operativos de Microsoft con actualizaciones que

provienen de internet.

El esfuerzo necesario para la migración a FOSS es comúnmente más caro que la información que

se maneja en las empresas.

Existe una baja preparación generalizada, en las empresas, sobre los temas relacionados con las

TICs.

Existe en Cuba desde los años ´90 una pequeña comunidad de usuarios de software libre formada

en su principio por administradores de red y luego enriquecida por estudiantes y académicos de

carreras afines a las tecnologías de la informática y las comunicaciones (TIC). Esta comunidad en

la actualidad se denomina Grupo de Usuarios y Tecnologías Libres (GUTL) y no se ha logrado

conjugarla con el empeño estatal de la migración a FOSS.

Page 4: Proyecto Manolo ABEL 20150706

Figura 1: Análisis de las 4S para distintos escenarios de utilización de sistemas

operativos en Cuba.

En el plano teórico de la migración a software libre se considera importante destacar el trabajo de

Pierra el cual define los principios del desarrollo de aplicaciones para la OACE (Pierra,

2012). Estos permiten evaluar la factibilidad de la adopción o desarrollo de tecnologías FOSS de

acuerdo a las necesidades de la sociedad cubana y constituyen una herramienta aplicable a los

sistemas operativos. Específicamente dichos principios son:

Seguridad: El sistema debe ser diseñado, implementado, desplegado y configurado de

forma tal que no pueda ser obligado a fallar intencionalmente. Debe mantenerse correcto y

predecible a pesar de los esfuerzos que se realicen para comprometer su fiabilidad.

Soberanía Tecnológica: Mediante la formación de recursos humanos capacitados será un

sistema operativo independiente, con capacidad de decidir sobre las tecnologías

reutilizadas y desarrolladas.

Socio-adaptabilidad: Será un sistema operativo hecho por cubanos para cubanos,

alineado a las políticas que orienta la informatización nacional y optimizado para las

condiciones tecnológicas del País.

Sostenibilidad: Mantendrá un proceso flexible y versátil, en constante innovación y

consonancia con las nuevas tendencias tecnológicas internacionales, garantizando modelos

de comercialización que permitan el ingreso de divisas por el concepto de exportación de

productos y servicios.

Como resultado de la evaluación de los principios antes mencionados en los diferentes escenarios

de migración del país (Figura 4) el autor considera que: la utilización de Windows garantizaría un

proceso de informatización sostenible y acelerado utilizando las mejores tecnologías del mercado,

el desarrollo de un sistema operativo desde 0 garantizaría los niveles de seguridad requeridos en

las TIC demandados por el país en los tiempos actuales pero el costo de desarrollo inherente al

Page 5: Proyecto Manolo ABEL 20150706

mismo implicaría años de desarrollo hasta obtener un resultado, sumándole a esta situación la

inviabilidad de portarlo para todo el hardware existente en el país y por último una solución

balanceada para los cuatro aspectos es el desarrollo de una distribución de GNU/Linux (Pierra,

2012).

No obstante los desarrollos cubanos de distribuciones basadas en GNU/Linux (Nova y Coloso) no

están ajenos a las dificultades mencionadas anteriormente que no les han permitido avanzar a

mayor velocidad y se encuentran además con otros problemas como:

El éxodo de desarrolladores capacitados ha debilitado los equipos que en muchos casos

fueron sistemáticamente destruidos obligándolos a refundarse casi desde cero perdiendo

los avances alcanzados.

La insuficiente preparación en este tipo de desarrollo que se imparte en las carreras afines, en

todas las universidades del país, impide incorporar en masa a estudiantes y recién graduados a la

producción.

Los equipos de desarrollo se sienten a menudo desmotivados al no ver el impacto de sus

productos en la sociedad.

Es muchas veces más costoso modificar las aplicaciones ya existentes en el FOSS que

desarrollarlas desde cero.

Aún con los problemas antes expuestos, la migración a FOSS y el desarrollo de distribuciones en Cuba ha

dejado algunos desarrollos como saldo positivo. A continuación se presenta una tabla que enumera los

desarrollos propios a los que han llegado Nova y Coloso.

Indicador Nova Coloso Observaciones

Variante para Escritorio X X

Variante para Servidores X X

Variante para Clientes Ligeros X* X Nova: Descontinuado.

Variante para Máquinas de Bajas

PrestacionesX

Herramientas de control de

dispositivos USBX X

Plataformas de Compilación masiva X XLa diferencia entre las plataformas de compilación,

determina que ambas distribuciones sean incompatibles.

Page 6: Proyecto Manolo ABEL 20150706

Indicador Nova Coloso Observaciones

Gestión de actualizaciones y

dependenciasX X

Cumplimiento con las normas LSB

(Linux Standard Bases)X

Esto influye en la estructura del sistema de archivos y

otras configuraciones.

Cifrado Sistema Archivos X* Descontinuado desde 2009

Entorno de escritorio propio XGuano, Moonlight, NovaShell, WindowsShell y

KioskoElecciones.

Colaboración con la comunidad

internacionalX*

Los oficiales no pueden colaborar con personal extranjero

y en ocasiones se limita con el nacional.

Sistema de clonación X

Variante para dispositivos móviles X*La base tecnológica es diferente y no abarca todos los

modelos de dispositivos móviles.

Sistema de Correo Propio y Seguro X

Sistema de gestión de seguridad

centralizadaX

Herramienta de administración

centralizada de servicios telemáticosX

Despliegue en instituciones del país X X* Se limita solo a las FAR.

Alianzas con fabricantes de Hardware X

Entorno de escritorio propio XGuano, Moonlight, NovaShell, WindowsShell y

KioskoElecciones.

Tabla 1: Relación de desarrollos Nova/Coloso

Es importante señalar que en gran parte de los casos hay un esfuerzo duplicado para lograr

objetivos comunes. cada uno de manera independiente. Aparte de los desarrollos propios antes

mencionados ambas distribuciones comparten un gran número de aplicaciones. Estas se pueden

agrupar en cuatro tipos de acuerdo a su ritmo de aparición de vulnerabilidades de seguridad:

Page 7: Proyecto Manolo ABEL 20150706

Figura 2: Aparición estable de vulnerabilidades Figura 3: Aparición despreciable de

vulnerabilidades

Figura 4: Aparición incremental de

vulnerabilidades

Figura 5: Desaparición de vulnerabilidades

En el sistema base de la distribución cubana de GNU/Linux, Nova, hay actualmente 58 aplicaciones que

poseen una tasa sostenida en la aparición de vulnerabilidades por año, 9 con tendencia incremental, 17

con tendencia decreciente y 128 cuya tasa de aparición de vulnerabilidades puede despreciarse. Si

consideramos como software con propensión a errores (SPE) aquellos que tienen un ritmo incremental o

estable en la aparición de vulnerabilidades podemos decir que el 31% de las aplicaciones de Nova

pertenecen a este conjunto y esto aplica a la mayoría de las distribuciones convencionales de GNU/Linux

(Coloso, Ubuntu, Debian, OpenSuse, Fedora, Centos).

Esto demuestra que de cualquier forma ninguna de las distribuciones resuelven las necesidades en cuanto

a seguridad informática del país dado que a pesar de que tenemos la posibilidad de acceder al código

fuente de estas últimas, no contamos con la capacidad de revisar las decenas de millones de líneas de

código (LOC, por sus siglas en Inglés) que las componen. Esto crea falsas expectativas sobre una

seguridad aumentada en el producto.

En consecuencia de todo lo antes expuesto el objetivo del presente taller es diseñar una base tecnológica

y logística, utilizando el conocimiento generado por los proyectos Nova y Coloso, que se acomode a las

necesidades de la informatización de la sociedad cubana y solvente los problemas ocurridos en el proceso

de migración a FOSS que permita asegurar la información en las comunicaciones, los procesos y la

infraestructura crítica del país.

Page 8: Proyecto Manolo ABEL 20150706

Estado del Arte

La seguridad en el diseño y desarrollo de los sistemas operativos constituye un tema recurrente tanto en la

academia como en la industria. Por ello es pertinente explorar las principales soluciones existentes

relacionadas al tema. Se destaca como principales tendencias dentro de la temática: los sistemas basados

en micro-núcleo (también conocidos en la literatura como micro-kernel o μ-kernel), hipervisores

(hypervisors) o monitor de máquina virtual (virtual machine monitor), la verificación formal de sistemas y la

defensa de sistemas en profundidad.

Sistemas basados en micro-núcleo

Se considera un sistema basado en micro-núcleo aquel que provee un conjunto de primitivas o llamadas

mínimas al sistema para implementar servicios básicos como espacios de direcciones, comunicación entre

procesos y planificación básica. Todos los otros servicios (gestión de memoria, sistema de archivos,

operaciones de E/S, etc.), que en general son provistos por el núcleo, se ejecutan como procesos

servidores en espacio de usuario (Herder, 2005).

Las principales ventajas de su utilización son la reducción de la complejidad, la descentralización de los

fallos y la facilidad para crear y depurar controladores de dispositivos. Según los defensores de esta

tendencia, esto mejora la tolerancia a fallos y eleva la portabilidad entre plataformas de hardware.

Por otro lado, sus principales dificultades son la complejidad en la sincronización de todos los módulos que

componen el micro-núcleo y su acceso a la memoria, la anulación de las ventajas de zero copy 1 y la

integración con las aplicaciones. Además, los procesadores y arquitecturas modernas de hardware están

optimizadas para sistemas tradicionales que pueden mapear toda la memoria. Sus detractores le achacan

también y fundamentalmente, mayor complejidad en el código, menor rendimiento y limitaciones en

diversas funciones. Entre los principales exponentes de esta arquitectura se encuentran QNX y seL4, los

cuales son revisados a continuación.

QNX

QNX es un sistema operativo, según sus creadores, robusto y escalable capaz de correr tanto en

pequeños dispositivos de con recursos limitados como en entornos de cómputo distribuidos. Este

implementa la API2 POSIX3 y es compatible con procesadores de la familia X86 y AMD64. Entre las

principales ventajas de su arquitectura centrada en micro-núcleo se encuentra: la creación de código

portable entre diferentes líneas de productos, marco de trabajo común, tiempo de desarrollo reducido.

1 Operaciones de cómputo en las que el procesador no realiza operaciones de copia de datos.

2 Interfaz de programación de aplicaciones.

3 Acrónimo de Portable Operating System Interface.

Page 9: Proyecto Manolo ABEL 20150706

seL4

Otro sistema basado en arquitectura de micro-núcleo es el seL4 que es una versión formalmente

verificada del L44. Este es el primer sistema operativo formalmente verificado lo cual le tomó a sus

desarrolladores un esfuerzo considerable de 25 hombres / año. Este también tiene capacidades para la

virtualización y 55 000 LOC. Uno de los principales aspectos que lo hacen atractivo es que mediante la

verificación formal proveen una vía para comprobar si han sido introducidas modificaciones (puertas

traseras) en el proceso de compilación. Además permite separar las aplicaciones confiables de las

heredadas sin modificar su código.

Sistemas basados en hipervisores

Un hipervisor es una plataforma que permite aplicar diversas técnicas de control de virtualización para

utilizar, al mismo tiempo, diferentes sistemas operativos (sin modificar o modificados, en el caso de

paravirtualización) en una misma computadora. Es una extensión de un término anterior, «supervisor»,

que se aplicaba a los núcleos de los sistemas operativos.

El micro hipervisor Nova

El micro hipervisor Nova es un puente en la brecha entre los micro kernel y los hipervisores tradicionales.

Como se puede observar (Figura 5) sobre este se colocan una capa que contiene drivers, algunas

aplicaciones y el manejador de particiones. Sobre esta capa se crean las máquinas virtuales que nunca

interactúan directamente sobre el hardware. Este proyecto no se centra en agregar controles de seguridad

el sistema operativo sino en hacer una tecnología de virtualización más segura que las que existen en la

actualidad.

4 Famila de micro-núcleos generalmente utilizados para implementar S.O. similares a Unix.

Figura 6: Arquitectura del micro hipervisor Nova

Page 10: Proyecto Manolo ABEL 20150706

Nova solo contiene 36 000 LOC. Comparando con que solo en el kernel Linux hay 11 700 000 LOC, en

materia de asimilación tecnológica, esta propuesta es mucho más sostenible. Este proyecto provee una

solución para la utilización de sistemas privativos de una forma más segura, con mínimo esfuerzo.

El sistema operativo Qubes

Qubes es un sistema operativo, al igual que el hipervisor Nova, provee una forma segura de ejecutar

aplicaciones no confiables aislándolas en diferentes dominios. En la Figura 10 se muestra una vista

simplificada de la arquitectura del sistema donde las máquinas virtuales (VM) son la base principal. Este

sistema se favorece de las tecnologías VT-d y TXT de Intel lo que le permite crear dominios para los

controladores más seguros y minimiza la superficie de ataque. El usuario puede dividir sus VMs en

categorías: AppVMs para las aplicaciones que tienen acceso a las redes como clientes de mensajería,

navegadores Web, etc., y las ServiceVMs que se diferencian en que son las que se utilizan para proveer

servicios como el acceso a disco y la interacción con la tarjeta de red. Toda esta complicada filosofía se

desenvuelve de manera tal que es transparente para el usuario final el cual puede ejecutar aplicaciones de

una u otra VM solo que estas no pueden corromperse entre sí.

Esta propuesta está basada en el hipervisor Xen que tiene 600 000 LOC y sobre ella también pueden ser

utilizados de forma segura los sistemas operativos privativos que hay hoy desplegados en la isla por lo

que también supone con un mínimo esfuerzo una solución sostenible al aseguramiento de la información

en las estaciones de trabajo.

Figura 7: Sistema operativo Qubes

Page 11: Proyecto Manolo ABEL 20150706

Sistemas operativos y distribuciones GNU/Linux minimalistas

Además del estudio de sistemas basados en la virtualización se revisaron sistemas operativos y

distribuciones GNU/Linux que minimizan sus vulnerabilidades reduciendo las LOC. A continuación se

exponen los mismos en una tabla comparativa.

CategoríaEspacio

en discoRequerimientos

Arquitectura

Soportada

Navegación

Web

KolibriOS OS 1.2MB 1GHz CPU, 8MB RAM x86 Incipiente

ReactOS OS 300MB 1GHz CPU, 64MB RAM x86 Sí

Slitaz/DSL/TinyCore OS > 50MB 1GHz CPU, 256MB RAM SíAndroid OS 500MB 1GHz CPU, 512MB RAM x86,ARM,MIPS Sí

Tabla 2: Comparativa sobre distintos sistemas operativos estudiados

De estos ReactOS y Android fueron los que llamaron la atención del equipo. ReactOS porque provee un

sistema compatible con Windows NT completamente libre y ha sido seleccionado por el gobierno ruso

como el segundo sistema operativo a utilizar en la gestión estatal, lo que supone en el futuro cercano una

mejora en sus funcionalidades aún incompletas. La adopción de este sistema operativo propondría una

solución libre para aquellos puestos de trabajo de bajas prestaciones que a causa de las aplicaciones o

hardware no pudiesen ser alcanzadas por las soluciones basadas en la virtualización.

Figura 8: Arquitectura del SO Android

Android, por su parte, muestra varios puntos fuertes en la seguridad desde su diseño como son: El

sistema de gestión de permisos de las aplicaciones, que informa al usuario de las capacidades que tienen

las aplicaciones y requieren de la autorización de este para ser instaladas, la firma de paquetes para

certificar que siempre provengan del mismo desarrollador, el sistema raíz es solo lectura, no existe un

usuario administrador por defecto, Android reduce las LOC y capas de abstracción del sistema.

Page 12: Proyecto Manolo ABEL 20150706

Para establecer una comparación Nova 2015 tiene instalados 1745 paquetes de software, Android para su

compilación solo requiere 189.

Android no solo es un paradigma en cuanto a la seguridad de los sistemas basados en GNU/Linux

sino que aporta un marco de trabajo único que estandariza las tecnologías para el desarrollo y

permitió que este sistema operativo creciera a 1 576 347 aplicaciones en solo 5 años (Debian que

tiene el repositorio más abundante de las distribuciones GNU/Linux tiene 36 000 aplicaciones en

20 años). Este sistema es el único que brinda la posibilidad de crear con un solo esfuerzo un

sistema operativo para todos los tipos de hardware (Escritorio, Servidores, Móviles y Accesorios)

siendo así la más sostenible de todas las soluciones estudiadas.

Este estudio permitió definir que es posible crear diseños de sistemas operativos donde la

seguridad no dependa totalmente del código fuente. También demostró que es posible utilizar las

aplicaciones con propensión a errores de manera más segura a través del encapsulamiento, que

permite aislarlas completamente y minimizar la superficie de ataque del sistema. Demostró que

hay técnicas de verificación formal a gran escala para validar matemáticamente la seguridad del

software y que hay sistemas con pocas bibliotecas de terceros que son altamente sostenibles.

Page 13: Proyecto Manolo ABEL 20150706

Propuesta de solución

Para llegar a una propuesta de solución, se evaluaron los diferentes escenarios donde se realizaría el

despliegue del sistema operativo cubano con el objetivo de lograr el mayor impacto y aceptación del

mismo. Los escenarios evaluados se mencionan a continuación:

Control de procesos

Servidores

✔ Hardware-GNU-

Compatible

✔ Hardware-No-GNU-

Compatible

Dispositivos de redes

✔ Switches

✔ Routers

✔ Modems

✔ Firewalls

Hardware de propósito

específico

• Autómatas de control

Escritorios

• Máquinas de bajas

prestaciones (Clientes

Ligeros)

• Máquinas con soporte

Intel-VT

• Máquinas sin soporte

Intel-VT

Virtualización y Nube

Aplicaciones legadas o

heredadas-GNU-Compatible

Aplicaciones legadas o

heredadas-No-GNU-

Compatible

Dispositivos móviles

Hardware de propósito

general

• Impresoras

• Cámaras

Tabla 3: Escenario de hardware.

A partir de los elementos evaluados y teniendo en cuenta los posibles escenarios donde el sistema debe

lograr mayor impacto, la sostenibilidad a partir de la disponibilidad de recursos humanos, técnicos y

logísticos en general, se expresa a continuación la que se estimó como la mejor variante de solución. Un

modelo en capas con el objetivo de lograr alta cohesión y bajo acoplamiento.

Es importante acotar que esto debe enfrentarse en una concepción sistémica, dado que el desarrollo por

separado de una sola de las capas no resolvería el problema de la seguridad inmediatamente, ni a futuro.

Capa de sistema operativo

El proyecto debe tender a desarrollar un núcleo del sistema operativo propio. Este, por sus características,

no debe ser Linux. Se valora además que debe poseer como característica el ser seguro por diseño y

poseer la menor cantidad de LOC con el objetivo de hacer sostenible los mantenimientos y las auditorías

al código fuente. En algunos escenarios, lograr una arquitectura segura del sistema operativo e incluso de

las aplicaciones legadas o heredadas, será una tarea relativamente sencilla si se empleara un hipervisor.

No obstante, no es posible enfrentar todos los escenarios bajo esta propuesta por no contar el hardware

con capacidades de virtualización. Existe la posibilidad de palear este último aspecto empleando hardware

que se ajuste a las necesidades, pero no es posible lograrlo en todos los casos.

Page 14: Proyecto Manolo ABEL 20150706

Por tanto, no podemos asegurar que existirá un núcleo único, si no dos o más variantes para ajustarse

mejor a todos los posibles escenarios, incluidos los dispositivos móviles. Las diferentes variantes, deberán

exportar un conjunto de interfaces comunes para garantizar el trabajo de las capas superiores.

Se incluirán en esta capa las modificaciones necesarias para poder soportar la mayor cantidad de

hardware.

Figura 9: Propuesta de solución.

Capa de librerías

Se va a crear con el objetivo de interactuar con la capa inferior a partir de las interfaces definidas para ello

y brindar un conjunto de funcionalidades de bajo nivel a la capas superiores. De preferencia, estas

bibliotecas de funciones serán diseñadas para ser seguras, de poca complejidad interna y de mínima

cantidad de LOC. Deberá garantizar la seguridad de las capas inferiores y forzar el diseño seguro de las

superiores. Ejemplos notables en el estado del arte aparecen bajo nombres como Genode, Graphene,

LibOS entre otros. En esta capa se agregarán controles de seguridad como Antivirus, Detectores de

intrusos, Cortafuegos, Gestión de Salvas y Actualización.

Page 15: Proyecto Manolo ABEL 20150706

Capa de marco de trabajo propio

Su objetivo es, a partir de emplear las interfaces definidas por la capa inferior, ofrecer la mayor cantidad de

funcionalidades que se emplean de forma general en la construcción de aplicaciones, brindando interfaces

de alto nivel que facilite los procesos de desarrollo. Exige ofrecerla con documentaciones que especifiquen

y ejemplifiquen de la forma más clara posible, todas las interfaces existentes para su empleo posterior,

además dotarla de una SDK.

Lograr que se puedan desarrollar aplicaciones rápido y fácil o reutilizar las ya existentes, es un factor

determinante en la adopción de facto del sistema. Es indispensable que se estandaricen las tecnologías

para unificar el desarrollo.

Se valoró como posibilidad de ofrecer un motor JS, atendiendo a la facilidad de programación y la cantidad

de recursos humanos con conocimientos en el país. También se valoró la posibilidad de adaptar el marco

de trabajo de Android a esta capa inferior, con el objetivo de reutilizar las 1 576 347 de aplicaciones ya

existentes. Esta capa es determinante para la sostenibilidad del sistema y su amplia adopción.

Capa de aplicaciones

Esta es la que va a dotar al sistema de funcionalidad ante los ojos del usuario final. Aquí se pretende que

sea mayormente desarrollada por terceros a lo largo del país. Incluirá inicialmente algunas aplicaciones de

alto impacto social.

Análisis Estructural prospectivo. Identificación de los factores clave de futuro para

el desarrollo de solución propuesta

La primera de las labores del estudio prospectivo consiste en tratar de identificar y jerarquizar en función

de su importancia, cuales son los principales factores que determinarán el futuro de la solución propuesta.

Para llevar adelante esta tarea se ha aplicado la herramienta denominada análisis estructural. Esta

herramienta es un método de estructuración de una reflexión colectiva que ofrece la posibilidad de

describir un sistema, en nuestro caso el futuro del sistema operativo cubano.

Tras la consulta a los expertos y la unificación de los diferentes listados obtenidos, el listado de las

variables con las que se ha trabajado son las siguientes:

Page 16: Proyecto Manolo ABEL 20150706

No Variables Abreviatura Descripción de la variable Agrupación

1 Recursos Humanos RR.HH.Acceso a recurso humanos con buena

formación técnica.Sostenibilidad

2 Código fuente CF

Disponibilidad del código fuente de los

sistemas heredados y la capacidad de

poder revisarlo

Soberanía Tecnológica

3 Hardware HWCompatibilidad hardware desplegado e

importado con la solución propia.Soberanía Tecnológica

4Complejidad de la

solución propiaComplejidad

Complejidad lógica de la solución propia y

su tamañoSoberanía Tecnológica

5 Base legal Base Legal

Bases legales existentes que soporten el

proceso de migración y adopción de

nuevas tecnologías compatibles con las

4S.

Socio-Adaptabilidad

6 Institucionalización ADMONCreación de una estructura administrativa

que ejecute el proyecto.Sostenibilidad

7Relaciones Cuba-

EE.UU.Cub-EEUU Estado de las relaciones Cuba-EE.UU. Socio-Adaptabilidad

8Documentación del

software heredadoDOC

Documentación de usuario y de desarrollo

del software heredadoSostenibilidad

9Encriptación de las

InformaciónEncrypt

Cifrado de los canales de comunicación y

almacenamientoSeguridad

10Desarrollo de un

protocolo IP propioSeg Prop

Implementación de soluciones de

seguridad propiasSeguridad

11

Estandarización de un

marco de trabajo

propio

MTP (sdk)

Ofrecer las herramientas y la

documentación para que terceros

desarrollen aplicaciones

Sostenibilidad

12Interacción Hombre

MáquinaHCI

Usabilidad y Experiencia de Usuario sobre

las aplicaciones e interfaces del sistema

desarrollado

Socio-Adaptabilidad

13Aplicaciones

DisponiblesAPP

Calidad y cantidad de aplicaciones

disponiblesSocio-Adaptabilidad

14 Seguridad por diseño SEG-DISCrear sistemas que sean seguros por

diseñoSeguridad

15Automatización de los

procesosAUTO-PROC

Automatizar todos los procesos de

desarrollo que sea posible

Herramientas de integración continua,

Gestion de Repositorios, de Compilación

masiva.

Soberanía Tecnológica

Page 17: Proyecto Manolo ABEL 20150706

No Variables Abreviatura Descripción de la variable Agrupación

16Mecanismos de

soporteSoporte Infraestructura y capacidad de dar soporte Sostenibilidad

17Mecanismo de

actualizaciónActualizac

Infraestructura y capacidad de actualizar

las soluciones desplegadas

Socio-

Adaptabilidad

18Investigación y

DesarrolloI+d

Investigar para generar el conocimiento

asociado a la base tecnológica.Sostenibilidad

19 Capacitación FormaciónCapacitación de los RR.HH. humanos

involucrados en la soluciónSostenibilidad

20 Industria y Empresa Industria

Respaldo comercial y modelos de negocio

que sustente la solución. Compromiso de

fabricante y distribuidores

Sostenibilidad

Tabla 4: Variables utilizadas para el estudio de prospectivas

Conocer el binomio causa-efecto de los elementos que influyen en el futuro del desarrollo es

imprescindible para diseñar en el futuro las acciones estratégicas necesarias que permitan afrontar con

éxito y potenciar las oportunidades que de este proceso puedan surgir. Visualizar esta interacción es

también necesario para generar los argumentos pertinentes en la posterior redacción de los escenarios.

Figura 10: Mapa de motricidad/dependencia potencial directa

Mediante la utilización del programa MIC-MAC se realizó la multiplicación matricial, que se aplica a la

matriz directa del análisis estructural permitiendo estudiar la difusión de los impactos por los bucles

interactivos y de reacción y en consecuencia, jerarquizar los factores teniendo en cuenta todos los efectos

Page 18: Proyecto Manolo ABEL 20150706

indirectos. El resultado queda plasmado en un plano Motricidad-Dependencia que se muestra en la Figura

10. Según el método aplicado los resultados obtenidos pueden interpretarse mediante la ubicación de las

variables en los cuadrante:

En el cuadrante inferior izquierdo aparecen las variables autónomas. Se trata de una serie de variables

con menor dependencia e influencia indirecta. Se puede considerar que, aunque todas las variables que

se han incluido en el análisis son relevantes para el futuro del sistema, el grupo de variables autónomas

no tendrán tanta importancia estratégica cara al futuro del sistema analizado.

En el ángulo contrario se sitúan las variables claves, que se caracterizan por tener tanto un alto grado de

motricidad como por ser muy dependientes del resto de variables. Como se puede apreciar las variables

más influyentes y dependientes para el éxito de la solución son “Investigación y Desarrollo” y “Recursos

Humanos” .

En la zona superior izquierda, se encuentran las variables determinantes, son poco dependientes y muy

motrices, según la evolución que sufran a lo largo del periodo de estudio se convierten en frenos o

motores del sistema.

Por último abajo a la derecha se localizan las denominadas variables resultado que se caracterizan por

su baja motricidad y alta dependencia, y suelen ser indicadores descriptivos de la evolución del sistema.

Figura 11: Grafo de motricidad potencial indirecta

Page 19: Proyecto Manolo ABEL 20150706

La “Investigación y el Desarrollo”, los “Recursos Humanos” y la “Complejidad de la solución” forman un

triángulo de relaciones sólidas, destacándose una relación cíclica entre las dos primeras. Estas son las

variables que tienen un mayor valor estratégico de futuro de la solución en la informatización de la

sociedad.

Tras la descripción realizada de la distribución de las variables en función de su ubicación en el plano, el

siguiente paso lo constituye el análisis del eje estratégico. Este eje está compuesto por aquellas variables

con un nivel de motricidad que las convierte en importantes en el funcionamiento del sistema combinado

con una dependencia que las hace susceptibles de actuar sobre ellas. La proyección sobre este eje

presenta, por tanto, los retos estratégicos para el desarrollo del sistema operativo cubano, sobre el cual se

proyectarán las acciones a corto, mediano y largo plazo.

Page 20: Proyecto Manolo ABEL 20150706

Acciones Propuestas

Inicialmente se propone crear un equipo inicial de entre 10 y 20 expertos para llevar a cabo la creación de

la primera versión del sistema operativo cubano, apoyados por una pirámide de investigación que permita

a mediano plazo el crecimiento progresivo de los recursos humanos. El trabajo se dividiría en 5 fases. Las

tres primeras etapas orientadas a la obtención de un prototipo funcional y las otras dos a la terminación y

consolidación del producto y la organización.

1ra etapa: Concepción

Proponer al Consejo de Ciber Seguridad Nacional la creación de una comisión especial que

atienda, administre y asegure la creación del sistema operativo cubano.

Definir la estructura administrativa y organizativa sobre la cual se va a desarrollar el proyecto.

Realizar un estudio de prospectiva a nivel nacional para determinar cuales son las variables que

hay que potenciar para garantizar la adopción del sistema operativo cubano.

Comenzar a elaborar el fundamento legal que respalde la decisión política de apoyo al sistema

operativo cubano y que institucionalice su uso.

Proponer un presupuesto para que las infraestructuras críticas, los OACE, etc., compren el

sistema operativo cubano y los servicios de diseño y capacitación de seguridad de sus

infraestructuras.

Definir los niveles de seguridad que debe de poseer las diferentes entidades.

Definir los niveles de certificación que deben de poseer los operadores del sistema operativo

cubano.

Preparar personal para asumir el soporte nivel 3 de Nova y Coloso.

Terminar compromisos pendientes: Nova 2015, migración del MINFAR.

Congelar nuevos desarrollos independientes para concentrar esfuerzos.

Asumir los nuevos contratos de migración y despliegue en conjunto.

2da etapa: Preparación

Conformar el equipo de expertos.

Diseño de prototipos de solución.

Garantizar capacitación e intercambio de conocimiento dentro y fuera del país.

Page 21: Proyecto Manolo ABEL 20150706

Realizar alianzas con ReactOS, Kolibri, GENODE, etc.

Ganar en capacidades de análisis de código fuente, extracción de funcionalidades y síntesis de

programas.

Participar en conferencias internacionales de seguridad y hacking. Fundamentalmente para los

teléfonos y dispositivos móviles.

Adquirir hardware para construir equipos que permitan encapsular a diferentes dispositivos de las

infraestructuras críticas. También podrían emplearse para introducir datos en redes de más alta

clasificación de seguridad.

Brindar acceso a internet de banda ancha en las casas para permitir incrementar el tiempo de

desarrollo, posibilitar el teletrabajo y mejorar la superación personal.

Garantizar equipo de cómputo portátil (medio básico) a cada miembro del equipo inicial.

Capacitar el personal en los dominios de conocimiento relacionados en la Tabla 5.

Seguridad

Principios de seguridad

Controles de acceso

Mecanismos de seguridad

Controles de seguridad

Análisis de riesgos

Ciber-Inteligencia

CVE/CWE (Vulnerabilidades,

clasificación e histórico)

Reglas de sentido común de la

seguridad

Criptografía (Sidechannels)

Dispositivos Diseño de firmware

Ingeniería inversa y verificación.

Sistema Operativo RTOS

MicroKernel

Microhipervisor

Arquitecturas de seguridad

Drivers

Embebidos

Hardware Drivers

Certificación

Diseño propio

Diseño seguro

Telefonía celular Diseño de banda base

Osmocom_BB

Ingeniería inversa de Banda

base.

Ingeniería de

software Automatización de los procesos

de desarrollo

Procesos de desarrollos seguros

Requisitos de seguridad

Casos de abuso

Patrones de diseño seguro

Verificación formal

Extracción de funcionalidades y

protocolos

Pruebas unitarias

Compilación e integración

continua

Simulación de eventos de

seguridad y comportamiento

del software

Tabla 5: Relación de dominios de conocimiento asociados al sistema operativo cubano

3ra etapa: Evolución del modelo productivo

Diseñar un modelo de negocio que haga sostenible el futuro desarrollo del SO.

Conformación de los equipos de trabajo por áreas o componentes.

Page 22: Proyecto Manolo ABEL 20150706

Automatización del proceso de desarrollo.

Definición de las pautas tecnológicas y metodológicas de la interacción hombre-máquina, el diseño

y desarrollo seguro.

Definición de mecanismo de despliegue, actualización y soporte.

4ta etapa: Elaboración

Desarrollo y pruebas de la solución.

Desarrollo del Marco de Trabajo Propio.

Desarrollo de herramientas que provean controles de seguridad.

Implementar soluciones que permitan ejecutar sistemas legados y aplicaciones inseguras

provenientes de terceros.

Despliegue piloto.

5ta etapa: Consolidación

Aprobar el fundamento legal que respalde la decisión política de apoyo al sistema operativo

cubano y que institucionalice su uso.

Creación y capacitación del equipo de soporte.

Comercialización y despliegue de la solución.

Consideraciones sobre el modelo de negocio

El mercado objetivo se conforma por los organismos y entidades de la administración central del

estado (OACE), las empresas de las FAR y empresas extranjeras.

Se deben producir 3 versiones del producto:

Comunitaria: versión de dominio público, orientada al uso doméstico y en entidades

educativas.

Comercial: orientada al sector empresarial tanto nacional como foráneo.

Segura: orientada a los sectores críticos del país.

La comercialización del producto se realizará por medio de:

Acuerdos con fabricantes de hardware. Los dispositivos son comercializados con el SO

instalado y se le cobra en por ciento.

Page 23: Proyecto Manolo ABEL 20150706

Acuerdos de soporte para las versiones Comercial y Segura. Este puede ser dividido de

acuerdo al nivel: el soporte de nivel 1 y 2 puede ser brindado por otra entidad (aporta un por

ciento de las ganancias) y el soporte nivel 3 y las actualizaciones de seguridad es provisto por

la entidad.

Soluciones a la medida.

Recursos (Humanos, Tecnológicos y Logísticos)

Ver documento anterior en el Anexo 1.

Page 24: Proyecto Manolo ABEL 20150706

Conclusiones

Al finalizar el presente taller se puede concluir que las distribuciones de GNU/Linux u otros sistemas de

terceros no garantizan la seguridad que requiere el proceso de informatización de la sociedad cubana,

debido a que no se cuenta con la capacidad de revisar las decenas de millones de líneas de código que

las componen y los análisis estático y dinámico de código no ofrecen una solución completa para la

reducción de vulnerabilidades. Además el diseño de las distribuciones de GNU/Linux no comprende

elementos de seguridad como: el encapsulamiento de las aplicaciones y controladores de hardware.

Es preciso aclarar que el sistema operativo cubano no podrá impedir que una impresora a la vez que

imprime mande la información vía satélite. No puede hacer que las aplicaciones sean seguras, solo puede

contenerlas para limitar el daño y evitar que se corrompa el sistema completo. No puede garantizar que el

hardware sobre el que el se ejecuta es seguro.

El equipo que desarrolla este taller considera que no es responsabilidad del sistema operativo proveer

aplicaciones tales como Suite Ofimática, Navegador Web, etc...

El sistema operativo cubano no es, en términos académicos, solo un sistema operativo, será un conjunto

de capas que garantizan el crecimiento de los niveles de socio-adaptabilidad, seguridad, sostenibilidad y

soberanía. Estas serán el resultado de un proceso de asimilación tecnológica que debe enfrentarse de

forma sistémica, dado que el desarrollo por separado de una sola de las capas no garantizaría el éxito

inmediatamente, ni a futuro.