Formation Sécurité Web côté client

Notée : (7)*

Apprenez à renforcer la sécurité de vos applications Web en utilisant les mécanismes prévus par les navigateurs lors de cette formation de 3 jours !

Prix (Formation inter-entreprise)

1800€ HT / personne

Durée

3 jours

Dates

Nous pouvons organiser des sessions à d'autres dates ou dans d'autres villes (Bordeaux, Lille, Lyon, Marseille, Montpellier, Nantes, Nice, Paris, Strasbourg, Toulouse...)

Cette formation Sécurité Web au sein du navigateur s’adresse à des développeur·ses web souhaitant apprendre (ou approfondir sur) la sécurisation des applications Web.

Elle complémente et se distingue de la formation Sécurité des Applications Web par son emphase sur le côté client et par son orientation plus défensive qu'offensive.

On oublie parfois que la sécurité sur le Web ne se résume pas à sécuriser le backend. Toutefois, les navigateurs Web modernes disposent de nombreux mécanismes visant à renforcer la sécurité de vos utilisateurs/utilisatrices côté client. Certains de ces mécanismes ont fait leurs preuves et se sont imposés, alors que d'autres ont été reconnus comme des expériences ratées.

Devant une telle pléthore d'options, il est facile de se sentir dépassé·e. Pourtant, il serait dommage de ne pas se familiariser avec ces mécanismes, car une utilisation judicieuse de ceux-ci participe du principe de défense en profondeur et peut vous sauver la mise.

Quelques exemples viennent à l'esprit :

  • Une Content-Security Policy (CSP) efficace peut empêcher l'exploitation d'une faille de cross-site scripting qui aurait échappé à votre vigilance.
  • Le Subresource Integrity (SRI) protège vos utilisateurs et utilisatrices dans le cas, certes improbable (mais désastreux), où une ressource externe chargée sur votre site venait à être compromise.

A l'inverse, des mécanismes tels que le Cross-Origin Ressource Sharing (CORS), qui permet d'assouplir les restrictions imposées par la Same-Origin Policy, peuvent être mal configurés et mettre en péril la confidentialité de vos données.

Bien que les frameworks Web puissent vous soulager d'une partie de ce fardeau, leur configuration par défaut n'est pas toujours bonne et une partie de leur configuration nécessite de toute façon une intervention manuelle.

A l’issue de cette formation Sécurité Web au sein du navigateur, qui sera ponctuée d'études de cas et de travaux pratiques, vous serez capable de renforcer la sécurité de vos apps Web et serez autonome en termes de veille technologique sur la sécurité côté client.

Installations nécessaires sur votre machine : des versions récentes de Firefox et Chrome et votre éditeur de texte ou IDE (orienté Web) préféré.

Covid-19: Nous restons ouverts. Cette formation est disponible à distance.
🇺🇸 This training is also available in English

Les objectifs

  • Découvrir les mécanismes de sécurité offerts par les navigateurs
  • Evaluer la posture de sécurité de votre application Web côté client
  • Connaître les bonnes pratiques, et discerner les mauvaises
  • Utiliser ces outils pour défendre ses utilisateurs/utilisatrices dans le navigateur

Pré-requis

  • Bases de HTTP, utilisation régulière de HTML et JavaScript
  • Ordinateur portable à apporter

Le programme de la formation Sécurité Web côté client

Jour 1

Introduction
  • La sécurité sur le Web : pas seulement une affaire côté serveur
  • Le navigateur : le premier rempart
  • Le Web en évolution permanente
  • Rapide passage en revue des navigateurs
  • Défense en profondeur
  • Principe de moindre privilège
  • Se mettre dans la peau de l'ennemi
HTTPS et certificats
  • Rappels sur le protocol HTTP
  • Transport Layer Security (TLS), autorités de certification, certificats
  • HTTP Strict Transport Security
  • Certificate Transparency et ses conséquences
Cookies
  • Rappels
  • L'attribut Domain : la portée des cookies
  • L'attribut HttpOnly : moins utile qu'en apparence
  • L'attribut Secure : un incontournable
  • L'attribut SameSite : un faux messie
  • Préfixes de cookies : défense en profondeur
  • Etude de cas
Cross-Origin Resource Sharing (CORS)
  • Le concept d'origine
  • La Same-Origin Policy en deux mots
  • Le besoin d'assouplir la SOP
  • Approches alternatives : JSONP, relaxation du domaine
  • CORS : l'approche moderne
  • Explication détaillée des différents entêtes CORS

Etude de cas : exemple de mauvaises configurations de CORS
Exercice : exploitation d'un CORS mal configuré

Private Network Access (PNA)
  • Extension du protocol CORS
  • Scénarios d'attaque
  • Etude de cas
  • Les avantages de PNA
  • Support des navigateurs
postMessage
  • Communication entre fenêtres/onglets
  • Les écueils à éviter

Jour 2

Subresource Integrity (SRI)
  • Problèmes liés au chargement de ressources externes
  • Quelques exemples tristement célèbres de Web skimming
  • Garantir l'intégrité de resources externes
  • Obstacles à l'adoption du SRI

Etude de cas : attaques Magecart

X-Content-Type-Options
  • Content sniffing
  • De l'importance de choisir un bon Content-Type

Exercice : semer la confusion chez le navigateur et causer du XSS
Mise en pratique : résolution à l'aide de la directive nosniff

Content Security Policy (CSP)
  • Le couteau Suisse de la sécurité au sein du navigateur
  • Restreindre l'origine des resources
  • Restreindre le cross-origin framing
  • Quid des entêtes X-Frame-Options et X-XSS-Protection ?
  • Autres directives utiles de la CSP
  • Bonnes et mauvaises pratiques

Etude de cas : analyse critique d'une CSP existante

Jour 3

Protection contre Spectre / Meltdown
  • Les vulnérabilités Spectre / Meltdown
  • Cross-Origin Resource Blocking (CORB)
  • Site Isolation
  • Cross-Origin Embedder Policy (COEP)
  • Cross-Origin Opener Policy (COOP)
  • Cross-Origin Resource Policy (CORP)
Fetch Metadata
  • Des métadonnées sur les requêtes HTTP
  • L'arme ultime contre les attaques cross-origin ?
  • Resource Isolation Policy
Referrer Policy
  • L'entête de requête Referer
  • De nouvelles valeurs par défaut sécurisantes

Exercice : exfiltration de jetons sensibles via l'entête Referer
Mise en pratique : résolution à l'aide d'une Referrer Policy

Permissions Policy
  • Protéger les utilisatrices/utilisateurs sur mobile
  • Revue des différentes directives
A vous de jouer !
  • A vous d'attaquer une application volontairement vulnérable
  • Discussion ouverte

Télécharger le programme

Le(s) formateur(s)

Julien Cretel

Julien Cretel

Julien est développeur et chercheur en sécurité indépendant. Go, sécurité Web, bug bounty hunting, programmation fonctionnelle, technologies serverless... Julien a plusieurs amours, mais le langage Go tient une place particulière dans son coeur et est devenu son outil de choix pour le backend Web. Il a un blog principalement dédié à Go et la sécurité informatique disponible sur https://jub0bs.com.

Voir son profil détaillé

A propos de Human Coders

Human Coders c'est un centre de formation pour développeurs avec :

  • une certification Qualiopi, indispensable pour que vous puissiez obtenir des aides au financement via votre OPCO
  • de nombreux clients qui nous font confiance depuis des années
  • un manifeste pour garantir des formations à taille humaine, des formateurs passionnés, de véritables workshops...
  • 88 formations au catalogue, 1169 sessions depuis nos débuts en 2012 avec une moyenne de satisfaction de 4,6/5
  • la possibilité de vous proposer un accompagnement personnalisé ou du conseil après la formation

1 témoignage

Super formation, le formation transmet très bien sa passion sur la sécurité web.

Julien NOEL
LEFEBVRE SARRUT SERVICES

Besoin d'aide ?

Vous souhaitez discuter avec nous à propos de votre projet de formation ?
Vous voulez plus d'information sur une formation ou notre fonctionnement ?


Rappel Email

Nos forces

  • Des formations à taille humaine
  • Des formateurs passionnés
  • Des véritables workshop
Accéder au Manifeste

Nos clients

Schneider Electric Industries SAS
Club Med SAS
Cité de la musique - Philharmonie de Paris
Ministère de l'écologie
Peugeot
GreenPeace France

Formation Sécurité Web côté client

Notée : (7)*

Apprenez à renforcer la sécurité de vos applications Web en utilisant les mécanismes prévus par les navigateurs lors de cette formation de 3 jours !

Cette formation Sécurité Web au sein du navigateur s’adresse à des développeur·ses web souhaitant apprendre (ou approfondir sur) la sécurisation des applications Web.

Elle complémente et se distingue de la formation Sécurité des Applications Web par son emphase sur le côté client et par son orientation plus défensive qu'offensive.

On oublie parfois que la sécurité sur le Web ne se résume pas à sécuriser le backend. Toutefois, les navigateurs Web modernes disposent de nombreux mécanismes visant à renforcer la sécurité de vos utilisateurs/utilisatrices côté client. Certains de ces mécanismes ont fait leurs preuves et se sont imposés, alors que d'autres ont été reconnus comme des expériences ratées.

Devant une telle pléthore d'options, il est facile de se sentir dépassé·e. Pourtant, il serait dommage de ne pas se familiariser avec ces mécanismes, car une utilisation judicieuse de ceux-ci participe du principe de défense en profondeur et peut vous sauver la mise.

Quelques exemples viennent à l'esprit :

  • Une Content-Security Policy (CSP) efficace peut empêcher l'exploitation d'une faille de cross-site scripting qui aurait échappé à votre vigilance.
  • Le Subresource Integrity (SRI) protège vos utilisateurs et utilisatrices dans le cas, certes improbable (mais désastreux), où une ressource externe chargée sur votre site venait à être compromise.

A l'inverse, des mécanismes tels que le Cross-Origin Ressource Sharing (CORS), qui permet d'assouplir les restrictions imposées par la Same-Origin Policy, peuvent être mal configurés et mettre en péril la confidentialité de vos données.

Bien que les frameworks Web puissent vous soulager d'une partie de ce fardeau, leur configuration par défaut n'est pas toujours bonne et une partie de leur configuration nécessite de toute façon une intervention manuelle.

A l’issue de cette formation Sécurité Web au sein du navigateur, qui sera ponctuée d'études de cas et de travaux pratiques, vous serez capable de renforcer la sécurité de vos apps Web et serez autonome en termes de veille technologique sur la sécurité côté client.

Installations nécessaires sur votre machine : des versions récentes de Firefox et Chrome et votre éditeur de texte ou IDE (orienté Web) préféré.

Covid-19: Nous restons ouverts. Cette formation est disponible à distance.
🇺🇸 This training is also available in English

Les objectifs

  • Découvrir les mécanismes de sécurité offerts par les navigateurs
  • Evaluer la posture de sécurité de votre application Web côté client
  • Connaître les bonnes pratiques, et discerner les mauvaises
  • Utiliser ces outils pour défendre ses utilisateurs/utilisatrices dans le navigateur

Pré-requis

  • Bases de HTTP, utilisation régulière de HTML et JavaScript
  • Ordinateur portable à apporter

Le programme de la formation Sécurité Web côté client

Jour 1

Introduction
  • La sécurité sur le Web : pas seulement une affaire côté serveur
  • Le navigateur : le premier rempart
  • Le Web en évolution permanente
  • Rapide passage en revue des navigateurs
  • Défense en profondeur
  • Principe de moindre privilège
  • Se mettre dans la peau de l'ennemi
HTTPS et certificats
  • Rappels sur le protocol HTTP
  • Transport Layer Security (TLS), autorités de certification, certificats
  • HTTP Strict Transport Security
  • Certificate Transparency et ses conséquences
Cookies
  • Rappels
  • L'attribut Domain : la portée des cookies
  • L'attribut HttpOnly : moins utile qu'en apparence
  • L'attribut Secure : un incontournable
  • L'attribut SameSite : un faux messie
  • Préfixes de cookies : défense en profondeur
  • Etude de cas
Cross-Origin Resource Sharing (CORS)
  • Le concept d'origine
  • La Same-Origin Policy en deux mots
  • Le besoin d'assouplir la SOP
  • Approches alternatives : JSONP, relaxation du domaine
  • CORS : l'approche moderne
  • Explication détaillée des différents entêtes CORS

Etude de cas : exemple de mauvaises configurations de CORS
Exercice : exploitation d'un CORS mal configuré

Private Network Access (PNA)
  • Extension du protocol CORS
  • Scénarios d'attaque
  • Etude de cas
  • Les avantages de PNA
  • Support des navigateurs
postMessage
  • Communication entre fenêtres/onglets
  • Les écueils à éviter

Jour 2

Subresource Integrity (SRI)
  • Problèmes liés au chargement de ressources externes
  • Quelques exemples tristement célèbres de Web skimming
  • Garantir l'intégrité de resources externes
  • Obstacles à l'adoption du SRI

Etude de cas : attaques Magecart

X-Content-Type-Options
  • Content sniffing
  • De l'importance de choisir un bon Content-Type

Exercice : semer la confusion chez le navigateur et causer du XSS
Mise en pratique : résolution à l'aide de la directive nosniff

Content Security Policy (CSP)
  • Le couteau Suisse de la sécurité au sein du navigateur
  • Restreindre l'origine des resources
  • Restreindre le cross-origin framing
  • Quid des entêtes X-Frame-Options et X-XSS-Protection ?
  • Autres directives utiles de la CSP
  • Bonnes et mauvaises pratiques

Etude de cas : analyse critique d'une CSP existante

Jour 3

Protection contre Spectre / Meltdown
  • Les vulnérabilités Spectre / Meltdown
  • Cross-Origin Resource Blocking (CORB)
  • Site Isolation
  • Cross-Origin Embedder Policy (COEP)
  • Cross-Origin Opener Policy (COOP)
  • Cross-Origin Resource Policy (CORP)
Fetch Metadata
  • Des métadonnées sur les requêtes HTTP
  • L'arme ultime contre les attaques cross-origin ?
  • Resource Isolation Policy
Referrer Policy
  • L'entête de requête Referer
  • De nouvelles valeurs par défaut sécurisantes

Exercice : exfiltration de jetons sensibles via l'entête Referer
Mise en pratique : résolution à l'aide d'une Referrer Policy

Permissions Policy
  • Protéger les utilisatrices/utilisateurs sur mobile
  • Revue des différentes directives
A vous de jouer !
  • A vous d'attaquer une application volontairement vulnérable
  • Discussion ouverte

Télécharger le programme

Le(s) formateur(s)

Julien Cretel

Julien Cretel

Julien est développeur et chercheur en sécurité indépendant. Go, sécurité Web, bug bounty hunting, programmation fonctionnelle, technologies serverless... Julien a plusieurs amours, mais le langage Go tient une place particulière dans son coeur et est devenu son outil de choix pour le backend Web. Il a un blog principalement dédié à Go et la sécurité informatique disponible sur https://jub0bs.com.

Voir son profil détaillé

A propos de Human Coders

Human Coders c'est un centre de formation pour développeurs avec :

  • une certification Qualiopi, indispensable pour que vous puissiez obtenir des aides au financement via votre OPCO
  • de nombreux clients qui nous font confiance depuis des années
  • un manifeste pour garantir des formations à taille humaine, des formateurs passionnés, de véritables workshops...
  • 88 formations au catalogue, 1169 sessions depuis nos débuts en 2012 avec une moyenne de satisfaction de 4,6/5
  • la possibilité de vous proposer un accompagnement personnalisé ou du conseil après la formation

1 témoignage

Super formation, le formation transmet très bien sa passion sur la sécurité web.

Julien NOEL
LEFEBVRE SARRUT SERVICES

* Nombre de personnes ayant répondu au questionnaire de satisfaction sur cette formation depuis 2012