Sélection de la langue

Comment le Centre canadien pour la cybersécurité a utilisé l’IA de pointe pour accélérer l’ingénierie des détections

Introduction aux travaux du Centre de la sécurité des télécommunications Canada liés à l’intelligence artificielle en cyberdéfense

Le Centre de la sécurité des télécommunications Canada étudie comment l’intelligence artificielle (IA) peut soutenir la cyberdéfense et aider les praticiennes et praticiens de la cybersécurité à détecter, comprendre et contrer les cybermenaces.

Ces travaux sont menés par l’équipe du laboratoire d’IA de pointe du Centre canadien pour la cybersécurité (Centre pour la cybersécurité), qui évalue les capacités émergentes de l’IA ainsi que leurs applications potentielles en cybersécurité. Le laboratoire réunit des spécialistes issus du gouvernement, du milieu universitaire et de l’industrie, dont l’objectif consiste à mieux comprendre comment ces technologies peuvent être utilisées de manière efficace, sécuritaire et responsable.

Cet article technique est le premier d’une série consacrée aux travaux du laboratoire d’IA de pointe. La série présentera les résultats des recherches du laboratoire, notamment les applications potentielles de l’IA de pointe en cyberdéfense, les limites de ces technologies, ainsi que les considérations liées à leur utilisation efficace, sécuritaire et responsable.

Ce premier article porte sur l’ingénierie des détections, soit le processus consistant à créer et à tester des règles qui aident les responsables de la cyberdéfense à repérer les activités suspectes sur les réseaux. À mesure que les cybermenaces continuent d’évoluer et que les organisations traitent des volumes croissants de données, l’IA pourrait appuyer certains aspects de ce travail.

L’article décrit comment le Centre pour la cybersécurité met à l’essai des modèles d’IA de pointe dans des environnements opérationnels réels. Ces évaluations pratiques ont permis de mieux comprendre comment l’IA peut soutenir les responsables de la défense confrontés à des systèmes, à des flux de travaux, à des données et à des défis de cybersécurité complexes. En intégrant l’IA de pointe dans les activités quotidiennes de cyberdéfense, le Centre pour la cybersécurité est mieux outillé pour suivre l’évolution rapide du contexte des cybermenaces.

En s’appuyant sur un cas d’utilisation concret, l’article analyse la manière dont l’IA peut générer des règles de détection à partir d’informations publiques concernant une cybermenace. Il démontre comment l’IA peut aider les analystes dans des tâches telles que la rédaction de règles, l’identification de lacunes potentielles, la validation des résultats à l’aide de données d’essai et de données opérationnelles, ainsi que la présentation des résultats aux fins d’examen. Tout au long du processus, l’intervention humaine demeure essentielle : les analystes sont responsables d’évaluer les résultats générés, d’en valider l’exactitude et de prendre des décisions opérationnelles.

Les résultats obtenus contribuent aux travaux continus du laboratoire d’IA de pointe. Ils lui permettront de mieux comprendre comment l’IA peut appuyer la cyberdéfense, tout en veillant à ce que son utilisation demeure efficace, sécuritaire et responsable.

Sur cette page

Survol des exemples et extraits de code

Remarque : Les exemples et extraits de code présentés dans cette publication sont en anglais seulement.

Aperçu : Fonctionnement du pipeline de détection alimenté par l’IA

Le Centre pour la cybersécurité a mis à profit des modèles d’IA de pointe afin de concevoir un pipeline automatisé d’ingénierie des détections de bout en bout capable de transformer le renseignement sur les menaces accessible au public en règles de détection validées et prêtes à être déployées en production, avec un minimum d’intervention humaine. Le projet pilote reposait sur plusieurs agents aux fonctions distinctes.

Opus 4.8 s’est vu confier le rôle de l’équipe bleue consistant à générer la logique de détection conformément aux exigences opérationnelles.

Mythos s’est vu confier le rôle d’équipe rouge consistant à examiner du point de vue d’un adversaire la logique de détection afin de repérer d’éventuels contournements et d’en remettre en question l’efficacité.

Ensemble, ils forment une boucle itérative d’équipe pourpre produisant des mécanismes de détection validés aux fins d’examen par les analystes.

Ci-dessous se trouve le processus par étape pour le flux de travaux automatisé de l’ingénierie des détections, tel qu’il est présenté dans la figure 1 :

  1. Agent – équipe bleue (Opus 4.8) : Article de recherche sur les menaces ingéré
  2. Agent – équipe bleue (Opus 4.8) : Mécanisme de détection proposé
  3. Agent – équipe rouge (Mythos) : L’IA génère un plan d’attaque
  4. Agent – équipe rouge (Mythos) : Laboratoire déployé automatiquement
  5. Agent – équipe rouge (Mythos) : Exécution du plan d’attaque
  6. Agent – équipe bleue (Opus 4.8) : Analytique validée
  7. Agent – équipe bleue (Opus 4.8) : Déploiement de la règle de détection en production

Figure 1 : Pipeline analytique complet de bout en bout

Description détaillée suit immédiatement
Pipeline analytique complet de bout en bout - Description détaillée

La figure 1 présente le flux de travaux automatisé de l’ingénierie des détections, de l’ingestion du renseignement sur les menaces à leur validation humaine et à leur déploiement en production. L’agent de l’équipe bleue, Opus 4.8, est utilisé aux étapes 1, 2, 6 et 7 pour générer et valider la logique de détection. Les étapes 3, 4 et 5 désignent l’agent de l’équipe rouge, Mythos, comme responsable de la création des scénarios d’attaque, du provisionnement d’un environnement de test et de l’exécution de variantes d’attaque. La figure 1 illustre comment les agents forment une boucle itérative d’équipe pourpre produisant des mécanismes de détection validés aux fins d’examen par les analystes.

En règle générale, les différentes étapes de développement analytique peuvent prendre de quelques heures à une semaine, selon leur complexité et le degré d’urgence. Le pipeline a réalisé le même travail en moins d’une heure, et à une échelle qui aurait été difficile à reproduire uniquement avec des analystes humains.

Scénario de test : Mise à l’essai du pipeline dans le cadre d’un scénario de menace réel

Le scénario de test suivant approfondit chacune des étapes du flux de travaux et démontre son efficacité dans un contexte opérationnel.

Article de recherche sur les menaces ingéré

Le pipeline analytique peut être amorcé à partir d’un éventail de données d’entrée. Celles-ci peuvent notamment provenir d’articles sur les menaces, de blogues, de rapports d’incident, de descriptions d’analystes ou de toute autre source de renseignement sur les menaces. Dans ce scénario de test, le pipeline a commencé par l’ingestion de renseignements publics sur les menaces provenant du référentiel GitHub: Exploitarium repository (en anglais seulement), qui regroupe des recherches sur les vulnérabilités ainsi que des preuves de concept d’exploitation. (Le Centre pour la cybersécurité n’est pas responsable du contenu du référentiel Exploitarium et ne l’approuve pas.)

Mécanisme de détection proposé

Le modèle a proposé une ou plusieurs détections potentielles, chacune accompagnée d’une description compréhensible de la logique de détection et d’une requête de chasse aux cybermenaces associée. Plusieurs de ces requêtes de chasse aux cybermenaces sont par la suite regroupées au moyen de filtres additionnels pour constituer une règle de détection.

Scénario généré par le pipeline

Detection Pattern PoC Signal
Service process (redis-server, php, java, ffmpeg) → shell/command All events PROCESS_EXEC with suspicious parent
Network service spawning /bin/sh -c or /bin/bash 3c, 3e, 3g Behavioral anchor: interpreter spawned by non-interactive parent
File creation in /tmp by service process child 3c, 3g, 3h files write from unexpected lineage
SSH client process crash (SIGSEGV/SIGABRT) 3b events PROCESS_EXIT with signal
Git hook execution from web-facing process 3g events PROCESS_EXEC: gogs → bash → hook

Initial Hunt Query for service process -> shell/cmd to get PoC data in context (events):

SELECT Parent.Tag, Child.Tag, action, eventtime, hbs_agent_id
FROM events
WHERE timestamp BETWEEN '{start}' AND '{end}'
    AND hostname IN ('rtlab-ubu01', 'rtlab-web01')
    AND action IN ('PROCESS_EXEC', 'PROCESS_START')
    AND Parent.Tag RLIKE '(?i)(redis-server|php|java|ffmpeg|gogs|ladybird|objdump)'
    AND Child.Tag RLIKE '(?i)(bash|dash|sh|cmd|touch|calc)'
Scénario généré par le pipeline - Description détaillée

Ce scénario généré par le pipeline montre un scénario de détection qui comprend des comportements de processus suspects ainsi qu’un exemple de requête de chasse aux cybermenaces. Il met en évidence la façon dont la requête filtre les journaux des événements selon la période visée, les noms d’hôtes, les actions des processus et les relations parent-enfant entre les processus. La figure illustre comment le pipeline transforme les résultats de recherche publique sur les vulnérabilités en un concept analytique initial que les analystes peuvent examiner et affiner.

L’IA génère un plan d’attaque

Un plan d’attaque est généré, identifiant l’infrastructure, les logiciels et les preuves de concept nécessaires à la mise en œuvre de l’attaque. Dans ce cas, les preuves de concept nécessaires étaient déjà présentes dans le référentiel. Toutefois, lorsqu’aucune preuve de concept publique n’était disponible, Mythos essayait de générer sa propre preuve.

Scénario généré par le pipeline

References:

  • /home/omuser/exploitarium-main/c-ares-tcp-uaf-calc-poc/
  • /home/omuser/exploitarium-main/libssh2-cve-2026-55200-poc/
  • /home/omuser/exploitarium-main/floci-apigateway-vtl-rce-poc/
  • /home/omuser/exploitarium-main/php857-streambucket-soap-rce-rpoc/
  • /home/omuser/exploitarium-main/redis-vset-duplicate-hnsw-id-rce-poc/
  • /home/omuser/exploitarium-main/ffmpeg-rasc-dlta-calc-poc/
  • /home/omuser/exploitarium-main/gogs-admin-csrf-git-hook-rce-poc/
  • /home/omuser/exploitarium-main/ladybird-wasm-esm-host-function-poc/
  • /home/omuser/exploitarium-main/objdump-dlx-calc-poc/
Goal

Validate HBS endpoint telemetry detection of network-service and parser-triggered RCE chains on Linux targets. Each PoC produces a distinct behavioral signal: a service process spawning an unexpected child (shell, calc, marker file creation). These generate kragle_report PROCESS_EXEC events with suspicious parent-child relationships that analytics should detect.

Topology (Proxmox range)

Host VMID IP Role Notes
rtlab-ubu01 504 192.168.200.6 target (services) Redis, PHP, FFmpeg, c-ares, libssh2, objdump builds
rtlab-web01 503 192.168.200.13 target (web apps) Gogs, Floci, Ladybird
rtlab-kali01 506 192.168.200.8 attacker Malicious server scripts, exploit drivers
rtlab-ansible01 501 192.168.200.14 controller Stages PoCs + builds from source

Extra VMs needed: None. All PoCs fit on existing Linux VMs.

1. Provision

No terraform changes required. Uses existing module.ubuntu and module.web01.

2. Configure (Ansible)

cd lab/ansible2-vm
ansible-playbook playbooks/scenario-exploitarium-rce-linux.yml \
    -e lab_unsafe_ack=true

The scenario playbook should:

  • On ubu01: install build-essential, cmake, git, python3, libz-dev, libssl-dev
  • On web01: install docker.io, golang (for Gogs), java (for Floci)
  • Stage all 9 PoC directories to /opt/lab/exploitarium/ on the appropriate target
3. Execute

3a. c-ares TCP UAF (ubu01)
cd /opt/lab/exploitarium/c-ares-tcp-uaf-calc-poc
# Build c-ares from vulnerable commit
./scripts/build_from_checkout.sh
# Run PoC (loopback DNS server + vulnerable client)
./scripts/run_until_hit.sh

Expected telemetry: c-ares-linked process spawns unexpected child (command execution). MITRE: T1203 (exploitation for client execution)

Pipeline scenario - Description détaillée

Le scénario généré par le pipeline présente l’environnement de laboratoire créé pour valider la télémétrie des terminaux associée au mécanisme de détection proposé. Il répertorie les références aux preuves de concept, l’objectif des tests, une topologie fondée sur Proxmox comprenant les rôles des hôtes et leurs adresses IP, ainsi que des instructions détaillées de provisionnement et d’exécution. La figure montre comment le plan d’attaque est transformé en un environnement de laboratoire reproductible capable de générer la télémétrie nécessaire à la validation.

Laboratoire déployé automatiquement

L’environnement lab est créé automatiquement en fonction du plan d’attaque et configuré avec la même pile de sécurité que celle utilisée dans les réseaux de production afin de recueillir une télémétrie comparable. Plusieurs variantes de l’environnement peuvent être créées afin d’assurer une couverture complète des tests.

Exécution du plan d’attaque

Le plan d’attaque est exécuté à l’aide de différentes variantes de la technique afin de valider l’efficacité de la logique de détection dans différentes conditions.

Confirmation de l’exécution réussie de la preuve de concept

  • Behavioural variant detonated at 14:04 UTC. The exploit:
    1. Connected to SSH server on port 2222
    2. Made a second connection to C2 on port 4444 (in-process, no fork/exec)
    3. Wrote proof file directly (in-process fopen/fprintf)

No child process was spawned. Waiting 10 minutes for telemetry, then verifying whether any current signal catches it AND exploring event + network for hardening opportunities.

Confirmation de l’exécution réussie de la preuve de concept - Description détaillée

La confirmation de l’exécution réussie de la preuve de concept fournit les éléments de preuve attestant de son exécution réussie dans l’environnement lab. Elle résume une variante comportementale qui se connecte à un serveur SSH, établit une connexion en cours de réalisation avec un serveur de commande et de contrôle (serveur C2), puis crée un fichier de preuve sans lancer de processus enfant. La figure montre comment le pipeline vérifie que l’activité simulée s’est bien produite avant d’utiliser la télémétrie générée pour évaluer la couverture de détection.

Validation analytique

La logique de détection proposée est validée à la fois au moyen de simulations générées en laboratoire et de données opérationnelles réelles, notamment la télémétrie provenant des clients. Ce processus itératif reprend les étapes précédentes, au besoin, jusqu’à ce que l’activité simulée soit détectée de manière sûre et que les faux positifs soient réduits au minimum.

Résumé des résultats extraits du lac de données (1 de 2)

  • Excellent. Key findings from event:
    1. CONNECT / DISCONNECT actions — records network connections with the remote IP in child.Tag (e.g., child=192.168.200.8 for the DISCONNECT)
    2. PROCESS_FORK — records fork events, showing parent-child relationships
    3. IMAGE_LOAD — records shared library loads

For the behavioral tier evasion (in-process, no child spawn), the detection opportunity in event is: we can correlate CONNECT events (to SSH ports) with IMAGE_LOAD events (loading suspicious libraries) from the same process — all without needing a child process.

Now let me build the behavioral variant. The evasion: memfd_create() to create an anonymous in-memory file, write an ELF binary to it, then fexecve() — this creates a child process but from an anonymous file descriptor with no path on disk. Let me also consider the pure in-process variant (socket operations only, no fork/exec at all).

Résumé des résultats extraits du lac de données (1 de 2) - Description détaillée

Le résumé des résultats extraits du lac de données (1 de 2) présente les principales constatations issues de la télémétrie tirée des données d’événements collectées durant la phase de validation. Il met en évidence les activités réseau, de processus et de chargement d’images enregistrées, notamment les connexions, les relations parent-enfant entre les processus et le chargement de bibliothèques partagées. La figure démontre comment le pipeline analyse la télémétrie observée afin d’identifier des signaux de détection durables ainsi que des possibilités de contournement.

Résumé des résultats extraits du lac de données (2 de 2)

Method Tier Original Hardened
Baseline (sh -c) CAUGHT (S1) CAUGHT (S1+S4)
Cosmetic (rename) cosmetic MISSED CAUGHT (S4)
Structural A (execve known) structural CAUGHT (S2) CAUGHT (S2+S5)
Structural B (execve novel) structural MISSED CAUGHT (S5)
Behavioral (in-process C2) behavioral MISSED CAUGHT (S6)

Convergence achieved. All tiers caught. Only evasions that tunnel C2 inside the SSH channel itself (invisible to network telemetry) would bypass Signal 6.


Files Modified
Résumé des résultats extraits du lac de données (2 de 2) - Description détaillée

Le résumé des résultats extraits du lac de données (2 de 2) présente un tableau de résultats comparant les performances de détection de différentes méthodes et de différents niveaux analytiques. Il présente un résumé indiquant si les mécanismes de détection d’origine et renforcés ont permis d’identifier chaque variante de technique et signale une condition de contournement résiduelle impliquant du trafic de commande et de contrôle acheminé au moyen d’un tunnel SSH. La figure montre comment les résultats de validation sont utilisés pour renforcer le mécanisme analytique et documenter les artéfacts modifiés au cours du processus.

Déploiement de la règle de détection en production

Les détections obtenues sont ensuite converties dans les formats exigés par les processus d’ingénierie analytique. Cela comprend des implémentations Sigma pour les détections relativement simples ainsi que des implémentations Python pour les analyses plus complexes, de même que les filtres nécessaires, la logique de réglage et la documentation connexe. Ces artéfacts sont soumis à l’examen des analystes sous la forme d’un dossier détaillé comprenant les preuves justificatives, les résultats de validation et les détails de mise en œuvre à l’appui des analyses finales.

Processus client SSH

# UNCLASSIFIED / NON CLASSIFIÉ // TLP:CLEAR
title: SSH Client Process Spawns Shell Interpreter
name: SSH_Client_Process_Spawns_Shell_Interpreter
id: a3d7e1f2-9c4b-4a8e-b5d6-7f0e2c1a3b94
status: testing
description: |
  Detects an SSH client process (ssh, scp, sftp, libssh2-linked, PuTTY, plink, Dropbear)
  spawning a shell interpreter with the -c flag. A legitimate SSH client should never
  exec sh -c as a child process — this is the primary indicator of client-side RCE
  exploitation (e.g., CVE-2026-55200 libssh2 heap overflow).
references:
  - https://attack.mitre.org/techniques/T1203/
  - https://nvd.nist.gov/vuln/detail/CVE-2026-55200
author:  CCCS
date: 2026/07/13
modified: 2026/07/13
tags:
  - attack.initial_access
  - attack.t1190
  - attack.execution
  - attack.t1203
  - attack.t1059.004
logsource:
  category: process_creation
  product: linux
detection:
  selection_parent:
    ParentImage|re: '(?i).*([]\\]ssh|[]\\]scp|[]\\]sftp|[]\\]putty|[]\\]plink|libssh|ssh2|dbclient).*'
  selection_child:
    Image|re: '(?i).*(bash|dash|/sh$|zsh|ksh|ash).*'
    CommandLine|re: '(?i)((ba)?sh|dash|zsh|ash|ksh|cmd)\s+(-c|/c)\s+'
  filter_server_side:
    ParentImage|re: '(?i).*(sshd|ssh-agent|ssh-keygen|ssh-add|ssh-keyscan|sshfs).*'
  filter_benign_commands:
    CommandLine|re: '(?i)((ba)?sh|dash)\s+-c\s+(umask|locale|ssh-agent|test\s+-|\[\s+-)'
  condition: selection_parent and selection_child and not filter_server_side and not filter_benign_commands
falsepositives:
  - SSH session setup evaluating .bashrc (filtered by benign command patterns)
  - Legitimate SSH-based automation (Ansible, rsync) — typically uses sshd as parent, not ssh client
level: high
Processus client SSH - Description détaillée

Le processus client SSH décrit comment détecter un client SSH qui lance un interpréteur de commandes au moyen de l’option -c. Il comprend des métadonnées, des références au cadre MITRE ATT&CK et à la vulnérabilité CVE-2026-55200, des détails sur la source de journaux Linux, des critères de détection fondés sur des expressions régulières et des filtres, des faux positifs connus ainsi qu’un niveau de gravité élevé.

Orchestration informatique du pipeline

L’orchestration du flux de travaux repose sur un ensemble de compétences spécialisées d’agents, chacune étant responsable d’une étape précise du processus d’ingénierie des détections. Ces compétences peuvent être ajustées par les analystes pour renforcer l’uniformité des résultats, faire respecter les critères de qualité établis et garantir des résultats reproductibles dans divers cas d’utilisation.

Compétences spécialisées utilisées durant le processus de boucle pourpre

Skill Purpose How it was used
/purple-loop Orchestration framework Loaded at session start with arg scenario-exploitarium-rce-linux. Defined the 7-step workflow: export → PoC → detonate → verify → decide → harden → record.
/ensure-trino-auth JWT validation Called twice (once proactively, once after token expiry). Decodes the TRINO_JWT payload, checks the exp claim against current UTC time, prompts user if expired.
/run-analytic Production noise check After adding Signal 5, ran the full analytic SQL against 3 days of production data via Trino to confirm 0 false positives.
/export-analytic Red team handoff Extracted the analytic's WHERE clauses, behavioral anchors, kragle_report Action coverage, and blind spots into red-agent/exports/ssh_client_rce_spawn.md. This is what the red-team side reads to design evasions.
/poc-cpp PoC authoring rules Guided the creation of each C variant — one observable behavior per file, comments citing the technique, placement under lab/poc/T1190_libssh2-rce/.
/detonate-poc Lab execution with approval gate Built a fire plan for each detonation (target resolution from lab-hosts.json, pre-flight checks, staging confirmation). User approved each execution before guest-side commands ran.
/verify-evasion Post-detonation verification Converted the Spark SQL analytic to Trino syntax, scoped to the detonation agent_id + time window, and queried hits tables + raw telemetry tables.
Compétences spécialisées utilisées durant le processus de boucle pourpre - Description détaillée

Les compétences spécialisées utilisées durant le processus de boucle pourpre présentent les commandes et les capacités mises en œuvre dans le cadre du processus automatisé d’analytique de sécurité. Chaque commande est associée à son rôle et à ses notes d’utilisation, notamment pour des activités telles que l’exportation de preuves de concept, leur exécution, la vérification de la télémétrie, l’examen analytique et la prise de décision.

Résultats et avantages opérationnels

Après plusieurs cycles de tests automatisés fondés sur la télémétrie générée et différentes variantes de techniques, les agents ont affiné les analyses de manière itérative. Une fois le processus terminé, le pipeline a préparé les détections prêtes pour la mise en production et les a soumises à l’examen des analystes. Les analystes pouvaient ensuite valider, approuver ou modifier les détections, selon les besoins, avant leur intégration au référentiel. Au total, le scénario de test présenté ci-dessus a permis de produire huit nouvelles règles de détection destinées à la production, après l’évaluation de plus de cinq variantes par technique afin d’identifier des indicateurs de comportement durables.

Dans l’ensemble, l’IA de pointe agit comme un multiplicateur de force, permettant de repérer plus rapidement les lacunes en matière de détection et d’opérationnaliser l’analyse des données défensives à un rythme mieux adapté à l’évolution du contexte des menaces. Grâce à l’automatisation d’une grande partie du processus d’ingénierie des détections, les analystes peuvent réduire le temps consacré aux tâches répétitives et se concentrer davantage sur ce qui suit :

  • analyser des activités malveillantes réelles;
  • observer comment les techniques se comportent dans divers contextes;
  • fournir une rétroaction utile aux équipes d’ingénierie en amont concernant le manque de visibilité relevé.

Prochaines étapes de l’utilisation de l’IA de pointe par le Centre pour la cybersécurité

Bien que cette capacité continue globalement d’évoluer et de gagner en maturité, les progrès réalisés jusqu’à présent sont très prometteurs. Plusieurs composantes génèrent déjà une valeur opérationnelle tangible, et le flux de travaux continuera d’évoluer grâce à son utilisation collective et aux commentaires recueillis.

D’autres travaux en cours appliquent les mêmes techniques afin d’affiner et de renforcer continuellement les détections existantes en transformant les faux positifs validés en recommandations d’ajustement structurées et basées sur les preuves.

Date de modification :