
Je n'ai jamais utilisĂ© Dr. Web. Je n'ai aucune idĂ©e de son fonctionnement. Mais cela ne m'a pas empĂȘchĂ© d'Ă©crire une sĂ©rie de tests automatiques (et seule la paresse m'a empĂȘchĂ© d'en Ă©crire une autre centaine) :
- Test d'installation de Dr. Web ;
- Test de restriction d'accÚs aux périphériques amovibles (clés USB) ;
- Test de restriction d'accÚs au répertoire entre les programmes ;
- Test de restriction d'accÚs au répertoire entre les utilisateurs du systÚme (contrÎle parental).
De tels tests, et bien d'autres, peuvent ĂȘtre rĂ©alisĂ©s comme des petits pains, et pas seulement pour Dr. Web, et pas seulement pour les antivirus. Dans cet article, je vais expliquer comment le faire.
Préparation
Pour les tests, nous aurons besoin d'une machine virtuelle avec Windows à bord. Je l'ai préparée manuellement, en effectuant les manipulations suivantes :
- En fait, j'ai installé Windows 10 Pro x64 ;
- Pendant l'installation, j'ai créé l'utilisateur principal "testo" avec le mot de passe "1111" ;
- J'ai activé la connexion automatique pour cet utilisateur ;
Pour automatiser les tests, j'utiliserai la plateforme Testo. Ce que c'est et comment l'utiliser est Ă lire . Nous devons maintenant importer la machine virtuelle prĂȘte dans les tests automatiques. C'est trĂšs simple :

Ici, il est supposĂ© que /path/to/win10.qcow2 â c'est le chemin vers le disque de la machine virtuelle que j'ai prĂ©parĂ©e manuellement. Ă partir de lĂ , la prĂ©paration se termine et l'action commence.
Test n°1 â Installons Dr. Web !
Pour commencer, nous devons résoudre la question du transfert du distributeur de Dr. Web sur la machine virtuelle. On peut le faire (par exemple) avec une clé USB :

Tout ce que nous avons à faire est de mettre l'installateur Dr. Web dans le dossier ${DR_WEB_DIR} (la valeur exacte de ce paramÚtre sera définie au lancement de testo). Et Testo s'assurera que cet installateur se retrouve sur la clé USB.
Nous pouvons maintenant commencer l'écriture du test. Pour l'instant, commençons par des choses simples : allumons la machine virtuelle (elle sera éteinte aprÚs sa création), attendons l'apparition du bureau, insérons la clé USB et ouvrons son contenu via l'explorateur :

Capture d'écran au moment de la fin du scénario

Bien sĂ»r, nous pouvons lancer l'installateur directement Ă partir de lĂ , de la clĂ© USB. Mais nous allons faire les choses comme il se doit â nous allons copier l'installateur sur le bureau et le lancer Ă partir de lĂ . Comment allons-nous copier le fichier ? Comme le ferait une personne ?

Capture d'écran, montrant que le fichier est encore en cours de copie

Tout est prĂȘt, la copie est rĂ©ussie ! Vous pouvez maintenant fermer la fenĂȘtre de la clĂ© USB et l'enlever :

Capture d'écran aprÚs la fermeture de l'explorateur

Maintenant que l'installateur est sur le bureau, nous devons double-cliquer dessus pour lancer le processus d'installation. L'installation elle-mĂȘme consiste simplement Ă cliquer sur des boutons et dĂ©cocher des cases, et elle n'est pas trĂšs intĂ©ressante :

Capture d'écran à la fin de l'installation

Nous terminons notre test par un redémarrage. Et enfin, n'oublions pas de vérifier qu'aprÚs le redémarrage, l'icÎne de Dr. Web est apparue sur le bureau :

Capture d'écran aprÚs le redémarrage

Excellent travail ! Nous avons automatisé l'installation de l'antivirus Dr. Web ! Prenons un petit moment de pause et voyons comment cela fonctionne en dynamique :

Passons aux tests des fonctionnalités.
Test n°2 - Restriction d'accÚs aux clés USB
La premiÚre fonctionnalité sur la liste est la restriction d'accÚs aux clés USB. Pour cela, nous planifierons un test assez direct :
- Essayons de brancher une clé USB et de créer un fichier vide dessus - cela devrait fonctionner. Retirons la clé USB ;
- Nous allons activer le blocage des périphériques amovibles dans Dr. Web Security Center ;
- Nous allons rebrancher la clĂ© USB et essayer de supprimer le fichier créé. L'action devrait ĂȘtre bloquĂ©e.
Créons une nouvelle clé USB, insérons-la dans Windows et essayons de créer un dossier. Quoi de plus simple ?

Capture d'écran au moment de la fin du scénario

Créons un nouveau fichier texte via le menu contextuel de l'explorateur :

Capture d'écran aprÚs le renommage du fichier

Déconnectons la clé USB, faisons-le de maniÚre sécurisée :

Maintenant, nous avons constaté qu'il est possible de travailler avec la clé USB, donc nous pouvons commencer à la bloquer dans le centre de sécurité Dr. Web. Pour cela, nous devons d'abord ouvrir le centre de sécurité :

Capture d'Ă©cran de la fenĂȘtre Security Center

Nous pouvons remarquer que pour ouvrir n'importe quelle application dans Windows, il faut en fait exĂ©cuter les mĂȘmes actions (cliquer sur la barre de recherche, attendre lâapparition de la fenĂȘtre avec les applications populaires, taper le nom de l'application dĂ©sirĂ©e, attendre qu'elle apparaisse dans la liste et enfin, appuyer sur EntrĂ©e). Par consĂ©quent, ce groupe d'actions peut ĂȘtre intĂ©grĂ© dans un macro open_app, oĂč le nom de l'application Ă ouvrir sera passĂ© en paramĂštre :

Ce macro nous sera encore utile.
La premiÚre chose que nous ferons en ouvrant le centre de sécurité Dr. Web sera d'activer la possibilité d'apporter des modifications :

Nous allons maintenant cliquer sur les menus et accéder à l'option "Configurer les rÚgles d'accÚs aux dispositifs". Dans ce menu, nous cocherons l'option "Bloquer les médias amovibles".

Capture d'Ă©cran de la fenĂȘtre Dispositifs et DonnĂ©es Personnelles

Essayons d'ouvrir la clé USB maintenant :

Capture d'écran du message d'erreur

Voilà comment, petit à petit, nous avons écrit notre premier test sur une fonctionnalité tangible dans Dr. Web. Il est temps de faire une pause et de méditer en regardant les résultats de nos efforts :

Test n°3 â Restriction d'accĂšs au rĂ©pertoire entre programmes
L'idée principale de ce cas de test est de vérifier le fonctionnement de Dr. Web en restreignant l'accÚs à un dossier spécifique. ConcrÚtement, il s'agit de protéger un dossier contre toute modification, tout en ajoutant une exception pour un programme tiers. Le test se déroule comme suit :
- Nous allons installer un programme tiers sur le systÚme d'exploitation, pour lequel nous ajouterons plus tard une exception lors de l'accÚs au dossier protégé. Aujourd'hui, le programme tiers du jour est le gestionnaire de fichiers ;
- Nous créons un dossier avec un fichier, que nous allons protéger à tout prix ;
- Ouvrons le centre de sécurité Dr. Web et activons la protection de ce dossier ;
- Configurons une exception pour FreeCommander ;
- Essayons de supprimer un fichier du dossier protégé de maniÚre classique (via l'explorateur Windows). Cela ne devrait pas fonctionner ;
- Essayons de supprimer le fichier via FreeCommander. Cela devrait fonctionner.
Ouf, beaucoup de travail. Commençons plus vite â nous finirons plus vite.
Premier point, l'installation de FreeCommander ne diffÚre pas beaucoup de celle de Dr.Web. Routine habituelle : insérez la clé USB, lancez l'installateur, et ainsi de suite. Passons cela et allons directement à ce qui est intéressant.
Si vous ĂȘtes tout de mĂȘme curieux de savoir comment installer FreeCommander
Commençons par le basique : créons une clé USB, dans laquelle nous placerons le programme d'installation de FreeCommander, puis, lors du test, nous insérerons la clé USB dans le systÚme d'exploitation et l'ouvrirons :

Ensuite, quelques clics pour lancer l'installation :

L'installation n'est pas trÚs intéressante, il suffit de cliquer sur "Suivant" partout, et à la fin, n'oubliez pas de décocher les cases de visualisation du ReadMe et de démarrage immédiat de FreeCommander.

Nous terminons le test en fermant toutes les fenĂȘtres et en retirant la clĂ© USB.

C'est fait !
Pour travailler avec Dr. Web, nous allons créer un nouveau test dr_web_restrict_program, qui s'appuiera sur le résultat du test précédent win10_install_freecommander.
Commençons le test en créant un dossier Protégé sur le bureau :

Capture d'écran aprÚs la création du dossier

Accédons au dossier Protégé et y créons un fichier my_file.txt, qui jouera le rÎle de fichier protégé :

Oh, il aurait fallu en faire un macro aussi, mais tant pis ...
Capture d'écran aprÚs la création du fichier

Parfait, maintenant nous devons activer la protection du dossier. Nous allons suivre notre chemin habituel et ouvrir Dr. Web, en n'oubliant pas d'activer le mode de modifications. Ensuite, nous allons dans le menu "Prévention de la perte de données".

Capture d'Ă©cran de la fenĂȘtre de PrĂ©vention de la perte de donnĂ©es

Un peu de travail avec la souris et ajoutons notre dossier Protected à la liste des éléments protégés :

Capture d'écran de l'assistant d'ajout de dossier protégé

Maintenant, nous devons configurer une exception d'accĂšs au dossier pour FreeCommander. Encore un peu de travail avec la souris :

Capture d'écran du programme d'exception ajouté

Maintenant, fermons soigneusement toutes les fenĂȘtres et essayons de supprimer le fichier "my_file.txt" de maniĂšre standard :

Capture d'écran du message de Dr.Web

Mais rien n'a fonctionnĂ© â cela signifie que Dr. Web a vraiment fonctionnĂ© ! La moitiĂ© du test est derriĂšre nous, mais nous devons encore vĂ©rifier que l'exception fonctionne pour FreeCommander. Pour cela, ouvrons FreeCommander et accĂ©dons au dossier Protected :

Capture d'Ă©cran de la fenĂȘtre FreeCommander

Et essayons de supprimer le fichier my_file.txt :

Capture d'écran aprÚs la suppression du fichier

L'exception pour FreeCommander fonctionne !
Excellent travail ! Un grand et complexe cas de test â et tout est automatisĂ©. Un peu de dĂ©tente :

Test n°4 â ContrĂŽle parental
Ce dernier cas de test pour aujourd'hui sera construit de la maniĂšre suivante :
- Nous allons créer un nouvel utilisateur MySuperUser ;
- Nous nous connectons sous cet utilisateur ;
- Nous créons un fichier
my_file.txtau nom du nouvel utilisateur ; - Nous ouvrons le centre de sécurité Dr. Web et activons le contrÎle parental pour ce fichier ;
- Dans le contrĂŽle parental, nous limitons les droits de l'utilisateur MySuperUser sur le fichier qu'il a lui-mĂȘme créé ;
- Nous allons essayer de lire et de supprimer le fichier
my_file.txtau nom de MySuperUser et voyons le résultat.
Je ne vais pas fournir ici le scĂ©nario de test. Il se construit selon le mĂȘme principe que les tests prĂ©cĂ©dents : travailler activement avec la souris et le clavier. Cela dit, peu importe ce que nous automatisons â que ce soit Dr.Web ou la crĂ©ation d'un nouvel utilisateur dans Windows. Mais voyons Ă quoi ressemblera l'exĂ©cution d'un tel test :

Conclusion
â Vous pouvez voir le code source de tous les tests
De plus, vous pouvez exécuter tous ces tests sur votre machine. Pour cela, il vous faudra l'interpréteur de scénarios de test Testo. Vous pouvez le télécharger .
Dr. Web s'est rĂ©vĂ©lĂ© ĂȘtre un bon exercice, mais j'aimerais puiser l'inspiration pour de futurs exploits dans vos souhaits. Ăcrivez dans les commentaires vos suggestions sur les tests automatisĂ©s que vous aimeriez voir Ă l'avenir. Dans le prochain article, j'essaierai de les automatiser, voyons ce que cela donnera.
Source : habr.com
