« Sécurité des fichiers de format commun » : différence entre les versions

De Wiki du LAMA (UMR 5127)
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 97 : Ligne 97 :


Ce code JavaScript est déclenché (à l'ouverture du document, ou plus tard lors de l'arrivée d'un événement précis) par les primitives PDF "/OpenAction" ou "/AA" (Additional Action).
Ce code JavaScript est déclenché (à l'ouverture du document, ou plus tard lors de l'arrivée d'un événement précis) par les primitives PDF "/OpenAction" ou "/AA" (Additional Action).
=Exemple=
==Exemple==
'''MiniDuke'''
'''MiniDuke'''



Version du 20 novembre 2016 à 20:02

Introduction

Dans la plupart des cas les virus ou malware se cache dans des programmes malveillant, ces programmes se cachent donc dans des fichiers ayant les extensions .exe ou .bin.

On peux donc se demandais si d'autre fichiers tel que des documents word,des images ou des fichiers pdf peuvent être malveillant. Cette page nous permettra de répondre à cette question.

Macrovirus

Qu'est-ce qu'un virus macro ?

Un virus macro est un virus informatique qui modifie ou remplace une macro, à savoir un ensemble de commandes utilisées par des logiciels pour exécuter des actions courantes. Par exemple, l'action « ouvrir un document » dans de nombreux logiciels de traitement de texte dépend d'une macro pour fonctionner, car le processus comporte plusieurs étapes distinctes. Le virus macro modifie cet ensemble de commandes, de sorte qu'il puisse s'exécuter à chaque lancement de la macro.

Origines des virus macro

Les virus macro se trouvent principalement dans des documents ou intégrés en tant que code malveillant dans des logiciels de traitement de texte. Ils peuvent provenir de documents joints à des e-mails, ou le code peut être téléchargé dès lors que l'utilisateur clique sur des liens de phishing dans des bannières publicitaires ou à partir d'URL. Ils sont difficiles à détecter, car ils restent inactifs tant qu'une macro infectée n'est pas lancée. Ce n'est qu'à ce moment-là qu'ils exécutent une série de commandes. Un virus macro est similaire à un cheval de Troie dans le sens où il peut paraître bénin et où les utilisateurs ne remarquent pas immédiatement d'effets néfastes. En revanche, contrairement aux chevaux de Troie, les virus macro peuvent se reproduire et infecter d'autres ordinateurs.

Facteurs de risque

Le risque principal des virus macro est leur capacité à se propager rapidement. Dès qu'une macro infectée est lancée, tous les autres documents sur l'ordinateur de l'utilisateur sont à leur tour infectés. Certains de ces virus provoquent des anomalies dans les documents de texte, comme l'omission ou l'ajout de mots, tandis que d'autres accèdent aux comptes de messagerie et envoient des copies de fichiers infectés à tous les contacts de l'utilisateur, qui vont à leur tour ouvrir ces fichiers et y accéder, puisqu'ils sont envoyés par une source de confiance.

Ces virus peuvent également être conçus dans le but d'effacer ou de compromettre des données stockées. En outre, il est important de noter que les virus macro se propagent indépendamment de la plate-forme : ils peuvent infecter les systèmes Windows et Mac à l'aide du même code. Tout logiciel utilisant des macros peut servir d'hôte, et toute copie d'un logiciel infecté, qu'elle soit envoyée par e-mail, stockée sur un disque ou sur une clé USB, sera elle aussi porteuse du virus.

Pour supprimer ces virus, vous devez vous appuyer sur un logiciel de sécurité doté d'outils spécifiques de détection et de suppression des virus macro. Effectuez des analyses régulières pour nettoyer tous les documents éventuellement infectés et vous assurer que de nouveaux virus informatiques ne sont pas téléchargés.


Moyen de Protection

1) Protégez vos emails

Se protéger contre les macrovirus commence principalement avec une forte sécurisation de la messagerie, puisque la grande majorité des pièces-jointes, fichiers et liens sont envoyés par email. Toutes les bonnes pratiques standards liées aux emails peuvent être mises en place, mais ne négligez pas des fonctionnalités telles que l’analyse et le scan des pièces-jointes, associées à des outils de contrôle de dangerosité et de réputation des liens.

2) Désactivez les macros (là où vous pouvez)

En fin de compte, il est rare que vous puissiez bloquer l’intégralité des macros, mais vous pouvez établir des groupes d’utilisateurs avec des droits spécifiques pour n’autoriser leur usage qu’à vos collaborateurs qui en ont vraiment besoin. En effet, la majeure partie de vos employés n’auront jamais à utiliser une macro de leur vie

3) Protégez les postes utilisateurs avec des solutions modernes

Dans les cas où vous ne pouvez pas bloquer toutes les macros (et si vous pouvez, faites-le simplement en protection additionnelle), vous devez vous assurer que votre solution de sécurité informatique a des fonctions de sécurité heuristiques, basées sur la réputation et le comportement des programmes malveillants. Vous aurez la garantie que tous les fichiers malveillants déjà détectés à travers le monde seront automatiquement bloqués, et que ces vilains virus « zero-day » seront bloqués grâce à l’analyse de leur fonctionnement et de leur comportement.

4) Gardez votre suite Office à jour

La plupart des macrovirus sont des fichiers au format « .doc », très fréquents pour Microsoft Office 2007 et les versions antérieures. Par conséquent, utiliser la dernière version de la suite Office semble être une bonne idée, puisqu’elle intègre de meilleures protections contre ces attaques. Par exemple, elle peut détecter les tentatives de dissimulation des fichiers qui ont une extension en « .docm » et « .xslm ».

5) Sensibilisez vos employés : N’ouvrez pas d’emails ou de pieces-jointes suspects !

Application d’une bonne pratique standard de la sécurité des emails : demandez à vos utilisateurs de supprimer les emails suspects et de ne jamais ouvrir de pièces-jointes provenant d’expéditeurs inconnus – Surtout s’ils ne savent pas pourquoi ils les ont reçus.

6) Sensibilisez vos employés 2 : N’activez pas les macros sur votre ordinateur !

A l’inverse des traditionnels kits “d’exploit”, les macrovirus requièrent le consentement de l’utilisateur pour s’activer. Finalement, dire à vos employés de ne pas activer les macros peut faire la différence entre « être infecté » et « l’échapper belle ».


Exemple de Retrovirus

Melissa

Melissa est un virus informatique qui a sévi à partir du 26 mars 1999.

Cette infection avait deux conséquences :

  • Saturation des systèmes de messagerie
  • Tous les documents infectés d'une entreprise ou d'un particulier étaient envoyés à de multiples adresses, qu'ils soient confidentiels ou non.

Le montant estimé des dégâts est de 385 millions de dollars (source : International Computer Security Association). Symantec indique que ce virus ne contenait pas de fonctions destructrices, mais que dès juin 1999, un nouveau virus, ExploreZip apparaissait qui lui avait des fonctions destructrices.

L'auteur du virus (l'américain David L. Smith) a été identifié grâce au champ GUID dans les documents infectés. Avec les versions de Windows de l'époque, lorsqu'il était généré, ce champ contenait l'adresse MAC de l'ordinateur ayant servi à la création du document. Au cours de la propagation du virus, le champ était recopié par le logiciel Word ou par le virus lui-même. Dans les versions suivantes de Windows, l'algorithme qui génère le GUID a été modifié pour respecter la vie privée des utilisateurs, les 48 bits de l'adresse MAC ont été retirés.

Locky

Locky est ce qu'on appelle un ransomware, c'est-à-dire un malware (pour Windows) qui prend en otage vos fichiers en les chiffrant et qui vous réclame une rançon à payer pour pouvoir déchiffrer vos précieuses données.

Comme la plupart des ransomwares, Locky se diffuse par email (envoyés grâce à un botnet) dans lesquels se trouve une pièce jointe mortelle. Le sujet de ces emails suit toujours la même syntaxe (pour le moment), à savoir "ATTN: Invoice J-XXXXXXX". Le corps du message contient un message correctement rédigé, parfois en français, qui nous demande de payer rapidement une facture, et la pièce jointe est au format "invoice_J-XXXXXX.doc".

Quant au nom de l'expéditeur, ce n'est jamais le même. Il doit s'agir du propriétaire d'une des machines détournées via le botnet pour l'envoi de ces spams.

Le fichier Word (.doc) attaché contient un texte étrange qui indique d'activer les macros pour pouvoir le lire. Je vous rassure, si les macros sont activées, le texte ne sera pas réellement déchiffré (hé oui). Par contre, le ransomware Locky sera rapidement téléchargé et installé sur l'ordinateur.

Locky word.png

À partir de là, le ransomware commence à chiffrer les fichiers en fonction de leur extension et affiche dans le bloc note, un message réclamant de l'argent

Locky supprime aussi les sauvegardes interne ("shadow copies") que Windows fait par l'intermédiaire de son VSS (Volume Snapshot Service), rendant impossible toute récupération.

Fichier PDF infecté

Un fichier pdf ne peut être accéder qu'en lecteur par l'utilisateur, ce dernier ne peut donc pas lancer de macrocommande malveillante(voir macrovirus) ou exécuter une action malveillante. Il existe cependant des fichiers pdf malveillant,ces fichiers PDF malveillants utilisent des failles découvertes dans les lecteurs PDF (typiquement Acrobat Reader) pour forcer ces derniers à exécuter un code arbitraire au moment où le fichier PDF est ouvert. Ces failles sont généralement des débordements de buffer qui se produisent lorsque le lecteur PDF analyse un fichier spécifiquement construit. Ces failles peuvent typiquement se trouver :

-Dans des primitives PDF. Par exemple, un appel à la primitive PDF "/Colors" avec un argument plus grand que 2^24 provoque un débordement de tas dans Adobe Reader 9.3 (cf. CERT-IST/AV-2009.469, CVE-2009-3459)

-Dans l'interpréteur JavaScript qui est inclus dans le lecteur PDF. Par exemple un appel à la méthode JavaScript "Collab.getIcon" peut provoquer un débordement de pile dans Acrobat Reader 9.0 (cf. CERT-IST/AV-2009.078, CVE-2009-0927)

Afin de tirer partie d'un débordement mémoire pour exécuter du code, l'attaquant a besoin de connaitre l'organisation mémoire du lecteur PDF au moment où le débordement se produit. Mais le plus souvent il utilise plutot un code JavaScript qui réalise un "heap spray" (une "pulvérisation sur le tas") avant de déclencher la vulnérabilité Cette technique permet d’exécuter du code arbitraire sans connaître l'endroit exact à modifier en mémoire. L'attaquant remplit alors la mémoire avec de multiples instructions de saut vers son code d'attaque, augmentant la probabilité que l'une d‘entre elles soit exécutée au moment où le débordement mémoire se produit.

Donc, même si ce n'est pas absolument nécessaire, la plupart des fichiers PDF malveillants contiennent un code JavaScript :

  • Soit parce que la vulnérabilité exploitée se trouve dans l'interpréteur Javascript,
  • Soit parce que la technique d'attaque utilise JavaScript (par exemple pour réaliser un "heap-spay").

Ce code JavaScript est déclenché (à l'ouverture du document, ou plus tard lors de l'arrivée d'un événement précis) par les primitives PDF "/OpenAction" ou "/AA" (Additional Action).

Exemple

MiniDuke

Pour s’attaquer à leurs victimes, ils font appel à des techniques de “social engineering” extrêmement efficaces, consistant à envoyer à leurs cibles des documents PDF infectés. Ces documents paraissent de prime abord légitimes, avec un contenu soigneusement conçu, relatif à des séminaires sur les droits de l’Homme (dans le cadre de l’ASEM), à la politique étrangère de l’Ukraine ou à des plans d’adhésion à l’OTAN. Les fichiers PDF malveillants sont destinés à exploiter des failles dans Adobe Reader versions 9, 10 et 11, en contournant son Bac à sable (« s andbox »). Le kit d’outils utilisé pour ce faire paraît être identique à celui employé lors de la récente attaque signalée par FireEye. Cependant, les failles exploitées par les attaques MiniDuke le sont à d’autres fins et au moyen d’un malware personnalisé spécifique.

Une fois le système infiltré, un programme de téléchargement très compact (20 Ko) est placé sur le disque dur de la victime. Ce « downloader » est spécifique à chaque système et contient une backdoor personnalisée, écrite en assembleur. Une fois chargé au démarrage du système, il réalise une série de calculs mathématiques pour déterminer l’empreinte propre à l’ordinateur, une information dont il se servira par la suite pour crypter ses communications. Le downloader est également programmé pour échapper aux analyses opérées par les outils intégrés à certains environnements, tels que VMware. S’il détecte leur présence, il se met en sommeil au sein de l’environnement au lieu de passer à l’étape suivante et de démasquer ses autres fonctionnalités. Cela indique que ses auteurs connaissent exactement les techniques mises en œuvre par les professionnels de la protection antivirus et de la sécurité informatique pour analyser et identifier les malwares.

Si le système cible répond à des conditions prédéfinies, le malware se connecte à Twitter (à l’insu de l’utilisateur) et recherche, sur des comptes créés préalablement par les opérateurs de commande et de contrôle (C&C) de MiniDuke, des tweets spécifiques contenant des URL cryptées destinées aux backdoors. Ces URL donnent accès aux serveurs C&C, lesquels adressent ensuite d’éventuelles commandes et transmissions cryptées de backdoors supplémentaires qui s’installent sur le système par l’intermédiaire de fichiers GIF.

Une fois que le système infecté a localisé le serveur C&C, il reçoit des backdoors cryptés, dissimulés sous forme d’images dans des fichiers GIF qui se retrouvent sur la machine de la victime. Ceux-ci peuvent télécharger à leur tour un backdoor plus volumineux qui effectue plusieurs opérations élémentaires : copie, déplacement ou suppression de fichier, création de répertoire, terminaison de processus et, bien entendu, téléchargement et exécution de nouveau malware.