L’apport de l’IA dans un système de cyber défense
janvier 2024 par Patrick Houyoux LL.M. ULB, Brussels, Trinity College, Cambridge, UK. President – Director PT SYDECO
Un cambrioleur qui veut pénétrer dans un immeuble, aussi bien gardé soit-il, finira toujours par arriver à ses fins : Aucun bastion n’est imprenable et toutes ces lignes de défense qu’on disait lors de la précédente guerre mondiale, imprenables, ont montré leurs limites.
Pourquoi en serait-il autrement lorsqu’il s’agit de systèmes numériques fortifiés dans lesquels les cyberattaquants cherchent à pénétrer ?
Alors, plutôt que de chercher à fortifier davantage ce qui finira toujours par ne pas pouvoir résister à l’ennemi, pourquoi ne pas changer d’approche et se concentrer sur ce qui peut et doit être protégé à l’intérieur de l’enceinte, à l’intérieur des systèmes ?
Lors d’une attaque, l’attaquant a toujours une longueur d’avance. Ainsi, si vous recherchez toutes les adresses internet qui ont été utilisées par des attaquants, ils pourront toujours revenir avec d’autres adresses et lorsqu’ils auront réussi à pénétrer dans la place forte, il sera trop tard pour bannir cette adresse devenue obsolète.
Ne dit-on pas que lors d’une attaque ZERO DAY il faut 275 jours pour créer un patch ?
Pendant ce temps, quels dégâts auraient pu être causés !
C’est pourquoi nous devons nous concentrer sur la sauvegarde de ce qui peut et doit absolument l’être et le recours à une technologie aussi avancée que les méthodes sophistiquées utilisées par les attaquants devient une nécessité.
Le recours à l’IA peut parfaitement jouer ce rôle et devenir la solution à ce défi.
Pour trouver la place de l’IA dans un système de défense (cybersécurité) contre les cyberattaques, il faut comprendre ce qu’est une cyberattaque, ce qu’elle cible et comment elle s’y prend pour atteindre ses objectifs.
Une cyberattaque est l’action menée par un individu, un groupe d’individus ou par un État en vue d’obtenir un gain qui n’aurait pas pu être obtenu par le recours à des moyens « conventionnels ».
Ce gain variera selon le but recherché.
Il peut être tout simplement de détruire, ce que son concurrent ou opposant possède, dans un esprit de vengeance ou dans celui d’acquérir ou conserver une place prépondérante dans un environnement défini (éradication des données et atteinte aux systèmes d’exploitation).
Il peut être d’obtenir des données d’une entreprise (fuite des données) pour en tirer un gain en monnayant leur non divulgation ou en les cryptant, toujours dans le même but (ransomware) ou, s’agissant d’un état ou d’un concurrent, pour acquérir une connaissance de projets ou technologies développés par la victime (espionnage).
Quels sont les moyens utilisés par les attaquants ?
Dans tous les cas, sans avoir égard au but recherché, l’attaquant devra trouver le moyen d’infiltrer dans le système de sa cible un outil (virus ou ver) qu’il pourra activer à distance en vue de détruire, de voler, de crypter ou d’espionner ou de prendre possession du système tout entier.
Ce qu’il fera pénétrer dans le système cible sera un code, lequel comportera toujours, une commande d’exécution sans laquelle il ne pourra mener son action. Ce code et sa commande d’exécution ne doivent pas nécessairement se trouver dans le même paquet d’attaque, ils peuvent être envoyés à des intervalles même éloignés dans le temps.
Comment faire entrer le code malveillant ?
Il existe un bon nombre de vecteurs que l’attaquant peut utiliser, lesquels vont du phishing, sous toutes ses formes, du social engineering (qui requièrent une action de la part d’une personne physique qui détient un code d’accès au système cible), aux systèmes qui ne requièrent aucune intervention humaine, tels la force brute (pour craquer les codes d’accès de la cible), les attaques menées via une chaine d’approvisionnement, l’exploitation des vulnérabilités d’applications (telles par exemple les ZERO DAY) et de systèmes accessibles en dehors du périmètre de l’entreprise, ...
Que fera l’attaquant une fois dans le système cible ?
Tout dépendra du but qu’il recherche :
– Espionnage d’état ou industriel : le but sera de voler les données de la cible en les faisant fuiter (leakage) ou en espionnant les actions des opérateurs en utilisant les accessoires tels la souris, le clavier ou encore la camera incorporée dans le moniteur).
– Vengeance ou élimination d’un concurrent : le but sera de détruire son système, en rendant inopérant tant le hardware que les logiciels et en détruisant les données.
– Gain en cryptant les données contenues dans les serveurs de la cible.
L’action de la cybersécurité tendra donc à protéger :
– Les données contre le cryptage et l’évasion (ransomware et leakage),
– Les composants des systèmes contre toute atteinte à leur intégrité (manipulation des souris, claviers, cameras dans le but d’espionner et/ou de gagner accès aux serveurs).
– Les systèmes eux-mêmes contre toute tentative de prise en mains par un attaquant.
Comment l’IA peut aider à protéger ?
Comme les attaquants utilisent tous les moyens possibles pour cacher leur intrusion et le côté malveillant des codes et ses commandes d’exécution, en utilisant notamment le procédé de l’obscurcissement (obfuscation) ou le cryptage, l’IA peut aider à découvrir les obscurcissements en analysant la suite logique des codes, à les désobscursir (deobfuscation) et à faire apparaître la vraie commande d’exécution cachée par l’obscurcissement.
Le système de désobscurcissement que nous avons créé chez PT SYDECO, utilisant l’IA, permet un résultat positif de plus de 98% dans la découverte des codes d’exécution cachés peu importe dans quel langage ils sont créés.
En ce qui concerne les paquets qui entrent dans le système cible et dont soit la signature, soit le contenu est crypté, là encore le système mis en place chez PT SYDECO, utilisant l’IA, permet d’éviter leur entrée dans le système ou d’éveiller l’attention de l’officier de sécurité selon le cas, toujours selon la même méthode de scan et d’analyse du contenu.
Le meilleur apport de l’IA dans un système de cyber défense, c’est la détection des codes d’exécution ce qui en soi est déjà une défense efficace contre toute tentative d’intrusion : Un virus sans son code d’exécution est inopérant. Et c’est en scannant toute entrée dans le système et tout ce qui circule dans le réseau et en l’analysant grâce à l’IA que l’on peut le mieux protéger ce système. Quelque soit le but recherché par l’attaquant, quelque soit le type d’attaque ou quelque soit la famille à laquelle le malware utilisé appartient.
L’IA peut par ailleurs jouer un rôle clé dans la détection précoce des attaques et la protection des systèmes.
En conclusion, l’on peut donc dire que l’IA a sa place dans un système de cyber défense en ce qu’elle permet de scruter, analyser ce qui entre dans un système en vue de ne laisser entrer que ce qui n’est pas suspicieux. L’IA peut par ailleurs jouer un rôle clé dans la détection précoce des attaques et donc du contenu des systèmes, si pas des systèmes eux-mêmes.
L’on ne peut ignorer qu’une erreur est toujours possible et qu’il y aura toujours des failles dans des applications.
Quand on s’attache à défendre ce qui peut et doit l’être dans un système, que l’attaque soit de type ZERO DAY ou non, qu’il s’agisse d’une attaque de type ransomware ou en vue d’installer une porte dérobée, on obtiendra des résultats nettement meilleurs que si on perdait son temps à traquer l’adversaire avant qu’il ne soit entré dans le système.