Seguridad efectiva en cloud computing

¿Por qué cómputo en la nube?
Además de ser un tema de moda (al menos como "buzzword"), el cómputo en nube realmente no tiene nada de nuevo. Se trata simplemente de una evolución natural de la operación de TI que está siendo habilitado por tecnologías que han madurado lo suficiente, como es el caso de la virtualización.

No se trata simplemente de hacer cosas a menor costo, el cómputo en nube permite hacer las cosas de forma más eficiente y en varios casos también de forma más segura (cierto, no es fácil de creer).

¿Por qué la resistencia a adoptar cómputo en nube?
Porque si bien no es algo nuevo, su adopción nos obliga a reflexionar sobre situaciones que dábamos por resueltas en esquemas tradicionales de servicios TI locales, como los temas de propiedad, privacidad e integridad de la información. Muchas de estas cuestiones están fundamentadas en preocupaciones reales:
• Leyes de privacidad más estrictas en todo el mundo.
• Limitantes y dudosa efectividad de algunos controles de seguridad tradicionales
• Dificultad de medir y exigir cumplimiento de niveles de servicio con proveedores

Pero también hay otras preocupaciones no tan bien fundamentadas, basadas en prejuicios y una congénita y deficiente percepción de los riesgos por parte de los seres humanos (vean este artículo de B. Schneier por ejemplo, o esta gráfica sobre probabilidades de muerte... verán que a lo que más le tememos no es lo que nos mata con mayor frecuencia). Si nos basamos en los hechos, resulta que situaciones como las siguientes tienen un impacto igual o mayor en ambiente local que en un ambiente remoto/en nube:
• Percepción de que dentro de la propia empresa se cuenta con mejores niveles de seguridad.
o Simplemente es imposible para la mayoría de las empresas mantener a los mejores especialistas y una arquitectura adecuada en casa
o Por economías de escala, muchas veces un proveedor. dedicado a ofrecer estos servicios puede hacer un mejor trabajo.
• Percepción de que entregando datos confidenciales a un tercero para su resguardo, fuera de la empresa, se se corre un mayor riesgo.
o En realidad, las penalizaciones en la mayoría de estas leyes de privacidad son igual de severas, tanto si la información se fuga por un tercero mal supervisado como si se fuga por parte de un interno.
o ¿Tenemos realmente la capacidad para controlar adecuadamente a todo nuestro personal interno?
o ¿Quién tiene mayor capacidad de hacer daño, de aprovechar mejor la información confidencial, de coludirse con quienes resguardan ésta información y de conocer cómo evadir las medidas de seguridad implementadas? ¿Un interno o un externo?
o ¿Qué dicen las estadísticas de fugas de información por parte de internos vs. externos? Aquí hay un tip: el estudio de Ponemon Institute y Accenture titulado "How Global Organizations Approach the Challenge of Protecting Personal Data, February 2010".
• Temor a que las medidas de seguridad en nube no sean suficientemente efectivas.
o Las medidas de seguridad tradicional tienen la misma efectividad en un ambiente local que en un ambiente remoto no controlado por nosotros.
o Si nos preocupa que una pila de firewalls, sistemas de prevención de intrusos, antimalware, etc. protejan inadecuadamente su información con proveedores en la nube, deberíamos estar preocupados hoy mismo por el nivel de protección que ofrecen en ambientes locales.
El cómputo en nube por tanto no genera nuevos riesgos, simplemente los hace más evidentes conforme a nuestra manera de percibirlos. Hay razones para estar preocupados, pero el cómputo en nube no debería de ser la principal.

Controles efectivos
Podemos listar los siguientes riesgos como los más relevantes desde el punto de vista de protección de la información:
• Falta de disponibilidad de sistemas o información necesarios para operar
• Accesos no autorizados a la información sensible
• Integridad de la información y sistemas necesarios para operar
• Autenticidad de la información necesaria para operar
• Alto grado de efectividad de los controles (pocos falsos positivos y negativos)
Con base en lo anterior, analicemos ahora las características de un control y cuáles son aquellos principios que definen a un control efectivo para mitigar estos riesgos.

Principio 1: "Un control es más efectivo entre más cerca se encuentre del objeto que protege". Esto se puede corroborar fácilmente, analizando las decisiones que tiene que tomar un control con base en su entorno. Todo control consta de 3 elementos fundamentales (ya sean explícitos o implícitos en su manera de operar):
• Componente de detección de eventos
• Componente de ejecución de acciones de protección
• Componente de análisis de eventos y toma de decisiones (ej. cuándo y cómo ejecutar acciones de protección)
Entre más lejano se encuentre el control del objeto que debe proteger menor será visibilidad que tenga del mismo y deberá basar sus decisiones en ciertos supuestos o bien inferir información del contexto.

Veamos por ejemplo la diferencia entre un firewall de red y un firewall basado en host. El primero tiene visibilidad sobre la red pero no sobre lo que ocurre dentro de las máquinas que protege en la red. Puede filtrar ciertas conexiones que claramente no están permitidas, pero no puede tomar decisiones sobre actividad ilícita a través de servicios de red permitidos (ej. no puede saber si una sesión web viene de un navegador y fue establecida por el usuario del equipo o viene de un programa malicioso instalado en el equipo, que emula la actividad de un usuario legítimo).

El firewall de host está más cercano al origen de la sesión, y tiene más elementos para determinar si la conexión el legítima (si la inició un usuario válido o no). Ultimadamente no hay mejor control en este caso que preguntarle directamente al usuario, autenticándolo para ver si al sesión la inició él/ella; por ejemplo, solicitándole un password, aunque este esquema tiene sus deficiencias, y sus credenciales pueden ser interceptadas. Pero ¿qué tal un acceso controlado con un token de clave dinámica que posee el usuario y que utiliza junto con un password que sólo él/ella conoce?

Principio 2: "un control es más efectivo cuando cubre todos los puntos de exposición del objeto a proteger". Es obvio que si tenemos 10 puertas por donde pueden entrar a la casa, tenemos mejores posibilidades de proteger dicha casa de que alguien indeseable entre entre más puertas estén protegidas. Aquí siempre me preguntan qué pasa con las vulnerabilidades no identificadas; es simplemente una cuestión estadística y no cambia en nada lo expuesto anteriormente. La probabilidad de que existan n vulnerabilidades no descubiertas es la misma en los dos casos, si se trata de la misma casa y las mismas puertas.

Veamos algunos ejemplos con controles tradicionales. ¿Qué tal un canal cifrado punto a punto? La protección empieza hasta que la información entra al canal y se acaba tan pronto sale en el otro extremo. Suponiendo que el emisor es una persona y el receptor es otra persona, un canal cifrado tradicional (digamos un túnel SSH, SSL o alguna red privada virtual) deja áreas desprotegidas en las computadoras (y quizás redes) de ambos extremos.

Estos huecos son enormes, pues permiten un sinnúmero de ataques en ambos extremos (man-in-the-middle, intercepción/modificación por malware, etc.). ¿Qué tal un control un poco más simple?: Que la primera persona encripte el documento a mano con un one-time-pad y envíe el texto cifrado a la otra persona; el pad usado para cifrar lo entregaría en mano a la otra persona. Si el esquema está bien aplicado, no habrá malware o ataque de "hombre en medio" que sea efectivo. Básicamente se tendría que forzar/inducir a una de las personas a revelar el contenido del mensaje, espiarlas físicamente o algún otro esquema que involucre directamente a los participantes.

Principio 3: "Un control es más efectivo cuando en su operación intervienen entidades independientes, y se registran todas las acciones en sistemas que están fuera del alcance del responsable del control". Esto es mejor conocido como el principio de segregación de funciones. La idea es que una sola persona no pueda abusar de su poder para realizar actos indebidos.


Ejemplo: la activación de una función de pagos puede realizarse por parte de un usuario una vez que éste se ha autenticado (password, token, biométrico, lo que gusten...). Dependemos en este caso de que la persona no abuse de esta facultad.

Mejor aún sería que esta funcionalidad requiriera de la autenticación de dos personas con funciones diferentes para realizarse de forma automatizada, además de registrar en un sistema no controlado por ellos toda la actividad que realizó cada participante y el mismo sistema.

Principio 4: "Un control es más efectivo cuando su operación considera varias instancias para asegurar su funcionamiento continuo y el acceso/operación del objeto que protege". Un firewall como todo control de software o hardware puede llegar a tener algún problema de funcionamiento; los medios electrónicos de respaldo también tienen probabilidad de tener alguna falla. El incluir dos o más instancias de estos elementos del control reduce dicha probabilidad.

El contar con un esquema de sincronización reduce además el tiempo de recuperación, y si se usa un esquema de alta disponibilidad se aumenta incluso el volumen disponible para realizar operaciones con el objeto protegido (ej. clusters de firewalls en alta disponibilidad, grupos de tarjetas criptográficas para acelerar el cifrado hacia sitios web, múltiples respaldos almacenados en diferentes lugares, etc.).

Principio 5: "Un control es más efectivo cuando su implementación, configuración y operación considera información específica del entorno donde va a operar". Esto implica actuar sobre los riesgos específicos de cada entorno. Evidentemente quienes conocen mejor los riesgos y necesidades de seguridad específicas de cada ambiente es el personal de cada empresa; no los proveedores de productos y servicios de seguridad que consideran situaciones generales para aproximarse a algo que funcione lo mejor posible "para la mayoría de los casos".

Un antivirus tradicional se basa en listas negras de código malicioso o patrones generales que tienen una incidencia suficientemente alta a nivel mundial (o local dependiendo del proveedor); nunca será tan efectivo como una lista blanca de software certificado para operar en una empresa determinada. Este último control último protege además de manera efectiva contra amenazas desconocidas en el mismo ámbito, mientras que el primero tiene que asumir cosas por falta de información de contexto. Estas suposiciones pueden o no ser adecuadas para el entorno específico (generando mayores falsos positivos y negativos).

¿Qué hay de las medidas de seguridad para cloud computing?
Mismos riesgos no necesariamente significa mismos controles. Hay algunas variables que han cambiado.

Los cambios en regulaciones se han reflejado en cambios en el impacto de un incidente. ¿qué tanto ha cambiado el impacto? bueno, basta recordar que hace menos de 10 años un autor de malware podría obtener fama y un buen contrato por sus acciones; hoy en día puede ganarse varios años en la cárcel sin ninguna gloria.

Asimismo, una empresa hace menos de 10 años que perdiera información personal podría pasar prácticamente desapercibida, con mínimas o nulas consecuencias. Hoy en día un incidente similar podría provocar la desaparición de la empresa o un fuerte impacto en su reputación, dependiendo del sector al que pertenezca.

Lo que es claro es que los controles tradicionales (o una implementación tradicional de dichos controles) nunca lograron un grado de efectividad adecuado en ambientes locales (esto siempre se supo). Las empresas y los profesionales de seguridad lo que hicimos fue simplemente tolerarlo, o dicho de otra manera, aceptamos estos riesgos (por causa de un falso sentido de seguridad en buena medida).

Los métodos y tecnologías necesarios para aplicar dichos controles no son nuevos. Muchos se concibieron de hecho antes de la mayoría de los controles tradicionales que conocemos hoy en día fueran creados y comercializados masivamente. Sin embargo, su correcta aplicación sí requiere de un conocimiento profundo de arquitecturas de seguridad y gestión de riesgos de TI (como dicen por ahí, el diablo está en los detalles).

Habiendo presentado 5 principios de seguridad efectiva y sin entrar en una discusión interminable sobre las características de cada control posible, a continuación incluyo una receta simple para escoger controles que se pueden aplicar en la nube, en una arquitectura que a mi juicio puede resultar más efectiva incluso que lo que se puede encontrar localmente en muchas empresas hoy en día:

1. Considerar principalmente controles de seguridad orientados al objeto que queremos proteger: datos (o información si es posible).
• Esto busca aplicar medidas de protección más cercanas al objeto que deseamos proteger.
• Ej.: Cifrado para datos en vez de cifrado de red, control de acceso a nivel de datos en vez de control de acceso a la aplicación, registros de operaciones sobre datos en vez de simplemente registros de control de acceso al sistema.
2. Basar la estrategia de seguridad en estos tipos de controles fundamentales (desde mi punto de vista estos son los básicos, pero muchas empresas omiten este tipo de controles y optan por otros más comunes pero menos efectivos.):
• Control de acceso y roles
• Criptografía robusta para asegurar confidencialidad
• Respaldo de información sensible y/o necesaria para la operación
• Esquemas de alta disponibilidad
• Bitácoras de operaciones
3. Aprovechar la naturaleza de operaciones en nube para aplicar segregación de funciones, manteniendo registros de operaciones en ambos lados (cliente y proveedor).
• Esto limita la posibilidad de corromper todos los registros de operaciones en ambos lugares y facilita revisiones de cumplimiento.
4. Aprovechar las fortalezas de los servicios en nube, tales como la mayor disponibilidad de infraestructura y personal especializado
• Implementar arquitecturas de alta disponibilidad para servicios de TI y diversos canales de acceso considerando diversas ubicaciones en el mundo era antes un lujo que sólo las empresas más grandes podían darse.
• Hoy en día estos esquemas son accesibles en nube a un costo muy accesible (en ocasiones menos de lo que se paga por infraestructura local).
5. Mantener el control de los datos desde el origen, siempre que sea posible (cifrado, tokenización, "data slicing", shuffling, etc.). Si bien se puede aprovechar la infraestructura de nube para aprovechar las ventajas en temas de disponibilidad, el cifrar los datos de origen nos evita el siquiera tener que pensar en que un externo podría verlos.
• No es necesario pasar todo a la nube.
• Incluso en los casos donde se debe de operar con los datos (ojo, no todos los datos se requieren para todas las operaciones), es conveniente analizar objetivamente dónde hay mayores riesgos:
o Operar con internos con esquemas de control de confianza actuales vs. operar con externos en instalaciones de la empresa amparados por contratos vigentes vs. operar con externos en ubicaciones externas amparados por un contrato que típicamente es de responsabilidad limitada (Descubrirá que en muchos casos no hay diferencia en cuanto al nivel de protección real que obtiene, salvo las ventajas extras de segregación).
o Siempre involucre abogados cuando haya temas de leyes de privacidad de por medio.
Conclusiones, una buena y una mala
La mala noticia es que hoy en día la mayoría de las empresas tienen un nivel de seguridad real muy inferior al que obtendrían si migran a la nube y se obligan a implementar medidas más efectivas de seguridad.

Pensémoslo bien, sólo porque hoy todo mundo tiene firewall y antivirus como nivel de seguridad base ¿es esto realmente lo que nos brinda el nivel de seguridad que requerimos (en nube o localmente)? No es que debamos de deshacernos de este tipo de controles, pero quizás estamos ignorando controles más básicos y efectivos.

La buena noticia es que no tenemos que preocuparse de más por adoptar operaciones de TI en la nube. Tampoco debemos dejar de preocuparnos en en una justa medida, ya que esto es precisamente lo que ha generado que en muchas empresas mantengamos un falso sentido de seguridad hoy en día.

Después de diversas discusiones con abogados, tecnólogos y especialistas de seguridad en la Cloud Security Alliance (CSA) y de vivir experiencias propias de servicios en cloud, puedo decir con toda confianza que muchos riesgos están sobreestimados y que otros tantos que sí son relevantes, son ignorados.

En una de estas discusiones terminé preguntando directamente al órgano rector Europeo sobre la viabilidad de aplicar medidas para transformar datos personales (cifrado, tokenización, "slicing", etc.). Siendo una de las primeras y más estrictas regulaciones de privacidad me esperaba alguna negativa, pero su respuesta fue clara y congruente con los establecido en la Directiva Europea: "Los datos se pueden exportar siempre y cuando éstos se encuentren en una forma que no permita la identificación del individuo al que pertenecen".

Así pues, el debate continúa en los foros técnicos, pero la principal preocupación deriva de la interpretación de las leyes por parte de quienes no somos expertos en esa actividad (para variar, todos nos consideramos expertos en todo).

Dejemos que la gente de leyes interprete las leyes, y nosotros dediquémonos a lo nuestro: implementar arquitecturas de seguridad que realmente sean efectivas. Si en el camino podemos ayudar al negocio a ser más eficiente pues qué mejor.

Ya para terminar quisiera mencionar un par de reflexiones: varios analistas (Gartner, Forrester, IDC) predijeron la muerte de los departamentos de TI con la aparición de los servicios Cloud. Si bien me parece exagerada esa percepción, la experiencia en este último año me dice que eso tiene algo de verdad en el fondo.

La mayor parte del tiempo las áreas de TI, por diversas circunstancias (no todas ligadas a una actitud) se enfocan en explicarle al negocio "por qué no" puede hacer X o Y, y el negocio termina haciendo lo que puede con lo que TI les ofrece. Lo que he visto en servicios Cloud es radicalmente opuesto: la gente se enfoca a explicarle al negocio "cómo sí puede" hacer lo que requiere. En ese sentido algunas empresas han logrado hacerse de los recursos que necesitan para lograr los objetivos que se plantean, usando estos servicios de TI de Cloud como un verdadero habilitador del negocio.

Mi expectativa en temas de seguridad de la información es la misma: deberemos profesionalizarnos y cumplir nuestras promesas o bien ser desplazados. Después de que pase la euforia de la Cloud y caigamos en cuenta de lo que en realidad es, cuando las empresas vean su verdadero valor más allá del "buzzword", entonces también habrá un cambio radical en nuestro sector.

Aquellos profesionales y empresas de seguridad que comprendan bien el manejo de riesgos, que escuchan al negocio primero y actúen en consecuencia, que se basen en principios sólidos más que en "checklists" y que no teman adoptar medidas de seguridad más efectivas por poco ortodoxas que estas parezcan, tendrán un auge importante. El resto,... pues ya veremos que pasa en un par de años :-).

Omar Alejandro Herrera Reyna

Fuente: Candado Digital
www.segu-info.com.ar

Comentarios

Entradas populares de este blog

¿Como atacar Kerberos?

El Modelado de Amenazas de Seguridad

MPLS vs. Ethernet: ¿Qué opción de conectividad WAN es mejor?