Un article récent sur le blog de sécurité de Google détaille les nouvelles mises à niveau des filtres anti-spam de Gmail, que Google qualifie de « l'une des plus grandes mises à niveau de défense de ces dernières années ». La mise à niveau se présente sous la forme d'un nouveau système de classification de texte appelé RETVec (Resilient Efficient Text Vectorizer). Google affirme que cela aide à comprendre la « manipulation de texte contradictoire » : des e-mails remplis de caractères spéciaux, d'émoticônes, de fautes de frappe et d'autres caractères indésirables qui étaient auparavant lisibles par les humains mais difficiles à comprendre par les machines. Auparavant, les spams contenant des caractères spéciaux échappaient facilement aux défenses de Gmail.

Si vous souhaitez avoir une idée de ce à quoi ressemble le « traitement de texte contradictoire », voici ce qu'il y a dans mon dossier spam :

Mon expérience personnelle est qu'au cours du premier semestre, ces e-mails constituaient un gros problème et je les voyais assez souvent dans ma boîte de réception. Cependant, cette mise à niveau de la technologie RETVec semble avoir fait une différence, car je n'ai rencontré aucun e-mail de ce type au cours des derniers mois.

Les e-mails comme celui-ci sont difficiles à trier car tout filtre anti-spam interceptera probablement un e-mail disant « Félicitations ! Le solde de votre compte gagnant est de 1 000 $ », mais ce n'est pas le contenu réel de l'e-mail. La plupart des lettres ici sont des « homophones » : en plongeant dans les profondeurs infinies de la norme Unicode, vous pouvez trouver des caractères obscurs qui semblent faire partie de l'alphabet latin classique, mais qui ne le sont pas.

Par exemple, le sujet « Check_Your_Account » est étrangement en gras, non pas parce qu'il a un style gras, mais parce qu'il utilise un glyphe Unicode comme « Math Bold Capital C ». Il s'agit d'un symbole mathématique qui ressemble à la lettre « C » pour les humains, mais les robots de filtrage du spam le voient avec précision comme un symbole mathématique et ne comprennent pas sa signification anglaise. Plus vous regardez un e-mail de ce genre, pire c'est : le caractère "O" dans "FÉLICITATIONS" est remplacé par un 0, le trait de soulignement dans "Jackpot" est si étrange qu'il ne peut même pas être trouvé dans une recherche Unicode, et de nombreux espaces sont remplacés par des points ou des traits de soulignement. En conséquence, les filtres anti-spam abandonnent lorsqu’ils voient ces e-mails désordonnés.

Google affirme que RETVec est là pour nous sauver : "RETVec est formé pour résister aux opérations au niveau des caractères, y compris les insertions, les suppressions, les fautes de frappe, les homophones, les substitutions LEET, etc. Les modèles RETVec sont formés sur un nouvel encodeur de caractères qui encode efficacement tous les caractères et mots UTF-8. Par conséquent, RETVec ne nécessite aucune table de recherche ni vocabulaire fixe et fonctionne dans plus de 100 langues."

L'efficacité est très importante. D'autres méthodes utilisant un « vocabulaire fixe » ou des « tables de recherche » d'homophones sont très gourmandes en ressources au moment de l'exécution. Imaginez si un ou plusieurs caractères de « félicitations » étaient remplacés par des chiffres, des symboles mathématiques, des lettres cyrilliques, de l'hébreu ou des émoticônes, alors toutes les orthographes et fautes d'orthographe possibles apparaîtraient dans une liste presque infinie. Google affirme que RETVec n'a que 200 000 paramètres, "pas des millions", donc même si le cloud de filtrage anti-spam de Google est suffisamment grand pour exécuter n'importe quoi, il est suffisamment petit pour même fonctionner sur un appareil local. RETVec est open source et Google espère qu'il libérera le monde de ce type d'attaque homophone dans différents encodages.

RETVec semble fonctionner un peu comme la façon dont les humains lisent : il s'agit d'un modèle TensorFlow d'apprentissage automatique qui utilise la « similarité » visuelle pour identifier le sens des mots, plutôt que le contenu réel des mots. La démonstration de « similarité » de Google a utilisé la même technologie pour identifier des images de chats. Il semble donc possible d'en faire le système de reconnaissance optique de caractères le plus avancé au monde.

De toute évidence, cette approche a conduit à de grandes améliorations, Google déclarant que « le remplacement du précédent vecteur de texte dans le classificateur de spam de Gmail par RETVec a amélioré notre taux de détection de spam de 38 % par rapport à la référence et réduit les faux positifs de 19,4 %. De plus, l'utilisation de RETVec a réduit l'utilisation du TPU du modèle de 83 %, faisant du déploiement de RETVec l'une des plus grandes mises à niveau de défense de ces dernières années. »

Google a déclaré qu'il "testait RETVec en interne depuis un an et l'avait déployé sur votre compte Gmail".