Vulnérabilités par canaux auxiliaires dans les environnements Web

Iliana FAYOLLE

Présentation CSI année 1

Vulnérabilités par canaux auxiliaires dans les environnements Web

Iliana FAYOLLE

© FOBE / Université de Rennes 1 / Dircom

Clémentine Maurice

Walter Rudametkin

Vulnérabilités par canaux auxiliaires dans les environnements Web

Détecter automatiquement les vulnérabilités aux attaques par canaux auxiliaires

Evaluer les bibliothèques cryptographiques

(client/serveur ; natifs/JavaScript)

Mieux comprendre 

les attaques de surface

Explorer la diversité des bibliothèques (serveur) et leur identification par du fingerprinting

Implémentation TLS connue

Attaques contre cette implémentation de TLS possibles

Exemple

Vulnérabilités par canaux auxiliaires dans les environnements Web

Détecter automatiquement les vulnérabilités aux attaques par canaux auxiliaires

Evaluer les bibliothèques cryptographiques

(client/serveur ; natifs/JavaScript)

Mieux comprendre 

les attaques de surface

Travail de fin de Stage de M2

+

Travail de début de thèse

Vulnérabilités par canaux auxiliaires dans les environnements Web

Explorer la diversité des bibliothèques (serveur) et leur identification par du fingerprinting

Implémentation TLS connue

Attaques contre cette implémentation de TLS possibles

Exemple

Travail pour la suite de la thèse

Plan

  1. Déroulement de la thèse

    • Etat de l'art / Background

    • Avancement pendant mon stage

    • Avancement pendant la thèse

  2. Idées pour la suite de la thèse
    • Etat de l'art / Background
    • Etat d'avancement actuel
    • Idées pour plus tard
  3. Projet Professionnel
  4. Formations doctorales
    • Suivies
    • A suivre

Plan

  1. Déroulement de la thèse

    • Etat de l'art / Background

    • Avancement pendant mon stage

    • Avancement pendant la thèse

  2. Idées pour la suite de la thèse
    • Etat de l'art / Background
    • Etat d'avancement actuel
    • Idées pour plus tard
  3. Projet Professionnel
  4. Formations doctorales
    • Suivies
    • A suivre

Etat de l'art / Background

Attaques par canaux auxiliaires :

  • N'importe quelles attaques qui peuvent récolter des informations à partir de l'implémentation d'un protocole ou d'un algorithme
  • Cache ; Timing ; Power-monitoring ; Electromagnetic ; Acoustic ...
  • Contre-mesure possible : L'implémentation en temps constant
  1. Pas de branchement
  2. Pas d'accès mémoire dépendant d'un secret

1

2

Etat de l'art / Background

Outils Statiques

Outils Dynamiques

  • Vérification de programmes
  • Déduire des propriétés de sécurités sans exécution

Approches :

  • Par réduction logique
  • Des systèmes de type
  • Par interprétation abstraite
  • Par exécution symbolique
  • Trouver des bugs
  • Analyse la sécurité des traces d'exécution des programmes

Approches :

  • Analyse d'une seule trace
  • Comparaison de plusieurs traces :
    • Utiliser des tests statistiques
    • Utiliser du fuzzing

Etat de l'art / Background

Outils Dynamiques

  • Trouver des bugs
  • Analyse la sécurité des traces d'exécution des programmes

Approches :

  • Analyse d'une seule trace
  • Comparaison de plusieurs traces :
    • Utiliser des tests statistiques
    • Utiliser du fuzzing
  • Quantifie & localise les vulnérabilités
  • Binaire ; C et  JavaScript
  • Intégration Continue 

Avancement pendant mon stage

Problèmes :

  • Ecriture de tests / test cases encourage le copier/coller et donc les erreurs => Perte de temps
  • Pas de visibilité sur la couverture du code => fastidieux

=> Découragement à utiliser l'outil

Avancement pendant mon stage

Solutions :

  • Introduction d'un nouveau modèle d’analyse semi automatique des vulnérabilités
  • Conception d'un nouveau rapport comportant :
    • Le rapport de vulnérabilité de Microwalk
    • Le code source de la bibliothèque testée
    • La couverture de code des tests
    • Le récapitulatif des vulnérabilités trouvées et leur type

=> minimise le nombre de lignes à écrire pour tester

=> Aide à optimiser les tests à effectuer rapidement

Avancement pendant mon stage

  • Conception d'un nouveau rapport comportant :
    • Le rapport de vulnérabilité de Microwalk
    • Le code source de la bibliothèque testée
    • La couverture de code des tests
    • Le récapitulatif des vulnérabilités trouvées et leur type

Avancement pendant la thèse

  • Prise de contact avec Jan Wichelmann

=> Ecriture, soumission et acceptation à CANS'24  du papier joint :

Semi-Automated and Easily Interpretable Side-Channel Analysis
for Modern JavaScript

  • Projet Unified Benchmark avec :
    • Clémentine Maurice
    • Antoine Geimer
    • Daniel De Almeida Braga
  • Annexe : Médiation ; Formation Doctorale ; Bibliographie ; ...

Plan

  1. Déroulement de la thèse

    • Etat de l'art / Background

    • Avancement pendant mon stage

    • Avancement pendant la thèse

  2. Idées pour la suite de la thèse
    • Etat de l'art / Background
    • Etat d'avancement actuel
    • Idées pour plus tard
  3. Projet Professionnel
  4. Formations doctorales
    • Suivies
    • A suivre

Etat de l'art / Background

HTTP

HTTPS

+      TLS/SSL

=

TLS (Transport Layer Security) / SSL (Secure Sockets Layer)

Assure :

  • L'authentification du serveur
  • La confidentialité des données
  • L'intégrité des données

Etat de l'art / Background

TLS (Transport Layer Security) / SSL (Secure Sockets Layer)

CLIENT
SERVER

Client Hello

Server Hello

Certificat

Server Hello

Client key Exchange

Change Cipher Spec

Change Cipher Spec

Change Cipher Spec

Change Cipher Spec

Pre Master Key

Encrypted Verification

Encrypted Verification

Ver. ; Rand# ; Sess. ID ; Ciphers ; Ext

Ver. ; Rand# ; Sess. ID ; Ciphers ; Ext

Certificate Chain

Application Data

Key Exchange
Authentication
Encryption
Hashing

Etat de l'art / Background

TLS (Transport Layer Security) / SSL (Secure Sockets Layer)

CLIENT
SERVER

Client Hello

Server Hello

Ver. ; Rand# ; Sess. ID ; Ciphers ; Ext

Ver. ; Rand# ; Sess. ID ; Ciphers ; Ext

Key Exchange
Authentication
Encryption
Hashing

Etat de l'art / Background

Outils Actifs

Outils Passifs

  • Envoie des paquets pour dessiner une carte réseau à un instant t 
  • Problème d'exactitude des données
  • Ecoute le réseau sans envoyer de paquets pour détecter "en temps réel" le réseau
  • Problème pour trouver des vulnérabilités

Etat d'avancement actuel

Nos objectifs :

  • Etablir une fingerprint des clients en prenant en compte suffisamment d’attributs du Client Hello
  • Identifier les implementations de TLS via ces attributs => Vulnérabilité
  • Identifier les proportions des attributs des clients => Vulnérabilité

Comment nous voulons faire :

  • Utiliser le serveur AmIUnique pour y récupérer des attributs du Client Hello TLS d'un grand nombre d'utilisateur
  • Utiliser la fonction de l'outil JA4 permettant de récupérer les attributs

Etat d'avancement actuel



 

Version de SSL/TLS utilisée

Liste des cipher suites hiérarchisée

Session ID

Early data utilisée ("1") ou non ("-")

Liste des courbes elliptiques hiérarchisée

Protocole sélectionné par ALPN pendant le handshake SSL

Idées pour plus tard

+

Plan

  1. Déroulement de la thèse

    • Etat de l'art / Background

    • Avancement pendant mon stage

    • Avancement pendant la thèse

  2. Idées pour la suite de la thèse
    • Etat de l'art / Background
    • Etat d'avancement actuel
    • Idées pour plus tard
  3. Projet Professionnel
  4. Formations doctorales
    • Suivies
    • A suivre

Plan

  1. Déroulement de la thèse

    • Etat de l'art / Background

    • Avancement pendant mon stage

    • Avancement pendant la thèse

  2. Idées pour la suite de la thèse
    • Etat de l'art / Background
    • Etat d'avancement actuel
    • Idées pour plus tard
  3. Projet Professionnel
  4. Formations doctorales
    • Suivies
    • A suivre

Formations doctorales suivies

Formation Dates  ECTS
Formation CRIStAL ’Partage de bonnes pratiques’
Cercle de mentorat: Femmes et Sciences
Le leadership au féminin (Initiation et sensibilisation)
Ecole d’hiver PEPR Cybersécurité
Writing Successful Scientific Papers / Scientific Writing
La voix comme outil de communication
Préparer un oral pédagogique
28/11/23
12/12/23
15/01/24
29/01/24
05/02/24
25/03/24
17/05/24
5
10
7
7
11
7
7
Total Crédits ECTS : 54/60

Formations doctorales à suivre

Formation  ECTS
Esprit critique et recherche scientifique : sensibilisation
Améliorer son aisance à l’oral grâce aux approches théâtrales
Entraînement à "ma thèse en 180 secondes"
4
13
7
Total Crédits ECTS : 78/60

Merci ! :)

Questions ?

Bibliographie

  • TLS Fingerprinting with JA3 and JA3S Visitée le 14-06-2024
  • JA4 Visitée le 16-07-2024
  • J. Wichelmann, F. Sieck, A. Pätschke, and T. Eisenbarth. Microwalk-ci: Practical
    side-channel analysis for javascript applications. In CCS, 2022.
  • How’s my SSL? Visitée le 14-06-2024
  • SSLSCAN Visitée le 16-07-2024

Vulnérabilités par canaux auxiliaires dans les environnements Web

By Iliana Fayolle

Vulnérabilités par canaux auxiliaires dans les environnements Web

  • 68