64 votes

Comment les programmes antivirus démarrent-ils au démarrage de Windows ?

En effectuant quelques tests, j'ai remarqué qu'après avoir installé Avast et vérifié à la fois ma clé de registre "Exécuter" et mon dossier "Démarrage", aucune entrée de démarrage n'était présente à ces deux endroits. En tenant compte de cela, à quel endroit la majorité des programmes anti-virus se placent-ils de manière à démarrer automatiquement au moment du démarrage du système d'exploitation ?

4 votes

À quel "moment" du démarrage faites-vous référence, directement après le boot loader ou lorsque vous voyez l'écran noir (ou non) juste avant l'apparition de l'écran de connexion ? Il s'agit là d'une distinction très importante. L'approche "directement après le boot loader" est utilisée avec les pilotes et se produit avant même le chargement de Windows (par exemple, le redémarrage de votre PC pour supprimer les virus qui ne peuvent pas être supprimés lorsque Windows est en cours d'exécution).

1 votes

Généralement, les pilotes à l'accès sont des pilotes (dispositifs) de filtrage. Il existe également une nouvelle fonction de détection précoce des logiciels malveillants, appelée ELAM. docs.microsoft.com/en-us/Windows-hardware/drivers/install/ . En outre, l'Autorun normal, les services et les extensions de l'explorateur sont utilisés principalement pour l'interface utilisateur et les fonctions de support telles que l'actualisation des signatures et des pilotes. La détection des comportements s'effectue souvent par l'injection de dll.

114voto

DavidPostill Points 140654

D'où partent la majorité des programmes antivirus au moment du démarrage du système d'exploitation ?

Après avoir installé Avast et vérifié la clé de registre "Exécuter" et le dossier "Démarrage", j'ai constaté qu'aucune entrée de démarrage n'était présente à ces deux endroits.

Il existe de nombreux autres emplacements de démarrage que vous devez vérifier (voir plus loin).

De nombreux programmes antivirus (dont Avast) sont lancés en tant que service Windows, ce qui leur permet d'être opérationnels très tôt dans le processus de démarrage et d'assurer ainsi une protection maximale :

enter image description here

L'interface graphique d'Avast (qui inclut l'icône de la barre d'état système) est lancée à partir de HKLM\Software\Microsoft\Windows\CurrentVersion\Run :

enter image description here


Il existe de nombreux emplacements qui peuvent être utilisés pour exécuter des programmes au démarrage. Vous devez les vérifier tous jusqu'à ce que vous trouviez le programme que vous recherchez.

Il existe quelques programmes qui permettent de vérifier facilement les emplacements de démarrage.

  1. msconfig (onglet Démarrage) :

    enter image description here

  2. Autoruns de SysInternals :

    enter image description here

  3. WhatInStartup de NirSoft :

    enter image description here

  4. WinPatrol :

    enter image description here

    Note :

    • WinPatrol vous permet de déplacer des programmes de "Programmes de démarrage" vers "Démarrage différé".
    • Dans ce cas, vous pouvez spécifier la durée du délai.

    enter image description here ] 12


De combien de façons un programme peut-il être exécuté au démarrage dans Windows ?

Il existe au moins 17 sites à partir desquels les programmes peuvent être lancés. Voir ci-dessous.


Emplacements de démarrage automatique des programmes Windows

À la mise sous tension de l'ordinateur, les emplacements de démarrage automatique suivants sont disponibles traitées dans l'ordre suivant :

  1. Pilotes de périphérique de démarrage de Windows

    • Ces pilotes sont chargés en premier car ils sont nécessaires au bon fonctionnement du matériel tel que les périphériques de stockage.
    • Les pilotes de périphériques de démarrage seront situés sous la clé suivante et auront une valeur de démarrage égale à 0.

    Clés de registre :

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services

    Windows va maintenant effectuer diverses tâches puis lancer le Winlogon processus. Winlogon démarre finalement le gestionnaire de contrôle des services qui charge les services et les pilotes qui sont configurés pour un démarrage automatique.

  2. Services et pilotes à démarrage automatique de Windows

    • Le processus Service Control Manager (SCM) ( \Windows\System32\services.exe ), va maintenant lancer tous les services ou pilotes qui sont marqués avec une valeur de démarrage de 2.

    Clés de registre :

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services
  3. RunServicesOnce

    • Cette clé est conçue pour lancer des services au démarrage d'un ordinateur.
    • Ces entrées peuvent également continuer à s'exécuter même après votre connexion, mais elles doivent être terminées avant que le programme HKEY_LOCAL_MACHINE... \RunOnce registre peut commencer à charger ses programmes.

    Clés de registre :

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
  4. RunServices

    • Cette clé est conçue pour démarrer les services également.
    • Ces entrées peuvent également continuer à s'exécuter même après votre connexion, mais elles doivent être terminées avant que le programme HKEY_LOCAL_MACHINE... \RunOnce registre peut commencer à charger ses programmes.

    Clés de registre :

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices

    L'invite de connexion de Windows s'affiche à l'écran. Une fois que l'utilisateur s'est connecté le reste des touches continue.

  5. Notifier

    • Cette touche est utilisée pour ajouter un programme qui sera exécuté lorsqu'un événement particulier se produira.
    • Les événements comprennent la connexion, la déconnexion, le démarrage, l'arrêt, le démarrage de l'économiseur d'écran et l'arrêt de l'économiseur d'écran.
    • Lorsque Winlogon.exe génère un événement tel que ceux énumérés, Windows recherche dans la clé de registre Notify une DLL qui va gérer cet événement.
    • Les logiciels malveillants sont connus pour utiliser cette méthode afin de se charger lorsqu'un utilisateur se connecte à son ordinateur. Le chargement de cette manière permet au programme malveillant de se charger d'une manière telle qu'il n'est pas facile de l'arrêter.

    Clé de registre :

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify
  6. Clé UserInit

    • Cette clé indique quel programme doit être lancé juste après que l'utilisateur se soit connecté à Windows.
    • Le programme par défaut pour cette clé est C:\windows\system32\userinit.exe. Userinit.exe est un programme qui restaure votre profil, les polices, les couleurs, etc. pour votre nom d'utilisateur.
    • Il est possible d'ajouter d'autres programmes qui seront lancés à partir de cette touche en séparant les programmes par une virgule. Par exemple :

      HKLM \Software\Microsoft\Windows NT \CurrentVersion\Winlogon\Userinit = C:\windows\system32\userinit.exe ,c : \windows\badprogram.exe.

    Cela fera en sorte que les deux programmes se lancent lorsque vous vous connectez et c'est une pratique courante. les chevaux de Troie, les pirates de l'air et les logiciels espions. Clé de registre :

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
  7. Valeur de Shell

    • Cette valeur contient une liste de valeurs séparées par des virgules que Userinit.exe lancera.
    • Le Shell par défaut pour Windows est explorer.exe, bien qu'il existe des remplacements légitimes qui ont été faits. Quand userinit.exe démarre le Shell, il lancera d'abord la valeur de Shell trouvée dans HKEY_CURRENT_USER. Si cette valeur n'est pas présente, il lancera alors la valeur trouvée dans HKEY_LOCAL_MACHINE.

    Clé de registre :

    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\\Shell
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\\Shell

    Le reste des emplacements de démarrage automatique va maintenant être traité.

  8. Clé de la machine locale RunOnce

    • Ces touches sont conçues pour être utilisées principalement par les programmes de configuration.
    • Les entrées dans ces clés ne sont lancées qu'une fois et sont ensuite supprimées de la clé.
    • Si un point d'exclamation précède la valeur de la touche, l'entrée ne sera pas supprimée avant la fin du programme, sinon, elle sera supprimée avant l'exécution du programme. Ceci est important, car si le point d'exclamation n'est pas utilisé et que le programme d'exclamation n'est pas utilisé, et que le programme référencé dans cette clé ne se termine pas, il ne s'exécutera pas à nouveau, car il ne se terminera pas. car il aura déjà été supprimé.
    • Toutes les entrées de cette clé sont lancées de manière synchrone dans un ordre indéfini.
    • De ce fait, tous les programmes de cette clé doivent être terminés avant toute entrée dans HKEY_LOCAL_MACHINE... \Run , HKEY_CURRENT_USER... \Run , HKEY_CURRENT_USER... \RunOnce et les dossiers de démarrage peuvent être chargés.
    • Les touches RunOnce sont ignorées sous Windows 2000 et Windows XP en mode sans échec. Les touches RunOnce ne sont pas prises en charge par Windows NT 3.51.

    Clés de registre :

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
  9. Exécuter

    • Il s'agit des emplacements de démarrage les plus courants pour les programmes d'installation et de démarrage automatique.
    • Par défaut, ces clés ne sont pas exécutées en mode sans échec. Si vous faites précéder la valeur de ces clés d'un astérisque, *, elle sera exécutée en mode sans échec.

    Clés de registre :

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
  10. Dossier de démarrage de tous les utilisateurs

    • Pour Windows XP, 2000 et NT, ce dossier est utilisé pour les programmes qui doivent être lancés automatiquement pour tous les utilisateurs qui se connecteront à cet ordinateur.

    On le trouve généralement à :

    • Windows XP C:\Documents and Settings\All Users\Start Menu\Programs\Startup

    • Windows NT C:\wont\Profiles\All Users\Start Menu\Programs\Startup

    • Windows 2000 C:\Documents and Settings\All Users\Start Menu\Programs\Startup

  11. Dossier de démarrage du profil utilisateur

    • Ce dossier sera exécuté pour l'utilisateur particulier qui se connecte.

    Ce dossier se trouve généralement dans :

    • Win 9X, ME c:\windows\start menu\programs\startup
    • Windows XP C:\Documents and Settings\LoginName\Start Menu\Programs\Startup
  12. RunOnce Clé de l'utilisateur actuel

    • Ces touches sont conçues pour être utilisées principalement par les programmes de configuration.
    • Les entrées dans ces clés ne sont lancées qu'une fois et sont ensuite supprimées de la clé.
    • Si un point d'exclamation précède la valeur de la touche, l'entrée ne sera pas supprimée avant la fin du programme, sinon, elle sera supprimée avant l'exécution du programme. Ceci est important, car si le point d'exclamation n'est pas utilisé, et que le d'exclamation n'est pas utilisé et que le programme référencé dans cette clé ne se termine pas, il ne sera pas exécuté à nouveau car il aura déjà été supprimé. car il aura déjà été supprimé.
    • Les touches RunOnce sont ignorées sous Windows 2000 et Windows XP en mode sans échec.
    • Les touches RunOnce ne sont pas prises en charge par Windows NT 3.51.

    Clé de registre :

    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
  13. Parcours d'exploration

    • Ces clés sont généralement utilisées pour charger des programmes dans le cadre d'une politique mise en place sur l'ordinateur ou l'utilisateur.

    Clés de registre :

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
  14. Clé de charge

    • Cette touche n'est plus couramment utilisée, mais elle peut servir à lancer automatiquement des programmes.

    Clé de registre :

    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\load
  15. AppInit_DLLs

    • Cette valeur correspond aux fichiers chargés par le biais de la valeur de registre AppInit_DLLs.
    • La valeur de registre AppInit_DLLs contient une liste de dlls qui seront chargées lorsque user32.dll sera chargé.
    • Comme la plupart des exécutables Windows utilisent la dll user32.dll, cela signifie que toute DLL répertoriée dans la clé de registre AppInit_DLLs sera chargée également. Cela rend très difficile la suppression de la DLL car elle sera chargée dans de multiples processus, dont certains ne peuvent pas être stoppés sans provoquer l'instabilité du système.
    • Le fichier user32.dll est également utilisé par les processus qui sont automatiquement lancés par le système lorsque vous vous connectez. Cela signifie que que les fichiers chargés dans la valeur AppInit_DLLs seront chargés très tôt dans la routine de démarrage de Windows, ce qui permet à la DLL de se dissimuler ou de se de se cacher ou de se protéger avant que l'on ait accès au système.

    Clé de registre :

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows

HelpingHand a fait remarquer que sur les ordinateurs 64 bits, il y a 2 emplacements :

  • HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows qui fait référence à des DLL 64 bits et
  • HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Windows qui fait référence à des DLL 32 bits.

Les processus 64 bits chargent les DLLs 64 bits et les processus 32 bits chargent les DLLs 32 bits.

  1. ShellServiceObjectDelayLoad

    • Cette valeur de registre contient des valeurs de la même manière que la clé Run.
    • La différence est qu'au lieu de pointer vers le fichier lui-même, il pointe vers l'InProcServer du CLSID, qui contient les informations suivantes sur le fichier DLL particulier qui est utilisé.
    • Les fichiers situés sous cette clé sont chargés automatiquement par Explorer.exe au démarrage de votre ordinateur. Parce que Explorer.exe est le Shell pour votre ordinateur, il démarrera toujours, chargeant ainsi toujours les fichiers sous cette clé. Ces fichiers sont donc chargés tôt dans le processus de démarrage processus de démarrage avant toute intervention humaine.

    Clé de registre :

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad
  2. SharedTaskScheduler

    • Cette section correspond aux fichiers chargés par la valeur de registre SharedTaskScheduler pour les machines XP, NT, 2000.
    • Les entrées de cette valeur de registre s'exécutent automatiquement lorsque vous démarrez Windows.

    Clé de registre :

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SharedTaskScheduler
  3. Divers

    Les fichiers suivants sont des fichiers à partir desquels les programmes peuvent démarrer automatiquement au démarrage :

    1. c : \autoexec.bat
    2. c : \config.sys
    3. windir \wininit.ini - Généralement utilisé par les programmes d'installation pour qu'un fichier s'exécute une fois et soit ensuite supprimé.
    4. windir \winstart.bat
    5. windir \win.ini - [Windows] "load"
    6. windir \win.ini - [Windows] "run"
    7. windir \system.ini - [boot] "Shell"
    8. windir \system.ini - [boot] "scrnsave.exe"
    9. windir \dosstart.bat - Utilisé dans Win95 ou 98 lorsque vous sélectionnez l'option "Redémarrer en mode MS-DOS" dans le menu d'arrêt.
    10. windir \system\autoexec.nt
    11. windir \system\config.nt

Source : Emplacements de démarrage automatique des programmes Windows


Avis de non-responsabilité

Je ne suis pas affilié à SysInternals, Nirsoft ou WinPatrol de quelque manière que ce soit, je suis juste un utilisateur final du logiciel.

15voto

Karl Blixt Points 101

Les produits de sécurité comportent généralement un certain nombre de composants, par exemple :

  • Un ou plusieurs pilotes de filtre de système de fichiers qui se trouvent dans le noyau. Il s'agit généralement de mini-filtres qui peuvent être répertoriés à l'aide de l'outil de ligne de commande fltmc.exe. Vous pouvez également voir les pilotes chargés dans le processus "Système" à l'aide d'un outil tel que Process Explorer. Ils sont probablement chargés de filtrer l'ouverture et la fermeture des fichiers et de demander aux services en mode utilisateur d'analyser le fichier avant de permettre son accès.
  • Il existe peut-être d'autres pilotes pour filtrer le trafic réseau. Les pilotes de filtrage NDIS sur les anciennes plates-formes, disons Win 7 et les pilotes WFP pour les plates-formes plus récentes, par exemple Win 8.1 et plus. Peut-être qu'une combinaison est installée pour des raisons d'héritage.
  • Un ou plusieurs services en mode utilisateur que vous pouvez voir en exécutant services.msc. L'un d'entre eux charge généralement les données relatives aux virus et effectue l'analyse proprement dite. Il existe généralement d'autres services pour la gestion, des fonctionnalités supplémentaires telles que le contrôle du Web, le contrôle des périphériques, le contrôle des données, la mise à jour, etc.
  • Processus supplémentaires qui peuvent être lancés à partir de la clé "Exécuter" du registre (ou du menu de démarrage) et s'exécutent dans le contexte de l'utilisateur connecté. Ils fournissent généralement l'interface utilisateur et s'occupent de la messagerie utilisateur. Par exemple, les messages de détection de logiciels malveillants.

En résumé, un produit de sécurité complet est généralement une combinaison de services en mode utilisateur, de pilotes et de processus exécutés en tant qu'utilisateur connecté. D'après votre question, il semble que vous cherchiez le dernier. En exécutant services.msc, vous verrez les services en mode utilisateur et en exécutant un outil tel que driverquery.exe, ou même msinfo32, vous pourrez voir les pilotes. Les services en mode utilisateur et les pilotes du noyau sont tous référencés dans la base de données du Service Control Manager (SCM) sous : hklm \system\currentcontrolset\services.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X