Formation Sécurité Web au sein du navigateur

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)

1700€ 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·se·s (frontend, backend, ou full-stack) souhaitant apprendre (ou approfondir sur) la sécurisation d'apps 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 Resource 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.

Covid-19 : Nous nous adaptons dans ces moments difficiles. Nous avons mis en place des outils permettant l'organisation de formations à distance.

Les objectifs

  • Découvrir les mécanismes de sécurité offerts par les navigateurs
  • Evaluer la posture de sécurité de votre app 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
  • Un portable avec des versions récente de Firefox et Chrome
  • Votre éditeur de texte ou IDE (orienté Web) préféré

Le programme de la formation Sécurité Web au sein du navigateur

Jour 1 : cookies et CORS

Introduction
  • La sécurité sur le Web : pas seulement une affaire côté serveur
  • Le navigateur : le premier rempart
  • Rapide passage en revue des navigateurs
X-Content-Type-Options
  • Content sniffing
  • Exercice : semer la confusion chez le navigateur et causer du XSS
  • Mise en pratique : résolution à l'aide de la directive nosniff
  • De l'importance de choisir un bon Content-Type
Cookies
  • Scoping : bonnes et mauvaises pratiques
  • HttpOnly et Secure : les attributs incontournables
  • Etude de cas : conséquences de cookies mal configurés
  • SameSite : le petit nouveau
Cross-Origin Resource Sharing (CORS)
  • La Same-Origin Policy en deux mots
  • Motivations d'assouplir la SOP
  • JSONP : la méthode "old school" et dangereuse
  • CORS : la méthode moderne
  • Etude de cas : mauvaise configuration de CORS
  • Exercice : exploitation d'un CORS mal configuré
  • Bonnes pratiques

Jour 2 : CSP et SRI

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 pratiques
  • Etude de cas : critique d'une CSP existante
Subresource Integrity (SRI)
  • Problèmes liés au chargement de ressources externes
  • Quelques exemples tristement célèbres de Web skimming
  • Etude de cas : attaques Magecart
  • Garantir l'intégrité de resources externes
  • Obstacles à l'adoption du SRI

Jour 3 : HTTPS et autres mécanismes de sécurité

HTTPS et certificats
  • HTTPS pour les nul.le.s
  • HTTP Strict Transport Security
  • Certificate Transparency et ses conséquences
  • HTTP Public-Key Pinning : le villain petit canard
  • Expect-CT : un ami de passage
  • Signed Certificate Timestamps
noopener et noreferrer
  • Reverse tabnabbing : une attaque méconnue
  • Exercice : exploitation d'une faille de type reverse tabnabbing
  • Mise en pratique : noopener et noreferrer à la rescousse
Referrer Policy
  • L'entête de requête Referer
  • Exercice : exfiltration de jetons sensibles via l'entête Referer
  • Mise en pratique : resolution à l'aide d'une Referrer Policy
Feature Policy
  • Protéger les utilisatrices/utilisateurs sur mobile
  • Revue des différentes directives
Discussion

Télécharger le programme

Le(s) formateur(s)

Julien Cretel

Julien Cretel

Julien est développeur et chercheur en sécurité indépendant. Domain-driven design, programmation fonctionnelle, technologies serverless, Burp Suite... Julien a plusieurs amours, mais Go tient une place particulière dans son coeur et est devenu son outil de choix pour le backend. Il donne des ateliers et des talks sur des sujets aussi divers que les tests de propriétés, Git, et Google Cloud Functions. Il a un blog principalement dédié à Go et la sécurité informatique disponible sur https://jub0bs.com.

Auparavant, il travaillait en tant qu'ingénieur informatique sur une architecture microservices chez Poppulo et, encore avant ça, il travaillait dans les énergies marines renouvelables et enseignait les maths appliquées à l'université de Cork, en Irlande.

Voir son profil détaillé

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

INRIA
Moody's Analytics
Air France
Alcatel
Banque Postale
Orange

Nos formations en images

CasperJS
Angular
Machine Learning avec Python
Machine Learning avec Python

Formation Sécurité Web au sein du navigateur

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·se·s (frontend, backend, ou full-stack) souhaitant apprendre (ou approfondir sur) la sécurisation d'apps 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 Resource 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.

Covid-19: Nous restons ouverts. Cette formation est disponible à distance.

Les objectifs

  • Découvrir les mécanismes de sécurité offerts par les navigateurs
  • Evaluer la posture de sécurité de votre app 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
  • Un portable avec des versions récente de Firefox et Chrome
  • Votre éditeur de texte ou IDE (orienté Web) préféré

Le programme de la formation Sécurité Web au sein du navigateur

Jour 1 : cookies et CORS

Introduction
  • La sécurité sur le Web : pas seulement une affaire côté serveur
  • Le navigateur : le premier rempart
  • Rapide passage en revue des navigateurs
X-Content-Type-Options
  • Content sniffing
  • Exercice : semer la confusion chez le navigateur et causer du XSS
  • Mise en pratique : résolution à l'aide de la directive nosniff
  • De l'importance de choisir un bon Content-Type
Cookies
  • Scoping : bonnes et mauvaises pratiques
  • HttpOnly et Secure : les attributs incontournables
  • Etude de cas : conséquences de cookies mal configurés
  • SameSite : le petit nouveau
Cross-Origin Resource Sharing (CORS)
  • La Same-Origin Policy en deux mots
  • Motivations d'assouplir la SOP
  • JSONP : la méthode "old school" et dangereuse
  • CORS : la méthode moderne
  • Etude de cas : mauvaise configuration de CORS
  • Exercice : exploitation d'un CORS mal configuré
  • Bonnes pratiques

Jour 2 : CSP et SRI

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 pratiques
  • Etude de cas : critique d'une CSP existante
Subresource Integrity (SRI)
  • Problèmes liés au chargement de ressources externes
  • Quelques exemples tristement célèbres de Web skimming
  • Etude de cas : attaques Magecart
  • Garantir l'intégrité de resources externes
  • Obstacles à l'adoption du SRI

Jour 3 : HTTPS et autres mécanismes de sécurité

HTTPS et certificats
  • HTTPS pour les nul.le.s
  • HTTP Strict Transport Security
  • Certificate Transparency et ses conséquences
  • HTTP Public-Key Pinning : le villain petit canard
  • Expect-CT : un ami de passage
  • Signed Certificate Timestamps
noopener et noreferrer
  • Reverse tabnabbing : une attaque méconnue
  • Exercice : exploitation d'une faille de type reverse tabnabbing
  • Mise en pratique : noopener et noreferrer à la rescousse
Referrer Policy
  • L'entête de requête Referer
  • Exercice : exfiltration de jetons sensibles via l'entête Referer
  • Mise en pratique : resolution à l'aide d'une Referrer Policy
Feature Policy
  • Protéger les utilisatrices/utilisateurs sur mobile
  • Revue des différentes directives
Discussion

Télécharger le programme

Le(s) formateur(s)

Julien Cretel

Julien Cretel

Julien est développeur et chercheur en sécurité indépendant. Domain-driven design, programmation fonctionnelle, technologies serverless, Burp Suite... Julien a plusieurs amours, mais Go tient une place particulière dans son coeur et est devenu son outil de choix pour le backend. Il donne des ateliers et des talks sur des sujets aussi divers que les tests de propriétés, Git, et Google Cloud Functions. Il a un blog principalement dédié à Go et la sécurité informatique disponible sur https://jub0bs.com.

Auparavant, il travaillait en tant qu'ingénieur informatique sur une architecture microservices chez Poppulo et, encore avant ça, il travaillait dans les énergies marines renouvelables et enseignait les maths appliquées à l'université de Cork, en Irlande.

Voir son profil détaillé

Suivi de formation en option

A l'issue de la formation, nos formateurs peuvent aussi intervenir pour vous accompagner dans la mise en application des compétences acquises :

  • en répondant à vos questions lors de rendez-vous téléphoniques réguliers
  • en étant présents physiquement à l'amorce du projet
  • en réalisant un audit de vos pratiques quelques semaines/mois après la formation

Cette idée vous intéresse ? Faîtes-le nous savoir pour que nous trouvions la formule adaptée à votre situation.