Coderstand

Secure Web Paris #3 (04/09/2019)

04/09/2019

Warning: theses notes are published raw, without any rewriting.
Attention: ces notes sont publiées telles quelles, sans retraitement particulier.

La gazette sécurité

Web security (Dashlane)

Le bug

Bug bounty: Hackerone

Bug dans l’extension (Faille: Universal XSS)

Après tests QA, n’impacte que 3% des utilisateurs. Mais quand même.

Corrigée en 4 heures.

La feature buguée

New user -> demande d’importer un mdp pour un site parmi une liste (FB, Ebay, LinkedIn, etc).

Communication entre la page dashlane (avec la liste des sites) <-> extension <-> app dashlane

L’objet JS injecté dans la page permet d’appeler l’API. L’instruction est filtrée par une regex, celle du bug, qui permet donc d’injecter du code qui sera exécuté.

Les leçons

  • Ne pas injecter DashlaneAPI dans toutes les pages
  • Mieux, tout garder dans l’extension, pas sur un site web
  • Idéalement, la sécurité doit être un critère d’acceptation de la QA. Mais les QA ne sont pas des chercheurs en sécurité.
  • Chance d’avoir des gens actifs à minuit pour corriger -> Formaliser les astreintes

An encryption story (Tanker)

A story about cats

  • Snapcat: React + Node + S3
  • Problème: photos de 3 Go
  • Solution: Upload direct sur S3 avec des signed URLs
  • Re-problème: photos de chats XXX
  • Solution: encryption aveec libsodium-js
  • Mais: comment je partage la clé avec le destinataire ?
  • Solution: chiffrer la clé symétrique avec une clé asymétrique.
  • Mais: s’il perd la clé ? Le multi device ? Le partage avec des gens sans compte ?

LIVE CODONS LA SOLUTION !

Live code

Douche froide, pub pour Filekit, le nouveau produit de Tanker.


TwitterFacebookLinkedin