FLAME - L 'histoire de la fuite de données assistée par un être humain

publié par Bitdefender Security Specialists, le 08 juin 2012

L 'analyse du malware Flame par les laboratoires Bitdefender a révélé un outil de collecte de données à la fois puissant et élaboré.

Particulièrement destiné à attaquer les environnements industriels, sa force réside dans le fait que les pirates avaient prévu plusieurs technologies de contournement pour contrecarrer les protections locales et réseau du dispositif cible.

Le code est écrit proprement et compilé de manière classique, les fichiers sont lourds en taille car incluant de nombreuses fonctions embarquées, ce qui est rare pour les malwares qui tendent plutôt vers la légèreté.

Stratégie d’infiltration en environnement cloisonné

Même si l’infection est lancée avec succès par le malware il lui faut aussi trouver un moyen d’accéder aux serveurs « pirates » (nommés C&C servers ou serveurs de contrôle) qui se chargent alors de contrôler le déroulement de l’infection et de récupérer les données.

Cette opération est plus simple lorsque les ordinateurs sont directement connectés à internet et donc aux serveurs de contrôle, mais plus complexe lorsque l’environnement ciblé est déconnecté du monde extérieur.

Flame créé un lien entre les ordinateurs de l’environnement protégé et les ordinateurs reliés au monde Internet. Ce type d’interaction est inédit : la « taupe » est une personne qui est habituée à transférer les informations entre les deux systèmes. L’information est stockée sur un disque amovible, le plus souvent une simple clé USB qu’un utilisateur insère sur un ordinateur qui sera infecté par son biais. Le disque amovible embarque la base de données du malware et contrôle les opérations dont le transfert.

La base de données du malware comprend six tables :

  • AppTable
  • Configuration
  • EventLog
  • EventLogParams
  • StorageProducts
  • StorageMetaData

AppTablecontient le noyau, les neuf applications fondamentales du malware, programmées en LUA.

Mécanismes de mise à jour hors ligne

 Flame s’assure de synchroniser les versions des neuf modules LUA du disque amovible afin que les nouvelles versions soient toujours celles utilisées.

Ainsi, le malware réussi un processus très intéressant : il s’auto-upgrade dans un environnement non connecté à internet en synchronisant les versions de ses fichiers avec celles stockées sur le disque amovible, quant à lui branché auparavant sur un système compromis ayant un accès à internet.

Après synchronisation des applications, main_app, contenu dans AppTable, lance les autres tables.

Fig. 1:La table EventLogse charge de garder une trace de toutes les opérations effectuées, y compris les erreurs

Le facteur de priorité

Les données subtilisées se trouvent dans la table StorageProducts. S’il venait à manquer de place, un attribut de priorité permet d’en libérer en supprimant les données de moindre importances (comme des images jpeg à préférence de plus importants comme les fichiers docx, doc, pptx, ppt, pps, xlsx et xls).

Infiltrer des environnements restreints

Nous considérons ici comme  « restreint » un réseau fermé qui ne possède pas de connexion vers l’extérieur.

Fig. 2 : L’utilisateur humain comme propagateur d’infection et de transfert

Même si Flame opère dans un environnement restreint, il s’exécute et touche probablement d’autres systèmes du réseau interne qu’il a pu contaminer afin de récupérer des éléments :

Documents, extraits audio, informations du réseau, presque tout est collecté et stocké par Flame.

Quand un disque amovible est branché, Flame lit la base de données (cachée). Si elle n’existe pas, il la créé. Si elle existe, des requêtes sont faites aux tables EventLog et EventLogParam pour savoir si un message a été écrit par un ordinateur et si celui-ci a eu accès à Internet et à son serveur de commande et de contrôle.

Flame: auto-géré et autonome

Une caractéristique notable de Flame est qu’il ne stockera pas de documents avant qu’il soit sûr que le disque amovible spécifique a été branché sur un système relié à internet ou plus précisément à un système relié aux serveurs de contrôle.

Cette information lui est transmise par le biais de ses tables qui tiennent le journal des opérations à jour, cela devient ainsi un moyen stratégique de contrôle pour organiser et améliorer les chances de copier et rapatrier les informations recherchées.

Lorsque le disque amovible est branché sur un ordinateur, Flame lit la base de données du disque et récupère les documents s’il y en a, ensuite, il libère l’espace sur le disque amovible en nettoyant la base des documents transférés.

Plus tard, ces données seront envoyées encapsulées en HTTPS et sous forme compressée.

Un autre aspect important est que Flame est un ver, donc il possède des facultés de réplication de poste à poste (à travers divers moyens tel que le réseau local), cependant celui-ci possède une capacité de contrôle de sa propagation afin de rester discret et de se focaliser sur ses cibles.

Comment le disque amovible est-il alors transporté d’une machine à une autre ? Simplement par le biais d’un être humain. Flame a misé sur ce facteur humain pour faire le lien avec les machines. La personne qui branche la clé USB de poste en poste est un vecteur de propagation et de transfert.

Celle-ci n’a donc aucune idée qu’elle contribue au vol de documents, cela dit, la possibilité qu’elle puisse aussi le faire délibérément n’est pas exclue.

Téléchargez nos outils de désinfection 32-bits et 64-bits et vérifiez que vous n’êtes pas infecté par le ver Flame.

Si vous êtes déjà protégé par une solution de sécurité Bitdefender vous n’avez pas besoin de ces outils.

Bitdefender Security Specialists

Bitdefender Labs