VDI : problèmes réels des machines virtuelles et solutions concrètes

La virtualisation poursuit sa marche triomphale et elle est soutenue non seulement par certains experts en informatique ou par des sociétés qui l’ont intégrée avec succès à leurs activités, mais également par des pans entiers du secteur des technologies de l’information. Il est rare de trouver désormais ne serait-ce qu’un centre de données qui utilise uniquement des serveurs physiques ; l’électricité, voire simplement l’espace physique, coûtent trop chers pour les gaspiller de cette manière si peu efficace.

Toutefois, la possibilité d’héberger plusieurs serveurs sur un hôte physique n’est qu’un des nombreux avantages offert par le recours aux machines virtuelles.

De nos jours, le deuxième plus grand domaine d’application des technologies de virtualisation est l’infrastructure de bureau virtuel (VDI, Virtual Desktop Infrastructure). Bien qu’elle repose sur la même idée fondamentale qui consiste à héberger plusieurs ordinateurs sur un « corps » physique, elle remplit une fonction tout à fait différente : remplacer une multitude de postes de travail physiques par un environnement virtuel uniforme et simple à contrôler.

A la différence de l’infrastructure de services de terminaux habituelle, qui n’en est pas à ses débuts, qui offre un accès partagé à l’environnement du système d’exploitation serveur-hôte, la VDI est de la virtualisation à l’état pur. Cela signifie que chaque poste de travail virtuel constitue une « entité », avec sa propre sélection de matériel et de système d’exploitation virtuels, ainsi que sa propre sélection de problèmes de sécurité potentiels qui, en fait, peuvent se manifester plus souvent que dans la cadre de la virtualisation de serveurs. Ceci est particulièrement vrai si le scénario prévoit l’accès à Internet, avec ses menaces et ses contingents de personnes qui aiment bien gagner de l’argent sur le dos des autres. Et encore faut-il espérer que vous n’aurez pas cru, ne serait-ce qu’un instant, le mythe selon lequel les environnements informatiques virtuels sont plus sûrs que leurs équivalents physiques. Car c’est loin d’être le cas. Dans la majorité des aspects liés à la sécurité, la situation ressemble très fort à celle du monde physique. Tandis que certaines des caractéristiques de la virtualisation rendent la tâche de protection encore plus complexe.

Ce billet va porter essentiellement sur ces aspects, la sécurité de la VDI, ses mythes et ses particularités ainsi que sur la marche à suivre pour garantir la sécurité.

VDI : avantages et inconvénients

Avantages de la VDI

Avant de plonger dans les problèmes de la VDI, il serait bon de rappeler une fois de plus pourquoi les administrateurs système et les experts en sécurité informatique l’apprécient. Donc :

  • La VID est pratiquement indépendante du matériel du client et de son système d’exploitation. La seule exigence vis-à-vis du périphérique, qu’il s’agisse d’un ordinateur traditionnel, d’un smartphone ou d’un client léger, c’est de pouvoir lancer l’application client (voire, uniquement le navigateur dans certains cas).
  • La VDI offre un niveau de sécurité des données considérablement plus élevé : toutes les informations de valeurs sont conservées à distance, ce qui exclut pratiquement le risque d’endommagement physique ou de vol avec le périphérique client.
  • La VDI assure une certaine souplesse dans l’administration de l’environnement : les postes de travail virtualisés et les applications peuvent être créés et administrés avec une simplicité qui n’existe pas dans les milieux physiques. A conditions que les processus soient bien ajustés, il n’est pas forcément nécessaire de résoudre les problèmes « virtuels » qui pourraient se présenter sur une des machines ; il suffit de recréer les postes au départ d’un modèle préparé et les données des utilisateurs stockées centralement sont immédiatement accessibles dès que la machine a été lancée et que la procédure d’autorisation du client a eu lieu.

La liste des avantages de l’utilisation d’une VDI ne se limite pas à ces quelques exemples. Mais ils suffisent pour comprendre pourquoi dans certains domaines, qui requièrent à la fois de la mobilité et la sécurité des données client, la VDI est une nécessité qui s’impose. Parmi ces domaines, citons la médecine, les assurances et les banques ; la possibilité de suivre des processus métier hautement formalisés dans ces domaines simplifient fortement le processus de déploiement d’une infrastructure de bureaux virtuels.

Inconvénients de la VDI

Malheureusement, toute solution dans ce monde possède également des inconvénients. La VDI ne fait pas exception. Elle possède des restrictions et des nuances dont il faut tenir compte.

  • Sensibilité à la consommation des ressources. Les environnements de travail virtuels servent à exécuter des tâches plus ou moins similaires à celles que les utilisateurs ont l’habitude de réaliser sur des ordinateurs traditionnels. Toutefois, certaines de ces tâches, même si le processus de travail ne contiennent rien de superflus, sont gourmandes en ressources et il est un fait bien connu qu’aucun utilisateur n’aime travailler avec du matériel lent. Ces « coups de freins » périodiques peuvent facilement réduire à néant les gains d’efficacité engrangés après le déploiement de la VDI. En d’autres termes, il faut toujours tenir compte de tous les éléments qui influencent les réactions du système, y compris le fonctionnement des solutions de protection.
  • Normalisation pratique du processus de travail. La où la VDI donne les meilleurs résultats, c’est lorsque le processus de travail est prévisible, lorsque toutes les applications exécutées sont connues et lorsque l’utilisateur ne peut en aucun cas les modifier. Dans le cas contraire, tous les calculs minutieux de consommation des ressources peuvent être vains. De plus, les applications d’origine inconnue qu’un utilisateur, non couvert par une stratégie, peut installer et lancer peuvent représenter une menace pour la sécurité de l’entreprise.
  • Exigences supérieures vis-à-vis de la solution de protection. A la différence des attaques contre les serveurs de stockage de données ou d’autres cas de figure où l’objectif principal de l’attaque est l’accès à distance aux données disponibles, les attaques contre les postes de travail virtuels incluent presque la totalité des menaces qui planent sur les postes physiques. Il peut s’agir de malware sans corps, d’injections directes dans les processus à l’aide de codes d’exploitation, etc. Cela signifie que la majorité des solutions de protection bien connues pour les environnements virtuels qui tient compte de toutes leurs particularités, mais qui assure une protection uniquement au niveau des fichiers n’est pas en mesure d’offrir une protection adéquate de la VDI. Bien entendu, il est toujours possible d’installer une solution traditionnelle pour ordinateur de bureau et les éditeurs de solution ne se privent d’ailleurs pas d’affirmer que leurs produits sont compatibles avec les environnements virtuels. Toutefois, dans le meilleur des cas, une telle approche se solde par une réduction sensible de l’utilisation efficace des ressources de la VDI ; en effet, chaque machine virtuelle reçoit la sélection complète de moteurs et des bases actualisées de manière indépendante. Dans le pire des cas, la combinaison des analyses ou des mises à jour simultanées peut entraîner une chute catastrophique des performances, voire un déni de service.

Mythes et menaces

Malgré le fait que les bureaux virtuels reproduisent presqu’à 100 % les fonctions des machines physiques, aussi bien du point de vue de l’interaction avec l’utilisateur, que du point de vue du fonctionnement du système en tant que tel, les utilisateurs ont tendance à croire que les solutions virtuelles sont plus sûres que leurs homologues physiques. Les arguments avancés sont les suivants :

  • Les malwares soupçonnent la machine virtuelle d’héberger un bac à sable ou l’environnement de travail d’un expert en sécurité et dès qu’ils identifient une telle machine, ils annulent leur exécution.
  • Dans une VDI correctement configurée, la machine virtuelle en elle même n’a aucune valeur ; en cas d’infection, il est plus simple d’éliminer la machine et d’en recréer une autre au départ d’un modèle.

Nous allons tenter de voir si ces arguments tiennent la route et s’il a lieu d’en tenir compte dans le cadre de l’organisation de la protection de la VDI.

La virtualisation, épouvantail des malwares ?

Cet argument repose sur un fait confirmé : de nombreux malwares cherchent en effet à déterminer s’ils ont été lancés sur une machine virtuelle. Toutefois, la suite des événements après cette confirmation peut varier. Les auteurs de malwares ont parfaitement compris que les machines virtuelles, qui ne sont pas des bacs à sable ou qui ne servent pas de poste de travail à des analystes de malwares, permettaient de voler des données de valeur et pour cette raison, ils tentent d’identifier non seulement les machines virtuelles dangereuses, mais également celles qui présentent un intérêt. Ils peuvent utiliser à cette fin une multitude d’indices : les adresses IP déjà connues de systèmes d’analyse, les noms typiques des utilisateurs et des ordinateurs, l’absence de composants « allégés » afin de réduire la consommation des ressources, etc. Il existe également des méthodes plus complexes : laisser des notes dans le système de fichier de la machine, sessions répétées de communication entre le malware et les serveurs d’administration qui confirment sa conservation (la durée de vie d’un bac à sable en mode automatique est normalement limitée) etc. Et que dire des attaques ciblées où la décision de poursuivre l’attaque sur la base des informations obtenues dépend de personnes en chair et en os.

La conclusion est simple : la probabilité qu’un malware ne se déclenche pas existe, mais compter sur cette probabilité lors de la mise en place du système de sécurité de la VDI (qui est exposée à bien plus de risques d’infections que les serveurs virtuels) serait une erreur impardonnable.

Il ne peut y avoir d’infections s’il n’y a pas d’ordinateurs ?

L’erreur clé du deuxième argument est qu’il ne faut pas examiner séparément l’infection de chaque machine virtuelle. Dans une situation typique, il peut y avoir plusieurs machines virtuelles dans un seul et même segment du réseau et quand un malware infecte l’une d’entre elles, le malware peut se propager très rapidement à l’ensemble du segment, étant donné la rapidité du réseau virtuel. Et peu importe que la machine, devenue le patient zéro, soit rapidement éliminée ; l’infection croisée des machines du réseau peut en théorie se produire jusqu’à l’infini, ou plus exactement, jusqu’à ce que l’ensemble du réseau où le malware peut se propager soit éteint. Qui plus est, les traces de l’activité du malware qui s’est déclenché dans le système du patient zéro disparaîtront en même temps que cette machine virtuelle alors que ces traces sont les plus utiles dans le cadre de l’enquête sur un incident.

Il ne faut pas oublier que les malwares d’aujourd’hui parviennent parfaitement à éviter la détection au niveau des fichiers grâce à un compactage complexe et à plusieurs niveaux et à l’obfuscation. Et la majorité des solutions spécialisées fonctionne uniquement au niveau des fichiers et ignore ce qui se produit dans la mémoire vive. Cela peut donner assez de temps au malware pour voler des données importantes avant que la machine virtuelle ne soit arrêtée et éliminée.

Ainsi, en cas de détection d’une infection, la possibilité de supprimer la machine virtuelle infectée peut dans le meilleur des cas simplifier légèrement la restauration du processus de travail, sans aucune influence sur la sécurité dans son ensemble.

Eventail complet des menaces

Il est évident que les bureaux virtuels sont exposés à presque la totalité des menaces qui planent sur les ordinateurs physiques. Mais qu’en est -il des attaques spéciales qui exploitent les particularités de l’environnement virtuel. Des chercheurs ont pu présenter lors de conférences de nombreux concepts d’attaques contre une machine virtuelle capables de générer des dégâts. Toutefois, jusqu’à présent, aucun cas d’attaque dérivée de ces concepts n’a été enregistré. Il ne faut toutefois pas se réjouir trop vite : pour les attaquants, la motivation du développement technologique demeure la nécessité. Dès que le déploiement d’environnements virtuels dans tous les aspects de la vie aura atteint un niveau déterminé, les preuves de concepts se transformeront en attaques concrètes. Et dans ce cas-ci, nous parlons de menaces relativement grandes. S’il faut organiser une attaque contre une cible importante et si le commanditaire dispose des moyens pour réaliser une telle attaque complexe, n’importe quel malware connu ou inconnu peut être utilisé, ainsi que l’exploitation des particularités des VDI et des environnements virtuels en tant que tels.

Quoi qu’il en soit, même si l’on ignore les menaces conceptuelles, les menaces existantes suffisent amplement pour causer aux propriétaires des VDI les mêmes problèmes que ceux dont sont victimes les exploitants d’ordinateurs traditionnels.

Protection d’une VDI : stratégie et tactique

La protection de la VDI est donc indispensable. Quelle est la meilleure manière de l’aborder et quelles sont les astuces à appliquer afin de ne pas perdre les effets du déploiement de bureaux virtuels ?

Configurez pour la sécurité

C’est une vérité connue de tous depuis longtemps : l’individu constitue la plus grande vulnérabilité de n’importe quel système. Il ne faut toutefois pas oublier que cette vérité ne concerne pas uniquement l’utilisateur lambda qui va cliquer sans réfléchir sur les liens envoyés par des inconnus, mais également les experts en sécurité de l’information qui ont laissé des portes ouvertes aux individus malintentionnés lors de la configuration. Quelles sont les autres « boulons » que l’on peut resserrer afin de compliquer au maximum la vie des attaquants ? Vous trouverez ci-après quelques exemples qui, en théorie, peuvent être appliqués aux réseaux physiques et aux réseaux virtuels.

  • Interdire, via des stratégies de domaine, n’importe quelle autorisation locale. Cela concerne particulièrement les environnements composés de machines « identiques » qui sont créées et éliminées en fonction des besoins. Le débogage d’une machine qui a planté dans le cadre de son fonctionnement est pratiquement exclu.
  • Dans n’importe quel scénario impliquant un processus métier formalisé, limiter au maximum la possibilité de lancer des applications tierces, voire appliquer le principe d’interdiction par défaut (Default Deny). Quand les caractéristiques des scénarios de travail impliquant la VDI sont connues, plus particulièrement dans des domaines tels que la santé et les assurances, la mise en œuvre d’une telle démarche est simple et ne provoque pas trop de migraines.
  • Interdire l’utilisation de Java et de tous les interpréteurs de commandes, dont Powershell et même CMD.EXE, s’ils ne sont pas vraiment requis pour l’exécution de tâches quelconques. Java demeure un des objets les plus souvent exploités et les chaînes de script sont de plus en plus souvent répandues en guise de méthode « légale » (à savoir, qui utilisent les possibilités intégrées du système) pour contourner les mécanismes de protection.
  • Si la configuration du réseau le permet, utiliser des VLAN privés afin d’isoler les machines virtuelles entre elles. Dans la majorité des cas, les machines virtuelles n’ont pas besoin de se voir sur le réseau. Elles ont simplement besoin d’un accès à Internet et aux serveurs de base de données ou au serveur principal d’applications d’entreprise. Cette configuration permet de réduire sensiblement les possibilités de propagation d’une infection. Signalons que dans certains cas, cette mesure nécessitera la compatibilité entre les commutateurs physiques, s’ils sont présents dans la chaîne de commutation, et les VLAN privés. Ceci étant dit, il existe déjà dans le cadre du paradigme du Réseau à définition logicielle des commutateurs virtuels qui permettent d’éviter le flood des commutateurs qui ne sont pas compatibles avec les VLAN privés.

1_fr

Les segments privés du réseau permettent de limiter l’accès réseau entre les machines virtuelles sans épuiser la capacité d’adresses du sous-réseau IP. Source : VMware

Protection à plusieurs niveaux

Si l’on tient compte du développement continu des menaces, la protection de la VDI ne doit pas être inférieure à celle des machines traditionnelles, surtout si l’infrastructure est connectée directement à Internet.

Et cela signifie qu’en plus de la protection traditionnelle à l’aide de signatures, voire de la protection plus complexe des fichiers sur la base d’algorithmes heuristiques, la solution choisie doit au moins posséder des outils de détection sur la base du comportement et offrir une protection contre les codes d’exploitation. Dans l’idéal, elle doit aussi être dotée de couches proactives telles que le contrôle des applications, le contrôle Internet et le contrôle des périphériques.

Démarche normalisée

Dans la majorité des cas, la protection de la VDI est confiée à des solutions de protection avec un agent complet conçu à l’origine pour protéger des machines physiques. Cette démarche s’accompagne de nombreux problèmes, même si ces solutions sont présentées comme étant adaptées aux environnements virtuels. Le principal problème, à savoir la consommation importante de ressources, n’est jamais évoqué.

Démarche sans agent

Le type de solutions spécialisées pour la protection des environnements virtuels le plus répandu repose sur la protection exclusive de systèmes administrés par des produits VMware. L’accès aux machines virtuelles s’opère dans le cadre d’une démarche sans agents sur la base du mécanisme VMware vShield ou de la version plus récente présente dans VMware NSX. Dans ce cas, la protection est confiée à une machine virtuelle de protection spécialisée (Security Virtual Machine, SVM) qui utilise la technologie de la plateforme pour accéder aux machines virtuelles à protéger. Tout naturellement, cette démarche est plus économe que la démarche qui repose sur un agent complet car la nécessité de dédoubler les tâches de mises à jour et d’analyse disparaît. Elles sont réalisées par SVM. Cela résout également le problème des pics d’activités : seules les bases de la SVM sont mises à jour, tandis que l’analyse des machines est automatiquement distribuée dans le temps afin d’éviter les pics de charge.

S’agissant des infrastructures qui n’ont qu’un contact limité avec l’environnement extérieur et qui n’autorisent pas l’installation d’agents tiers sur les postes client, par exemple dans les centres de données, la démarche sans agent peut être un bon choix. Sachez toutefois que cette méthode ne permet pas de contrôler les processus dans la mémoire de la machine. Cela signifie qu’en cas d’utilisation d’une VDI, par exemple administrée par Horizon, un produit de VMware, la protection ne sera plus suffisante.

Démarche avec agents légers

Il existe néanmoins un nouveau type de solution qui, en raison de son adéquation totale aux environnements virtuels, répond aux exigences plus strictes de la protection de la VDI.

A l’instar des solutions sans agents, ces solutions utilisent également une machine de protection virtuelle dédiée qui permet d’éviter le dédoublement des mécanismes d’analyse et de mise à jour sur chaque machine virtuelle. De petits agents logiciels qui garantissent la communication entre la SVM et les machines des utilisateurs offrent un contrôle complet des processus dans la mémoire, ce qui permet de réaliser une détection sur la base du comportement. De plus, les solutions élaborées selon ce principe acceptent des couches de protection supplémentaires.

Ainsi, notre produit Kaspersky Security for Virtualization dans sa version avec Light Agent, propose les protection suivantes :

  • Protection contre les codes d’exploitation (Automatic Exploit Prevention, AEP)
  • Contrôle des applications à l’aide de listes blanches d’applications dynamiques dans le Cloud
  • Contrôle Internet avec prise en charge dans le Cloud des catégories de ressources Internet
  • Contrôle des périphériques
  • nIDS/nIPS (Network Attack Blocker, détection des attaques de réseau et protection contre celles-ci)
  • HIPS (protection de l’hôte contre les intrusions)
  • Pare-feu, sur plusieurs niveaux du modèle OSI, y compris le niveau Applications
  • Anti-Phishing avec prise en charge du service de réputation dans le cloud et de l’heuristique autonome.

(Pour en savoir plus sur Kaspersky Security for Virtualization avec Light Agent, consultez cette référence.)

La richesse des fonctions de protection permet de faire face à un volume de menaces contre les machines virtuelles d’utilisateur considérablement supérieur à celui qui plane sur les serveurs. Il va sans dire que chaque couche de protection complémentaire requiert des ressources complémentaires. Toutefois, lorsque la majorité des processus gourmands en ressource est transférée sur la SVM, il est possible d’alléger l’agent au maximum.

L’autre élément important est la résilience du système : en cas de problèmes au niveau de la SVM, les couches supplémentaires de protection feront que l’utilisateur ne sera pas complètement dépourvu ; les événements systèmes suivis sur chaque poste peuvent être enregistrés localement et traités après le rétablissement de la communication avec la SVM ou ils peuvent être temporairement redirigés vers une autre SVM présente dans le même réseau pour le traitement.

Cette solution tient compte de toutes les particularités des environnements virtuels et d’un VDI en particulier, y compris les mécanismes tels que la migration de machines entre des hyperviseurs ou la prise en charge de « clones liés ». De plus, les mini-agents peuvent être facilement intégrés aux modèles de machines virtuelles, ce qui permet de bénéficier de la protection directement après l’activation. La prise en charge de ces mécanismes spécifiques par notre produit Security for Virtualization avec Light Agent a été testée à maintes reprises, notamment dans des situations réelles avec les milieux de VDI les plus répandus comme VMware Horizon et Citrix XenDesktop.

Dans la mesure où la communication entre les agents et la SVM s’opère indépendamment des mécanismes de l’environnement de virtualisation en tant que tel, il existe une compatibilité avec des plateformes autres que VMware comme Microsoft HyperX, Citrix et KVM, ce qui permet d’assurer la protection d’un environnement hétérogène à l’aide d’une seule solution.

Conclusion

Même si la migration complète vers l’environnement virtuel n’a pas encore eu lieu, le nombre de situations où les VDI sont utilisées augmente chaque jour. Même les tâches gourmandes en ressources comme le traitement d’image ou la création d’applications dans un environnement virtuel sont devenues réalité alors qu’il y a peu, cela semblait irréalisable Malheureusement, les processus métier complexes sont difficiles à encadrer dans des stratégies système strictes. Cela signifie que la tâche d’une protection efficace de l’environnement virtuel est encore plus importante. Dans ce contexte, la seule solution acceptable est la sélection d’un système de protection à plusieurs couches qui comprend aussi bien des méthodes de protection traditionnelles que des méthodes innovantes et proactives.

Posts similaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *