Durante el Máster Universitario en Seguridad de las Tecnologías de la Información y las Comunicaciones de la Universidad Europea de Madrid, uno de los trabajos que realizamos junto con Gonzalo y Katia, consistió en un análisis de riesgos de un entorno cloud. Para ello a partir de un listado de activos y su diagrama debíamos de realizar el análisis siguiendo una metodología para el análisis y evaluación del riesgo que detallamos durante el trabajo. La metodología descrita es totalmente válida y extrapolable para realizar análisis de riesgos en cualquier otro entorno.
Por otro lado aunque partíamos de un listado de activos «reales» tuvimos que idear una empresa de cloud ficticia.
Como los tres compaginábamos nuestro trabajo con el Máster los fines de semana, con la falta de tiempo que esto conlleva, en un momento de lucidez o delirio, y en eso de que una oveja se parece una nube, se me ocurrió crear (exonerando de cualquier resoponsabilidad a Gonzalo y Katia por esta atrocidad al mundo del marketing) CloudSheep, tu empresa para desarrollo de aplicaciones en la nube. La empresa que algún día competirá con Google App Engine o Amazon EC2.
El análisis de riesgos es extenso por ello he decidido en esta primera entrada publicar únicamente la introducción con los activos a analizar y en la siguiente entrar en harina con el contenido propio del análisis.
1. Introducción
1.1 Antecedentes
Cloudsheep es un servicio web que proporciona capacidad informática con tamaño modificable en la nube. Está diseñado para facilitar a los desarrolladores recursos informáticos escalables basados en web.
La sencilla interfaz de servicios web de Cloudsheep permite obtener y configurar su capacidad con una fricción mínima. Proporciona un control completo sobre sus recursos informáticos y permite ejecutarse en el entorno informático acreditado de Cloudsheep. Cloudsheep reduce el tiempo necesario para obtener y arrancar nuevas instancias de servidor en minutos, lo que permite escalar rápidamente la capacidad, ya sea aumentándola o reduciéndola, según cambien sus necesidades. Cloudsheep cambia el modelo económico de la informática, al permitir pagar solo por la capacidad que utiliza realmente. Cloudsheep proporciona a los desarrolladores las herramientas necesarias para crear aplicaciones resistentes a errores y para aislarse de los casos de error más comunes.
1.2 Alcance del análisis de riesgos
El alcance del presente Análisis de Riesgos abarca las instalaciones propias de Cloudsheep Elastic Compute Cloud, la información almacenada, procesada y custodiada en los recursos de procesamiento de la información incluidos en el ámbito de Cloudsheep Elastic Compute Cloud, así como las comunicaciones e infraestructura que forma parte de la misma.
El alcance del estudio en este documento son los procesos que tienen que ver con la información de los clientes, desarrolladores, las aplicaciones desarrolladas, información de la sede, información de la arquitectura de red utilizada para el desempeño y funcionamiento de la empresa. Se analizará el riesgo de las aplicaciones y plataformas en las que se apoyan los activos de información mencionados anteriormente.
2. Desarrollo del análisis de riesgos
El primer paso será identificar los activos necesarios para gestionar el servicio web. Se identificarán en un principio, y de una manera amplia, todos los activos que utiliza la empresa y que están relacionados con el servicio web que se presta, es decir, todos los activos que se necesitan para el funcionamiento del mismo y en concreto los que están más relacionados con las herramientas de desarrollo.
2.1 Relación de activos identificados
ID |
Nombre |
Tipo de Activo |
ID_Dominio |
Dominio del Riesgo |
1 |
Citrix XenServer |
SW |
3 |
Software |
2 |
Servidores DELL preproducción |
HW |
1 |
Plataforma Preproducción |
3 |
Servidores DELL producción |
HW |
2 |
Plataforma Producción |
4 |
Servidores HP preproducción |
HW |
1 |
Plataforma Preproducción |
5 |
Servidores HP producción |
HW |
2 |
Plataforma Producción |
6 |
Servidores Supermicro preproducción |
HW |
1 |
Plataforma Preproducción |
7 |
Servidores Supermicro producción |
HW |
2 |
Plataforma Producción |
8 |
Suse SO |
SW |
3 |
Software |
9 |
SAP |
SW |
3 |
Software |
10 |
Oracle |
SW |
3 |
Software |
11 |
SUN preproducción |
HW |
1 |
Plataforma Preproducción |
12 |
SUN producción |
HW |
2 |
Plataforma Producción |
13 |
Software SUN |
SW |
3 |
Software |
14 |
Fujitsu |
HW |
1 |
Plataforma Preproducción |
15 |
IBM |
HW |
2 |
Plataforma Producción |
16 |
Equipos de usuarios (sobremesas y portátiles) |
HW |
4 |
Equipos de usuario |
17 |
Máquinas Intel Xeon Preproducción |
HW |
2 |
Plataforma Producción |
18 |
Máquinas Intel Xeon Producción |
HW |
1 |
Plataforma Preproducción |
19 |
Elementos de red |
Red |
5 |
Red |
20 |
Máquinas Pentium III 1.4GHz |
HW |
2 |
Plataforma Producción |
21 |
Almacenamiento preproducción |
Soportes |
1 |
Plataforma Preproducción |
22 |
Almacenamiento producción |
Soportes |
2 |
Plataforma Producción |
23 |
Managed Spares Services Pack 4 hour (7×24) for VPN Router 1750 1 YEAR |
SW |
3 |
Software |
24 |
System Tag Ids Preproducción |
HW |
1 |
Plataforma Preproducción |
25 |
System Tag Ids Producción |
HW |
2 |
Plataforma Producción |
26 |
Red Hat SO |
SW |
3 |
Software |
27 |
Debian SO |
SW |
3 |
Software |
28 |
SQL |
SW |
3 |
Software |
29 |
Windows SO |
SW |
3 |
Software |
30 |
Ariba |
SW |
3 |
Software |
31 |
Componentes ASP |
SW |
3 |
Software |
32 |
Apache |
SW |
3 |
Software |
33 |
PHP |
SW |
3 |
Software |
34 |
WebLogic |
SW |
3 |
Software |
35 |
Veritas |
SW |
3 |
Software |
36 |
Samba |
SW |
3 |
Software |
37 |
Solaris |
SW |
3 |
Software |
38 |
WebMethods |
SW |
3 |
Software |
39 |
I2 |
SW |
3 |
Software |
40 |
JDK |
SW |
3 |
Software |
41 |
iPlanet |
SW |
3 |
Software |
42 |
Sourcing 4.2 |
SW |
3 |
Software |
43 |
Siebel 7.0.3 |
SW |
3 |
Software |
44 |
Xvfb |
SW |
3 |
Software |
45 |
Tomcat |
SW |
3 |
Software |
46 |
GD |
SW |
3 |
Software |
47 |
Internet Explorer |
SW |
3 |
Software |
48 |
Acid |
SW |
3 |
Software |
49 |
Nagios |
SW |
3 |
Software |
50 |
Antivirus eTrust Threat Management |
SW |
3 |
Software |
51 |
CentOS |
SW |
3 |
Software |
52 |
VMware ESXi 5.0.0 |
SW |
3 |
Software |
53 |
Jira |
SW |
3 |
Software |
54 |
GreenHopper |
SW |
3 |
Software |
55 |
OEL |
SW |
3 |
Software |
56 |
HP-UX |
SW |
3 |
Software |
57 |
Configuración de los sistemas |
Información |
6 |
Configuración sistemas |
58 |
Correo electrónico |
Información |
7 |
Información |
59 |
Información Cloudsheep (Gestor documental) |
Información |
7 |
Información |
60 |
Backups de la informacion interna |
Información |
7 |
Información |
61 |
Backups de la informacion clientes |
Información |
7 |
Información |
62 |
Agente CA Backup SAP para Oracle sobre Windows 32 bits |
SW |
7 |
Información |
63 |
Drive (unidad de cinta) SUN LT03 LVD SCSI |
HW |
7 |
Información |
64 |
Personal Cloudsheep |
Personal |
8 |
Personal |
65 |
Personal de guardia (24×7) |
Personal |
8 |
Personal |
66 |
Instalaciones (Oficina Cloudsheep) |
Edificio |
9 |
Edificio |
67 |
CPD Cloudsheep |
Edificio |
9 |
Edificio |
Se agrupan y clasifican los activos, los más susceptibles a ser más vulnerables y cuya gestión de riesgos se encuentra dentro del alcance.
A continuación se identifican los activos esenciales que son los activos de información del servicio web en la nube que estamos estudiando:
- Aplicaciones finales desarrolladas: comprende todos los servicios webs los productos finales desarrollados en la empresa. Son todos los recursos y el trabajo que se hace a través de la plataforma web: versiones beta, estables, productos finales, casos de uso, etc.
- Información del personal: incluye información del personal de desarrollo. Además de sus credenciales para utilizar la plataforma web, existe otra información como: nombres y apellidos, nóminas, roles y permisos.
- Herramientas de desarrollo y software: ya sean herramientas propias de la empresa, herramientas Open Source o herramientas de desarrollo privadas. Número de versión de los herramientas, números de licencias, código fuente de las que están desarrolladas por el propio equipo.
- Información de los clientes: el equipo de programadores hace software para determinados clientes, cuya información puede extraerse de los programas desarrollados, ya sea a través de logos, información corporativa, etc.
- Información de la arquitectura y configuración de la red: está estructurada y montada para que los desarrolladores puedan trabajar de forma remota, para que haya un óptimo funcionamiento y rendimiento de la misma, para defenderse de vulnerabilidades conocidas, entre otros. Topología de la red, mapa de los equipos de la red, arquitectura de la misma. En esta información se apoya gran parte de las configuraciones de sistemas, routers, switches y firewalls.
- Configuración de los sistemas: es la información de la configuración de los sistemas que gestiona el departamento de IT, sirve para que todos los servidores respondan de una manera adecuada ante pruebas de estrés, también hay información sobre parches aplicados, versiones de sus sistemas, direcciones de red, etc. Información de los servidores, routers, políticas de seguridad y buenas prácticas.
- Información de la sede/edificio: es la información con toda la estructura del edificio con sus departamentos, planos, ubicación de las infraestructuras críticas, servidores e instalaciones de red eléctrica. Además corresponde la información sobre controles de acceso al mismo, y que controlan que solo el personal autorizado entre a las instalaciones.
Estos activos esenciales e identificados se apoyan sobre distintas plataformas tecnológicas que indicamos a continuación y que son los siguientes activos que hemos identificado:
- Plataforma web de los desarrolladores: a través de la cual se conectan los programadores para acceder a sus cuentas, continuar con los desarrollos pendientes, utilizar los recursos informáticos que ofrece, comunicarse con el equipo de informáticos y desarrolladores, revisar los SCRUMs de trabajo, etc.
- Red: plataforma de red que sirve para el funcionamiento de la web, la red VPN y las distintas plataformas tecnológicas.
- Equipos de usuario: son los equipos que utilizan los trabajadores. De ellos puede extraerse cierta información del personal, software que se usa para los desarrollos, software de comunicación en red, etc.
- Plataforma de clientes (o CRM): los clientes pueden hacer un seguimiento de sus productos a través de esta plataforma. Se puede hacer una vista previa de los prototipos del software en sus primeras fases para que el cliente esté informado del seguimiento del mismo y para discutir cambios según las necesidades del propio cliente.
- Plataforma de gestión automatizada del edificio: además de ser un portal para consultar algunos aspectos de la distribución de las oficinas, accesos y entradas, salas de reuniones, departamentos, temperatura; pueden contralarse algunos procedimientos automatizados con limitación a ciertos usuarios, y con limitación a su departamento o planta.
Las plataformas tecnológicas se apoyan en distintos recursos físicos y de procesamiento:
- Plataforma de preproducción y producción: son los principales entornos de desarrollo de las aplicaciones y los disponibles dentro de la empresa. El entorno de preproducción es esencial en el departamento TIC, el producto web tiene que funcionar correctamente en este entorno y así se debe de garantizar antes de subirlo a producción. Tiene un comportamiento similar al entorno de producción en el que se definen requisitos de seguridad y rendimiento.
- Edificio: sede de la empresa donde se deciden los movimientos estratégicos de la misma, donde se reúnen con los clientes si se da el caso, y en donde realizan el trabajo parte del personal de desarrollo web y el resto de personal de seguridad, sistemas y marketing.
- CPD: es el Centro de Proceso de Datos, donde se encuentran los servidores utilizados para el procesamiento de cálculo necesario para los servicios web.
En la siguiente y última entrega se realiza la valoración de los activos en base a tres de las dimensiones de la seguridad (Confidencialidad, Integridad y Disponibilidad), a continuación se realiza una clasificación de los activos a analizar y se establece el diagrama. El siguiente paso es valorar los activos del diagrama, realizar la distribución de la vulnerabilidad y ya podemos decir que tenemos el escenario para completar el análisis. Para ello calculamos el riesgo intrínseco, realizamos una relación de amenazas y activos e identificamos las salvaguardas existentes. Por último se determina el riesgo de nuevo después de aplicar las salvaguardas.