web-dev-qa-db-fra.com

Est-il sûr d'utiliser des machines virtuelles lors de l'examen de logiciels malveillants?

Nous voulons étudier pour le programme CEH et avons téléchargé 12 DVD dont 6 DVD sont des enregistreurs de frappe logiciels, des chevaux de Troie, etc. qui sont tous détectés par un antivirus. Cela nous empêche de les examiner et d'apprendre comment ils fonctionnent.

J'ai demandé aux étudiants de ne pas désinstaller l'antivirus car l'exécution de ces fichiers malveillants n'est pas sûre en soi. Il pourrait même se propager sur le réseau.

Un des étudiants suggère d'utiliser Windows XP . Est-ce sûr? Je vois ces articles 1 et 2 ici mais les réponses sont contradictoires et nous confondent.

Les machines virtuelles sont-elles sécuritaires pour le téléchargement et l'installation de chevaux de Troie, enregistreurs de frappe, etc.?

Existe-t-il une autre façon de résoudre ces problèmes, par ex. mettre en place un laboratoire, pour montrer ce qui arrive aux victimes du malware?

19

Les machines virtuelles sont-elles sûres pour cela? La réponse est la même que pour beaucoup de questions du formulaire "Est-ce que X est sûr?": Non, ce n'est pas absolument sûr.

Comme décrit ailleurs, des bogues dans la machine virtuelle ou une mauvaise configuration peuvent parfois permettre au malware de s'échapper. Ainsi, au moins en principe, un malware sophistiqué pourrait potentiellement détecter qu'il s'exécute dans un VM et (si votre VM a une vulnérabilité ou une mauvaise configuration) exploitez la vulnérabilité ou la mauvaise configuration pour échapper à votre machine virtuelle.

Néanmoins, c'est plutôt bien. Probablement la plupart des logiciels malveillants que vous rencontrez sur le terrain n'auront pas de code spécial pour s'échapper d'une machine virtuelle.

Et exécuter le malware dans un VM est certainement beaucoup plus sûr que de l'installer directement sur votre machine de travail de tous les jours!

Probablement le plus gros problème avec l'analyse des échantillons de logiciels malveillants dans un VM est que certains auteurs de logiciels malveillants commencent à devenir intelligents et écrivent leur logiciel malveillant afin qu'il puisse détecter quand il est exécuté dans un VM et arrêtez lors de l'exécution à l'intérieur d'une machine virtuelle. Cela signifie que vous ne pourrez pas analyser le comportement malveillant, car il ne se comportera pas malveillant lorsqu'il est exécuté à l'intérieur d'une machine virtuelle.

Quelles alternatives existe-t-il? Vous pouvez configurer une machine sacrificielle sur une machine locale, y installer le malware, puis l'essuyer. Un tel réseau de test doit être configuré extrêmement soigneusement , pour garantir que le malware ne peut pas se propager, ne peut pas se propager à d'autres machines de la vôtre, et ne peut pas faire de mal aux autres.

Références:

29
D.W.

L'utilisation d'une machine virtuelle est un moyen plus sûr d'étudier les logiciels malveillants que de l'exécuter sur une machine normale - la principale raison étant que vous pouvez effacer et recommencer à partir d'une nouvelle image connue à tout moment.

L'isolement est également essentiel - si vos machines virtuelles sont connectées à votre réseau, elles pourront propager des logiciels malveillants comme s'il s'agissait de machines physiques, alors isolez-vous logiquement (au sein de l'hôte) ou physiquement (déconnectez-vous du réseau)

19
Rory Alsop

J'ai vu suffisamment d'informations tangentielles pour croire que certains virus sont capables de détecter de nos jours qu'ils se trouvent sur une machine virtuelle et de modifier leur comportement en conséquence. L'exemple que j'ai entendu est que le code apparaîtra bénin dans le VM puis réactiver et infiltrer lorsqu'il n'est pas dans une VM.

Ma recommandation chaque fois que vous voulez tester un malware est de jouer dans une salle blanche avec un équipement jetable. Ne faites pas confiance au VM pour être votre barrière - exécutez dans un laboratoire où tout réseau que vous fournissez est entièrement autonome, connecté à rien d'autre. Assurez-vous que toute mémoire amovible (USB, etc.) vous l’utilisation n’est qu’un moyen provenant du monde extérieur et, lorsque vous avez terminé, nettoyez et réimaginez les ordinateurs que vous avez utilisés pour les tests. Ramenez tout à un état connu, n’essayez pas de nettoyer manuellement.

Aux fins d'étude, il serait probablement très amusant d'essayer les virus à la fois sur une machine avec un vM et sur un hôte régulier de bare bones. Je lancerais probablement une surveillance du réseau là-bas aussi, pour voir ce que le logiciel essaie de faire sur le réseau.

13
bethlakshmi

Je n'essaierais pas de jouer avec le "mode XP" comme méthode d'isolement des logiciels malveillants. Une machine virtuelle est votre meilleur choix. Le système d'exploitation invité sera isolé du système hôte, il s'installera donc sur le VM et fera ses trucs désagréables, et vous pouvez simplement le restaurer en un instantané propre lorsque vous avez terminé .

9
Polynomial

Pourquoi ne pas l'exécuter dans un conteneur?

Vous pouvez sélectionner une multitude d'images, préparer l'environnement à un seul malware en attachant des outils/scripts de surveillance le ciblant spécifiquement.

Le niveau de sécurité pour protéger votre machine, qu'il soit physique ou virtuel, dépendra de l'isolement que vous spécifiez au préalable pour le conteneur.

Avec des conteneurs qui deviennent encore plus clairs car vous avez plus de visibilité sur ce que le malware affecte car vous pouvez avoir n combinaisons de systèmes qui tournent facilement.

Vous pouvez également vouloir analyser le comportement de ces logiciels malveillants au sein d'un réseau. Isolez simplement plusieurs conteneurs avec leur propre réseau dans un sandbox réseau et assurez-vous que ce dernier est complètement détaché de votre machine hôte.

Pour l'isolement du matériel lors de ces inspections, vous pouvez utiliser des Pi ou tout matériel bon marché.

Cela revient vraiment à permettre au malware de se comporter comme il le ferait sur un ordinateur normal et à l'isoler complètement de l'extérieur comme d'autres l'ont déjà souligné.

3
Alan

Je pense que nous ne devons pas être plus intelligents que le sont de très bons professeurs. Mark Russinovich utilise généralement des machines virtuelles pour analyser le comportement d'un code. Bien sûr, cela ne signifie pas que vous n'avez pas à faire attention, isolez la machine virtuelle autant que possible (paramètres du pare-feu, etc.).

2
sh4d0w

Ma façon de tester les logiciels malveillants est d'installer les éléments suivants:

PC hôte

  • Logiciel de sandbox (tel que Sandboxie)

  • Machine virtuelle (telle que VirtualBox ou VMware)

  • Un AV supplémentaire (comme Avast ou MalwareBytes)

PC invité

  • Logiciel Sandboxing

()

Après avoir obtenu tout cela, mettez en sandbox la machine virtuelle (sur le PC hôte) et activez AV

Une fois que vous ouvrez votre machine virtuelle, ouvrez n'importe quel virus dans le bac à sable.

Pour aller plus loin

Vous pouvez installer un VM à l'intérieur d'une VM, et un bac à sable cela, mais notez qu'il nécessite un PC très solide.

1
Veggieoskibroski

Pour ajouter aux merveilleuses réponses données par les autres, et pour y ajouter ma propre expérience -

Aucune machine virtuelle n'est pas "sûre" pour votre objectif, comme cela a déjà été élaboré par @bethlakshmi.
Je fais aussi une sorte d'expériences liées à la sécurité, et j'ai donc demandé à mes autorités de me donner un LAN séparé qui est déconnecté du reste du réseau de mon université.

Ce que j'ai fini par obtenir était un VLAN qui est déconnecté du reste de notre réseau - et je fais toutes mes expériences sur les machines virtuelles de ce réseau (qui, encore une fois, n'est pas la meilleure option - Une simple recherche sur ce site vous révélera que les VLAN ne sont pas vraiment une "sécurité" - voir ici ). Donc, votre meilleur pari semble être d'avoir soit un réseau qui est déconnecté du reste de votre réseau, ou simplement ne connectez pas les VM à un réseau et gardez-les isolés.

Ajout au commentaire de @Legolas -
Et évitez sûrement tout ce qui vient de/approuvé par la communauté des chapeaux noirs. Pour mon contexte, je peux parler d'un outil appelé Havij - pas sûr des choses dans votre contexte. Lorsque vous traitez avec des malwares et des trucs comme ça, vous ne savez jamais ce que tout cela fera en dehors de ce qu'il prétend faire!

1
pnp