L’IA défensive

Dans un premier article, nous avons brièvement expliqué ce qui se cache derrière le terme « d’intelligence artificielle (IA) » en décrivant quelques techniques de base utilisées en cybersécurité. Dans un deuxième article, nous avons traité de l’utilisation de l’IA pour faciliter les attaques contre des systèmes informatiques. En particulier, nous avons détaillé comment l’IA pourrait modifier ou modifie déjà plusieurs vecteurs d’attaques.

Dans le dernier article de cette série, après quelques considérations générales, nous passons en revue des domaines de la cyber-défense tirant parti ou pouvant tirer parti de l’IA tels que le renseignement sur les cyber-attaques, la détection et l’identification de cyber-attaques, ou encore la réponse à des incidents de cybersécurité.

Introduction

Dès 2018, Schneier estimait que la cyber-défense allait bénéficier d’avantage des techniques d’IA que la cyber-offensive, car selon lui, la défense était dans une moins bonne position que l’attaque, précisément à cause de ses importants composants humains. De plus il prédisait que les adversaires allaient continuer d’améliorer leur stratégie d’attaque grâce à l’automatisation, de sorte que le seul moyen efficace d’atténuer ces attaques à la vitesse de la machine serait l’automatisation. C’est une thèse également défendue par Sarker et al. qui soutiennent que l’IA pourrait révolutionner le domaine de la cybersécurité, en offrant non seulement une automatisation des tâches à grande échelle, mais aussi en aidant les experts humains à mieux comprendre une situation et à prendre des décisions dans des scénarios réels.

La société Gartner s’attend quant à elle, à ce que l’IA contribue à une réduction de 30% du taux de faux positifs dans les tests d’applications et la détection de menaces avant 2027. Les nouveaux outils récemment annoncés par des entreprises importantes du marché, dont CrowdStrike, pourraient en effet, selon Gartner aider à améliorer la productivité et les compétences des administrateurs. Les idées ne manquent pas, mais comme le soulignent les auteurs de la note de la société de conseil, les fonctionnalités de recherche et d’analyse existent déjà et la nouveauté réside essentiellement dans l’interactivité entre les analystes humains et la machine.

Taddeo et al. temporisent l’engouement pour l’IA dans la cyber-défense en faisant remarquer que placer sa confiance dans l’IA pour la robustesse, la résilience et la réponse des systèmes de cybersécurité n’est pas méritée et insistent qu’une forme de contrôle est nécessaire pour réduire les risques de sécurité. Les auteurs utilisent le terme de confiance dans son terme le plus pur : une décision de déléguer, sans forme de contrôle ou de surveillance, une acceptation d’un risque de dépendance. Ils pointent le manque de transparence de l’IA et l’évolution d’un système d’IA dans le temps comme des limites importantes et recommandent notamment une mise en œuvre « maison » pour les infrastructures nationales critiques et une surveillance permanente du système d’IA et de son évolution.

Dasgupta et al. ont passé en revue la plupart des publications récentes utilisant l’IA dans le domaine de la cybersécurité. Un point crucial reste selon eux la performance (en termes de vitesse de réaction, mais également de réduction du taux de faux-positifs et faux-négatifs) des outils de détection qui peut avoir des conséquences importantes sur le système où ils sont déployés.

Dans les sections suivantes nous regardons plus en détails différents domaines de la cyber-défense pouvant tirer parti de l’IA.

Renseignement sur les cyber-attaques

Le renseignement sur les cyber-menaces est le processus de collecte, d’analyse et de diffusion d’informations sur les cyber-menaces actuelles et émergentes, telles que les acteurs, les cibles, les techniques, les outils, etc. Ces renseignements peuvent aider les organisations à se défendre de manière proactive contre les cyber-attaques en fournissant des informations exploitables et opportunes aux équipes de sécurité.

De nos jours, le renseignement d’origine de sources ouvertes (ROSO – « Open-Source Intelligence (OSINT) ») est largement adopté par les gouvernements et les services de renseignement pour mener leurs enquêtes et lutter contre la cyber-criminalité. Le projet européen DiSIEM avait pour premier objectif l’intégration de diverses sources de données ROSO dans les systèmes de gestion des informations et événements de sécurité (« Security Information and Event Management (SIEM) ») pour aider à réagir aux vulnérabilités récemment découvertes dans l’infrastructure ou même à prédire d’éventuelles menaces émergentes.

En principe un modèle de langage massif (« Large Language Models (LLM) ») entraîné sur de larges sources de données comme les forums web, les sites spécialisés sur les vulnérabilités et incidents, ou les réseaux sociaux, pourrait être utilisé afin de générer des rapports de renseignement sur les cyber-menaces. Les LLM pourraient donc être utilisés pour accéder plus rapidement à de la documentation technique, des renseignements d’intelligence provenant de sources spécialisées.

Par exemple Sewak et al. affirment que les LLM peuvent automatiquement extraire, valider et résumer des informations provenant de diverses sources, telles que des rapports de menaces, de la littérature, des scripts, etc. Ils montrent notamment comment les LLM peuvent identifier les intentions malveillantes dans des scripts. Leur approche permettrait de découvrir plus de 90%3 des scripts effectivement malveillants dans une tâche de détection.

Détection et identification de cyber-attaques

L’IA peut jouer un rôle dans la détection et l’identification des cyber-attaques en améliorant les systèmes de détection d’intrusions et de logiciels malveillants et en permettant de mieux gérer les alertes.

Détection d’intrusions

Selon le NIST, un système de détection d’intrusions (IDS) se réfère au « processus de surveiller les événements se produisant dans un système informatique ou un réseau et de les analyser pour des signes d’incidents possibles. » Bien que les premiers développements de tels systèmes se soient concentrés sur des approches par signature, en 1986, Denning publiait un modèle d’IDS basé sur la détection d’anomalies qui constitue encore aujourd’hui la base de nombreux systèmes. L’avantage principal des méthodes basées sur la détection d’anomalies est que celles-ci peuvent détecter des types d’incidents qui n’ont pas déjà été vus. Aujourd’hui ce sont les méthodes d’apprentissage automatiques non-supervisées qui sont couramment utilisées pour la détection d’anomalies : l’activité sur le réseau est comparée avec une ligne de base pré-entraînée et normalisée qui présente le comportement normal, ce qui permet au système de détecter des activités malveillantes inconnues, contrairement aux méthodes par signature.

Une approche est d’entraîner un réseau de neurones artificiels à apprendre si un trafic réseau est normal ou correspond à une classe d’attaques. En pratique cela demande les étapes suivantes :

  1. Un expert collecte un ensemble de données contenant à la fois le trafic normal du réseau de communication et des attaques.
  2. Sur une machine très puissante, un réseau de neurones est entraîné à classer la différence entre le trafic normal et le trafic d’attaque.
  3. Une copie du modèle appris lors de l’étape précédente est transférée sur le système opérationnel de détection d’intrusion de l’organisation.
  4. Le système de détection d’intrusions applique le modèle sur le trafic réseau observé.

Les choix de méthodes d’apprentissage sont nombreux, mais selon Appruzzese et al., les méthodes d’apprentissage non-supervisé sont particulièrement appréciées pour les systèmes de détection d’intrusion sur les réseaux de communication en raison de la difficulté et du coût d’obtenir des données étiquetées. Par ailleurs, selon ces auteurs, la supériorité des réseaux d’apprentissage profonds pour la détection d’intrusions, par rapport à d’autres techniques d’IA, n’est pas prouvée et la complexité et le coût de calcul supplémentaire ne justifient pas nécessairement leur adoption.

Voici quelques exemples d’utilisation de techniques non-supervisées utilisées pour la détection d’intrusions :

  • Bohara et al. utilisent plusieurs techniques de détection d’anomalies et notamment l’analyse en composantes principales (« Principal Component Analysis (PCA)»), le partitionnement en k-moyennes, et la détection de valeurs aberrantes basée sur l’écart absolu médian afin de détecter des mouvements latéraux sur un réseau. Ces auteurs atteignent un taux de vrais positifs (TPR) de 88.7% et un taux de faux positifs (FPR) de 14.1%.
  • Dans , les auteurs présentent une méthode pour générer automatiquement une liste grise d’hôtes externes qui ont une probabilité élevée d’être impliqués dans des activités de balisage malveillant par rapport à l’ensemble de tous les hôtes externes habituellement contactés par l’organisation protégée. Leur proposition s’appuie sur des techniques de regroupement appliquées aux flux de réseaux.
  • Afin d’adresser le problème de déséquilibre entre le nombre d’échantillons positifs et négatifs dans les journaux d’intrusion (très peu de trafic malveillant par rapport au trafic légitime), Yang et al. utilisent un réseau antagoniste génératif convolutif profond (« Deep Convolutional Generative Adversarial Network (DCGAN) ») afin de construire un système de détection d’intrusion en temps réel. Le DCGAN maintient un équilibre entre échantillons positifs et négatifs en générant de nouvelles données synthétiques. Afin de permettre l’analyse en temp réel, les auteurs utilisent des unités récurrentes fermées (« Gates Recurrent Units (GRU) »), qui sont plus efficaces qu’un réseau récurrent à mémoire court et long terme (LSTM) car utilisant moins de paramètres. Le système atteint une exactitude de 99,73%.

Enfin, les outils basés sur les modèles massifs de langage ont aussi commencé à faire leur apparition dans la détection d’intrusion. Par exemple, l’outil PentestGPT est un outil de tests d’intrusions optimisés par des LLM (en l’occurrence ChatGPT-4) et permet l’automatisation du processus de test d’intrusion en guidant les testeurs dans l’opération globale et les opérations spécifiques. PentestGPT a été testé avec succès sur « HackTheBox7 » et à travers diverses compétitions de capture de drapeau (« Capture the Flag (CTF) ») de niveau facile ou moyen.

Détection de logiciels malveillants

L’apprentissage automatique peut être utilisé à la fois pour l’analyse statique et l’analyse dynamique des logiciels malveillants. Cependant l’analyse statique est sujette à des contournements relativement simples en modifiant l’exécutable sans changer la logique sous-jacente ou avec des variantes plus avancées (p. ex. polymorphisme) modifiant l’exécutable de manière automatique.

Les analyses dynamiques combinées avec un apprentissage automatique s’avèrent plus efficaces. Mais il existe plusieurs limites à l’applicabilité des dernières avancées universitaires dans le domaine de l’apprentissage automatique à la détection de logiciels malveillants, notamment :

  • Mauvaise interprétation de la mesure de performance, en partie due à l’oubli de la fréquence de base – un biais cognitif lié aux lois statistiques;
  • Les bases de données de tests sont souvent vieilles de plusieurs années et ne tiennent donc pas compte des nouvelles méthodes de contournement mises en œuvre par les adversaires, ni des nouvelles interfaces de programmation applicatives disponibles. Selon [16], un grand nombre de travaux récents concernant l’apprentissage fédéré pour la détection d’intrusions, utilisent encore des bases de données publiques créée avant 2017, et donc avec des attaques ne reflétant pas nécessairement les réseaux de communication actuels.

Gestion des alertes

Le triage des alertes de sécurité est une tâche qui demande relativement beaucoup de temps, mais qui peut être accélérée en mettant des informations contextuelles à disposition des analystes afin que ceux-ci n’aient pas à passer d’un outil de journalisation ou d’analyse à l’autre afin de comprendre ce qui se passe. Par exemple : géolocalisation d’une adresse IP, nom de l’organisation contrôlant l’IP, âge du domaine, réputation d’une valeur de hachage d’un fichier, type de fichier correspondant, copie d’écran automatique d’une URL, informations sur l’hôte et son environnement, etc. Ces alertes pourraient aussi être enrichies directement par un LLM (p. ex. catégorisation, information issue des services de renseignement spécialisés, score de risque).

De plus des techniques d’apprentissage automatique peuvent être utilisées pour le filtrage, le triage, la priorisation et l’agrégation d’alertes, afin de faciliter le triage et la réponse aux incidents. Par exemple Su et al. proposent une méthode pour automatiser le filtrage des faux positifs en utilisant une estimation par noyau (« Kernel density estimation (KDE) »). Selon les auteurs, celle-ci réduit jusqu’à 75% le temps nécessaire pour la vérification des alertes.

Réponse à des incidents de cybersécurité

La réponse aux incidents est un élément clé de la stratégie de cybersécurité d’une organisation. Une réponse bien orchestrée peut contribuer à atténuer les dommages causés par une violation de la sécurité ou une cyber-attaque. Cependant, la rapidité et la précision de ces réponses sont primordiales. Les LLM peuvent contribuer à accélérer et à rationaliser ces processus, en fournissant des réponses automatisées et même en aidant à élaborer des plans d’intervention en cas d’incident. L’une des caractéristiques de l’architecture de ces LLM est leur capacité à générer du texte naturel, basé sur le contexte. Elle peut être exploitée pour créer un assistant de réponse aux incidents alimenté par l’IA, capable de fournir des conseils immédiats pendant un incident et de documenter automatiquement les événements au fur et à mesure qu’ils se déroulent. Par exemple, PaloAlto XSOAR utilise ChatGPT pour générer des guides permettant de gérer certaines attaques (voir Figure 1).

Dear Analyst,The following is an analysis for Incident No. #3332 by ChatGPT:1- Analysis (Incident Description):On Tuesday 2023-May-09 at 12:46:03 PM, a workstation with the hostname “testlab” was compromised through the MitreAttack technique of OS Credential Dumping by the Poseidon Group. The indicator of compromise, 31ebide7840a342fd468e558e5ab627bcb4c542a8fe01aec4d5ba01d539aOfc, has a malicious reputation.2- Impact Analysis:The compromised workstation may have granted the attacker access to sensitive information and credentials on the network, which could potentially lead to further attacks and data breaches. The Poseidon Group is a known advanced persistent threat (APT) group, and their attacks are often highly targeted and sophisticated, making it imperative to respond quickly and effectively to mitigate potential damage.3- Action or Recommendations:Isolate the compromised workstation: The first step in responding to a security incident is to isolate the compromised system from the network to prevent further damage or spread of the attack. The compromised workstation with the IP address 10.10.10.10 should be taken offline immediately to prevent the attacker from further accessing or exfiltrating sensitive information.Conduct a forensic investigation: A thorough forensic investigation should be conducted to determine the extent of the damage and whether any other machines on the network have been compromised. The investigation should aim to identify the initial point of entry, the scope of the attack, and any data that may have been exfiltrated by the attacker.Remediate and patch vulnerabilities: The investigation should identify any vulnerabilities or weaknesses in the security infrastructure that allowed the attack to take place and patch or remediate these as quickly as possible to prevent similar incidents from occurring in the future.Deploy additional security measures: Additional security measures may need to be deployed to prevent further attacks by the Poseidon Group or other APT groups. This may include deploying intrusion detection and prevention systems, implementing Two-Factor Authentication (2FA), and training employees on how to identify and respond to potential security incidents.Notify appropriate authorities: Depending on the sensitivity and nature of the data that may have been compromised, it may be necessary to notify appropriate authorities such as law enforcement or regulatory bodies.The company should review their incident response plan and determine the appropriate steps to take regarding notification and disclosure.—
Your SOC Team
Cortex XSOAR

Figure 1 – Informations proposée par XSOAR pour gérer une réponse à un incident de sécurité.

Ferrag et al. utilisent FalconLLM afin d’analyser la sévérité et l’impact potentiel d’une attaque identifiée par un système de détection d’intrusions en la comparant avec sa base de données interne. De manière similaire à PaloAlto XSOAR, l’outil permet également de proposer des stratégies d’atténuation potentielles et des procédures de rétablissement, pouvant ainsi guider une équipe d’intervention. Les réponses proposées restent cependant très générales et peuvent ne pas être utiles à un administrateur expérimenté (voir Figure 2).

Cyber Threats detected by SecurityBERT:SecurityBERT has detected a cyber threat in our industrial network: a Backdoor attack. Can you propose to me a mitigation solution?FalconLLM model incident response and recovery output:Yes, I can. There are a few steps that can be taken to mitigate the Backdoor threat. Firstly, it’s important to identify the source of the attack. This could be done by monitoring the network traffic and looking for any suspicious activity. Once the source has been identified, it’s important to block any further attempts to access the network. This can be done by implementing firewalls, intrusion detection systems, and other security measures. Additionally, it’s important to update all software and patches to ensure that the network is as secure as possible. It’s also a good idea to regularly audit the network for any potential vulnerabilities.

Figure 2 – Exemple de solution de stratégie d’atténuation proposée par FalconLLM.

L’IA générative peut également permettre d’automatiser certains aspects de l’analyse des cyber-incidents par les analystes d’un centre des opérations de sécurité. Par exemple, selon A. Krishnan, ChatGPT pourrait être utilisé pour décrire ce que fait un script Powershell (voir exemple en annexe). De manière similaire, ces outils permettant aussi de générer du code, il est donc possible d’envisager leur utilisation pour faciliter l’écriture de scripts d’analyse de journaux par des analystes (voir annexe).

L’automatisation de la réponse à des incidents est aussi envisagée, mais un problème important reste l’attribution de la responsabilité. Celle-ci est rendue d’autant plus difficile, qu’à ce jours les systèmes d’IA sont encore peu transparents et difficilement explicables.

Enfin, les rapports détaillés sur les incidents de cybersécurité jouent un rôle important pour aider les principales parties prenantes, notamment les équipes opérationnelles de sécurité, les responsables de la sécurité, afin de mieux comprendre et améliorer la posture de sécurité d’une organisation. Certains envisagent l’utilisation d’IA générative afin de synthétiser les journaux d’incidents et rédiger des rapports permettant d’agir plus rapidement.

Génération de code sécurisé

Les vulnérabilités de sécurité dans le code sont un problème récurrent affectant la plupart des logiciels et ayant un impact sur l’intégrité, la confidentialité et la disponibilité. L’utilisation de certains langages de programmation connus pour être moins susceptibles que d’autres à des problèmes classiques est recommandée (par exemple Rust plutôt que C). L’examen du code par d’autres programmeurs experts est aussi une méthode largement répandue.

Mais l’analyse de Ganseman conduit à se poser la question de l’utilité des LLM pour détecter des erreurs ou bogues dans du code existant ou pour aider à écrire du code plus sécurisé. La difficulté réside dans le fait, qu’à ce jour, il faut indiquer les endroits potentiels où le code n’est pas sûr, c’est-à-dire que c’est le développeur qui doit détecter où une amélioration est possible. Il se pourrait que dans un avenir proche, une base de code entière puisse être soumise à un examen de sécurité, mais pour l’instant, cela reste limité à la longueur du contexte et plus la question est précise, meilleure est la réponse.

Paradoxalement, Perry et al. ont rapporté dans une étude récente que, bien que les assistants augmentent la productivité des développeurs, les participants ayant accès à un assistant basé sur un modèle d’IA (en l’occurrence le codex-davinci-002 de OpenAI) écrivaient un code significativement moins sécurisé que ceux sans accès. Pire, les participants avec un accès à l’assistant étaient plus enclins à croire qu’ils écrivaient du code sécurisé, que ceux sans l’assistant. L’adoption d’assistants impose donc la mise en place de pratiques de revue de code et d’analyse statique systématiques.

Conclusion

Même si les progrès de l’IA sont fulgurants dans beaucoup de domaines, l’apport non-négligeable de l’IA à la défense des systèmes informatiques reste néanmoins limité : nous sommes en effet encore loin des outils où il suffirait de donner des terra-octets de divers journaux d’événements pour que rapidement les signes d’intrusions soient détectés avec très peu d’erreur.

Aujourd’hui les méthodes statistiques spécialisées et d’apprentissage automatique – comme par exemple la détection d’anomalies – continuent de faire l’objet de recherches importantes et sont ajoutées aux outils commerciaux de détection d’intrusion avec l’étiquette « IA. » Mais en y regardant de plus près, l’IA apparaît principalement comme un nouvel outil de « productivité » pour des professionnels de cybersécurité, contribuant à l’automatisation de certaines tâches de cyber-défense, ou facilitant la réponse à des incidents et le traitement des renseignements sur les menaces, mais ne remplaçant pas l’analyste humain.


Ce post est une contribution individuelle de Fabien A. P. Petitcolas, spécialisé en sécurité informatique chez Smals Research. Cet article est écrit en son nom propre et n’impacte en rien le point de vue de Smals.Cela t’intéresse de travailler chez Smals ? Jette un coup d’œil à leurs offres d’emploi actuelles.

newsletter

Abonnez-vous gratuitement à ITdaily !

Category(Required)
This field is for validation purposes and should be left unchanged.
retour à la maison