Les caractères invisibles
mardi 24 avril 2018
Combien de caractères y a-t-il dans un paragraphe ? La question peut paraître étrange. En effet, nous voyons tous les caractères et nous pouvons les compter manuellement. Mais tout n'est pas si évident !
Tout d'abord, n'oublions pas qu'il existe des caractères qui ne sont pas visibles.
Beaucoup d'utilisateurs le savent ou ont entendu parler de l'existence des caractères non imprimables, qui sont en fait invisibles. Ce n'est pas un bogue ni une fonctionnalité particulière, car cela est tout-à-fait normal pour un caractère d'être invisible. Actuellement, le codage utilisé sur pratiquement tous les sites contemporains est UTF-8. Une des particularités de ce codage est le fait qu'il comprend de nombreux caractères invisibles ! Voici un de ces caractères : Zero Width Space (U+200B). Le voici : "". Vous le voyez ? Non ? Et pourtant il est là.
https://habrahabr.ru/post/243351
Dans un éditeur de texte, il est possible d'afficher un texte avec ce caractère ou de le rendre visible.
Bien sûr, l'affichage dépend non seulement de l'éditeur utilisé mais également de la police.
Quels caractères peuvent-ils être utilisés ?
Je me souviens d'avoir utilisé ce type de caractères pour épuiser le quota de trafic ou de volume d'une base de données de ma " victime ". Par exemple, j'écris la phrase " Salut ! Comment ça va ? ", mais au sein de la phrase, il y a des milliers de caractères invisibles. Ainsi, même un message très court " pèse " beaucoup, car il commence à avoir une taille importante.
Le projet " Lumières sur la sécurité " a déjà parlé des bombes de courrier, mais comment peut-on appeler une bombe qui se cache dans un texte ?
Les espions peuvent également utiliser des caractères invisibles.
... serait-il possible de rendre un texte totalement invisible ?
On convertit chaque octet de la ligne en un nombre octal de trois chiffres puis on remplace chaque chiffre par un caractère invisible.
Mais les espions ne sont pas les seuls, les auteurs de virus en utilisent aussi :
La première méthode rendait le code similaire à JavaScript, la seconde le rendait totalement différent et la troisième le rendait généralement invisible.
Le code va se composer de deux parties : une partie visible, là, il est possible d'utiliser une des méthodes décrites ci-dessus pour l'obfusquer, et une autre partie qui est invisible.
Le secret de la partie invisible est le suivant : nous laissons passer un " mauvais code " existant (sinon, pourquoi le cacher) à travers notre obfusquateur qui transforme un script visible en un script invisible, autrement dit, en une chaîne qui comprend des caractères tabulation (bit 1) et des espaces (bit 0).
Ainsi, en transformant le code d'une manière spécifique, vous le masquez. Celui qui ouvrira le code ne verra qu'une partie relative à l'extraction et à la transformation du code malveillant. Mais le code-même restera invisible. Comme s'il n'était pas là.
Bien évidemment, l'antivirus détectera le code et l'analysera, mais l'utilisateur pourra considérer le fichier comme inoffensif.
Prenons des exemples
Envisageons le code suivant :
alert("Hello world!");
Après l'avoir obfusqué, nous aurons :
Faites attention à ce que le point-virgule se trouve entre les guillemets, tandis qu'en réalité ce n'est pas ça (vous pouvez le vérifier avec n'importe quel éditeur de texte, notamment dans Sublime).
Voici l'apparence de la fonction de décodage :
var revealJS = function(s){return s.match(/(.{4})/g).map(function(b){return b.split('').map(function(i){return Array.apply(null,{length:10}).map(Number.call,Number).concat('abcdef'.split(''))[''.split('').indexOf(i)]})}).map(function(c){return String.fromCharCode(0+"x"+c.join(''))}).join('')}
Souhaitez-vous voir quelle est l'apparence dans le navigateur de la variable helloword de notre exemple ? Cliquez sur le lien depuis lequel nous avons copié cette chaîne. C'est impressionnant.
Pour en savoir plus, vous pouvez visiter les liens mentionnés et prendre connaissance des articles et des commentaires. Notamment pour apprendre comment ces technologies ont été appliquées.
En conclusion, l’article aborde la question des « insiders » et comment ils peuvent utiliser ces caractères invisibles.
En fonction de votre activité, il peut s’avérer très important d’être conscient des risques liés à la copie de textes.
Le projet Lumières sur la sécurité recommande
Dans nos publications, nous avons déjà évoqué les questions liées à la copie de liens ou de textes. Cet article met en évidence une autre facette du problème : lorsque vous copiez un texte, vous pouvez vous-même transférer un code ou un message. Vous ne serez pas en mesure de déterminer s'il est malveillant ou pas. En revanche, l'antivirus ne compte pas sur l’acuité visuelle, il est impossible de le contrer un utilisant les techniques décrites ci-dessus.
Nous apprécions vos commentaires
Pour laisser un commentaire, vous devez accéder au site via votre compte sur le site de Doctor Web. Si vous n'avez pas de compte, vous pouvez le créer.
Commentaires des utilisateurs
razgen
02:29:37 2018-08-22
Неуёмный Обыватель
20:05:00 2018-07-17
Bernard
22:02:30 2018-04-24