SSTIC 2023 – JOUR 1

Cette année encore, XMCO participe à la conférence SSTIC, conférence francophone sur le thème de la sécurité de l’information.

À cette occasion, XMCO vous propose chaque jour un résumé de quelques conférences qui nous ont marquées durant la journée.

From dusk till dawn: toward an effective trusted UI — Florent Valette, Patrice Hameau, Philippe Thierry

https://www.sstic.org/2023/presentation/from_dusk_till_dawn_toward_an_effective_trusted_ui/

La présentation par l’équipe LEDGER (Florent Valette, Patrice Hameau, Philippe Thierry) porte sur les trusted UI et comment utiliser un trusted UI afin d’isoler les actions sensibles. Le but est de proposer un environnement software et hardware sécurisé tout en passant par des chemins ou composants potentiellement non sécurisés.

Le domaine d’application concerne notamment les terminaux de paiement, les échanges d’identifiant d’administration et divers contrôles d’accès. Un consortium existe déjà pour le paiement : GlobalPlatform.

L’objectif principal est de maintenir la confidentialité, l’intégrité, l’authenticité et la non-répudiation des données traitées et transmises par le trusted UI.

L’isolation entre le monde secure et non-secure se fait par un secure element, un trusted SoC (enclave) et un SoC non sécurisé. L’enclave, ici un cortex M7, gère la communication entre le monde secure et les éléments hardwares ainsi que les entrées utilisateurs via une mailbox sécurisée. Lors du démarrage, celui-ci vérifie l’intégrité du boot, note les integrated peripherals nécessaire pour le bon fonctionnement et boot le système.

Le secure element n’accède pas directement aux éléments hardware via la technologie de paravirtualisation du noyau Linux.

La capture suivante présente l’architecture haut niveau de la solution :

Une preuve de concept existe sur un téléphone Android et les objectifs d’amélioration sont les suivants :

  • Amélioration de la portabilité
  • Possibilité d’ajout d’un coprocessor externe dans l’enclave sécurisée
  • Diffusion OpenSource
  • Ajout du secure element en dehors du SoC
  • Ajout du support d‘ARMv7 (RISC-V)
  • Ajout de code complètement statique dans l’enclave sécurisée

Ultrablue : contrôle d’intégrité du démarrage d’un PC via Bluetooth — Gabriel Kerneis, Loic Buckwell, Nicolas Bouchinet

https://www.sstic.org/2023/presentation/ultrablue/

Nicolas Bouchinet (ANSSI) a présenté la solution Ultrablue : User-friendly Lightweight TPM Remote Attestation over Bluetooth développée par Loïc Buckwell. Cette solution permet à des utilisateurs d’attester de l’intégrité du démarrage de leur ordinateur à partir d’un téléphone, via Bluetooth.

Il introduit tout d’abord le mécanisme de démarrage d’un système Linux. Ce mécanisme aboutit habituellement à l’entrée d’un mot de passe, pour déchiffrer le disque avant le déverrouillage de la session de l’utilisateur.

La problématique adressée ici est qu’avant l’entrée du mot de passe de l’utilisateur, des mécanismes liés au démarrage vont être utilisés (UEFI, Bootloader, etc.). Dans le cadre d’une attaque physique sur ces étapes de démarrage, ces composants peuvent être modifiés par un attaquant, et le poste de travail backdooré. Ainsi, le système pourrait être compromis malgré les mesures de sécurité en place (chiffrement du disque, mot de passe sur la session), et les données de la machine ou le mot de passe utilisés pourraient être exfiltrés.

L’objectif présenté ici est alors d’attester de l’intégrité de la chaîne de démarrage, en utilisant un serveur comme source de confiance. Le serveur choisi par la solution présentée est le téléphone portable de l’utilisateur, afin de s’abstenir de problématiques d’administration ou d’accès à un serveur central.

En communiquant avec le serveur, qui correspond à l’application installée sur le téléphone, il est alors possible d’authentifier et d’attester de l’intégrité des composants de démarrage. L’application a été développée en Go, et permet donc à un client Linux de communiquer avec l’application iOS ou Android. Ainsi, lors de la configuration de l’outil, une étape d’enrôlement est nécessaire, qui permet de partager une clé de chiffrement entre la machine et le téléphone, et des mesures de référence (signatures notamment). Après l’intégration au mécanisme de démarrage, Ultrablue permet de bloquer le déchiffrement du disque si la comparaison des composants signés par le TPM sur la machine diffère de la mesure de référence.

Le code source est public et est disponible sur https://www.github.com/ANSSI-FR/ultrablue.

gmsad : utilisation de gMSA (group Managed Service Account) dans un environnement Linux — Vincent Ruello, William Bruneau

https://www.sstic.org/2023/presentation/gmsad/

Vincent Ruello et William Bruno nous présentent le fonctionnement d’un outil développé en python permettant de manipuler (récupérer ou demander une rotation) le secret gMSA depuis un environnement Linux.

Le besoin d’un tel outil a tout d’abord été présenté, la possibilité de partager un secret de compte de service entre deux serveurs Linux (utile dans les cas de redondance de services) dans un environnement d’authentification centralisée Active Directory.

Les conférenciers ont ensuite décrit leur analyse de leur compréhension du protocole autour du  gMSA, en particulier de renouvellement effectif du secret, par la revue de la documentation et du comportement dynamique sur un environnement Windows. Le secret n’est effectivement modifié qu’après un certain temps (QueryPasswordInterval) pour faciliter sa récupération par toutes les machines concernées.

Pour utiliser l’outil présenté pour 2 serveurs Linux, il suffit de créer deux comptes machines sur le domaine, ainsi qu’un compte gMSA, dont le secret peut être récupéré par ces mêmes deux comptes machines. Enfin, il convient d’installer gmsad sur les deux serveurs Linux concernés. Après quelques étapes de configuration, l’outil va récupérer automatiquement le secret (initialement et lorsque changé) puis manipuler le fichier local keytab pour stocker les informations d’identification Kerberos récupérées.

Le projet a été publié à l’occasion du SSTIC ; il présente à ce jour 1 commit.

Projet : https://github.com/cea-sec/gmsad

OpenWEC : un serveur de collecte de journaux d’événements Windows basé sur le protocole WEF — Vincent Ruello, William Bruneau

https://www.sstic.org/2023/presentation/openwec/

Dans le cadre de la collecte de journaux d’évènements sous Windows, le recours à un agent tiers et les problématiques qu’on lui connaît (augmentation de la surface d’attaque, sources de l’agent fermées, comptes associés à l’agent fortement privilégiés) est une solution souvent insatisfaisante.

Le recours à Windows Event Log collector (WEC), surcouche de MS-WSMV, service par défaut de collecte sous Windows, a le mérite d’exposer une surface d’attaque beaucoup plus faible, mais son intégration à des SIEM est parfois complexe et là encore, la documentation offerte par l’éditeur est perfectible. Les alternatives disponibles (NXlog, CRIBL edge etc.) sont également propriétaires.

Afin de répondre à ces problématiques, le CEA propose son outil, OpenWEC, gérant le chiffrement des journaux et l’authentification au moyen d’une requête http basée sur Kerberos. OpenWEC se focalise pour le moment sur le mode de collecte « push », par lequel c’est le client qui publie ses journaux vers le serveur de collecte. L’outil a la bonne idée de gérer les Bookmark, des pointeurs sur l’état de collecte, envoyés en continu au serveur et permettant de gérer les interruptions et reprises de collecte sans pertes.

Reste à savoir si OpenWEC permet de gérer/vérifier l’intégrité des journaux envoyés, ce qui est notamment une exigence de la norme PCI-DSS. 😉

Projet : https://github.com/cea-sec/openwec

Alexandre F., Arnaud L., Nicolas T. et William B.

Adrien Guinault

Découvrir d'autres articles

  • Conférences

    Retour sur la THCon 2024

    Lire l'article
  • Conférences

    Retour sur WestDataFestival 2024

    Lire l'article
  • Conférences

    DORA et la résilience opérationnelle des fournisseurs

    Lire l'article