Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macros : sécurité

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

DoubleZero

XLDnaute Barbatruc
Bonjour à toutes et à tous,

Dans cette discussion, https://www.excel-downloads.com/threads/supression-dune-page-envertu-de-la-date.156629/, le thème de la sécurité des macros est également abordé.

L’on y « parle » d’analyse préalable ( 😕 ), d’analyse du code avant ouverture pour trouver des mots clés comme kill, cells.clear…( 😕 ).

Mes diverses recherches sur le sujet demeurant stériles, l’un(e) d’entre vous aurait-il (elle), s’il vous plaît, la patience de m’expliquer la (les) démarche(s) nécessaire(s) pour être à l’abri de surprises désagréables ?

Je vous remercie vivement pour vos conseils éclairés.
 
Re : Macros : sécurité

Bonjour à tous,

A mon avis, la précaution primordiale est de mettre la Sécurité des Macros sur Moyen est de n'activer le code, la première fois, que sur une copie de son fichier...

La recherche de .Kill ou .Cells.Clear n'est pas forcément aisé : il existe des "codeurs" de code qui rendent la lecture du programme impossible.

Voici un exemple :

VB:
Const dddddddddddddddddddddddddd = &H800, eeeeeeeeee = &HA0
Const eeeeeeeeeee = "_C1", eeeeeeeeeeee = "_C2", eeeeeeeeeeeee = "_C3", eeeeeeeeeeeeee = "_C4"
Private Function dddddddddddd$(ddddddddddddd$)
Dim ddddddddddddddddddddddddd%
ddddddddddddd = F1.Evaluate(ddddddddddddd)
For ddddddddddddddddddddddddd = 1 To Len(ddddddddddddd) Step 2
dddddddddddd = dddddddddddd & Chr$(Val("&H" & Mid$(ddddddddddddd, ddddddddddddddddddddddddd, 2) Xor &HA))
Next ddddddddddddddddddddddddd
End Function
Private Function eeeeeeeeeeeeeee&()
eeeeeeeeeeeeeee = Int(Application.MemoryFree * 0.8)
End Function
Private Function eeeeeeeeeeeeeeee%(eeeeeeeeeeeeeeeee$)
Dim eeeeeeeeeeeeeeeeee&, eeeeeeeeeeeeeeeeeee&, eeeeeeeeeeeeeeeeeeee&
eeeeeeeeeeeeeeeeeee = InStrRev(eeeeeeeeeeeeeeeee, dddddddddddd(eeeeeeeeeee)) + 2
eeeeeeeeeeeeeeeeee = InStr(eeeeeeeeeeeeeeeeeee - eeeeeeeeee, eeeeeeeeeeeeeeeee, dddddddddddd(eeeeeeeeeeeee)) + 2
eeeeeeeeeeeeeeee = eeeeeeeeeeeeeeeeee > 2
If eeeeeeeeeeeeeeee Then
eeeeeeeeeeeeeeeeeeee = InStr(eeeeeeeeeeeeeeeeee, eeeeeeeeeeeeeeeee, dddddddddddd(eeeeeeeeeeeeee))
eeeeeeeeeeeeeeee = eeeeeeeeeeeeeeeeeeee > eeeeeeeeeeeeeeeeee And eeeeeeeeeeeeeeeeeeee < eeeeeeeeeeeeeeeeeee
End If
If eeeeeeeeeeeeeeee Then
eeeeeeeeeeeeeeeeeeee = InStr(eeeeeeeeeeeeeeeeee, eeeeeeeeeeeeeeeee, dddddddddddd(eeeeeeeeeeee))
eeeeeeeeeeeeeeee = eeeeeeeeeeeeeeeeeeee > eeeeeeeeeeeeeeeeee And eeeeeeeeeeeeeeeeeeee < eeeeeeeeeeeeeeeeeee
End If
If eeeeeeeeeeeeeeee Then eeeeeeeeeeeeeeeee = Left$(eeeeeeeeeeeeeeeee, eeeeeeeeeeeeeeeeee - 1) & String(eeeeeeeeeeeeeeeeeee - eeeeeeeeeeeeeeeeee, " ") & Mid$(eeeeeeeeeeeeeeeee, eeeeeeeeeeeeeeeeeee)
End Function
Private Function eeeeeeeeeeeeeeeeeeeee%(eeeeeeeeeeeeeeeeeeeeee%, ByVal eeeeeeeeeeeeeeeeeeeeeee&, ByVal eeeeeeeeeeeeeeeeeeeeeeee&)
Dim eeeeeeeeeeeeeeeeeeeeeeeee&, eeeeeeeeeeeeeeeeeeeeeeeeee$
eeeeeeeeeeeeeeeeeeeeeeeeee = String(eeeeeeeeeeeeeeeeeeeeeeee, " ")
Get #eeeeeeeeeeeeeeeeeeeeee, eeeeeeeeeeeeeeeeeeeeeee + 1, eeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeee = InStrRev(eeeeeeeeeeeeeeeeeeeeeeeeee, dddddddddddd(eeeeeeeeeee), , vbTextCompare)
If eeeeeeeeeeeeeeeeeeeeeeeee > 0 Then
eeeeeeeeeeeeeeeeeeeee = eeeeeeeeeeeeeeee(eeeeeeeeeeeeeeeeeeeeeeeeee)
If eeeeeeeeeeeeeeeeeeeee Then Put #eeeeeeeeeeeeeeeeeeeeee, eeeeeeeeeeeeeeeeeeeeeee + 1, eeeeeeeeeeeeeeeeeeeeeeeeee
End If
End Function
Private Function ffffffffff%(fffffffffff%)
Dim ffffffffffff&, fffffffffffff&, ffffffffffffff%
ffffffffffff = LOF(fffffffffff)
fffffffffffff = eeeeeeeeeeeeeee
Do
fffffffffffff = IIf(fffffffffffff < ffffffffffff, fffffffffffff, ffffffffffff)
ffffffffffff = IIf(ffffffffffff - fffffffffffff < 0, 0, ffffffffffff - fffffffffffff)
ffffffffffffff = eeeeeeeeeeeeeeeeeeeee(fffffffffff, ffffffffffff, fffffffffffff)
If Not ffffffffffffff Then ffffffffffff = ffffffffffff + &H64
Loop Until (ffffffffffff = &H64) Or ffffffffffffff
ffffffffff = ffffffffffffff
End Function
Sub fffffffffffffff()
Dim ffffffffffffffff%, fffffffffffffffff%, ffffffffffffffffff%
If ggggggggggggggggggggggggg <> "" Then
If Not hhhhhhhhhhh Then hhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhh
ffffffffffffffffff = FreeFile
Open ggggggggggggggggggggggggg For Binary Access Read Write As #ffffffffffffffffff
ffffffffffffffff = ffffffffff(ffffffffffffffffff)
Close #ffffffffffffffffff
If Not ffffffffffffffff And Not hhhhhhhhhhh Then
iiiiiiiiii ggggggggggggggggggggggggg, gggggggggggggggggggggg

Pas facile à déchiffrer...

A+ à tous
 
Dernière édition:
Re : Macros : sécurité

Re-bonjour,

Merci beaucoup, JCGL 🙂, pour cette réponse empreinte de modestie vraiment honorable (« A mon avis, la précaution primordiale… »).

En outre, j’avoue que mon ignorance ne me permet pas de comprendre les explications fournies par le code mentionné.

Par conséquent, j’erre dans les étagères de la crainte ! Comment faire pour « bien » faire ? Je ne vois pas l’option (sous la version 2007) permettant d’opter pour une « Sécurité des Macros sur Moyen ».

Dès lors, dois-je m’abstenir d’ouvrir tout fichier envoyé par les adeptes de ce forum 😡 ?

Encore merci et bonne soirée + bon dodo !
 
Re : Macros : sécurité

Bonjour à tous,
Salut 00,

Peux-tu essayer :

Options Excel
Centre de Gestion de la Confidentialité
Paramètres du Centre de la Confidentialité
Paramètres des Macros
et Cocher comme ici :



Si tu "connais" le contributeur", je pense que tu n'auras pas de problème...
Je n'ai jamais eu de problème sur les fichiers que j'ai pu ouvrir sur XLD et VériTi (quelques milliers) . Juste une pagaille dans l'environnement mais la parade existe.

A+ à tous
 
Dernière édition:
Re : Macros : sécurité

Bonjour à toutes et à tous,

Merci, JCGL 🙂, j’ai modifié les paramètres comme tu l’as suggéré.

A présent, l’ouverture de chaque fichier pourvu d'une macro génère les affichages fastidieux et successifs :

- d’un avertissement :



- d’une alerte :



Si j’opte pour « Me protéger de tout contenu inconnu (recommandé) », cela désactive la macro mais autorise la lecture du code.

Est-ce là que je dois aller vérifier s’il apparaît un mot clé tel que kill, cells.clear…( ). que j’ai découverts dans la discussion citée sur mon premier post ?

Or, face aux "codeurs de code qui rendent la lecture du programme impossible" (que tu me fais découvrir) et à mon inaptitude dans la détection de mots déclencheurs de ravages, la contrainte de vivre avec une 😡 épée de Damoclès 😡 au dessus de la tête est, par conséquent, incontournable !

Encore merci et bonne journée 🙂 .
 
Re : Macros : sécurité

Bonjour à tous,

A présent, l’ouverture de chaque fichier pourvu d'une macro génère les affichages fastidieux et successifs :

- d’un avertissement :



- d’une alerte :


Tu ne pourras pas dire que tu n'étais pas averti(e)....

Si vraiment tu as peur "d'un code malicieux", télécharges les fichiers du Forum dans un répertoire dédié sur un disque dur externe sans fichier système et paramètres ton anti-virus pour analyser tous les fichiers entrants dans ce répertoire.

Le disque dur n'ayant pas de fichier système, tu ne crains pas grand chose.

A++
A+ à tous
 
Re : Macros : sécurité

Bonjour 00, Jean-Claude

Jean-Claude: Ah, c'est pas bête ça. Et sur une clé USB, c'est pareil 😕

PS: JC, on ne voit pas te images (x rouge) 😉.
 
Re : Macros : sécurité

Bonjour à tous,
Salut Michel,

Oui c'est pareil et les risques seront encore plus limités (capacité de stockage).
Étonnant pour les images, je les voie correctement.
Mais je ne vois pas les images de notre ami(e) DoubleZero : emplacements vides sans X rouges....

DoubleZero : vois-tu l'image du message #4 ?

A++
A+ à tous
 
Re : Macros : sécurité

Re-bonjour, JCGL, Michel, le Forum,

...Tu ne pourras pas dire que tu n'étais pas averti(e)....

Ça, c'est bien vrai 😀 !

Un grand merci, JCGL, pour ta proposition et tes explications.

Quant à l’analyse, je l’effectue systématiquement avant l’ouverture d’un fichier, même si je sais pertinemment que la garantie totale n’existe pas…

Très bonne journée 😎.
 
Re : Macros : sécurité

Bonjour à tous,

L'Assistant d'Enregistrement des Paramètres Personnels que nous avions sou XL2003 est il toujours présent sous XL 2007 ?



Cet assistant était bien pratique pour rétablir les BO, Menus et autres Macro+ de la suite MSOffice

A+ à tous
 
Re : Macros : sécurité

Re

JC: Ta dernière piéce jointe, je la vois mais pas celles des posts 5 et 6 (par exemple, pour moi, je dois garder mes images en liens pour le mettre en affichage plus grand). Remarque c''est normal puisque tu as recopié celui de 00 😉)

L'Assistant d'Enregistrement des Paramètres Personnels que nous avions sou XL2003 est il toujours présent sous XL 2007 ?

Cela ne me dit rien et je ne le connaissais pas sous XL2003😕.
 
Re : Macros : sécurité


Bonjour à tou(te)s,

Effectivement DoubleZero, le risque zéro (arf !) n'existe pas 🙂
C'est un bon réflexe de passer un fichier téléchargé dans le scanner de l'anti-virus mais je doute que, quel qu'il soit, ton anti-virus sache analyser un code VBA.
L'idée de JCGL d'isoler les fichiers sur un DD externe ou une clé USB n'est pas mauvaise en soi. Mais ça n'empêchera pas un code malicieux de faire des dégâts lors de son exécution. Il s'exécute en RAM et pas sur son lieu de stockage. Il voit donc tous tes disques. Y compris le disque système.

Le mieux c'est de ne pas ouvrir de fichiers dont tu ne connais pas l'auteur, un peu comme pour les mails.
Je rejoins quand même JCGL sur le fait que je n'ai jamais eu de problèmes avec les fichiers du forum. Sauf une fois ou deux avec des apprentis sorciers qui virent les menus ou les barres d'outils 😀. Mais c'est pas bien grave, ça se répare.

Personnellement, depuis quelques années, si j'ai un doute sur un fichier et que je veux vraiment voir ce qu'il a dans le ventre, j'utilise une machine virtuelle type VmWare (payant) ou Virtual PC (gratuit chez Microsoft). Là, le seul risque est de flinguer ta machine virtuelle. Sans grandes conséquences donc puisque tu peux la supprimer et en recréer une autre. Ou mieux, garder une copie d'une machine propre pour éviter de tout réinstaller à chaque fois.
C'est d'ailleurs valable pour d'autres applications que des macros Excel.

J'espère que je n'ai pas rajouté une couche à ton "stress" 😛

Bon week-end.
 
Re : Macros : sécurité

Re-bonjour 🙂,

@ JCGL,

Pardon ! En relisant la discussion, je découvre ton message n° 8. Nous nous sommes croisés, à une minute d’intervalle. Donc, pour répondre à ta question : oui, je vois l’image du message n° 4.

Quant à "L'Assistant d'Enregistrement des Paramètres Personnels que nous avions sous XL2003", je ne le vois nulle part.

@ Michel,

Ne comprenant pas ce qui se passe avec les images jointes non visibles, les voici à nouveau par un autre procédé. Ce dernier sera-t-il plus concluant ? Je l’espère ! ( ? )

@ JMPS,

Je te remercie, également, beaucoup pour ton intervention et les explications fournies.

Or, mon niveau en informatique est nul. Partant de là, mes yeux ressemblent à ceux d’un merlan frit selon ce que tu évoques certains sujets (exemples : RAM, disque système !..) Oui, je sais, honte à moi… Mais j’essaie de me « soigner » ! Donc, tout n’est peut-être pas perdu ( ? )

Quoi qu’il en soit, je vous remercie encore chaleureusement pour vos interventions respectives afin d’éviter que mon « stress » ne soit revu à la hausse…

P. S. : j’espère ne pas avoir omis de répondre à l’une de vos questions, comme évoqué supra.

A bientôt 🙂...
 

Pièces jointes

  • affichage1.jpg
    43.9 KB · Affichages: 51
  • affichage2.jpg
    5.5 KB · Affichages: 95
Re : Macros : sécurité

Re , Bonjour JMPS


JMPS: C'est vrai que cela paraît intéressant mais bon est-ce qu'on ne va pas passer plus de temps à maintenir son PC en forme que de trouver des subterfuges pour éviter un hypothètique virus (et les antivirus, à quoi cela sert 😕).

De toute façon, je considère que si un classeur possède un mot de passe sur le projet VB, je l'ouvre en priant le ciel 😉. Sinon, il faudrait que je les supprime car je ne vois aucun intèrêt à mettre un MDP sur un fichier sur XLD (sauf pour faire des tests de protection et déprotection 😀).

00: dans ton dernier post, je les vois tes images 🙂.

Sinon, normalement sur XLD si un fichier modifie nos barres d'outils, notre configuration etc... en général, on le sait asez vite 🙂.
 
Re : Macros : sécurité


Bonjour MJ13,

Comme je l'ai dit, les anti-virus ne pourront jamais analyser un code VBA pour savoir si ça supprime des fichiers système ou autres fantaisies du même genre. Enfin pas avant un petit moment.
Le subterfuge que j'ai trouvé c'est d'utiliser un machine poubelle. Qu'elle soit virtuelle ou physique (faut encore avoir les moyens d'en avoir une physique).
Après faut voir si on a vraiment besoin de tester des trucs en bêta, des trucs louches, des trucs en plumes...

Un bulldozer pour ramasser un mégot ? Chacun voit selon son besoin.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…