Comment éviter ou empêcher que des fichiers contenant le caractère Unicode RLO (remplacement de droite à gauche) de leur nom (une méthode malveillante pour usurper des noms de fichiers) soient écrits ou lus sur un PC Windows?
Plus d'informations sur le caractère unicode RLO ici:
Informations sur le caractère unicode RLO, tel qu'il est utilisé par les logiciels malveillants:
Résumé du rapport sur les virus informatiques et les incidents d'accès non autorisé à un ordinateur pour octobre 2011, compilé par l'Agence de promotion des technologies de l'information, Japon (IPA) [ Mirror (Google Cache) ]
Vous pouvez essayer cette page Web de test de caractère RLO pour voir comment fonctionne le caractère RLO.
Le caractère RLO est également déjà collé dans le champ «Test d'entrée» de cette page Web. Essayez de taper ici et notez que les caractères que vous tapez sortent dans leur ordre inverse (de droite à gauche, au lieu de gauche à droite).
Dans les noms de fichiers, le caractère RLO peut être spécifiquement positionné dans le nom de fichier pour usurper ou masquer comme ayant un nom de fichier ou une extension de fichier différent de ce qu'il a réellement. (Sera toujours masqué même si " Masquer les extensions pour les types de fichiers connus " n'est pas coché.)
Les seules informations que je peux trouver qui contiennent des informations sur la façon d'empêcher l'exécution de fichiers avec le caractère RLO proviennent du site Web de l'Agence japonaise de promotion des technologies de l' information .
Quelqu'un peut-il recommander d'autres bonnes solutions pour empêcher l' écriture ou la lecture de fichiers avec le caractère RLO dans leur nom , ou un moyen d'alerter l'utilisateur si un fichier avec le caractère RLO est détecté?
Mon système d'exploitation est Windows 7, mais je chercherai des solutions pour Windows XP, Vista et 7, ou une solution qui fonctionnera pour tous ces systèmes d'exploitation, pour aider les gens à utiliser ces systèmes d'exploitation également.
They adviced to use the Local Security Policy settings manager to block files with the RLO character in its name from being run.
Pouvez-vous nous dire pourquoi ce n'est pas une solution?Réponses:
Vous pouvez utiliser Tout en combinaison avec AutoHotkey pour créer une alerte chaque fois qu'un caractère de contrôle de texte bidirectionnel fait partie d'un nom de fichier.
Le script
Ce qu'il fait
Le script lance Tout et recherche
‎|â€|‪|‫|‬|â€|‮
(UTF8), c'est-à-dire les sept caractères de contrôle de texte bidirectionnels ( source ), séparés par|
.Ensuite, le script masque la fenêtre Tout et surveille sa barre d'état. Lorsqu'il contient un chiffre différent de
0
, une correspondance a été trouvée, la fenêtre Tout s'affiche et la boîte de message suivante apparaît:Le script relance également tout en cas de fermeture.
Comment utiliser
Téléchargez , installez et lancez Everything.
Appuyez sur Ctrl+ Pet passez à l' onglet Volumes .
Pour tous les volumes à vérifier, activez Surveiller les modifications .
Téléchargez et installez AutoHotkey.
Enregistrer dans le script ci-dessus sous
find-bidirectional-text-control-characters.ahk
.Double-cliquez sur le script pour le lancer.
Créez un raccourci vers le script dans votre dossier de démarrage .
la source
L' Agence de promotion des technologies de l'information, site Web japonais ( lien miroir ), a conseillé d'utiliser le gestionnaire de paramètres de la politique de sécurité locale pour bloquer l'exécution des fichiers avec le caractère RLO dans son nom.
(Je ne copypaste pas les instructions complètes car je ne suis pas sûr de ce qu'est la licence de copyright de ce site Web sur leur contenu.)
la source
Il existe probablement d'autres moyens, mais le moyen le plus simple - et pourtant non trivial - est d'implémenter un filtre de système de fichiers (ou un mini-filtre de système de fichiers) qui filtre ces demandes. En cas de lecture à partir d'un tel fichier, vous pourriez revenir
STATUS_ACCESS_DENIED
et lors de l'écriture, vous ne devriez rien faire mais empêcher la création de tels fichiers (probablement aussi avec le code d'erreur ci-dessus) en premier lieu. La création est un autre type de demande.On peut imaginer d'autres méthodes pour obtenir un résultat similaire, comme le hook SSDT. Mais le seul moyen fiable serait ce qui précède.
Pour ce faire, vous devrez demander à quelqu'un d'écrire ce type de filtre pour vous (relativement trivial pour les mini-filtres pour un développeur de noyau), puis de le signer pour le faire passer par la politique de signature du mode noyau depuis Vista. Si vous ne voulez pas faire ce dernier, vous pouvez toujours tester le binaire du pilote et modifier vos options de démarrage pour autoriser le contenu signé par le test - compromettant ainsi la sécurité du système respectif.
À la lumière de ces informations, je vous conseille fortement d'utiliser la solution que galacticninja et Tom Wijsman ont indiquée.
la source
Je ne pense pas qu'une telle chose soit disponible sur le bureau, mais vous devriez pouvoir empêcher de telles choses d'être écrites sur votre ou vos serveurs de fichiers:
Implémentation du filtrage de fichiers dans Windows Server 2003 R2
la source