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
-
Déroulement de la thèse
-
Etat de l'art / Background
-
Avancement pendant mon stage
-
Avancement pendant la thèse
-
- Idées pour la suite de la thèse
- Etat de l'art / Background
- Etat d'avancement actuel
- Idées pour plus tard
- Projet Professionnel
- Formations doctorales
- Suivies
- A suivre
Plan
-
Déroulement de la thèse
-
Etat de l'art / Background
-
Avancement pendant mon stage
-
Avancement pendant la thèse
-
- Idées pour la suite de la thèse
- Etat de l'art / Background
- Etat d'avancement actuel
- Idées pour plus tard
- Projet Professionnel
- 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
- Pas de branchement
- 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
-
Déroulement de la thèse
-
Etat de l'art / Background
-
Avancement pendant mon stage
-
Avancement pendant la thèse
-
-
Idées pour la suite de la thèse
- Etat de l'art / Background
- Etat d'avancement actuel
- Idées pour plus tard
- Projet Professionnel
- 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é
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
-
Déroulement de la thèse
-
Etat de l'art / Background
-
Avancement pendant mon stage
-
Avancement pendant la thèse
-
- Idées pour la suite de la thèse
- Etat de l'art / Background
- Etat d'avancement actuel
- Idées pour plus tard
- Projet Professionnel
- Formations doctorales
- Suivies
- A suivre


Plan
-
Déroulement de la thèse
-
Etat de l'art / Background
-
Avancement pendant mon stage
-
Avancement pendant la thèse
-
- Idées pour la suite de la thèse
- Etat de l'art / Background
- Etat d'avancement actuel
- Idées pour plus tard
- Projet Professionnel
-
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