Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

cr  01.04.2012      r+  01.06.2024      r-  15.07.2024      Pierre Pinard.         (Alertes et avis de sécurité au jour le jour)

Virtual Memory (mémoire virtuelle) est, dans le monde des systèmes d'exploitation d'ordinateurs, par exemple Microsoft Windows, la somme de la mémoire centrale (mémoire physique, ram) augmentée de dispositifs permettant de déborder la taille physique de la mémoire centrale en cas de besoin critique, à un moment donné.

Il s'agit d'utiliser un fichier disque dont le coût de stockage à l'octet est dérisoire par rapport au coût de la mémoire ram. Par exemple, le fichier d'extension de l'espace d'adressage du système d'exploitation Microsoft Windows est le fichier pagefile.sys.

La Virtual Memory (mémoire virtuelle) est donc un espace d'adressage accessible au système d'exploitation de l'ordinateur.

Le fichier disque utilisé permet d'étendre, artificiellement, la taille de la mémoire ram de l'ordinateur.

Mémoire virtuelle - Virtual Memory

  • Erreur courante : la Mémoire Virtuelle (Virtual Memory) n'est pas le fichier disque utilisé (pagefile.sys sous Windows)
  • Erreur courante : la Mémoire Virtuelle (Virtual Memory) n'est pas le fichier disque utilisé pour étendre la taille de la mémoire RAM, mais la somme des tailles de la RAM et de ce fichier disque. La Mémoire Virtuelle (Virtual Memory) est l'espace d'adressage total dont dispose le système d'exploitation.

Si l'ordinateur dispose de 8 GO de RAM et 4 GO de fichier d'échange (appelé pagefile.sys chez Microsoft, depuis Windows XP), la mémoire virtuelle de votre ordinateur est de 12 GO. C'est par erreur que le fichier d'échange seul (pagefile.sys chez Microsoft), est appelé mémoire virtuelle.

Le nom de Mémoire Virtuelle (Virtual Memory) donné à ce fichier d'échange est un abus de langage car ce nom désigne normalement, pour les programmeurs, un « espace d'adressage » virtuel indépendamment de son organisation physique.

L'accélération substantielle de la vitesse d'un ordinateur et de son système d'exploitation ne passe pas par la manipulation du fichier disque étendant artificiellement la mémoire physique (RAM), mais par l'ajout de mémoire RAM.

Le sujet, dont tout à propos du fichier pagefile.sys de Windows, est entièrement développé dans l'article :




Les algorithmes de gestion de la mémoire virtuelle de Windows (le fichier pagefile.sys) optimisent le remplissage de ce fichier. Lorsqu'une application en cours d'exécution doit être éjectée momentanément de la RAM pour laisser de la place à une autre application, seules les données sur lesquelles vous travaillez, et les variables, sont envoyées dans la mémoire virtuelle (le fichier pagefile.sys). Le code en lui-même de l'application, invariable, se trouve déjà sur le disque dur, dans le fichier où vous avez installé l'application. C'est de là qu'elle sera recherchée / rechargée lorsqu'elle remontera en mémoire pour reprendre son tour d'exécution. C'est la raison pour laquelle Windows empêchera toujours de toucher aux fichiers des applications en cours d'exécution (Windows les ouvre avec un privilège d'accès exclusif).

Si l'application est un virus, elle « bénéficiera » de la même « protection » (virus vs malwares). C'est pourquoi les antivirus et antimalwares vous annonceront parfois, pour parfaire une décontamination (selon les virus ou parasites [parasitewares] trouvés), qu'ils ont besoin de redémarrer l'appareil. Dans la liste de redémarrage de Windows, l'antivirus ou antimalware a inscrit des travaux à faire en premier et va exécuter ces travaux de fin de décontamination avant de permettre le démarrage / redémarrage de tout le reste.

Pour lancer un antivirus ou antimalware, vous ne devez pas (s'il ne vous le demande pas expressement), quelle que soit la méthode, démarrer / redémarrer Windows en mode de diagnostic (dit mode « sans échec » - « Safe mode ») :

Les antivirus ou antimalwares cherchent à identifier certains virus non pas tels qu'ils sont enregistrés dans des fichiers disque (où ils peuvent masquer dynamiquement leur apparence), mais lorsque leur code exécutable monte en mémoire, au moment où ils vont chercher à s'exécuter (entrer en état « on-execution »). L'exécution est suspendue par l'antivirus ou l'antimalwares le temps que l'outil de sécurité analyse le code exécutable (ce qui est de l'ordre de quelques nanosecondes).

Le mode d'accès « on-execution » des outils de sécurité permet également :

  • De gagner du temps en n'analysant que ce qui cherche à s'exécuter, donc uniquement du code exécutable, au lieu d'analyser tout et n'importe quoi.

  • D'éviter le problème connu qui fait dire qu'il ne faut jamais avoir plus d'un antivirus ou antimalwares simultané. Cet ancien mode de fonctionnement des outils de sécurité, qui faisait intercepter, en mode exclusif, les fichiers tentant de s'ouvrir (« hook - hooker - hooking »), pour les analyser, pouvait provoquer des situations de blocages mutuels infinis entre plusieurs outils de sécurité intervenant simultanément sur le même fichier.

Accessoirement, vous pouvez lancer une seconde fois un antivirus ou antimalware à la demande (« on-demand »), en mode de diagnostic (mode « sans échec »), par acquit de conscience, mais certains antivirus le vérifient et refuseront de se lancer dans ce mode. Lorsque Windows est démarré en mode « sans échec », il est lancé dans une configuration minimum. Tout ce qui tente, habituellement, de s'activer et s'exécuter durant le démarrage de Windows, et qui ne fait pas partie du noyau minimum de Windows (le kernel), est ignoré (n'est pas lancé).

Seuls les malwares de classe « Root » (« Rootkit »), qui ont réussi à s'incruster dans le noyau de Windows (le kernel), ne peuvent être évités lors d'un démarré en mode « sans échec ». Ils font désormais partie du noyau de Windows et disposent des privilèges les plus élevés, ceux de Windows (« Ring 0 »).


Les niveaux de privilèges dans un système d'exploitation : ring0, ring1, ring2, ring3, ring 0, ring 1, ring 2, ring 3
Les niveaux de privilèges dans un système d'exploitation :
Ring0 (Ring 0), Ring1 (Ring 1), Ring2 (Ring 2), Ring3 (Ring 3)


Certains virus s'installent encore plus « haut » : dans le « bootstrap » du disque de démarrage (le « bootstrap » est exécuté avant le chargement de Windows), voire dans le BIOS qui est exécuté en tout premier, à la mise sous tension de l'appareil.

Les microprogrammes UEFI, qui remplacent les BIOS depuis 2012, sont suspectés de beaucoup d'intrusions franchement malveillantes et attentatoires à la vie privée et aux libertés individuelles dont :


Qui contrôle le BIOS / l'UEFI contrôle l'appareil
donc contrôle son utilisateur