Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

: Faille conceptuelle majeure dans la virtualisation matérielle

Posté par moramarth (). Modéré le 04 juillet 2006.
Si vous suivez un peu l'actualité de la sécurité informatique, vous vous souvenez probablement de SubVirt, un prototype de rootkit utilisant des machines virtuelles logicielles (permettant de faire tourner par-dessus plusieurs SE simultanément) pour prendre le contrôle de l'ordinateur. Sachez qu'on a réussi pire.

Une chercheuse en sécurité informatique, Joanna Rutkowska, étudie un autre prototype, le sien : Blue Pill (en référence à la pilule bleue dans Matrix qui permet de ne plus se souvenir de rien et d'être de nouveau dans la réalité factice quoique plus vraisemblable que la réalité). Ce prototype-là peut être installé à la volée. Du coup, pas de redémarrage nécessaire, partant, pas de changement à faire dans le bootloader ou autre partie du disque dur, cette activité pouvant toujours être surveillée par un logiciel spécialisé contre les malwares.

Blue Pill a été testé sur la technologie Pacifica de virtualisation matérielle d'AMD. Faute de temps aucun test n'a encore été effectué sur la technologie concurrente Intel VT. Mais Joanna pense que Blue Pill fonctionnera très probablement aussi avec cette technologie. Elle pense qu'il est possible de contrer des rootkits basés sur Blue Pill. Grâce à ses prochaines démonstrations sur SyScan et Black Hat. On y trouvera sûrement, on l'espère, la parade.

Joanna Rutkowska s'est notamment illustrée avec Red Pill ou klister, des logiciels de détection de rootkits plus classiques. Ses recherches sont actuellement financées par COSEINC Research…

> Lire la dépêche (30 commentaires, moyenne: 4,6).  

Vous avez demandé le commentaire #732535.

incomprehensible

Posté par kaouete (page perso, ) le 04/07/2006 à 21:22. (lien). Évalué à 10.

Je sais que cet article est destiné à des personnes ayant un minimum de connaissances dans le domaine, mais pour un article de premiere page, je trouve que ca reste vraiment incomprehensible.

Si quelqu'un pouvait me (et à d'autres) expliquer un peu plus de quoi il en ressort, ce serait cool.

Je tiens particulierement à etre eclairé sur ces phrases et notions :
prototype de rootkit
(je sais ce qu'est un prototype mais on sait jamais si ca peut avoir un autre sens dans le domaine de la suce)

cette activité pouvant toujours être surveillée par un logiciel spécialisé contre les malwares.
je ne suis pas sur de bien saisir de quelle activitée on parle.

Ces phrases et notions peuvent peut etre etre comprise avec un peu de reflexion.

Par contre ce que je ne saisis vraiment pas, c'est comment il opere en tant que rootkit : il s'installe comme un os supplementaire a coté des autres os qui tournent dans leur vm ? Il peut compromettre les os qui tournent dans leur vm ou alors sa seule visibilité est sa vm, et donc il ne sert a rien ?

Voila, en ecrivant ce commentaire je comprend un peu mieux mais j'aurais preferé ne pas avoir eu a le faire :]
et puis ca aidera peut etre d'autres a comprendre.

  • [^]Re: incomprehensible

    Posté par -=[ Benoit Plessis ]=- (page perso, ) le 04/07/2006 à 21:39. (lien). Évalué à 10.

    Alors en fait "Blue Pill" est un prototype de rootkit en ce sens que ne faisant rien de mal et etant un projet de travail ce n'est pas au sens premier un rootkit mais fourni une base pour une implementation d'un rootkit performant multi-os et absolument invisible.

    Quand a son fonctionnement il est basé sur les technologies de virtualisation matérielles. Schematiquement une fois executé sur un
    OS 'standard' ne gerant pas les extensions pacifica/VT il va s'installer en tant qu'hyperviseur, sorte de superviseur de système d'exploitation
    chargé de gerer l'acces aux ressources materielles.


    cette activité pouvant toujours être surveillée par un logiciel spécialisé contre les malwares.
    je ne suis pas sur de bien saisir de quelle activitée on parle.

    Je ne comprend pas ton problème, le debut de la phrase explique que les precedents rootkit s'installant en hyperviseur necessitaient une execution precedent le lancement du systeme d'exploitation et partant de la une écriture sur le disque dur notamment dans les secteurs de démarrage. C'est de cela dont il est question (l'ecriture disque).


    Quand aux risques et bien ils sont maximum, le fonctionnement du mode hyperviseur permettant meme d'ecrire sur le kernel du systeme d'exploitation devenu invité.

    --
    Il [e2fsck] a bien démarré, mais il m'a rendu la main aussitot en me disant "houlala, c'est pas beau à voir votre truc, je préfèrerai que vous teniez vous même la tronçonneuse" (traduction libre)

    [^]Re: incomprehensible

    Posté par _alex () le 04/07/2006 à 21:42. (lien). Évalué à 10.

    Ce que j'en comprends (à corriger si besoin) :

    - Pacifica (Secure Virtual Machine) : c'est un ensemble d'instructions assembleurs pour les processeurs AMD (les nouveaux). Le but est d'aider les logiciels comme QEmu, VMWare avec l'aide ces instructions (exemple : faire fonctionne Windows dans Linux sur un AMD). Donc en gros, le système d'exploitation est chapoté par une sorte de meta OS. C'est un "peu" comme la fenêtre DOS (en mode réel) qu'il y avait avec Windows 95 (en mode protégé) : le DOS a l'impression d'être tout seul mais Windows peut contrôler chacunes de ses actions. La un pas de plus en franchi.

    - Les malwares : actuellement, un bout de logiciel peut installé un meta OS (le "top level hypervisor"), et basculer Windows Vista dans une machine virtuelle. Donc l'OS fonctionne mais ne pourra jamais avoir accès au meta OS qui est géré par le malware. Donc les logiciels de détection de malware peuvent bien connaître l'astuce, ce n'est pas détectable : le processeur cache ce meta OS (un peu comme le DOS qui ne pouvait pas "voir" Windows). Et d'après son blog, il n'y a pas de perte de performance.

    (ma comparaison avec Windows95/DOS est peut être tiré par les cheveux).

    • [^]Re: incomprehensible

      Posté par Chaddaï Fouché () le 04/07/2006 à 23:32. (lien). Évalué à 10.

      En fait QEmu et VMWare proposent déjà ces services, c'est ce qu'on appelle un VMM (Virtual machine monitor) qui permet de faire tourner plusieurs VM sur un seul ordinateur.

      Actuellement cependant les logiciels en questions sont extrèmement complexes et lourds parce que les CPUs ne sont pas ce qu'on appelle "virtualisables", autrement dit lorsqu'une application en mode non privilégié essaie d'exécuter une instruction du mode privilégié (on parle d'instruction CPU ici), un CPU virtualisable devrait lancer une interruption et laisser le VMM traiter le problème.
      Or l'architecture x86 ne fait pas cela (elle a un comportement incohérent selon les instructions, soit elle les ignore, soit elle fait planter le programme fautif...), elle n'est donc pas adapté à la virtualisation directe du CPU (où le VMM se contenterais d'exécuter les OS résident en mode non-privilégié et de traiter les interruptions).
      Pacifica ou Vanderpool devrait entre autre permettre de rajouter un mode d'exécution virtualisable à x86. (je crois qu'il y a d'autres points à considérer (comme la gestion de la mémoire : avoir plusieurs MPU matérielles serait utile par exemple) mais je ne suis pas spécialiste). (Pour l'instant les VMMs transforme le code binaire des programmes pour qu'ils exécutent des instructions différentes lorsqu'ils devraient exécuter des instructions privilégiées, mais cela a un coût)

      --
      Jedaï

      • [^]Re: incomprehensible

        Posté par THEpini (page perso, ) le 05/07/2006 à 08:55. (lien). Évalué à 1.


        lorsqu'une application en mode non privilégié essaie d'exécuter une instruction du mode privilégié (on parle d'instruction CPU ici), un CPU virtualisable devrait lancer une interruption et laisser le VMM traiter le problème.
        Or l'architecture x86 ne fait pas cela


        Pourtant, la doc IA-32 stipule :

        If one of these instructions is executed when the CPL is not 0, a general-protection exception (#GP) is generated


        Peut-être que par "x86" tu voulais dire "x86-64" (dont je n'ai pas lu la doc) ?

        • [^]Re: incomprehensible

          Posté par Chaddaï Fouché () le 08/07/2006 à 11:14. (lien). Évalué à 2.

          Non non, je parle bien ici du x86. Peut-être aurai-je dû employer un vocabulaire différent : en fait les instructions du mode privilégié provoque bien une exception si elles sont employées en mode non privilégié, mais le problème est que l'ensemble de ces instructions ne recoupe pas l'ensemble des instructions qui modifie le comportement du processeur et qui ne peuvent être exécutée avec succès qu'en mode privilégié.
          Par exemple pour activer ou non les interruptions, il faut changer la valeur d'un registre du processeur, mais ce registre n'est évidemment (heureusement) pas accessible dans le mode non privilégié. Dans ce cas l'instruction elle-même est non privilégié (on peut l'utiliser légitimement en mode non privilégié), mais elle n'a aucun effet lorsqu'utilisée avec ce registre dans le mode non privilégié, et elle ne déclenche pas d'exception dans ce cas...
          (tu penses bien que les VM comme Xen seraient beaucoup plus performantes sinon.)

          --
          Jedaï

      [^]Re: incomprehensible

      Posté par kaouete (page perso, ) le 05/07/2006 à 06:05. (lien). Évalué à 1.

      Ok,

      c'est tout de suite moins complexe avec vos explications a tout les deux :]

      donc en gros, ya un os qui tourne seul, comme n'importe quel os sur n'importe quel pross, sur un pross genre pacifica.
      la ya bluepill qui sramene, prend les droits hyperviseur, met l'os dans une vm, et est mettre complet de la machine.

      En meme temps quelle idee de mettre un os unique sans hiperviseur sur une machine faite pour en abriter 15 avec yperviseur ?

      • [^]Re: incomprehensible

        Posté par Pascal Terjan (Jabber id, page perso, ) le 05/07/2006 à 09:40. (lien). Évalué à 3.

        Ben heu c'est simple tu achètes un laptop moderne et tu installes ta distrib préférée ou un windows.

    [^]Re: incomprehensible

    Posté par Aurélien Girard () le 05/07/2006 à 05:53. (lien). Évalué à 10.

    ca peut avoir un autre sens dans le domaine de la suce)


    Un autre sens ? Je n'en vois vraiment aucun ;)

    • [^]Re: incomprehensible

      Posté par kaouete (page perso, ) le 05/07/2006 à 06:01. (lien). Évalué à 3.

      hihi :]

      il fallait bien sur secu :>

      [^]Re: incomprehensible

      Posté par Benoît Guédas (Jabber id, ) le 05/07/2006 à 08:44. (lien). Évalué à 10.

      D'après ce que j'ai compris, la pillule bleue augmente les performances de la suce, ce qui me semble confirmé par les nombreux courriers électroniques que je reçois.

    [^]Re: incomprehensible

    Posté par FReEDoM (page perso, ) le 05/07/2006 à 09:20. (lien). Évalué à 3.

    Il faut de tout pour faire un monde et ce genre de news un peu pointue me fait plaisir à voir sur linuxfr.

    Tu vois les commentaires sont là, aussi, pour rendre plus claire les news pas claires pour certains (ce qui est une bonne nouvelle linux n'est plus seullement utilisé par des grosses brutes en informatiques :) )