PrivSec Lab · 36 termes
Glossaire confidentialité & sécurité navigateur
Définitions techniques précises pour la terminologie utilisée dans nos recherches. Chaque entrée est autonome et ancrée avec une URL stable pour la citation. Les termes couvrent les vecteurs de fingerprinting navigateur, la sécurité des transports, l'authentification et les frameworks de sécurité.
- Fingerprinting navigateur#browser-fingerprinting
- La collecte d'attributs du navigateur et de l'appareil — rendu canvas, polices installées, modèle GPU, fuseau horaire, résolution d'écran et bien d'autres — pour générer un identifiant statistiquement unique sans cookies. Contrairement aux cookies, les empreintes survivent à l'effacement de l'historique, au mode privé et au VPN.
- Empreinte canvas#canvas-fingerprint
- Empreinte dérivée en dessinant du texte et des formes sur un élément HTML canvas caché et en lisant les pixels via toDataURL() ou getImageData(). Le rendu sous-pixel, le hinting des polices, la composition GPU et l'anticrénelage OS produisent des signatures uniques par combinaison GPU/pilote/OS.
- Fuite WebRTC#webrtc-leak
- Vulnérabilité de confidentialité où la pile WebRTC du navigateur expose l'adresse IP réelle de l'utilisateur — y compris les IP du réseau local — via les candidats ICE, même lorsqu'un VPN est actif. Peut être atténuée en désactivant les permissions médias WebRTC ou en utilisant un navigateur bloquant les candidats ICE non proxifiés.
- DNS-over-HTTPS (DoH)#doh
- Protocole qui chiffre les requêtes DNS en les envoyant via HTTPS à un résolveur, empêchant l'interception par l'opérateur et la surveillance en transit. Masque les requêtes de domaines aux observateurs réseau mais centralise les requêtes chez le résolveur choisi ; supporté nativement par Firefox, Chrome et la plupart des navigateurs.
- DNS-over-TLS (DoT)#dot
- Protocole qui chiffre les requêtes DNS via TLS sur le port 853. Contrairement au DoH, il utilise un port dédié que les pare-feu peuvent détecter et bloquer. Préféré dans les configurations enterprise ou au niveau OS ; fonctionnellement équivalent au DoH pour la protection de la vie privée des utilisateurs finaux.
- HTTP Strict Transport Security (HSTS)#hsts
- En-tête de réponse HTTP qui ordonne aux navigateurs de n'accéder à un site qu'en HTTPS pendant une durée spécifiée (max-age). Prévient les attaques de SSL stripping. Les sites peuvent s'inscrire sur la liste de préchargement HSTS pour être intégrés aux navigateurs avant la première visite.
- Content Security Policy (CSP)#csp
- En-tête de réponse HTTP qui déclare les sources depuis lesquelles une page est autorisée à charger scripts, styles, images et autres ressources. Une CSP stricte — notamment avec des nonces ou des hashes — élimine la plupart des vecteurs XSS en bloquant les scripts inline et les hôtes externes non autorisés.
- Referrer Policy#referrer-policy
- En-tête HTTP ou balise meta contrôlant quelle partie de l'URL actuelle est envoyée dans l'en-tête Referer lors d'une navigation. La valeur la plus stricte, no-referrer, omet entièrement l'en-tête ; strict-origin-when-cross-origin est la valeur par défaut des navigateurs depuis 2021.
- Enhanced Tracking Protection (ETP)#etp
- Système anti-tracking intégré de Firefox qui bloque les trackers tiers, cryptomineurs et fingerprinters basé sur la liste de blocage Disconnect.me. Disponible en modes Standard, Strict et Personnalisé ; le mode Strict bloque également les cookies cross-site de tous les tiers.
- Intelligent Tracking Prevention (ITP)#itp
- Système anti-tracking de Safari basé sur l'apprentissage automatique qui identifie les domaines capables de tracking inter-sites et restreint leurs cookies. ITP plafonne les cookies définis par JavaScript à 7 jours et les cookies first-party attribués au tracking à 24 heures.
- Chaîne User-Agent#user-agent
- En-tête de requête HTTP envoyé par le navigateur identifiant le nom, la version, l'OS et le moteur de rendu. Historiquement vecteur de fingerprinting à forte entropie ; l'initiative User-Agent Reduction de Google a progressivement figé la plupart des détails OS et version dans Chrome.
- Entropie (fingerprinting)#entropy
- Entropie de Shannon mesurée en bits : H = −Σ p(x) log₂ p(x) sur la distribution observée d'un signal. N bits signifie que le signal peut distinguer au maximum 2^N individus. Une entropie canvas de 16,3 bits signifie qu'environ 1 utilisateur sur 80 000 a une valeur unique pour ce seul signal.
- TOTP (mot de passe à usage unique temporel)#totp
- Méthode d'authentification à deux facteurs standardisée dans la RFC 6238 qui génère un code à 6 chiffres valable 30 secondes, dérivé d'un secret partagé et de l'horodatage Unix actuel. Résistant aux attaques par rejeu mais vulnérable au phishing en temps réel.
- Passkey / FIDO2#passkey
- Identifiant d'authentification résistant au phishing basé sur la cryptographie à clé publique (WebAuthn / FIDO2). La clé privée ne quitte jamais l'appareil ; le serveur ne stocke qu'une clé publique. Les passkeys sont liés à l'origine, les rendant immunisés contre le phishing d'identifiants et l'usurpation de domaine.
- Modèle de menaces#threat-model
- Analyse structurée de qui pourrait attaquer un système, quels actifs il ciblerait, et quelles atténuations sont proportionnelles au risque. Un modèle de menaces pratique identifie les actifs, énumère les adversaires et leurs capacités, mappe les vecteurs d'attaque et priorise les contrôles.
- STRIDE#stride
- Framework de classification des menaces développé chez Microsoft : Spoofing (usurpation), Tampering (falsification), Repudiation, Information Disclosure (divulgation), Denial of Service (déni de service), Elevation of Privilege (élévation de privilèges). Utilisé lors des revues de conception pour identifier systématiquement les catégories de menaces.
- Attaque de la chaîne d'approvisionnement#supply-chain-attack
- Attaque qui cible une dépendance amont de confiance — un package npm, un outil CI/CD, un serveur de build — plutôt que la cible finale directement. Compromettre une bibliothèque largement utilisée peut propager du code malveillant à des milliers de projets en aval simultanément.
- Zero-day#zero-day
- Vulnérabilité inconnue du fournisseur logiciel et sans correctif disponible. Un exploit zero-day exploite cette fenêtre avant que le développeur ne puisse émettre un correctif. Les zero-days navigateurs dans les moteurs JavaScript (compilateurs JIT) sont particulièrement critiques car déclenchables à distance via une page web.
- Sandboxing#sandboxing
- Frontière de sécurité qui isole un processus et restreint son accès aux ressources système, autres processus et réseau. Les processus de rendu des navigateurs s'exécutent dans des sandboxes au niveau de l'OS pour limiter les dégâts d'une page compromise ; une évasion de sandbox permet de briser cette frontière.
- Isolation de site (Site Isolation)#site-isolation
- Architecture navigateur où chaque origine (schéma + nom d'hôte + port) est rendue dans un processus OS séparé. Empêche une page malveillante de lire la mémoire d'une autre origine via des attaques de canal latéral de type Spectre. Activé par défaut dans Chrome depuis 2018 et dans Firefox via le Project Fission.
- Empreinte WebGL#webgl-fingerprint
- Empreinte dérivée de la chaîne de rendu GPU (RENDERER, VENDOR) et de la sortie shader unique produite par l'API WebGL. Le fournisseur, modèle et version de pilote GPU produisent des artefacts de rendu distincts entre machines, faisant de WebGL le deuxième vecteur de fingerprinting à plus haute entropie après le canvas.
- Empreinte audio (AudioContext)#audio-fingerprint
- Empreinte calculée en faisant passer une onde sinusoïdale via l'API OfflineAudioContext et en mesurant le signal résultant. Les différences de traitement audio en virgule flottante entre OS/matériel produisent des valeurs stables et uniques. Résistant à la réinitialisation car reflète le comportement matériel et des pilotes.
- Encrypted Client Hello (ECH)#ech
- Extension TLS qui chiffre le champ Server Name Indication (SNI) dans le handshake TLS, masquant le nom d'hôte de destination aux observateurs en transit. Sans ECH, même le trafic HTTPS révèle le domaine de destination ; ECH comble cette lacune quand supporté par le client et le serveur.
- Server Name Indication (SNI)#sni
- Extension TLS qui indique au serveur quel nom d'hôte le client souhaite contacter lors du handshake, permettant l'hébergement virtuel de plusieurs sites HTTPS sur une seule IP. Le SNI est transmis en clair par défaut, exposant le domaine de destination aux observateurs réseau jusqu'à l'adoption de l'ECH.
- Dissimulation CNAME (CNAME cloaking)#cname-cloaking
- Technique de tracking où un sous-domaine first-party (ex. : metrics.example.com) est aliasé via CNAME vers un hôte tracker tiers. Le cookie étant défini sous le domaine first-party, les règles ITP et de blocage des cookies ciblant les domaines tiers sont contournées.
- Permissions Policy (Feature Policy)#permission-policy
- En-tête HTTP permettant à un site de désactiver ou restreindre des fonctionnalités du navigateur — caméra, micro, géolocalisation, paiement, USB — pour son propre frame et les iframes tiers embarqués. Réduit la surface d'attaque en empêchant les API puissantes inutilisées d'être accessibles dans un contexte compromis.
- Cross-Site Scripting (XSS)#xss
- Classe de vulnérabilités d'injection où un attaquant injecte du JavaScript malveillant dans une page qui s'exécute ensuite dans les navigateurs d'autres utilisateurs. XSS réfléchi cible les paramètres URL ; XSS stocké persiste en base de données ; XSS DOM manipule le code côté client. La CSP est la principale couche d'atténuation.
- Clickjacking#clickjacking
- Attaque superposant un iframe transparent sur un élément d'interface visible, incitant l'utilisateur à cliquer sur quelque chose d'invisible. Atténuée par X-Frame-Options ou la directive CSP frame-ancestors, qui empêchent l'intégration d'une page dans un iframe sur une autre origine.
- Cross-Origin Resource Sharing (CORS)#cors
- Mécanisme du navigateur qui empêche le JavaScript d'une origine de lire les réponses d'une autre origine, sauf si le serveur cible l'autorise explicitement via les en-têtes Access-Control-Allow-Origin. Applique la politique same-origin au niveau de la réponse HTTP pour les requêtes fetch et XHR cross-origin.
- Navigation privée / Mode incognito#private-browsing
- Mode navigateur qui supprime l'historique, les cookies et le cache à la fin d'une session. Ne prévient pas le tracking en temps réel : l'adresse IP, les fuites WebRTC, l'empreinte TLS et l'empreinte canvas restent pleinement actifs. Une idée reçue courante est que le mode privé offre l'anonymat.
- Défense par uniformité#uniformity-defense
- Stratégie anti-fingerprinting qui fait produire la même empreinte navigateur à tous les utilisateurs — sortie canvas identique, polices, taille d'écran — de sorte qu'aucun individu ne puisse être distingué. Tor Browser et Mullvad Browser implémentent cette approche. À contraster avec la randomisation.
- Défense par randomisation#randomization-defense
- Stratégie anti-fingerprinting qui injecte un bruit aléatoire par session et par origine dans les sorties canvas, audio et WebGL. Brave Shields utilise cette approche. Elle empêche le tracking stable à long terme mais n'atteint pas l'uniformité au niveau d'une foule, donc la déliaison inter-sessions varie selon le signal.
- Spectre / attaque par canal latéral#spectre
- Classe d'attaques microarchitecturales qui fuient des données d'autres processus en exploitant l'exécution spéculative dans les CPU modernes. Dans les navigateurs, les attaques Spectre basées sur JavaScript ont conduit à désactiver SharedArrayBuffer et réduire la précision des timers ; l'isolation de site et les en-têtes cross-origin isolation sont les principales atténuations.