Comment l'intelligence artificielle peut aider à identifier les acteurs malveillants et à réduire les cyber-risques organisationnels – Deuxième partie

15 février 2022

Bienvenue dans la deuxième partie de notre série de blogs en trois parties. Dans la première partie, nous avons expliqué pourquoi nous pensons que l'utilisation intelligence artificielle pour regrouper les acteurs malveillants pourrait aider les organisations dans surveiller le dark web plus efficacement.

Dans le deuxième volet de cette série sur l'intelligence artificielle (IA), nous approfondirons le traitement du langage naturel (TAL), une branche de l'IA. Plus précisément, nous démontrerons comment il est possible de regrouper les acteurs malveillants en fonction du contenu qu'ils ont publié sur divers forums de discussion. Nous passerons en revue certains concepts clés du NLP et vous donnerons un aperçu de la manière dont nous pouvons utiliser ces outils et les adapter au comportement des acteurs malveillants. Avant toute chose, nous devons collecter des informations sur les acteurs malveillants.

La collecte d'informations

Pour cette première étape, nous avons utilisé la base de données de Flare, qui contient plusieurs années d'informations sur plus de deux millions d'acteurs malveillants de toutes sortes de forums clandestins. Cette base de données est continuellement mise à jour et le nombre d'acteurs malveillants ne cesse de croître.

En regardant chaque acteur présenté dans notre base de données, nous pouvons observer une pléthore de choses différentes, y compris l'activité de l'acteur sur chaque forum surveillé auquel il participe. Plus d'informations sont disponibles, telles que la clé PGP de l'acteur, sa date d'enregistrement, son titre et diverses autres informations pouvant être utilisées d'autres manières pour profiler les acteurs malveillants. Dans le cadre de ce projet, cependant, ce qui nous intéresse, c'est le titre et le contenu des sujets de discussion du forum des acteurs malveillants. Une fois que suffisamment de données ont été recueillies, la prochaine étape consistera à regrouper les acteurs en fonction du contenu de leurs messages, pour lesquels nous utilisons des outils NLP.

L'historique de publication d'un acteur malveillant rencontré sur un forum illicite

Figure 1 – Historique de publication d'un acteur malveillant rencontré sur un forum illicite

Traitement du langage naturel

Comme mentionné précédemment, le traitement du langage naturel est un domaine de l'intelligence artificielle ; Le but de la PNL est de faire en sorte qu'un ordinateur « comprenne » le langage humain. Il est utilisé dans de nombreuses applications telles que la détection de spam, la traduction, l'analyse des sentiments, etc. Le NLP est toujours un domaine de recherche actif, de nombreux défis restent donc non résolus. La vérité est que les humains ont des capacités uniques lorsqu'il s'agit d'interpréter les nuances et les différents styles d'écriture, des capacités que les ordinateurs n'ont pas.

Heureusement, les deux dernières années ont apporté beaucoup de progrès avec la montée de L'apprentissage en profondeur: une branche différente de l'intelligence artificielle qui tente d'imiter le cerveau humain. Le Deep Learning permet d'alimenter en texte un système d'Intelligence Artificielle et de lui faire « apprendre » le sens de chaque mot.  

Malheureusement, la plupart des outils disponibles s'appuient sur un vocabulaire prédéfini, souvent basé sur des contenus bien écrits comme des articles d'actualité ou la célèbre encyclopédie Wikipédia. Cela signifie que ces outils ne sont pas exactement adaptés au vocabulaire utilisé dans les forums clandestins, dont une grande partie peut être considérée comme du jargon et du jargon lié à la fraude. Les acteurs malveillants ont non seulement leur propre façon de communiquer, mais sont également situés dans le monde entier et ne se limitent pas à l'utilisation de la seule langue anglaise. Cela nous amène à notre prochain défi, construire un vocabulaire spécifique à celui utilisé sur les forums illicites clandestins. 

Construire un vocabulaire

Avec les communautés souterraines continuellement croissance Partout dans le monde, comme mentionné précédemment, ces communautés souterraines ne se conforment pas à une seule langue. Les langues les plus parlées sur ces plateformes sont sans aucun doute l'anglais et le russe, mais nous avons également rencontré des forums échangeant dans une multitude d'autres langues, comme le polonais, le français, le vietnamien, pour n'en citer que quelques-unes.

Compte tenu de cela, notre premier défi a été de composer un langage adapté à ces communautés afin d'entraîner notre intelligence artificielle. Ce défi peut être décomposé en deux aspects ; nous ne voulons pas que notre vocabulaire soit trop large, car cela entraverait le processus d'apprentissage du modèle, et nous ne voulons pas qu'il soit trop petit car il n'y aurait pas assez d'informations pour apprendre.

La première étape pour construire notre vocabulaire est de générer un corpus textuel représentant les mots souterrains. Pour ce faire, nous utilisons les données textuelles que nous avons de chaque acteur dans la base de données de Flare. Par conséquent, ce corpus de textes contient des années de publications d'acteurs malveillants sur divers forums clandestins.

La deuxième étape consiste à déterminer quels mots feront partie de notre vocabulaire, et pour ce faire, nous devons tokeniser notre corpus. La tokenisation fait référence au concept de séparation du texte en une série de mots et de sous-mots, appelés jetons, et d'association d'un identifiant unique à chacun d'entre eux. Cette action est essentielle pour chaque application NLP, car même si l'entrée du modèle est simplement du texte, nous devons le transformer afin de créer une représentation que l'ordinateur comprendra puisque, comme mentionné précédemment, les ordinateurs ne comprennent pas le langage comme nous.

Bien que la tokenisation ne soit pas dans le cadre de cet article, il est important de noter qu'il existe plusieurs façons de tokeniser du contenu textuel. Dans cet esprit, l'équipe d'IA de Flare a développé sa méthode de tokenisation pour interpréter le texte provenant de vocabulaires souterrains. 

Cette méthode utilisait le Codage par paire d'octets (BPE) algorithme afin d'identifier les mots et sous-mots dans le corpus textuel des acteurs malveillants. Dans ce contexte, les mots peu courants sont décomposés en sous-mots afin de réduire la taille du vocabulaire, tandis que les mots fréquents sont conservés intacts. Dans ces conditions, des mots comme piratage et fissuration sont conservés intacts, tandis que des mots comme webcam sont séparés en deux jetons, la toile et came.

Comme autre exemple, avec le processus de tokenisation de Flare, une phrase contenant "Scam-Official-Request" se traduira par trois jetons principaux [Scam, Official, Request] et sera classée comme similaire à une autre phrase contenant ces trois mots, mais sans les traits d'union . Des techniques plus simples ne seraient pas en mesure de séparer efficacement cette phrase avec trait d'union, car elles pourraient supposer qu'elles font partie du même mot.

Le vocabulaire utilisé par les communautés malveillantes est en constante évolution, par exemple, les NFT sont à l'honneur alors qu'ils n'étaient jamais évoqués il y a un an. C'est pourquoi l'algorithme est calculé quotidiennement sur un nouveau corpus de texte afin de capturer les nouvelles tendances dans les discussions des acteurs malveillants. 

La figure suivante montre un sous-ensemble de ce vocabulaire, représenté dans un espace à deux dimensions (2D) avec un Intégration de voisins stochastiques distribués en t (TSNE) algorithme, qui aide à visualiser des données à haute densité, ce qui autrement ne serait pas possible de représenter en deux dimensions. Chaque point de la représentation est une approximation basée sur la compréhension de l'Intelligence Artificielle pour chaque mot du vocabulaire. Par conséquent, on peut voir que certains mots ayant des significations similaires, tels que "hack" et "crack" sont situés à proximité l'un de l'autre, il en va de même pour "Fullz" et "Carding".

un sous-ensemble d'acteurs rencontrés sur des forums illicites, regroupés dans un espace 2D
un sous-ensemble du vocabulaire utilisé sur les forums illicites, regroupé dans un espace 2D




Figure 2 – un sous-ensemble du vocabulaire utilisé sur les forums illicites, regroupé dans un espace 2D

Avec notre vocabulaire défini, et notre Intelligence Artificielle en apprenant une représentation, vient officiellement le moment de regrouper des acteurs similaires en fonction du contenu de leurs messages.

Regroupement des acteurs

Le dernier volet de cette expérimentation consistait à positionner chaque acteur dans une dimension spatiale. En d'autres termes, notre modèle d'IA « lira » les publications de chaque acteur, et les distribuera en fonction du contenu sur lequel ils écrivent ainsi que de leur style d'écriture.  

Au fur et à mesure que de nouveaux acteurs apparaissent chaque jour, la position de chaque acteur est mise à jour chaque jour en fonction des nouvelles informations dont nous disposons, comme mentionné ci-dessus. Dans la figure suivante, nous pouvons représenter un petit sous-ensemble d'acteurs malveillants utilisant un algorithme TSNE, comme nous l'avons fait pour le vocabulaire.

Figure 3 – un sous-ensemble d'acteurs rencontrés sur des forums illicites, regroupés dans un espace 2D
(note : seuls les deux premiers caractères des noms d'utilisateur sont visibles)

Ceci conclut la partie 2, vous donnant, espérons-le, une meilleure vue et une meilleure compréhension des différentes technologies d'intelligence artificielle utilisées dans le développement des fonctionnalités de Firework. Ne manquez pas la partie 3, la finale de la série, où nous verrons comment cette technologie apporte une nouvelle intelligence précieuse à Firework. Abonnez-vous à notre newsletter pour être parmi les premiers à recevoir les futurs rapports, livrés directement dans votre boîte de réception !

Partager l'article