Parece ser el tema de moda. Todo mundo habla del "cloud computing" y han surgido ya cuestionamientos en temas de seguridad de la información que debemos discutir.

La tendencia
Cloud computing va a ser una situación inevitable. Las ventajas en costo y flexibilidad en la operación ee implementación de soluciones informáticas lo convierten en un esquema ideal para la mayoría de los negocios.

Si bien aún no llegamos ahí y seguimos con esquemas tipo SaaS ("Software as a Service"), PaaS ("Platform as a Service") e IaaS ("Infrastructure as a Service") acoplados de forma rudimentaria (como cuando todo mundo hablaba de PKI y teníamos solo soluciones de llave pública que podían hablar entre sí pero sin una integración robusta), es un hecho que es el futuro (muy cercano además).

En cuestión de seguridad ya hemos visto también algunos problemas fuertes con proveedores, y pareciera que el impacto de los incidentes de seguridad en esta arquitectura tiende a ser más fuerte. Por ello no faltan detractores que aseguran que es un error montarse al esquema por los riesgos de seguridad existentes.

No nos engañemos. No es un tema de subirse o no. Del lado de seguridad debemos de dejar a un lado esa pésima costumbre de decir no a todo y empezar a buscar soluciones para nuevos ambientes; es decir, cambiar nuestra visión, del "por qué no" al "cómo sí".

Hay una gran diferencia entre tendencias como la de cloud computing y tendencias de seguridad, como la de PKI y los UTM ("Unified Threat Management").

Cloud Computing es una tendencia de negocio que provee (y ya ha sido comprobado) importantes ahorros y flexibilidad operativa a las empresas (i.e. un beneficio tanglible), mientras que en el segundo caso tenemos soluciones muy avanzadas técnicamente en cuestión de seguridad, pero que se quedaron lejos de poder manifestar un beneficio tangible ($) al negocio. De ahí que en el caso de las PKI su adopción haya sido limitada respecto a lo que se proyectaba y en el caso de los UTM el desencanto haya venido tan rápido como la euforia inicial por tener una supuesta solución para todos los problemas de seguridad.

Los retos en seguridad de la información

Hay 3 preocupaciones básicas en temas relacionados con seguridad de la información en cloud computing:
  • Confidencialidad de la información
  • Propiedad de la información (en específico, la capacidad de recuperarla en cualquier momento y usarla)
  • Continuidad operativa y disponibilidad de la información
De los anteriores, quizás el último sea el que esté más cercano a ser atendido de manera adecuada, porque la arquitectura en sí tiende a resolver este problema de manera natural, pero ciertamente nos preguntamos ¿Cómo con todos los avances y las soluciones de seguridad que tenemos hoy en día las empresas se siguen preocupando por las dos primeras?
Un ambiente diferente requiere soluciones diferentes. Queremos atacar los problemas del futuro con soluciones del pasado y ahí es donde estamos fallando.

El tema de confidencialidad es quizás el más claro. Todo mundo sigue ofreciendo seguridad tradicional que aplicamos a esquemas cliente-servidor: cifrado del canal y cifrado de los datos almacenados. Pero pocos observan que la preocupación de las empresas radica principalmente en la confianza de quienes tienen el mayor acceso a la infraestructura donde esta información se transmite y almacena. Dicho de otra forma: ¿cómo aseguramos al cliente que un administrador con los máximos privilegios no puede extraer los datos? (las soluciones tradicionales poco pueden hacer para resolver este problema de fondo)

Mismo caso para el tema de propiedad. Claro que los datos son del cliente, pero en una arquitectura distribuida con datos que pueden traspasar fronteras fácilmente, ¿cómo aseguramos al cliente que el gobierno del país donde quedaron almacenados no los va a confiscar, o que las leyes de dicho país nos evitan operar de cierta manera con estos datos?

La solución
La solución es relativamente simple en concepto, pero complicada en su implementación, sobre todo porque no tenemos la mentalidad adecuada todavía en el sector de la seguridad: debemos aplicar los controles de seguridad a nivel de datos, no a nivel de infraestructura ni de red.

Esto implica romper paradigmas y dar al traste con "mejores prácticas" para esquemas de operación de otros tiempos.

Por ejemplo, en esquemas cliente-servidor sabemos que la autenticación y el cifrado de datos se deben controlar del lado del servidor. Aquí mi percepción es que debe ser al revés; debemos proporcionar herramientas para que la autenticación y encripción se controlen del lado del cliente y se apliquen a nivel de los datos, de manera que la gran caja negra que constituye la nube no sea un tema de preocupación para el cliente.

Claro, es más fácil decirlo que hacerlo. En algunas aplicaciones es sencillo, como el almacenamiento puro de datos en nube: encripto del lado del cliente y ya no me importa cómo se almacena de forma distribuida en la nube (aplicado de forma correcta ningún administrador va a poder ver los datos, y de paso, si nadie puede ver el contenido, tampoco puede saber si el tipo de información amerita la aplicación de alguna regulación local en el país donde termina siendo almacenada).

Pero en otras aplicaciones el problema es más complejo: ¿Cómo contrato servicios de procesamiento de datos (e.g. antivirus de correo, análisis estadístico de información, correlación, etc.) sin que el proveedor pueda verlos.

Ya hay algunos avances en la dirección correcta, principalmente en criptografía, aunque todavía no tienen una aplicación práctica que permitan solventar estos problemas adecuadamente.

Ejemplo: los avances recientes con funciones criptográficas homomórficas completas de Craig Gentry; estas funciones buscan permitir realizar operaciones sobre datos encriptados sin revelar su contenido a quienes realizan estas operaciones.

Conclusiones
El cómputo en nube es en mi opinión un escenario inevitable. Existen aún problemas de seguridad importantes por resolver, que permitan a las empresas más exigentes (ej. sector salud, sector gobierno y sector financiero) solventar sus mayores preocupaciones antes de poder migrar al esquema.

En cuanto a seguridad de la información, haríamos mejor en empezar a trabajar fuerte en nuevas arquitecturas y paradigmas de seguridad para resolver estas necesidades, en vez de empeñarnos en resaltar las deficiencias o buscar atender estas necesidades con soluciones del pasado.