Cloud Computing : Vulnérabilités du cloud

La façon dont vous créez l'architecture de votre infrastructure de cloud peut avoir des répercussions directes sur sa résistance aux défaillances.

Dan Marinescu

Adapté de « Cloud Computing : Théorie et pratique » (Elsevier Science & Livres de technologie)

Clouds publics et privés peuvent être affectées par les attaques malveillantes et défaillances de l'infrastructure tels que les pannes d'électricité. Ces événements peuvent influer sur les serveurs de noms de domaine Internet, empêcher l'accès aux nuages ou affectent directement les opérations de nuage.

Par exemple, une attaque à Akamai Technologies le 15 juin 2004, a provoqué une panne de nom de domaine et une panne d'électricité majeure qui a touché de Google Inc., Yahoo! Inc. et beaucoup d'autres sites. En mai 2009, Google a été la cible d'une attaque de (DoS) denial-of-service sérieuse qui décrocha de services tels que Google News et Gmail pendant plusieurs jours.

La foudre a provoqué un temps d'arrêt prolongé chez Amazon.com Inc. 29 et 30 juin 2012. Le cloud Amazon Web Services (AWS) dans la région de l'est des États-Unis, qui se compose de 10 centres de données à travers quatre zones de disponibilité, était initialement troublé par des fluctuations de puissance utilitaire probablement causées par un orage électrique. Une tempête de 29 juin 2012, sur la côte est décrocha de certaines installations d'Amazon basé en Virginie et affecté les entreprises qui utilisent des systèmes exclusivement dans cette région. Instagram, un service de partage de photos, aurait été une des victimes de cette panne.

Récupération de ces événements a pris du temps et exposé une série de problèmes. Par exemple, un des 10 centres n'a pas pas passer à des générateurs de secours avant d'avoir épuisé la puissance qui pourrait être fournie par l'alimentation sans coupure (UPS) blocs d'alimentation. AWS utilise « maîtrise des plans » au commutateur permettent aux utilisateurs de ressources dans une région différente, et ce composant de logiciel a également échoué.

Le processus de démarrage a été défectueux et prolongé le temps nécessaire pour redémarrer Elastic Compute Cloud (EC2) et services Elastic Block Store (EBS). Un autre problème crucial avait un bug dans élastique Load Balancing (ELB), qui sert à acheminer le trafic vers les serveurs avec la capacité disponible. Un bug similaire a affecté le processus de récupération de la Service de base de données relationnelle (RDS). Cet événement mis de légers problèmes « cachés » qui se produisent seulement dans des circonstances particulières.

Pièces du nuage

Un fournisseur d'applications de nuage, un fournisseur de stockage de nuages et un fournisseur de réseau pourraient mettre en œuvre des politiques différentes. Les interactions imprévisibles entre équilibrage de charge et d'autres mécanismes réactifs pourraient conduire à des instabilités dynamiques. L'accouplement involontaire des contrôleurs indépendants de gérer la charge, consommation d'énergie et les éléments de l'infrastructure pourrait conduire à des réactions indésirables et instabilité semblable à celles vécues par le routage basée sur la stratégie dans l'Internet protocole BGP (Border Gateway).

Par exemple, l'équilibrage de la charge du fournisseur d'application puisse interagir avec l'optimiseur de puissance du fournisseur de l'infrastructure. Certains de ces accouplements peuvent se manifester seulement dans des conditions extrêmes et peuvent être très difficile à détecter dans des conditions normales. Elles peuvent avoir des conséquences désastreuses lorsque le système tente de récupérer d'une défaillance dure, comme dans le cas de la panne AWS 2012.

Regroupement des ressources dans les centres de données situés dans différentes zones géographiques est l'un des moyens utilisés pour diminuer la probabilité de défaillances catastrophiques. Cette dispersion géographique des ressources peut avoir des effets secondaires positifs supplémentaires. Il peut réduire les coûts de trafic et de l'énergie de communication en dépêchant les calculs aux sites où l'énergie électrique est moins cher. Il peut également améliorer les performances avec une stratégie d'équilibrage de charge intelligente et efficace.

En établissant une infrastructure cloud, vous devez équilibrer soigneusement les objectifs du système tels que maximiser le débit, l'utilisation des ressources et des avantages financiers avec les besoins des utilisateurs tels que faible coût et réponse temps et une disponibilité maximale. Le prix à payer pour toute optimisation de système est la complexité accrue du système. Par exemple, la latence de communication sur un réseau étendu (WAN) est nettement supérieure à celui sur un réseau local (LAN) et nécessite le développement de nouveaux algorithmes pour la prise de décision mondiale.

Défis de nuage

Cloud computing hérite de certains des défis de parallèle et informatique distribuée. Il également fait face à plusieurs défis majeurs de ses propres. Les défis spécifiques diffèrent pour les modèles de prestation des trois nuages, mais dans tous les cas les difficultés sont créées par la nature même de l'utilitaire informatique, qui est basé sur le partage des ressources et de la virtualisation des ressources et requiert un modèle de confiance différents que le modèle centrée sur l'utilisateur omniprésent qui a été la norme pendant une longue période.

Le défi le plus important est la sécurité. Gagner la confiance d'une base importante d'utilisateurs est essentiel pour l'avenir du cloud computing. Il est illusoire de penser qu'un cloud public offrira un environnement adapté pour toutes les applications. Applications hautement sensibles associés à la gestion de l'infrastructure critique, demandes de soins de santé et d'autres seront probablement accueillies par clouds privés.

De nombreuses applications en temps réel se limiteront probablement encore à clouds privés. Certaines applications peuvent être mieux servies par une configuration de cloud hybride. Ces demandes pourraient conserver des données sensibles sur un cloud privé et utiliser un cloud public pour certains du traitement.

Le modèle Software as a Service (SaaS) est confrontée à des défis similaires que les autres services en ligne pour protéger les informations confidentielles, telles que financiers ou services de soins de santé. Dans ce cas, un utilisateur interagit avec des services de cloud via une interface bien définie. En principe, par conséquent, il est moins difficile pour le fournisseur de services de fermer certaines chaînes attaque.

Pourtant, ces services sont vulnérables aux attaques de DoS et malveillants initiés. Données de stockage sont plus vulnérables à l'attaque, donc consacrer une attention particulière à la protection des serveurs de stockage. La réplication de données nécessaire pour assurer la continuité du service en cas de panne de système de stockage accroît la vulnérabilité. Cryptage des données peut protéger les données dans le stockage, mais finalement les données doivent être décryptées pour traitement. Ensuite, il est exposé à l'attaque.

L'Infrastructure de modèle de Service (IaaS) est de loin le plus difficile à défendre contre les attaques. En effet, un utilisateur de IaaS a beaucoup plus de liberté que les autres modèles de prestation des deux nuages. Une autre source d'inquiétude est que les ressources considérables de nuage pourraient servir à lancer des attaques contre le réseau et l'infrastructure informatique.

La virtualisation est une option de conception critique pour ce modèle, mais il expose le système à de nouvelles sources d'attaque. Le trusted computing base (TCB) d'un environnement virtuel inclut non seulement le matériel et l'hyperviseur mais aussi la gestion du système d'exploitation. Vous pouvez enregistrer l'ensemble de l'état d'une machine virtuelle (VM) dans un fichier pour permettre la migration et la restauration, les deux opérations hautement souhaitables.

Pourtant, cette possibilité conteste les stratégies pour amener les serveurs appartenant à un organisme à un état stable et souhaitable. En effet, une VM infectée peut être inactive Lorsque les systèmes sont nettoyées. Ensuite, il peut se réveiller plus tard et infecter d'autres systèmes. Il s'agit d'un autre exemple de l'entrelacement profonde des effets désirables et indésirables du base cloud computing technologies.

Le prochain défi majeur est lié à la gestion des ressources sur un nuage. Toute stratégie de gestion de ressource systématique (et non ad hoc) nécessite l'existence des contrôleurs chargés de mettre en œuvre plusieurs classes de politiques : contrôle d'admission, attribution de la capacité, équilibrage de charge, optimisation énergétique et, last but pas moins, garantit la fourniture de qualité de service (QoS).

Pour mettre en œuvre ces politiques, les contrôleurs ont besoin d'informations précises sur l'état global du système. Détermination de l'état d'un système complexe avec 106 serveurs ou plus, réparti sur un vaste territoire géographique, n'est pas faisable. En effet, l'externe chargé, ainsi que l'état des ressources individuelles, des changements très rapidement. Ainsi, les contrôleurs doivent être en mesure de fonctionner avec des connaissances incomplètes ou approximative de l'état du système.

Il semble raisonnable de penser que tel une système complexe peut seule fonction basée sur les principes de l'autogestion. Mais, d'autogestion et d'auto-organisation hausser la barre pour l'implémentation de la journalisation et l'audit des procédures critiques pour la sécurité et la confiance dans un fournisseur de cloud computing services.

En vertu de l'autogestion, il devient presque impossible d'identifier les raisons pour lesquelles une certaine action qui a donné lieu à une violation de la sécurité a été prise.

Le dernier grand défi que je vais répondre est lié à l'interopérabilité et la normalisation. Vendor lock-in — le fait qu'un utilisateur soit lié à un nuage particulier fournisseur de services — est une préoccupation majeure pour les utilisateurs de cloud. Normalisation devrait favoriser l'interopérabilité et ainsi atténuer quelque peu les craintes qu'un service essentiel pour une grande organisation ne soient pas disponible pendant une période prolongée de temps.

Il est difficile d'imposer des normes à la fois quand une technologie continue d'évoluer, et il peut être contre-productif car il peut étouffer l'innovation. Il est important de comprendre la complexité des problèmes posés par le cloud computing et à comprendre l'échelle de la gamme de problèmes techniques et sociaux cloud informatique soulève. L'effort pour migrer des activités informatiques vers les clouds publics et privés auront un effet durable.

Dan C. Marinescu

Dan C. Marinescu a été professeur d'informatique à l'Université Purdue de 1984 à 2001. Puis il rejoint le département informatique à l'Université de Central Florida. Il a occupé des postes de professeur invité à l'IBM T. J. Watson Research Center, l'Institut des Sciences de l'Information à Beijing, la Division de systèmes évolutifs de Intel Corp., Deutsche Telecom AG et Rocquancourt INRIA en France. Sa recherche parallèle de la couverture de l'intérêt et les systèmes distribués, cloud computing, scientifique informatique, informatique quantique et théorie de l'information quantique.

Pour en savoir plus sur les autres titres Elsevier, check out Elsevier Science & Livres de technologie.

Contenus associés