septembre 26, 2016
Paresse, cybersécurité et apprentissage automatique.
C’est comme ça : l’être humain est une créature paresseuse. S’il est possible de ne rien faire, on ne le fait pas. Mais d’un côté, paradoxalement, c’est une bonne chose, parce que la paresse est… le moteur du progrès ! Quoi ? Comment ? Eh bien, si un travail est considéré comme étant trop dur, interminable ou complexe pour les humains, certains hommes paresseux (mais consciencieux) donnent le boulot à une machine ! En cybersécurité, on appelle ça l’optimisation.
Analyser des millions de fichiers et de sites web malveillants tous les jours, développer des « inoculations » contre des menaces futures, améliorer sans cesse la protection proactive, et résoudre des dizaines d’autres tâches critiques, tout ceci serait tout simplement impossible sans l’utilisation de l’automatisation. L’apprentissage automatique est l’un des principaux concepts utilisés en automatisation.
L’apprentissage automatique s’applique dans la cybersécurité depuis plus d’une dizaine d’années, sans toute cette fanfare marketing
L’automatisation existe dans la cybersécurité depuis le tout début (de la cybersécurité en elle-même). Je me souviens par exemple, au début des années 2000, lorsque j’écrivais un code pour un robot afin d’analyser des échantillons de malwares entrants : le robot mettait les fichiers détectés dans le dossier correspondant de notre base de malwares grandissants en fonction de son verdict (celui du robot) à propos de ses caractéristiques (celles du fichier). Il est difficile d’imaginer (même à l’époque) que j’avais l’habitude de faire tout ça manuellement
De nos jours encore, simplement donner des instructions précises à des robots pour réaliser des tâches que vous voulez leur donner n’est pas suffisant. A la place, des instructions pour réaliser des tâches ont besoin d’être données de façon imprécise. Oui, vraiment !
Par exemple, « Trouvez les visages humains sur cette photo ». Pour cela vous ne décrivez pas la manière dont les visages sont reconnus et de quelle façon les visages humains différent de ceux des chiens. A la place, ce que vous faites est de montrer au robot plusieurs photos et d’ajouter : « Ces choses-là sont des humains , voici un visage humain, et ceux-ci sont des chiens ; à présent débrouille-toi pour le reste ! » Et ceci, en résumé, est la « liberté de créativité » nommée l’apprentissage automatique.
AA + CS = Love
Sans l’apprentissage automatique (AA), pas un seul éditeur en cybersécurité n’aurait survécu à ces dix dernières années (à moins que la détection soit simplement copiée d’autres). Cependant, certaines startups présentent l’AA comme une révolution dans la cybersécurité (CS), c’est-à-dire une révolution qu’elles auraient « initié et dont elles seraient à l’origine ». Mais dans les faits réels, l’AA s’applique dans la cybersécurité depuis plus d’une dizaine d’années, sans toute cette fanfare marketing.
L’apprentissage automatique est une discipline sur laquelle se sont penchés des milliers de thèses de doctorat et manuels universitaires, il est donc dur de tout résumer dans un seul et même article. Même en plusieurs. Mais qu’importe, avez-vous vraiment besoin mes chers lecteurs, de tous les détails techniques académiques ? Bien sûr que non. Donc, à la place, je vous parlerai de quelque chose d’une plus grande utilité, et dont je ferai un résumé dans cet article de blog : les éléments les plus savoureux, juteux, importants et incroyables de cette chose appelée apprentissage automatique selon notre perspective (KL).
Au début de « l’aventure », nous utilisions divers modèles mathématiques d’automatisation uniquement pour des besoins internes ; par exemple, pour l’automatisation de notre station de travail d’analystes de malwares (pour détecter les éléments les plus importants depuis le flux d’informations), pour la clusterisation (grouper des objets selon des attributs) et pour l’optimisation de robots d’indexation (déterminer la priorité et l’intensité de l’indexation à travers des millions d’URL basées sur la pondération de différents facteurs).
Lorsqu’on applique des méthodes d’apprentissage automatique à de réelles tâches, un grand nombre de difficultés et de subtilités apparaissent
Plus tard, il est certain que sans l’introduction de telles technologies intelligentes dans nos produits, le flux des menaces informatiques nous submergera. Ce dont nous avions besoin c’était de robots qui pouvaient répondre rapidement et avec précision à certaines questions complexes, telles que : « Hé robot, montre-moi les fichiers les plus suspicieux, déterminés en fonction de ces exemples ». Ou : « Hé robot. Regarde, voici à quoi ressemblent les procédures heuristiques efficaces, celles qui détectent des dizaines de milliers d’objets. Ce que tu dois faire c’est de trouver des caractéristiques communes dans d’autres échantillons malveillants, et ensuite mettre en place ces mêmes procédures toi-même, seulement sur différents objets ».
Mais attendez…
Avant que vous ne pensiez que tout ceci est simple : Lorsqu’on applique des méthodes d’apprentissage automatique à de réelles tâches, un grand nombre de difficultés et de subtilités apparaissent. Surtout en cybersécurité : l’informatique clandestine invente sans cesse de nouveaux types d’attaques, donc qu’importe à quel point un modèle mathématique est efficace, il a besoin d’être sans cesse amélioré. Et ceci est une difficulté caractéristique principale de l’apprentissage automatique dans la cybersécurité : nous travaillons dans un environnement dynamique, complexe, dans lequel l’apprentissage automatique se heurte à la neutralisation constante dirigée contre lui.
Au milieu des années 2000, Kaspersky Lab a commencé à introduire l’apprentissage automatique dans ses produits finis
Dans un premier temps, toutes ces nouvelles attaques doivent être détectées. Bien évidemment, les hackers nous font rarement signe pour notre plaisir… Tout le contraire : ils essayent fermement de se cacher pour rester incognito le plus longtemps possible et ainsi tirer profit de leur activité sur la durée. La recherche permanente de telles attaques est coûteuse étant donné que les experts travaillent avec des outils extrêmement complexes et intelligents.
Deuxièmement, les analystes doivent dresser un robot pour calculer correctement ce qui est important et ce qui ne l’est pas. Et tout ceci est vraimmmmenntt complexe, juste un exemple : le problème du surapprentissage.
Un exemple classique du surapprentissage est le suivant : des mathématiciens créent un modèle pour reconnaître des images de vaches en utilisant plusieurs images de l’animal. Eh bien, le modèle reconnaît des vaches ! Mais dès qu’ils commencent à obscurcir l’image, le modèle ne reconnaît plus rien… Par conséquent, ils veulent savoir ce qui s’est passé. Et ce qu’ils découvrent c’est que l’algorithme est devenu « trop intelligent » (en quelque sorte) et qu’il commence à se tromper lui-même : il s’entraîne sur les photos de la pelouse où les vaches broutent !
Par conséquent, ajouter des « cerveaux » à des technologies est un vrai challenge ; il s’agit d’un processus long, complexe fait d’essais et d’erreurs demandant une combinaison d’au moins deux types d’expertise : une en science des données et l’autre en cybersécurité. Au milieu des années 2000, nous avons accumulé les deux, et avons commencé à intégrer l’apprentissage automatique dans nos technologies de « combat » sur nos produits.
Depuis, l’automatisation dans nos produits s’est considérablement développée. Différentes approches mathématiques ont été introduites dans les produits et composants à grande et à petite échelle de notre gamme : l’anti-spam (classement des e-mails basés sur le degrés des spams ; l’anti-hameçonnage (reconnaissance heuristique des sites d’hameçonnage), le contrôle parental (en identifiant du contenu indésirable), l’anti-fraude, la protection contre les attaques ciblées, l’activité de surveillance, et plus encore.
Pas si vite, M. Smith
Après avoir lu toutes les prouesses de l’apprentissage automatique, il pourrait surgir la tentation de mettre en place un tel algorithme intelligent de machine directement dans l’ordinateur client et de le laisser tel quel : puisque l’algorithme est intelligent, laissons-le apprendre. Cependant, dans le jeu de l’apprentissage automatique, il n’y a pas de place pour un cavalier seul. Voilà pourquoi :
Premièrement, une telle approche est limitée en termes de performance. L’utilisateur a besoin d’un équilibre raisonnable entre la qualité de protection, la vitesse, le développement de technologies existantes et l’ajout de nouvelles (peu importe leur niveau d’intelligence) qui épuisera inévitablement les ressources du système.
La performance, la stabilité de protection et l’autodéfense sont les éléments clés contre l’apprentissage automatique isolé
Deuxièmement, un tel « isolationnisme » (pas de mise à jour, pas de nouveau matériel didactique) réduit inévitablement la qualité de protection. L’algorithme doit apprendre régulièrement sur des nouveaux types de cyberattaques ; faute de quoi ses capacités de détection deviendraient vite obsolètes étant donné que « le paysage des menaces est constamment en train de changer ».
Troisièmement, une concentration de toutes les technologies de « combat » sur un ordinateur donne aux hackers de plus grandes possibilités d’étudier les moindres détails de la protection et d’ensuite développer des méthodes pour la contrer.
Ça c’était le Top 3 des raisons, mais il en existe plein d’autres encore.
Que doit-on donc faire ?
C’est plutôt simple : mettez toute l’artillerie lourde (les technologies de ressources les plus intensives et les plus robustes de l’apprentissage automatique) dans un endroit beaucoup plus sophistiqué que les ordinateurs des utilisateurs ! Pour créer un « cerveau à distance », il suffit d’étudier la base de données de millions d’ordinateurs clients, dont il serait capable de reconnaître rapidement et avec précision une attaque et fournir la protection requise…
Petits nuages cotonneux
Par conséquent, il y a dix ans nous avons créé KSN (17 brevets et dépôts de brevet), le fameux « cerveau à distance ». KSN est une technologie du cloud computing dotée d’une infrastructure avancée sur n’importe quel ordinateur protégé, qui utilise peu de ressources endpoint et augmente la qualité de protection.
En résumé, KSN est une poupée russe : le Cloud comporte beaucoup d’autres technologies intelligentes pour lutter contre les cyberattaques. Il inclut également des systèmes de « combat » et développe sans cesse des modèles expérimentaux. J’ai également écrit à propos de l’un d’entre eux : Astraea (brevets US7640589, US8572740, US7743419), qui depuis 2009 analyse automatiquement des activités sur des ordinateurs protégés afin de détecter des menaces inconnues. Aujourd’hui, Astraea traite plus d’un milliard d’activités par jour, en faisant des calculs d’évaluation pour des dizaines de millions d’objets.
Même si les technologies du cloud computing ont prouvé leur supériorité, elles sont malgré tout autonomes, des systèmes isolés vendus. Ces dernières ont causé un lieu d’apprentissage automatique préalable et ont rarement été mises à jour depuis qu’elles sont localisées sur l’ordinateur client. Allez savoir.
Mais attendez.
99,9% des cybermenaces que nous analysons utilisent les algorithmes d’infrastructure alimentés par l’apprentissage automatique
Ces entreprises produisant ces produits isolés affirment que grâce à l’apprentissage automatique, elles sont capables de détecter la « nouvelle génération de malwares » sans mise à jour régulière. Mais personne ne s’intéresse à la détection, étant donné qu’elle ne protège que des surfaces « insignifiantes » qui promettent des gains économiques insuffisants aux hackers (trop peu d’utilisateurs = pas intéressés). Parfois sans doute, ils détectent ci ou ça, mais vous n’en n’entendrez jamais parler. Ce n’est pas comme s’ils n’avaient jamais découvert aucun méga, comme les attaques d’espionnage avancées, telles que Duqu, Flame ou Equation.
Aujourd’hui, nous analysons 99,9% des cybermenaces en utilisant nos algorithmes d’infrastructure qui marchent grâce à l’apprentissage automatique. Le laps de temps entre la découverte d’un fonctionnement suspicieux sur un dispositif protégé et la sortie du nouveau « bloc » dure en moyenne 10 minutes. Ceci, bien sûr, si on n’a pas déjà détecté l’élément fautif avec une protection proactive (par exemple, la protection automatique contre les exploits). Il y a eu des exemples, comme, entre le moment de trouver un objet suspect et le problème de mise à jour, où se sont écoulées 40 secondes, provoquant des provocations sur des forums clandestins : « Comment ont-ils fait pour nous démasquer si vite ? On ne peut pas continuer ! ».
En résumé : cloud infrastructure + apprentissage automatique = protection ULTRA efficace. Même avant, nous faisions rarement bien lors des tests indépendants ; mais depuis KSN, nous sommes devenus incontestablement le Nº1. De plus, nous avons maintenu des niveaux très bas de faux positifs, et nous sommes parmi les meilleurs indicateurs de l’industrie en ce qui concerne la rapidité de détection.
Grand cru vs piquette
Il semblerait qu’un remède universel ait été trouvé contre les méchants de l’informatique ! Un client-intercepteur d’un côté sur le point d’arrivée (endpoint) et tout le travail intensif de l’autre sur le Cloud. Mais non. Si jamais il y avait des problèmes de réseau, le point d’arrivée (endpoint) ne serait pas protégé. En fait, la pratique a démontré que l’environnement idéal où demeurent les technologies intelligentes se trouve entre les deux extrêmes, en adoptant une combinaison de paysages autonomes et du Cloud.
Ensuite, il y a eu cette idée comme quoi l’apprentissage automatique prendrait la place de toutes les autres approches du paradigme total de la sécurité. Autrement dit, mettre tous ses œufs dans le même panier.
Mais que se passera-t-il une fois que les hackers comprendront comment fonctionne l’algorithme et apprendront comment détourner la protection ? Cela voudrait dire que tous les modèles mathématiques devraient être ajustés et qu’une mise à jour devrait être effectuée sur le dispositif protégé. Et pendant que le modèle serait ajusté et la mise à jour envoyée/reçue, l’utilisateur serait confronté à lui-même face à une cyberattaque, sans protection.
L’apprentissage automatique n’est pas une solution miracle : la meilleure protection est une combinaison de différentes technologies, à tous les niveaux, en prenant en compte tous les vecteurs d’attaque
La conclusion est évidente : la meilleure protection est une combinaison de différentes technologies, à tous les niveaux, en prenant en compte tous les vecteurs d’attaque.
Et finalement, la chose la plus importante : l’apprentissage automatique est créé par les Hommes, des experts dotés de grandes connaissances en matière d’analyse et de données sur les dangers informatiques. On ne peut pas avoir l’un sans l’autre. Tout n’est qu’une question d’intelligence humachine.
Et il s’agit d’un long processus fait d’essais et d’erreurs qui dure plusieurs années. C’est comme un grand cru arrivé à maturité, il sera toujours meilleur que la piquette de l’an passé, peu importe la beauté du label de la piquette. Plus tôt vous vous aventurez sur la longue route sinueuse de l’apprentissage automatique et plus vous avez de chances d’avoir les experts les plus expérimentés, les meilleures technologies, la protection la plus fiable. Et ce n’est pas seulement mon avis. C’est confirmé par les tests, les investigations/recherches et les clients.
Titre bonus : O tempora o mores!
Le modèle commercial de certaines startups en sécurité est clair : « qu’importe combien vous gagnez, l’important c’est que ce vous valez« . Leur objectif est une effervescence d’une activité marketing intense fondée sur des provocations, des manipulations, et du faux, tout pour faire éclater des bulles d’espoir.
Si une startup n’est pas fondée sur la supercherie, elle se rendra sûrement compte que sans une protection à plusieurs niveaux, sans l’application de toutes les technologies modernes de protection, et sans le développement de notre propre expertise, elle est vouée à l’échec ; parce que l’investissement monétaire et le « crédit de confiance » des utilisateurs touchent à leur fin.
D’un autre côté, il est difficile de concevoir un bon produit de sécurité qui comble toutes les attentes, voire impossible de nos jours. Ce n’est pas tellement d’argent dont vous avez besoin, mais plutôt d’un cerveau et de temps. Je suppose que c’est pour cela que certaines startups décident de commencer petit et de grandir par la suite.
Je suis sûr que tôt ou tard les startups « révolutionnaires » introduiront leurs propres technologies testées qui prouveront leur efficacité. Et les meilleures jeunes startups qui bâtiront une véritable expérience et accumuleront leur propre expertise, commenceront à répandre leur arsenal de protection afin de clore définitivement de potentiels scénarios d’attaques. En plaçant petit à petit leurs produits à un niveau professionnel, elles démontreront la corrélation de critères objectifs de la qualité adoptée dans la vraie cybersécurité.
#L’#apprentissage automatique est fondamental pour la cybersécurité. @e_kaspersky nous livre des faits intéressants a ce sujet#AI_OILTWEET