# Sécurité des infrastructures du cloud

La Sécurité des infrastructures du Cloud est un sujet de préoccupation majeur dans tous les domaines liés aux technologies de l'information et de la communication à la suite de la montée en puissance du cloud computing. Depuis l'introduction de cette technologie, de nombreux problèmes de sécurité liés à l'utilisation des données hébergées dans les clouds ont entraîné des scandales médiatiques. Les attaques informatiques et les failles de sécurité présentes dans les systèmes traditionnels s'amplifient avec l'utilisation des différents types de cloud ; cela a entrainé l'émergence de nouveaux types de menace. Afin de répondre au mieux à ces problématiques, le monde de l'informatique a dû faire évoluer les concepts relatifs aux trois principes fondamentaux de la sécurité de l'information qui sont : la confidentialité, l'intégrité et la disponibilité. Aussi, les différentes techniques de sécurité au sein même des infrastructures telles que les réseaux, le stockage, les hyperviseurs ont dû être renforcées et adaptées aux nouvelles problématiques.

## Problèmes de sécurité dans les Infrastructures Cloud
### Contexte

Les fonctionnalités offertes par les infrastructures cloud (IaaS, SaaS, PaaS), qu'elles soient privées, communautaires, publiques ou hybrides sont très populaires et massivement utilisées par les entreprises pour leurs données, services internes ou celles de leurs clients.
Le fait de mutualiser des ressources système ou de mettre en place des paiements via l'utilisation de ces ressources accentue davantage les problèmes de sécurité que dans les systèmes traditionnels, particulièrement en ce qui concerne les attaques de type ddos. Les utilisateurs et les fournisseurs de services cloud sont de plus en plus préoccupés par les nouvelles menaces et les nouveaux risques auxquels ils doivent faire face lorsqu'ils intègrent le cloud. Notamment dans le cas d'attaques distribuées où plusieurs routes peuvent exister afin de joindre un serveur ou une application. Les attaquants peuvent utiliser cet aspect pour ne pas être détectés et augmenter l'efficacité de leur attaque. Une étude de cas, effectuée par la Cloud Security Alliance (en), montre la diversité des problèmes de sécurité existants et les impacts techniques et financiers conséquents présents sur un cloud. De cette étude, nous pouvons énumérer :
* LinkedIn qui en 2012 a révélé que 6 millions de mots de passe ont été volés, mais ce chiffre est passé à 167 millions en 2016
* Yahoo, a constaté qu'à la suite du piratage qu'il a subi en 2013, 500 millions de noms d'utilisateurs/mots de passe ont été volés; cependant, ce chiffre a été revu à 3 milliards de comptes à la suite d'une déclaration publiée par Verizon, ce qui représente la plus grande fuite de données mondiale.
En outre, nous pouvons également citer les problèmes de sécurité qui ont affecté les sociétés telles que :
* Facebook, qui a subi plusieurs problèmes de sécurité et de scandales liés à la protection de la vie privée de ses utilisateurs. En 2018, a été révélé le Scandale Facebook-Cambridge Analytica qui a permis l'exploitation de données de 87 millions d'utilisateurs Facebook à leur insu, à des fins d'influence politique. Mark Zuckerberg a admis, en mars 2019, l'échec de son entreprise en matière de protection de la vie privée des utilisateurs et a promis de transformer Facebook en une plateforme axée sur la vie privée. Malgré cette annonce, deux autres problèmes de sécurité majeurs ont affecté Facebook. Le premier, en mars 2019 stipulant que des centaines de millions de mots de passe d'utilisateurs étaient stockés en accès libre au sein du réseau de l'entreprise, même si rien n'indique qu'ils aient été exploités. Et le deuxième, en avril 2019, des chercheurs ont découvert des bases de données exposées publiquement contenant 146 Go de données Facebook sur 540 millions d'utilisateurs.
* Equifax, société spécialisée dans l’analyse de crédit aux États-Unis, a annoncé, le 7 septembre 2017, qu’une faille de sécurité sur le logiciel Apache Struts avait conduit au vol de données personnelles de 143 millions d’utilisateurs. À la suite de cette affaire, trois de ses dirigeants seraient suspectés d'avoir commis un délit d'initié$^,$$^,$.

### Menaces les plus communes sur les Infrastructures Cloud

Les activités de piratage informatiques sont passées d'un hobby pratiqué par des amateurs à une véritable industrie qui rapporte des millions de dollars.
Comme n'importe quel système informatique, les infrastructures cloud sont exposées de la même manière aux menaces. Une menace est tout simplement un événement qui, s'il se réalise, peut causer des dommages à un système et créer une perte de confidentialité, de disponibilité ou d'intégrité. Ces dernières peuvent être malveillantes ou accidentelles. Une vulnérabilité est une faiblesse d'un système qui peut être exploitée par une menace. La réduction des vulnérabilités d'un système peut réduire le risque et l'impact des menaces, les plus communes aux Infrastructures cloud et traditionnelle sont les suivantes$^,$ :

#### Écoute clandestine

    L'analyse du trafic, l'ingénierie sociale (sécurité de l'information), le reniflage sont tous des types d'écoute clandestine visant à obtenir des informations ou à créer une base pour une attaque ultérieure. L'écoute clandestine est une des causes principales de l'échec de la confidentialité.

#### Fraude

    Les transactions falsifiées, la manipulation de données et toutes autres altérations de l'intégrité des données à des fins lucratives.

#### Vol

    Le vol d'informations ou de secrets commerciaux dans un but lucratif ou en vue d'une divulgation non autorisée, ainsi que le vol physique de matériel ou de logiciels en sont des exemples.

#### Sabotage

    Cela comprend les attaques par déni de service (DoS), les retards de production et le sabotage de l'intégrité des données.

#### Attaque externe

    Par exemple le balayage de ports afin d'obtenir des renseignements sur l'infrastructure, l'insertion d'un code malveillant via cross-site scripting.

#### Attaque interne

    Ces attaques sont orchestrées ou exécutées par des personnes qui bénéficient d'accès aux systèmes et aux installations d'une entreprise, et qui ont une connaissance approfondie de l'infrastructure qu'un attaquant externe mettrait un temps considérable à développer.
En 2019, la Cloud Security Alliance, en interrogeant 241 experts de l'industrie, a établi un rapport des 11 menaces, risques et vulnérabilités importants dans les infrastructures cloud. En analysant ce rapport, il est intéressant de noter que les préoccupations de sécurité traditionnelles dans les clouds, telles que le déni de service, les vulnérabilités des technologies partagées et la perte de données, n'apparaissent plus contrairement aux années précédentes. Cela laisse penser, que les questions de sécurité traditionnelles relevant de la responsabilité des fournisseurs de service cloud semblent moins préoccupantes. Les nouvelles inquiétudes en matière de sécurité qui naissent désormais, sont spécifiques aux clouds telles que les faiblesses potentielles dans la conception du service cloud (avec comme conséquence une corruption des données), les API (application programming interface) non sécurisées et l'incapacité à visualiser et analyser si l'utilisation des services de cloud au sein de l'entreprise est sûre ou malveillante, ce qui peut engendrer une utilisation malveillante d'une infrastructure cloud$^,$.

## Préoccupations en matière de sécurité

Lorsque des données sont envoyées dans le cloud, un tout nouvel ensemble de problèmes surgit, cela est dû en grande partie au fait que les données sont stockées sur un équipement qui n'appartient pas à l'entreprise possédant les données. Il est recommandé que les contrôles de sécurité de l'information soient choisis et mis en œuvre en fonction des risques, mais aussi proportionnellement à ces derniers, en évaluant les menaces, les vulnérabilités et les impacts. Les préoccupations en matière de sécurité dans les clouds peuvent être regroupées de diverses façons. Gartner en a nommé sept, nous en énumérons certaines ci-dessous.

### Sécurité de l'information

Les trois principes fondamentaux de la sécurité de l'information sont la confidentialité, l'intégrité et la disponibilité (CIA triad). Ces principes définissent la posture de sécurité d'une organisation. Tous les contrôles et les mesures de sécurité de l'information, ainsi que toutes les menaces, les vulnérabilités et les processus de sécurité sont soumis à l'étalon de ces trois principes.

#### Vie privée et confidentialité

L'aspect de confidentialité des données des clients est l'un des piliers principaux de la sécurité des infrastructures cloud. L’opérateur, ici, les fournisseurs de service de cloud, doit assurer intégralement la confidentialité des données des clients. Les données ne devront en aucun cas être accessibles par les autres clients du même cloud. Les failles de sécurité liées aux pertes de confidentialité ont pour conséquence une baisse de confiance, un sentiment de trahison accru envers les opérateurs du cloud car la confidentialité des données plus ou moins secrètes dans ce type d'infrastructure est remise en cause.
Pour éviter ces craintes et renforcer la sécurité des données, les fournisseurs de services cloud doivent impérativement adhérer à des politiques de sécurité et de confidentialité afin de mettre tout en œuvre pour protéger les données de leurs utilisateurs.
Il convient également noter que les risques liés à la vie privée et à la confidentialité d'un utilisateur varient considérablement selon les conditions de service et la politique de confidentialité établies par le fournisseur de service cloud. En effet, les données privées des utilisateurs peuvent se retrouver dans des emplacements physiques différents engendrant donc des conséquences juridiques différentes liées aux pays où seraient entreposées les données$^,$.
En Europe, la directive 95/46/CE sur la protection des données personnelles contenait une disposition extraterritoriale importante, selon laquelle le flux de données personnelles provenant de tout pays membre de l'Union Européenne pouvait être interrompu si le pays vers lequel il est transféré ne disposait pas d'un niveau de protection des données personnelles jugé suffisamment développé et sécurisant. La directive répertoriait également une liste des pays de l'EU dans lesquels les données privées et personnelles pouvaient ou non traverser ou résider. Il faut aussi noter que les autorités européennes chargées de la protection des données avaient exigé que les responsables du traitement des données obtiennent un consentement préalable des utilisateurs avant le transfert des données à l'étranger.
En 2018, entre en vigueur le règlement général sur la protection des données (RGPD) qui remplace la directive européenne 95/46/CE. Ce règlement a pour objectif de clarifier les concepts et procédures de protection des données dans le monde connecté, au sein de l'union européenne, en apportant un cadre légal à la protection des données à caractère personnel$^,$.
Ce nouveau règlement a un impact important sur les infrastructures cloud en apportant les modifications suivantes :

##### Le consentement

    La personne concernée par la collecte ou le traitement des données doit expressément notifier son accord. A contrario, il doit avoir la possibilité de rompre cet accord à tout moment.

##### La portabilité

    Sur demande du client, un fournisseur de service cloud doit être en mesure de fournir ses données personnelles. De plus, sans le consentement de ce dernier, la revente des données est strictement interdite.

##### Traitement des données

    Il est interdit de traiter les données à caractère personnel qui révèlent l'origine raciale ou ethnique, les opinions politiques, les convictions religieuses ou philosophiques, l'appartenance syndicale, les données génétiques, les données biométriques permettant d'identifier de manière unique une personne physique, les données relatives à la santé, ou les données révélant l'orientation sexuelle d'une personne physique.

##### Localisation et transfert des données

    Le RGPD concerne toutes les organisations au sein de l'UE, mais il s'applique également aux organisations établies hors de l'UE si elles proposent des biens ou des services à des personnes résidentes dans l'UE.
Cette nouvelle réglementation peut apporter un gain significatif en matière de sécurité des données puisqu'elle demande d'assurer un niveau de sécurité approprié. Un non-respect du RGPD peut entrainer une procédure de sanction pouvant s’élever à 20 000 000 d’euros ou, dans le cas d’une entreprise, à 4% du chiffre d’affaires mondial total de l’exercice précédent.

#### Intégrité

L'intégrité est la garantie que le message envoyé correspond au message reçu, et que ce dernier ne soit pas altéré, intentionnellement ou non, par le personnel ou des processus non autorisés$^,$. La perte d'intégrité peut survenir à la suite d'une attaque intentionnelle visant à modifier l'information (par exemple, la dégradation d'un site Web) ou, plus couramment, de façon non intentionnelle (les données sont accidentellement modifiées par un opérateur).
Les données ne sont plus conservées en local sur les disques durs d'ordinateurs, mais sont sauvegardées plusieurs fois dans des stockages différents. Il appartient donc à l’opérateur, ici les fournisseurs de service de cloud, d'assurer l’intégrité de ces données, ce qui représente un aspect important de la sécurité$^,$.

#### Disponibilité

La disponibilité assure la fiabilité, le bon fonctionnement des systèmes et la rapidité d'accès aux données présentes dans les clouds ou des ressources mises en place dans les clouds. Une perte de disponibilité indique une perturbation de l'accès ou de l'utilisation de ces services. En outre, ce concept garantit que les services de sécurité du système du cloud sont en état de fonctionnement. Une attaque par déni de service est un exemple de menace contre la disponibilité$^,$.

### Contrôles de sécurité des clouds

L'objectif des contrôles de sécurité dans le cloud est de réduire les vulnérabilités à un niveau tolérable et de minimiser les effets d'une attaque. Pour y parvenir, une organisation doit déterminer l'impact qu'une attaque pourrait avoir et la probabilité de pertes. Des exemples de pertes sont la suppression d'informations sensibles, la destruction physique de ressources mais aussi une perte de confiance des clients. Les contrôles servent de contre-mesures aux vulnérabilités, il en existe de nombreux types qui sont généralement classés de la façon suivante :

#### Contrôles dissuasifs

    Ces contrôles sont destinés à réduire les attaques sur le cloud. Ils réduisent généralement le niveau de menace en informant préalablement les attaquants potentiels des conséquences, si toutefois ils poursuivent leurs activités. (Certains les considèrent comme un sous-ensemble de contrôles préventifs).

#### Contrôles préventifs

    Se protéger des vulnérabilités via par exemple des mises à jour à la suite de la publication de Common Vulnerabilities and Exposures (CVE) neutralise une attaque ou réduit son impact. Les contrôles préventifs inhibent les tentatives de violation de la politique de sécurité.

#### Contrôles de détection

    Le fait de détecter des problèmes de sécurité dans les infrastructures cloud permet de réagir de manière appropriée en fonction de l'incident. En cas d'attaque, un contrôle de détection signalera les contrôles préventifs ou correctifs pour régler le problème.

#### Contrôles correctifs

    Les contrôles correctifs réduisent les conséquences d'un incident, normalement en limitant les dommages. Ils entrent en vigueur pendant ou après un incident. La restauration des sauvegardes du système afin de reconstruire un système compromis est un exemple de contrôle correctif.

#### Monitoring et Journalisation

Il est important de mettre en place une surveillance de toutes les données pertinentes pour la sécurité qui sont générées par un système, un réseau ou une application. Ce type de données sont enregistrées dans un fichier appelé log ou journal. La collecte des logs est généralement effectuée à l'aide d'une stratégie de collecte hiérarchique ou centralisée si possible après leur génération. La portée de ce qui peut être collecté est large et le niveau de détail peut être écrasant, cette dernière dépasse généralement la capacité de traitement des services de surveillance. Par conséquent, en ce qui concerne la sécurité, il convient de prendre en compte les événements suivants$^,$ :
* Détection / Exposition des menaces
* Vérification des contrôles de sécurité
* Enregistrement légal des activités
Une surveillance performante de la sécurité via un IDS est nécessaire si l'on souhaite que les interventions ou les réponses aux incidents soient efficaces. La surveillance, la détection et l'intervention doivent être étroitement liées pour permettre une intervention rapide. Enfin, en adoptant ou en mettant en œuvre une capacité de surveillance de la sécurité robuste et avancée, un fournisseur de cloud a la possibilité de proposer la surveillance de la sécurité comme un service : monitoring as a service (en).
Il existe plusieurs outils qui permettent de faire du monitoring et journalisation centralisée des logs en environnement cloud, on peut citer :

##### Splunk

    Est une plate-forme logicielle commerciale pour l'analyse de données volumineuses. Cet outil est utilisé dans de nombreux domaines tels que les banques, les hôpitaux, la communication, la sécurité, l'éducation, etc. Il est numéro un des logiciels d'analyse des opérations informatiques au niveau mondial en 2015 avec 28,5% de part de marché. Selon le Gartner, Splunk a été sélectionné comme leader du SIEM en 2016.

##### ELK

    Est une suite logicielle opensource composées d'Elasticsearch qui est un moteur de recherche basé sur Apache Lucene. Logstash qui est un composant de collecte de données dynamique pour collecter les logs nécessaires et les envoyer au composant Elasticsearch après les avoir transformés au format JSON. Et enfin Kibana qui est un composant pour la visualisation de différents types de données tels que des graphiques, des tableaux, des cartes, etc. La solution ELK fournit divers types d'outils de visualisation qui sont utiles aux administrateurs travaillant sur la sécurité.

#### Tests de vulnérabilité et d'intrusion

Des tests d'intrusion et de vulnérabilité des infrastructures cloud doivent être effectués régulièrement. Ces derniers doivent porter sur l'ensemble de l'infrastructure, réseaux compris, et pas seulement sur des serveurs ou composants individuels. Ces tests peuvent découvrir une multitude de vulnérabilités, ces dernières doivent être classées (aussi simplement que critiques/élevées/moyennes/faibles). En règle générale, toute vulnérabilité classée comme critique ou élevée doit être corrigée pour garantir la sécurité de l'ensemble du cloud. Les vulnérabilités faibles ou moyennes peuvent être acceptées comme un risque raisonnable, cependant, elles doivent être étudiées en tenant compte du risque résiduel, puis acceptées par l'entreprise.
Afin de réaliser les tests de sécurité, différentes techniques peuvent être utilisées, notamment :
* Fault injection (en)
* Analyse dynamique de programmes
* Model-based testing
* Software testing
Concernant les tests de vulnérabilité et d'intrusion, nous pouvons citer les techniques suivantes :
* Balayage de ports
* Scanneur de vulnérabilité
* Cassage de mot de passe
* Cheval de Troie
* Dépassement de tampon
* Injection SQL
* Cross-site scripting
* Ingénierie sociale
Les Tests de vulnérabilités et d'intrusions sont effectués en utilisant différents outils et applications qui permettent aux testeurs de simuler des attaques sur l’infrastructure ou les applications. La plupart des outils utilisés pour ce type de tests sont inclus dans le système d’exploitation Kali Linux. Ce dernier est open source et il regroupe 600 outils de test de pénétration. Des livres entiers lui sont dédiés$^,$, c’est le système d’exploitation le plus utilisé pour les tests de vulnérabilité.

#### Contrôle d'accès

Le contrôle d'accès est intrinsèquement lié à la gestion des identités et est nécessaire pour préserver la confidentialité, l'intégrité et la disponibilité des données du cloud. La Cloud Security Alliance recommande aux fournisseurs de cloud de fournir un mécanisme d'authentification avancé, tel que les contrôles d'accès basés sur les attributs (attribute-based access control (en)).
Les contrôles d'accès sont généralement décrits comme discrétionnaires ou non discrétionnaires, et les plus courants sont les suivants$^,$ :
* Contrôle d'accès obligatoire
* Contrôle d'accès discrétionnaire
* Contrôle d'accès à base de rôles

#### Audit

En évaluant si les contrôles et les procédures sont adéquats pour répondre à tous les aspects opérationnels de la sécurité, de conformité, de protection, de détection et d'analyse judiciaire; les audits de sécurité transmettent un sentiment de confiance quant à la rigueur du fournisseur de cloud à assurer la sécurité$^,$.
Les auditeurs vérifient habituellement les fonctions suivantes :
* Contrôles des systèmes et des opérations
* Normalisation des développements
* Contrôles des sauvegardes
* Procédures sur les bases de données
* Sécurité du centre de données
* Plans d'intervention d'urgence
Les auditeurs peuvent recommander des améliorations sur les différents contrôles et participer au processus de développement d'un système afin d'aider une organisation pour éviter une réingénierie coûteuse après sa mise en œuvre. Toutes les activités du système sont généralement journalisées dans des logs qui constituent un ensemble de documents utilisés pour retracer des transactions, connexions, etc. Ces journaux devraient consigner les éléments suivants :
* La date et l'heure de la transaction
* propriétaire de la transaction
* depuis quel serveur la transaction a été traitée
* Divers événements de sécurité liés à l'opération
Via ces logs, un auditeur est en mesure d'examiner les éléments suivants :
* Travaux / changements sur la production
* Pratiques des opérateurs
* Toutes les commandes directement initiées par l'utilisateur
* Toutes les tentatives d'identification et d'authentification
* Fichiers et ressources accédés

### Compromis de sécurité

En fonction des différents modèles de cloud, les compromis suivants en matière de sécurité ont été identifiés$^,$ :

#### SaaS

    Offre des fonctionnalités intégrées directement dans l'offre, avec la plus faible extensibilité pour le consommateur et un niveau de sécurité intégré relativement élevé. En effet, le fournisseur assume la responsabilité en matière de sécurité.

#### PaaS

    A pour but de permettre aux développeurs de créer leurs propres applications sur la plate-forme. Il est donc plus extensible que le SaaS, au détriment des fonctionnalités prêtes à l'emploi. Ce compromis s'étend aux caractéristiques et capacités de sécurité, où les capacités intégrées sont moins complètes, mais où il y a plus de flexibilité afin d'ajouter de la sécurité supplémentaire.

#### IaaS

    Offre peu ou pas de fonctionnalités de type applicatif, mais une énorme extensibilité, ce qui signifie généralement des capacités de sécurité et des fonctionnalités moins intégrées, au-delà de la protection de l'infrastructure elle-même. Ce modèle exige que les systèmes d'exploitation, les applications et le contenu soient gérés et sécurisés par le client.
L'ANSSI a écrit un document qui décrit les exigences applicables à un fournisseur de service cloud (SecNumCloud). On trouve dans ce document une répartition des responsabilités en matière de sécurité par différents types de cloud:

### Labellisation des prestataires d'infrastructures cloud

Afin d'apporter de la confiance et mettre fin aux inquiétudes liées au cloud, des labels ont été créés. On peut citer :
* SecNumCloud est un référentiel créé par l'ANSSI en 2016 puis qui a évolué en 2019 en le simplifiant, et en étant compatible avec le RGPD. Ce dernier permet la qualification de prestataire de services cloud en offrant un maximum de garanties quant à la protection des données. Ce référentiel se base notamment sur la norme ISO/CEI 27001, en y intégrant des spécificités techniques et législatives. Le Visa de Sécurité associé à SecNumCloud délivré par l'ANSSI permet d'assurer que les exigences présentes dans ce référentiel soient respectés par les fournisseurs d'infrastructures cloud.
* ESCloud pour European Secure Cloud, label créé en 2016, est le fruit d'un travail en commun de l'ANSSI et la BSI. Ce dernier rapproche des initiatives nationales, le référentiel SecNumCloud en France et le catalogue C5 en Allemagne afin de faire émerger un socle de confiance franco-allemand. Cette initiative permettra à l’ensemble des acteurs européens de faire appel à des prestataires de service cloud de confiance. ESCloud s’appuie sur quinze règles techniques et organisationnelles qui visent à garantir le sérieux des initiatives nationales partenaires, le niveau de sécurité des solutions labellisées ainsi que le traitement et le stockage des données sur le territoire européen.

## Sécurisation infrastructures cloud
### Sécurité physique

Lors du passage au cloud, les clients perdent le contrôle sur la sécurité physique étant donné que les serveurs peuvent être localisés partout dans le monde. Le concept du cloud peut parfois être trompeur et les utilisateurs ont tendance à oublier que l'usage du cloud nécessite un emplacement physique. L'investissement massif nécessaire pour établir le niveau de sécurité requis dans les centres de données est l'une des nombreuses raisons pour lesquelles les entreprises migrent vers le cloud.
La sécurité physique est aussi importante que tout autre contrôle de sécurité visant à protéger la sécurité et le fonctionnement du cloud. Les installations physiques sont soumises à diverses menaces, notamment les risques naturels et les actions humaines. par exemple, une infrastructure cloud hébergée dans un centre de données se trouvant sur une zone inondable est aussi imprudent que d'accorder un accès privilégié à tous les utilisateurs.
Tout serveur dans le cloud est vulnérable à un attaquant qui dispose d'un accès physique et d'un temps illimité au serveur. Les éléments suivants devraient être fournis pour assurer la disponibilité du serveur$^,$$^,$ :
* Contrôle et surveillance de l'accès physique (24/7/365).
* Contrôles environnementaux et alimentations de secours.
* Processus, procédures & politiques de sécurité adapté aux centres de données.

### Au niveau du réseau

Le réseau peut être considéré comme la colle qui maintient ensemble les applications et les utilisateurs du cloud. Les principales préoccupations et fonctions des réseaux sont de permettre la communication entre les appareils connectés au réseau. Dans un centre de données moderne hébergeant une infrastructure cloud, le réseau est beaucoup plus complexe. Néanmoins, il est composé de plusieurs dispositifs que l'on retrouve dans une infrastructure standard, sauf qu'ils sont plus nombreux et ont des fonctionnalités accrues. On y retrouve les équipements traditionnels tels que les routeurs ou pare-feux en bon nombre, mais également des équipements centrés sur le cloud afin d'assurer la sécurité de ce dernier tels que des applications delivery controller, load balancers ou des équipements qui possèdent des fonctionnalités telles qu'un système de détection d'intrusion.
Un autre concept qui a évolué en association avec le cloud est celui des réseaux définis par logiciel software-defined networking (SDN). Les applications dans le cloud peuvent être dynamiques en ce qui concerne la taille, l'emplacement et la durée de vie. Cela augmente la difficulté pour trouver les moyens de sécuriser ce type d'environnement difficile. La sécurité définie par logiciel software-defined networking a été conçue pour répondre à ces préoccupations.
Il existe deux grands concepts pour la sécurité et les réseaux définis par logiciel. Le premier est l'API, utilisé pour apporter des modifications aux éléments du réseau et du matériel se trouvant dans un centre de données ; le second est l'orchestration, c'est-à-dire le fait de prendre ces API et de les utiliser de manière logique.
* Les API : il en existe un certain nombre qui sont compatibles avec la notion de SDN. Des fournisseurs tels que Juniper, Cisco et VMware fournissent tous des API pré-packagées pour permettre le contrôle et la gestion de leurs matériels et logiciels. Les API peuvent être utilisées par les développeurs pour gérer, orchestrer et automatiser leurs ressources cloud.
* Orchestration: Les tâches de sécurité dans le cloud nécessitent généralement l'invocation d'un certain nombre d'API pour remplir un ensemble de tâches. Par exemple, lorsqu'une nouvelle instance de machine virtuelle est créée, une politique de sécurité devra être provisionnée afin de permettre au trafic de s'y rendre.
Nous pouvons donner l'exemple d'OpenStack, qui possède des caractéristiques de sécurité importantes, notamment en matière de réseau. Les APIs d'OpenStack permettent en outre d'exposer les capacités de pare-feu, de répartition de charge, de commutateur réseau et de système de détection d'intrusion (IDS) en tant que services d'infrastructure. L'architecture d'OpenStack a été conçue pour fournir une gestion fine des ressources du cloud. Elle permet aux administrateurs et aux architectes d'appliquer des contrôles sur les rôles liés aux fonctions et les différents services réseaux. Cela donne à Openstack la possibilité de virtualiser les fonctions réseau. Dans le cas de la sécurité du réseau, des éléments tels que le commutateur réseau, NAT, le DHCP, la répartition de charge, la configuration de l'interface réseau et les politiques de sécurité du pare-feu peuvent être instanciés rapidement et en toute sécurité.

### Au niveau du stockage

Le cloud computing apporte des avancées en ce qui concerne le stockage en ligne ; on parle ici de Storage as a Service (en). Parmi les avantages supplémentaires de ces services généralement peu coûteux, figurent les tâches de maintenance du stockage (telles que la sauvegarde, la réplication et la reprise après sinistre), que le fournisseur de service cloud effectue. Un aspect commun à de nombreuses offres de stockage dans le cloud est la fiabilité et la disponibilité du service. La réplication des données est effectuée à un faible niveau par des mécanismes tels que le RAID ou par un système de fichiers.
L'une des tendances dans le domaine du stockage en ligne sur le cloud, est l'utilisation d'API. Cela est mis en œuvre sous la forme d'une API qui réside coté client et qui permet d'interagir directement avec le stockage hébergé sur le cloud via des protocoles standard. Cela permet d'effectuer simplement des tâches de sauvegarde, restauration, chiffrement des données en conservant les clés locales de l'API côté client.

### Sécurité de l'hôte / Hyperviseur / Machines Virtuelles

Chaque machine virtuelle (VM) s'exécute au sommet du système d'exploitation hôte : le matériel physique doté d'un hyperviseur tel que KVM (kernel-based virtual machine) est appelé « hôte », tandis que toutes les machines virtuelles qui utilisent ses ressources sont appelées « invités ». Si toutefois l'hôte est compromis, aucun composant invité ne sera en sécurité, c'est donc une tâche très importante de sécuriser l'hôte. Cependant, compromettre l'hôte n'est pas si simple mais il y a toujours une chance de trouver une nouvelle vulnérabilité qui pourrait causer une défaillance.
Concernant l'hyperviseur, ce dernier étant un logiciel qui a le pouvoir de gérer toutes les VMs s'exécutant sur le système physique, le fait de le compromettre peut entraîner de graves dommages sur l'ensemble de l'infrastructure du cloud. En effet, le code fonctionnant dans une VM ne peut pas communiquer ou affecter le code s'exécutant sur l'hôte qui l'héberge ou dans une VM différente. Cependant, plusieurs problèmes, tels que des bugs dans le logiciel, ou des limitations à la mise en œuvre de la virtualisation, peuvent mettre cet isolement en danger. Les principales vulnérabilités inhérentes à l'hyperviseur sont les rootkit de l'hyperviseur, évasion de machine virtuelle, la modification externe de l'hyperviseur. Ces dernières sont généralement exécutées par des administrateurs système et des employés malveillants qui peuvent profiter de leurs privilèges pour insérer du code malveillant$^,$.
Les attaquants exploitent les bugs ou les vulnérabilités des hyperviseurs / hôtes et des machines virtuelles , il est donc important d'appliquer un durcissement de la sécurité sur ces derniers:
* Durcissement du système d'exploitation hôte et des VMs : utilisation des mots de passe forts, désactivation des programmes ou tâches de fond inutiles, pare-feu individuel, patch et mises à jour régulières, limites de la consommation des ressources des machines virtuelles$^,$
* Limitation de l'accès physique à l'hôte.
* Utilisation des communications chiffrées : HTTPS, SSH, VPN
* Mise en œuvre des contrôles d'intégrité des fichiers : processus qui consiste à vérifier que les fichiers conservent une bonne cohérence, et permet de vérifier s'il y a eu une intrusion dans le système.
* Gestion des sauvegardes.

### Sécurité des applications

La sécurité des applications est l'un des facteurs essentiels pour une entreprise proposant des clouds de type SaaS. Les processus de sécurisation des applications avec la mise en place des directives de codage sécurisé, des formations, des scripts et des outils de test sont généralement le fruit d'une collaboration entre les équipes de sécurité, de développement et de test. Des tests d'examen du code source des applications et des tests d’attaque doivent être effectués régulièrement afin de garantir la sécurité de l'application. Un manque de collaboration entre les différentes équipes peut entraîner une baisse de la qualité de la conception des applications et donc de leur sécurité$^,$.
Les applications utilisées sont généralement Open source, par conséquent, les fournisseurs doivent sécuriser leurs applications Web en suivant les directives de l'Open Web Application Security Project (OWASP). Il faut également veiller à verrouiller les ports et les commandes inutiles sur la stack LAMP utilisée dans le cloud.

### Sécurité des données

Par rapport à un centre de données privé, il est compréhensible que les potentiels clients des clouds aient des préoccupations de sécurité concernant le stockage et le traitement de données sensibles dans un cloud public, hybride ou même dans un community cloud (en). Le risque d'exposition des données est réel mais pas fondamentalement nouveau. En revanche, nous pouvons considérer que l'informatique dans le cloud entraîne des défis uniques en matière de sécurité des données.
On pourrait penser que le stockage des données d'une organisation sur une infrastructure Informatique traditionnelle offre des avantages potentiels pour la sécurité mais le problème est que la plupart des organisations ne sont pas qualifiées pour travailler dans le domaine de l'expertise de la sécurité informatique. En effet, cela demande des compétences qui ne sont pas courantes. Par conséquent, déplacer des données vers des clouds et les confier à des dépositaires externes n'engendre pas nécessairement de nouveaux risques. A contrario, cela pourrait même améliorer la sécurité et pourrait être plus rentable.
Il est tout de même important de préciser que toutes les données ne sont pas exportables vers des clouds publics ; notamment les renseignements relatifs à la sécurité nationale. En outre, le coût de la prestation de sécurisation supplémentaire pour certaines données sensibles aurait potentiellement, comme conséquence, une incompatibilité avec le modèle de cloud public. Par conséquent, lorsque ces besoins en matière de sécurité des données prévalent, d'autres modèles de prestation (cloud communautaire ou privé) peuvent être plus appropriés.

#### Risques courants liés à la sécurité des données dans le cloud

Les menaces habituelles à la sécurité des données sont toujours d'actualité. L'utilisation de techniques telles que l'hameçonnage, bien qu'elle ne soit pas nouvelle, peut être redoutable et représente une menace supplémentaire pour la sécurité des données dans une infrastructure cloud. Ainsi, certains fournisseurs ont mis en place des mesures de protections afin de lutter contre ce style d'attaques ciblé sur le cloud:
* Restrictions de l'accès aux instances uniquement via des plages d'adresses IP connues.
* Notification automatique d'événements suspects. Par exemple, la connexion depuis la Chine peu après qu'une adresse IP depuis les États-Unis l'ait fait pour le même compte.
* Utilisation d'une authentification basée sur les clés SSH et non un mot de passe statique pour les VMs provisionnées par un fournisseur de cloud.
Un autre risque est lié aux accès inappropriés aux données sensibles des clients par les administrateurs du cloud. Ce risque dépend de deux facteurs principaux : premièrement, il est lié au potentiel d'exposition des données non chiffrées et deuxièmement, à l'accès privilégié du personnel à ces données. L'évaluation de ce risque repose en grande partie sur les pratiques des fournisseurs clouds et sur l'assurance que le personnel ayant un accès privilégié n'aura pas accès aux données des clients.

#### Techniques cryptographiques dans les clouds

Un des moyens efficaces d'assurer la sécurité des données est d'utiliser les techniques de chiffrement de données. Cela permet, avec une gestion sécurisée des clés, d'assurer la confidentialité et l'intégrité des données$^,$.
La cryptographie est passée de la protection de la confidentialité des communications privées à des techniques permettant d'assurer l'intégrité du contenu, l'authentification et les signatures numériques. En mettant l'accent sur la sécurité des données, la cryptographie a été reconnue comme une technologie essentielle et a une grande valeur pour la sécurité des données dans les clouds.
Pour assurer la confidentialité, les techniques cryptographiques sont toutes basées sur des fonctions mathématiques qui doivent répondre à plusieurs exigences, notamment :
* L'algorithme et l'implémentation doivent être efficaces sur le plan du calcul pour chiffrer et déchiffrer les données.
* L'algorithme doit être ouvert.
* Le chiffrement obtenu doit résister aux attaques par force brute.
En application, les données sont chiffrées à l'aide d'une clé de chiffrement, puis sont déchiffrées à l'aide d'une clé de déchiffrement.
En cryptographie symétrique, ces clés sont les mêmes. La cryptographie symétrique a une large applicabilité, est rapide et n'utilise pas beaucoup de ressources. Mais lorsqu'elle est utilisée dans la communication entre différentes parties, la complexité de la gestion des clés peut devenir intenable puisque chaque partie prenante devrait partager une clé secrète unique. Il est très difficile d'établir une clé secrète lorsqu'il n'existe pas encore de canal sécurisé pour permettre l'échange de cette clé en toute sécurité$^,$.
En revanche, avec la cryptographie asymétrique (également connue sous le nom de cryptographie à clé publique-privée), la clé de chiffrement (clé publique) est différente mais mathématiquement liée à la clé de déchiffrement ou clé privée.
L'avantage majeur de la cryptographie asymétrique est que seule la clé privée doit être gardée secrète ; au contraire, la clé publique peut être communiquée et aucune confidentialité n'est requise. Bien que les paires de clés publiques-privées soient liées, il est impossible de calculer une clé privée à partir d'une clé publique.
Cette utilisation des clés publiques-privées est un excellent moyen d'assurer la confidentialité dans les infrastructures clouds, et pas seulement pour le chiffrement du contenu. Une clé privée peut être utilisée pour authentifier un utilisateur ou un composant informatique. Elle peut également être utilisée pour lancer la négociation d'une connexion sécurisée$^,$.