El auge sigiloso de las nuevas “Nubes Negras”

Aunque las “nubes” del cloud computing no pueden ofrecer la seguridad y confidencialidad necesarias cuando se tratan datos personales o sensibles, siguen siendo un nuevo paradigma que puede resultar muy útil. Para encontrar su gloria es necesario volver la vista hacia ámbitos más científicos e ingenieriles, y encontrar en ellos los avances reales del cloud computing. Junto a ellos, también veremos que empiezan a aflorar aplicaciones criptoanalíticas interesantes, y otras actividades de lo más “profesionales”.
JORGE DÁVILA MURO
Consultor independiente
Director
Laboratorio de Criptografía
LSIIS – Facultad
de Informática – UPM
[email protected]

Desde hace tiempo aparece reiterada y tenazmente el tema de “la nube” –es decir, el “cloud computing”– en los foros económicos y empresariales. Junto a ella siempre van sus notables deficiencias en lo que a seguridad y protección de la confidencialidad de los datos y resultados se refiere. Sin embargo, ese nuevo paradigma puede ser útil en aplicaciones que nada tienen que ver con datos confidenciales o con datos de las personas. Para ver si eso es así, es necesario mirar a lo que otros sectores de la actividad humana hacen con el cloud computing, no vaya a ser que ya haya áreas enteras en las que realmente esté establecida y disfruten de sus ventajas.
La actividad científica y la ingeniería requieren de la construcción de diferentes modelos matemáticos y del uso intensivo de técnicas numéricas para resolver sus problemas. Dichos modelos, muy a menudo requieren cantidades inmensas de cálculo si se quieren realizar experimentos a gran escala, o si se precisa reducir el tiempo de espera hasta obtener los resultados. Desde el principio, estas necesidades computacionales se han satisfecho utilizando recursos especializados conocidos como Sistemas Computacionales de Altas Prestaciones (HPC). Ejemplos de ello son los ordenadores vectoriales y paralelos, los clusters al estilo del Cary XT5 Jaguar1, o granjas de máquinas interconectadas y gobernadas por algún tipo de software “secuestrador de ciclos de CPU2 como es el caso de Condor3.

HPC y Grid Computing
Con la llegada del Grid Computing4 a principios de los años noventa, la potencia de cálculo ya no se basa en el acceso a esas instalaciones HPC tan especiales, sino que se ofrecía “a demanda” según lo requirieran los experimentos. La diferencia entre el Grid Computing y los sistemas convencionales HPC es que, en el primer caso, los componentes tienden a estar débilmente acoplados, a ser de naturaleza heterogénea, y a estar geográficamente dispersos. A diferencia de los sistemas HPC especializados, los Grids suelen tener un marcado carácter de “propósito general”. El uso de Grids para el cálculo científico y la ingeniería ha sido tan exitoso, que varios proyectos internacionales han establecido infraestructuras transnacionales y de cobertura planetaria dedicadas a ello.
La Open Science Grid5 fue fundada en 2004 y es una infraestructura constituida por un consorcio de proveedores de servicio y de máquinas, investigadores universitarios, laboratorios nacionales y otros centros computacionales de los EE.UU. Cada miembro del Grid es propietario de los recursos que aporta a la red y es el consorcio el que proporciona el marco para la integración tecnológica y de gestión de todos ellos. La aplicación original de esta infraestructura era la de facilitar el análisis de los datos producidos por el Large Hadron Collider6, y actualmente cuenta con 25.000 máquinas y da soporte a tareas intensivas de análisis de datos en áreas tan dispares como biología, química, física de partículas y sistemas de información geográfica, entre otras.
Enabling Grid for E-SciencE7 es una iniciativa financiada por la Comisión Europea que conecta a más de 91 instituciones en Europa, Asia y EE.UU., para construir la infraestructura de Grid Computing multi-propósito más grande del mundo.
Por otra parte, TeraGRID8 es una infraestructura computacional abierta de la National Science Foundation norteamericana, que está consagrada al descubrimiento científico y proporciona más de un petaFLOP9 de capacidad computacional y más de 30 petabytes de almacenamiento en línea, así como el acceso a más de un centenar de bases de datos especializadas. Esta gran infraestructura está construida con los recursos computacionales de nueve grandes proveedores norteamericanos y la utilizan 4.000 usuarios de 200 universidades distintas ocupados en investigaciones en Bio-Ciencias Moleculares, Física, Astronomía, Química, Ciencias de los Materiales, Ciencias de la Atmósfera, Ciencias de la Tierra, Oceanografía, Matemáticas, Neurociencias y otras disciplinas. Estos son algunos de los ejemplos más representativos del Grid Computing científico actual.
Aunque la abundancia de iniciativas Grid pone de manifiesto su amplio uso por parte de la comunidad científica, algunos aspectos de su funcionamiento todavía hacen que el acceso a esa tecnología no sea tan fácil como podría parecer. Al estar los nodos repartidos por todo el mundo, los grupos de investigación tienen que enviar sus propuestas a los gestores del Grid, y en ellas describen qué es lo que quieren hacer. Este cuello de botella lleva a un uso competitivo de los Grids científicos, y los grupos de investigación pequeños suelen quedarse fuera de ellos. Además de esto, en la mayoría de los casos, esas instalaciones ejecutan entornos pre-empaquetados dentro de los que se ejecutan las aplicaciones, y esas condiciones pueden llegar a ser limitantes en cuanto a los sistemas operativos a utilizar o a los servicios accesibles en el momento de la ejecución. En la práctica, el número de opciones es limitado y muchas veces no es suficientemente elástico para cubrir todas las necesidades (“bag of tasks”, workflows, o procesos paralelos MPI (Message Passing Interface)10.


Además de los de la ciencia y la ingeniería, hay otros frentes curiosos aptos para el cloud computing como puede ser el del criptoanálisis. Ejemplo de ello lo tenemos en el WPA Cracker. Según sus promotores, es un servicio en “la Nube” que permite realizar pruebas de penetración y auditorías de red a aquellos que precisan comprobar la seguridad de sus redes inalámbricas (o las de otros) protegidas por el protocolo WPA-PSK. Se trata de explotar el hecho de que las redes WPA-PSK y muchas otras aplicaciones de seguridad son muy vulnerables a los ataques por diccionario.

Cloud computing: uso bajo demanda
La tendencia emergente del cloud computing11 pretende resolver varios de estos problemas. Mediante las técnicas de virtualización, “la nube” ofrece una amplia variedad de servicios que van desde sistemas computacionales completos, desde el hardware hasta el nivel de aplicación, cobrando por ellos sólo cuando se usan. Otra de las ventajas es la capacidad de escalado, hacia arriba y hacia abajo, de acuerdo con las necesidades de la aplicación y del presupuesto del cliente.
Recurriendo a las tecnologías de “la nube”, los científicos, ingenieros y el público en general pueden acceder fácilmente a grandes infraestructuras distribuidas completamente adaptadas a sus necesidades y entornos de ejecución.
La contratación de pago por uso permite disponer de los sistemas sólo en el momento en que son necesarios, descartando planificaciones e inversiones previas, y se deshacen de ellos en cuanto termina su uso. Sin embargo, el uso de “la nube” en la ciencia e ingeniería es todavía limitado, pero los primeros pasos ya están dados.
Como parte de los trabajos preliminares, se han hecho estudios sobre la posibilidad real de utilizar “la nube” para el cálculo científico e ingenieril. Algunos estudios han investigado cuáles pueden ser los beneficios de esas tecnologías viendo cuáles son las prestaciones que se alcanzan cuando se corren aplicaciones HPC en ellas12, o cuáles son los costes de realizar experimentos científicos en la infraestructura nebulosa de Amazon13.
Un ejemplo importante lo tenemos en Aneka14, una plataforma de cloud computing Científico diseñada específicamente para el desarrollo de aplicaciones que escalen bajo demanda haciéndose con ciclos de CPU de recursos virtuales, PCs y clusters de todo tipo. Aneka acepta múltiples modelos de programación muy adaptados al trabajo científico (bag of tasks, threads distribuidos, dataflows o MapReduce15).
La verdadera promesa del cloud computing para el trabajo científico es ser una alternativa válida a los HPC clusters, Grids, y supercomputadores que ahora usan. Sin embargo, hoy por hoy, la virtualización incluye penalizaciones en las prestaciones del sistema cuando se ejecutan cargas computacionales muy exigentes. El análisis de los servicios de los actuales proveedores de la cloud computing (empresarial) indica que necesitan mejorar en un orden de magnitud para ser útiles para la comunidad científica. Que no sean útiles ahora, no significa que no lo sean dentro de (muy) poco tiempo.


A diferencia de infraestructuras de cloud computing como Amazon’s EC2, las botnets (todavía) no son suficientemente flexibles como para cargar máquinas virtuales, y están construidas sobre recursos robados. Tienen estructuras de comando y control muy quebradizas que ensalzan el sigilo frente a su gobernanza, y tienen que luchar continuamente contra ataques de otros caballos de Troya y bots. A pesar de ello, la “nube oscura” de las botnets es la más grande y maligna infraestructura de cloud computing corriendo en la Internet de hoy en día.

Criptoanálisis y cloud computing
Además de la ciencia e ingeniería, también hay otros frentes curiosos aptos para el cloud computing como puede ser el criptoanálisis. Ejemplo de ello lo tenemos en el WPA Cracker16. Según sus promoto res, es un servicio en “la nube“ que permite realizar pruebas de penetración y auditorías de red a aquellos que precisan comprobar la seguridad de sus redes inalámbricas (o las de otros) protegidas por el protocolo WPA-PSK17.
Se trata de explotar el hecho de que las redes WPA-PSK y muchas otras aplicaciones de seguridad son muy vulnerables a los ataques por diccionario18; es decir, probar todas las palabras clave que un usuario humano puede ser capaz de imaginar y utilizar19.
Ejecutar un ataque con un diccionario de tamaño respetable20 sobre varias ejecuciones del protocolo WPA puede suponer días o semanas de un ordenador doméstico. Sin embargo, WPA Cracker alquila el acceso a un cluster de 400 CPUs que analizará los datos de captura de la red atacada, frente a un diccionario con 135 millones de palabras creado específicamente para ello. Mientras que ese trabajo en un equipo dual-core requeriría cinco días, en ese servicio tan sólo tarda 20 minutos de media y, sobre todo, sólo cuesta 35 dólares USA.
El que los promotores de WPAS Cracker hayan elegido el protocolo WPA-PSK como su víctima es circunstancial, y muy bien podría montarse ese mismo servicio para romper el secreto de las comunicaciones GSM, por ejemplo.


El aspecto más preocupante de las nuevas “Nubes Negras” (Dark Clouds) es que no hay una correlación directa entre ellas y su carga o propósito. Ahora las botnets tienen capacidades de actualización por lo que pueden mutar, sufrir metamorfosis. Los controladores de las botnets pueden cargar nuevos cometidos, actualizar su canal de control, o pueden cambiar el mecanismo de propagación de sus agentes para evitar los intentos de apagarlas.

Ataques criptoanalíticos
Todos los ataques criptoanalíticos a buenos sistemas criptográficos (los malos se rompen casi sin querer) requieren cantidades ingentes de cómputo y, en muchos casos, de almacenamiento. La mayoría de ellos están constituidos por procesos muy débilmente ligados o completamente independientes, por lo que las “nubes” son especialmente adecuadas para ellos. Otros ataques requieren mucha más “interacción” entre procesos y más almacenamiento, como por ejemplo la factorización de módulos RSA, pero también pueden ser ejecutados bajo el paradigma del cloud computing.
En el ideal del cloud computing se puede orquestar el trabajo de millares, o quizás de millones de CPUs, y utilizar algunos terabytes de almacenamiento desde cualquier sitio y con una sencilla interfaz de gestión. El hecho de alcanzar escalas enormes, tener tremendas flexibilidades y que no haya costes ineficaces ¡no es un sueño!; el verdadero cloud computing ya está en marcha desde hace tiempo. Actualmente, hay entre cinco y diez millones de CPUs que son parte de la mayor y más flexible infraestructura de cloud computing jamás vista: las Botnets21.
Con el análisis del gusano Conficker22, a muchos les quedó la duda de cuál era su propósito. Algo parecido podemos decir del gusano espía Stuxnet23, que tanto ha excitado la teoría de la ciberguerra últimamente. Lo que falta al hablar del Conficker y otras botnets es que en realidad no son aplicaciones sino infraestructuras que pueden ser “upgraded” para ejecutar cualquier carga o aplicación que sus dueños puedan imaginar.
Sabemos que las botnets se pueden alquilar para su uso temporal (spam, phishing...) y que son redes de propósito bastante general, pero lo que realmente son lo que otros han dado en llamar Infrastructure-as-a-Service (IaaS).
A diferencia de infraestructuras de cloud computing como Amazon’s EC2, las botnets (todavía) no son suficientemente flexibles como para cargar máquinas virtuales y están construidas sobre recursos robados. Tienen estructuras de comando y control muy quebradizas que ensalzan el sigilo frente a su gobernanza, y tienen continuamente que luchar contra ataques de otros caballos de Troya y bots. A pesar de ello, la “nube oscura” de las botnets es la más grande y maligna infraestructura de cloud computing corriendo en la Internet de hoy en día.

Las nuevas “Nubes Negras”
El aspecto más preocupante de las nuevas “Nubes Negras” (Dark Clouds) es que no hay una correlación directa entre ellas y su carga o propósito. Ahora las botnets tienen capacidades de actualización, por lo que pueden mutar, sufrir metamorfosis. Los controladores de las botnets pueden cargar nuevos cometidos, actualizar su canal de control, o pueden cambiar el mecanismo de propagación de sus agentes para evitar los intentos de apagarlas. Como siempre, la innovación en “el lado oscuro” es sorprendentemente sofisticada y sin restricciones24. Las arquitecturas botnet son de libre copia, comparten y roban código de unas a otras, se cruzan, evolucionan, de modo que las características que son útiles en una al poco tiempo aparecen, byte a byte, en otras.

Los Black Hats están implementando el Global cloud computing más deprisa y de forma más eficaz que el resto de los mortales. Aún siendo redes frágiles y poco vinculadas, estas “Nubes Negras” compensan sus debilidades con su escala... y se alquilan.

1 Ver http://en.wikipedia.org/wiki/Jaguar_%28computer%29
2 El proyecto SETI, con 278.832 ordenadores activos (de 2,4 millones en total) ubicados en 234 países, el 14 de noviembre de 2009, tenía la capacidad de calcular alrededor de 769 teraFLOPS. El ordenador Cray Jaguar, que el 26 de septiembre era el supercomputador más rápido del mundo, alcanzaba los 2.331 teraFLOPS, sólo tres veces más.
3 Ver http://en.wikipedia.org/wiki/Condor_High-Throughput_Computing_System
4 Ver http://en.wikipedia.org/wiki/Grid_Computing
5 Ver http://en.wikipedia.org/wiki/Open_Science_Grid
6 Ver http://en.wikipedia.org/wiki/Large_Hadron_Collider
7 Ver http://en.wikipedia.org/wiki/Enabling_Grids_for_E-sciencE
8 Ve http://en.wikipedia.org/wiki/Teragrid
9 Desde 1975 equivale a 1015 FLoating point OPerations per Second
10 Ver http://en.wikipedia.org/wiki/Message_Passing_Interface
11 Ver http://en.wikipedia.org/wiki/Cloud_computing
12 C. Evangelinos, C. N. Hill: “Cloud Computing for Parallel Scientific HPC Applications: Feasibility of Running Coupled Atmosphere-Ocean Climate Models on Amazon’s EC2”, Cloud Computing and Its Applications 2008 (CCA-08), Chicago, IL. October 2008.
13 E. Deelman, G. Singh, M. Livny, B. Berriman, J. Good: “The cost of doing science on the cloud: the montage example,” Proc. of the 2008 ACM/IEEE conference on Supercomputing (SC’08). Piscataway, NJ, USA: IEEE Press, 2008, pp. 1–12.
14 C. Vecchiola, X. Chu; R. Buyya: “Aneka: A software platform for .NET-based Cloud computing”, en High Performance & Large Scale Computing, Advances in Parallel Computing, W. Gentzsch, L. Grandinetti, G. Joubert Eds., IOS Press, 2009
15 J. Dean; S. Ghemawat, “Mapreduce: Simplified Data Processing on Large Clusters”, Communications of ACM, vol. 51, no. 1, January 2008, pp. 107–113.
16 Ver http://www.wpacracker.com
17 Ver http://en.wikipedia.org/wiki/WPA-PSK
18 Ver http://en.wikipedia.org/wiki/Dictionary_attack y http://www.washingtonpost.com/wp-dyn/articles/A6098-2005Mar28.html
19 WPA Cracker: “Our dictionary was meticulously compiled with WPA cracking in mind, and includes word combinations, phrases, numbers, symbols, and elite speak. It has worked quite well for us, and now we’re hoping that it can be helpful for you”.
20 WPA Crack ofrece utilizar un diccionario en alemán de 284 millones de palabras y extensiones de palabras en inglés como opción.
21 Ver http://en.wikipedia.org/wiki/Botnet
22 Ver http://en.wikipedia.org/wiki/Conficker
23 Ver http://es.wikipedia.org/wiki/Stuxnet
24 Bobbie Johnson: “Cloud computing is a trap, warns GNU founder Richard Stallman” guardian.co.uk, Monday 29 September 2008 http://www.guardian.co.uk/technology/2008/sep/29/cloud.computing.richard.stallman



Documento en PDF
 

<volver