Le cloud est-il une arme de choix pour lancer des attaques en déni de service (DDoS) ?
Les attaques en déni de service sont en plein boom. L'actualité récente de WikiLeaks est un exemple flagrant. Comment mettre perspective le Cloud computing et les moyens utilisée pour lancer des attaques en DDoS ? Le Cloud va-t-il mettre au rencard les botnet et groupes d'hacktivistes ? Je vous propose quelques éléments de réponse...
Botnets et cyber-hacktivistes
Dans une attaque en déni de service, l'objectif de l'attaquant est de rendre un site complètement inopérant ou inutilisable pour ses utilisateurs habituels. L'un des élements clefs d'une attaque en DDoS c'est le bot (ou zombie) : il s'agit très souvent d'une machine infectée qui se retrouve pilotée à distance par l'attaquant, le tout à l'insu de son propriétaire légitime.
De façon moins fréquente, il s'agit d'utilisateurs partageant une motivation commune et se mobilisant de façon concertée pour attaquer une cible. Cette forme de protestation online est connue sous le terme de cyber-hacktivisme. Les attaques lancées par les Anonymous vers des sites bancaires dans le cadre de l'affaire Wikileaks est un exemple très récent.
Pas optimal le réseaux de machines infectées
Dans le cas des zombies/bots, infecter un nombre suffisant de machines dans un délai court reste assez complexe : Il faut monter des pièges, faire en sorte que des personnes tombent dedans pour infecter leurs machines. Cela demande des compétences, des outils et va nécessiter du temps pour recruter un nombre suffisant de machines.
Dans tous les cas il sera nécessaire de rester en dessous du radar afin de pas être détecté par un logiciel antivirus ou autre système de détection. En outre, les accès réseaux sont majoritairement de type asymétrique : la bande passante montante disponible par bot est faible... Il sera donc nécessaire de recruter beaucoup de ces machines.
Trop contraignant le cyber-hacktivisme
Le recrutement d'un nombre important de personnes partageant des motivations communes est redoutable comme moyen d'attaque : Les défenses au niveau du poste de travail sont inefficaces (les propriétaires sont d'accord pour s'auto-infecter ou pour utiliser des outils d'attaques), le nombre de personnes ralliée à la cause commune peut être suffisamment important.
Mais le problème principal c'est la motivation commune : Difficile voire impossible de motiver des personnes pour attaquer le site d'un compétiteur ou dans le cadre d'un schéma d'extortion de fonds. De plus, la personne qui coordonne les attaques reste dépendante du bon vouloir des personnes et de leur disponibilité. Lancer des attaques répétées sur plusieurs jours ou semaines est irréaliste : la motivation va aller en s'effilochant.
Monter un botnet dans le Cloud
Le cloud possède des caractéristiques fort intéressantes : Accès réseaux performants avec d'importantes bandes passantes disponibles ; capacité d'activer à distance et de façon rapide de nouvelles ressources ; paiement à l'usage et systèmes répartis dans différents endroits du monde.
A ces caractéristiques, il convient d'en ajouter une importante : L'engagement que les fournisseurs de services de cloud ont de respecter et de protéger les données de leurs clients d'atteinte à la confidentialité des données mises dans le cloud.
Une personne souhaitant monter son réseau de machine zombies pourrait utiliser le cloud à son avantage.
Anonymat grace au "tout à distance" et au "tout automatisé"
A partir d'informations d'une (ou plusieurs) carte bancaire préalablement volée (ou alors une carte bancaire pré-payée), l'attaquant ouvrira des comptes auprès de plusieurs plateformes de Cloud de fournisseurs différents.
Bien évidemment, celui-ci passera via des proxys et autres réseaux anonymes comme TOR pour ne pas laisser de traces lorsqu'il se connectera sur les interfaces de création de compte ainsi que pour toute interaction avec les systèmes de gestion des plateformes de cloud.
Des VMs pré-conditionnées pour attaquer
Sur chacun de ces cloud, il déploiera une image ISO (ou une image de VM) préparée de sorte à ce que dès son démarrage celle-ci se connecte à un ou plusieurs points de ralliement pour prendre ses ordres. Les points de ralliement peuvent être ou des machines localisées dans un cloud ou être des plateformes de réseaux sociaux comme twitter.
Les VMs ainsi construites seront bien sur optimisées pour n'utiliser qu'un très faible niveau de mémoire vive ou d'espace disque : Ainsi, l'attaquant optimise sa facture et peut lancer pour le même prix encore plus de VMs.
Un botnet élastique grâce aux API distantes
Le truc cool c'est que de plus en plus de cloud mettent à disposition des API (Interfaces de programmation) pour permettre leur pilotage à distance. Dans un monde idéal (ce n'est pas encore le cas mais c'est la tendance, les API devraient normalisées) : Donc pour un attaquant c'est le top... il peut développer un script pour lancer ou stopper à distance autant de VM dont il a besoin pour lancer son attaque... Elasticité et pilotage à distance vous avez dit ?
Bande passante à outrance
Toutes ces machines sont sur des plateformes performantes et bénéficiant de connexions réseaux performantes avec des bandes passantes importantes. Qui de plus est, celles-si sont réparties sur le monde entier. Donc coté accès réseaux, il ya de fortes chances que cela tape fort sur la tête de la cible...
Impunité grâce au respect de la confidentialité ?
Comme j'ai pu l'évoquer plus haut, les fournisseurs de services Cloud se doivent de mettre en place tous les moyens en oeuvre pour assurer que les données qui leurs sont confiées restent bien dans le cloud et que personne n'y accède à l'insu de leur propriétaire légitime. Cette règle valant bien évidemment pour tout le monde, y compris les administrateurs du fournisseur de cloud lui-même. Impossible donc de jeter un oeil sur le contenu d'une VM suspecte... ce qui est très bien pour un attaquant : Ses VMs sont bien au chaud dans le cloud.
Next time : Techniques de sécurisation
Oui, le cloud peut être un moyen facilitant les attaques en déni de service. Et je n'ai pas exposé tous les scénarios possibles : Compromissions de VM vulnérables, utilisation de plateformes de type PaaS, etc... C'est aux professionnels de la sécurité et aux opérateurs et fournisseurs de services de faire en sorte que les bénéfices restent supérieurs aux nuisances.
Dans un prochain bulletin, je m'attacherai à décrire quelles mesures un fournisseur de services de cloud computing peut mettre en place pour lutter contre la "botnet-ification" de son cloud.