mardi 4 décembre 2012

Nouvelles façons de détecter les malwares.

Un des processeurs Intel à base de CPU supports utilisés par le laboratoire antivirus Avast.
Le Laboratoire de recherche Avast est l'endroit où certains des plus brillants cerveaux du Avast est essentiellement de créer de nouvelles façons de détecter les malwares. Ce sont soit des fonctions à l'intérieur du produit (comme FileRep et autosandboxing, y compris la totalité de son récent développement) ainsi que des composants qui s'exécutent sur notre backend - les choses à savoir que les utilisateurs ne voient pas forcément mais qui sont tout aussi importantes pour la qualité globale de le produit.
En fait, travailler sur les trucs backend prend plus de temps ces jours-ci, que l'intelligence de plus en plus Avast se déplace vers le cloud et / ou est mis en œuvre en temps quasi réel par le biais d'avast! la technologie de streaming mise à jour.
Les classificateurs backend Avast utiliser un certain nombre de techniques, mais les deux plus chaudes que l'équipe a travaillé dur récemment sur ​​des choses que nous appelons Recherche par similarité Malware et Evo-Gen.
Recherche par similarité Malware est un élément important qui nous permet de classer à peu près instantanément une grande quantité d'échantillons entrants. Autrement dit, pour un fichier, il est en mesure de dire si le fichier ressemble à un fichier malveillant déjà vu (ou tout un ensemble de fichiers malveillants) ainsi que si elle est semblable à un fichier connu propre (ou un groupe de ceux-ci) . Cela peut sembler un problème facile à résoudre, mais en pratique, c'est en fait assez difficile. Bien sûr, la sauce secret ici est de savoir comment vous avez réellement définir la métrique (pour être en mesure de parler de similitude) et ce que tout ce que vous prenez en compte lors de la représentation d'un fichier. Dans Avast on prend en compte à la fois des propriétés statiques du fichier, ainsi que le résultat d'une analyse dynamique (c.-à journaux essentiellement recueillies au cours de l'exécution du fichier).
Maintenant, une technologie de ce genre est évidemment très précieuse, car elle nous permet de prendre des décisions rapides sur les fichiers que nous n'avons jamais vus auparavant. Par exemple, si un fichier est très similaire à un groupe d'échantillons de logiciels malveillants connus, et en même temps elle n'est pas semblable à tous les fichiers propres, nous le classer immédiatement que les logiciels malveillants. Croyez-le ou non, nous voyons des milliers de fichiers comme ça tous les jours.
La deuxième technologie dont j'ai parlé, Evo-Gen, est à peu près semblable, mais un peu plus subtil dans la nature. Il s'agit de trouver que de brèves descriptions génériques et de grands ensembles d'échantillons de logiciels malveillants que possible. Que vous prenez un ensemble de 1.000.000 échantillons de logiciels malveillants (et 1.000.000 fichiers sains) et de donner l'algorithme de la tâche suivante: trouver le plus petit nombre, et que de brèves descriptions de plus d'échantillons dans l'ensemble de logiciels malveillants, sans décrire n'importe quel fichier dans le jeu propre. Evo-Gen est un algorithme génétique que nous avons développé juste pour ça. Il arrive souvent à trouver de véritables joyaux pour nous - par exemple, la description d'un ensemble apparemment aléatoire des dizaines de milliers de fichiers malveillants éparpillés un peu au hasard sur nos ensembles de virus. Et la taille de la description? 8 octets.
Maintenant, si vous pensez à ce sujet pendant un certain temps, vous découvrirez que ces deux algorithmes ont quelque chose en commun. Je veux dire, pour chacun d'eux, il est nécessaire d'avoir accès ultra-rapide à nos vastes ensembles de fichiers sains et les logiciels malveillants. Oubliez accès séquentiel (ou tout autre type de traitement des fichiers un par un). Même la lecture des échantillons sur les disques prend des heures.
Pour ce faire, l'équipe a développé un sacré morceau de la technologie que nous appelons MDE. Il s'agit essentiellement d'une base de données en mémoire qui fonctionne au-dessus de données indexées et permet un accès très parallèle.
Traditionnellement, nous avons été l'exécution de ces choses sur le matériel serveur classique. Pour la plupart, nous utilisons des serveurs standard de Dell basés sur Intel Xeon. Cependant, la performance n'a jamais été aussi grande et nous avons toujours pensé que nous devrions faire mieux.

Un des processeurs Intel à base de CPU supports utilisés par le laboratoire antivirus Avast.
La véritable percée est venue quand nous avons commencé à expérimenter avec le GPU. Pour commencer, les GPU modernes (tous deux de NVidia et AMD) ne sont pas limités aux graphiques haut de gamme ou les jeux. La bonne chose à leur sujet est qu'ils peuvent être massivement parallélisée - tout en haut de gamme d'aujourd'hui contiennent des processeurs Intel 6, 8 ou 10 cœurs peut-être, le jeu haut de gamme GPU contiennent des milliers de cœurs. Il est vrai que chacun d'entre eux n'est pas aussi puissant, mais si vous pouvez libérer leur potentiel avec quelques bons algorithmes parallèles, la puissance résultante est fou.
Ainsi, avec MDE, nous sommes maintenant dans le processus de transition vers une base de GPU "supercalculateurs" ferme. L'environnement dans lequel nous sommes en train d'évaluer ressemble à ceci:

Vous pouvez voir que ce n'est pas un serveur en rack - mais un poste de travail à la place. Un enfer d'un poste de travail, je dois dire cependant. Avec Intel Core i7 E3820 CPU 4C 3.6GHz et 32 ​​Go de RAM DDR3, ce n'est pas un mauvais départ, mais ce qui est vraiment cool sur la boîte les 4 NVidia GPU des cartes graphiques, chacune avec 3 Go de RAM et reliés entre eux par un Tuyau pour l'eau de refroidissement externe. La bête entière est alimenté par une alimentation 1500 W de puissance, mais au cas où il n'est pas assez, nous sommes prêts à ajouter un de plus.
Alors que nous n'avons pas mis ces systèmes en production pour le moment, nous allons probablement le faire bientôt. Et je suis vraiment impatient de cela - car cela nous permettra de vous servir, nos utilisateurs, c'est encore mieux. On ne sait jamais - si cela s'avère aussi utile que nous pensons que ce sera, nous pourrions finir par construire quelque chose comme le Titan , un jour ...
(Maintenant, mon travail, dans l'intervalle sera de garder les joueurs sur la salle serveur  ).

Aucun commentaire:

Enregistrer un commentaire

Nous vous invitons ici à donner votre point de vue, vos informations, vos arguments. Nous refusons les messages haineux, diffamatoires, racistes ou xénophobes, les menaces, incitations à la violence ou autres injures. Merci de garder un ton respectueux et de penser que de nombreuses personnes vous lisent.
La rédaction

Messages les plus consultés

Inscrivez-vous à notre newsletter pour recevoir les nouveaux articles