Symfony Live 2016 : retours sur 2 talks concernant la sécurité

Tout d’abord un retour d’Alain Tiemblo, Web Security Lead Developer chez BlaBlaCar.

Après une présentation des fondamentaux tels que le hachage de mot de passe, les attaques par force brute et la protection contre les injections de code (Cross-Site Scripting), Alain nous a présenté des problèmes de sécurité plus avancés :

  • le ClickJacking
  • les hacks de SMS de vérification
  • les attaques Cross-Site Request Forgery (et les tokens CSRF qui nous en protègent)
  • se protéger des robots

Les solutions à tous ces problèmes, fondamentaux comme avancés, se trouvent sur son github personnel à cette adresse.

Toute sa présentation s’est accompagnée de cas rencontrés durant son travail ou d’incidents croustillants dus à un déficit de sécurité (allez voir dans les slides).

On sent le vécu dans les techniques et les solutions associées présentées par Alain. Je conseille la lecture à tous ceux qui se font des soucis sur la sécurité de leurs applications web, et je vote pour une lecture obligatoire pour ceux qui penseraient avoir déjà tout prévu. Les solutions présentées sont relativement faciles à mettre en place par rapport aux dégâts que peut causer une attaque réussie.

Présentation : https://github.com/ninsuo/slides

Vous pourrez, en passant, vérifier que vous n’avez pas fait les frais d’une fuite grâce au site https://haveibeenpwned.com/ qui vous permettra de vérifier qui a perdu ce mot de passe que vous utilisiez partout où vous vous inscriviez ;)

Est venue ensuite une présentation de Romain Neutron, développeur chez Blackfire.

La première partie de la présentation de Romain reprend quelques éléments présentés par Alain, mais il embraie vite sur une liste de header HTTP et autres subtilités offrant une protection contre toutes sortes d’attaques :

  • X-XSS-Protection (Protection contre l’attaque dite #BOUTIN)
  • X-Content-Type-Options (Protection contre les MIME Confusion Attack)
  • X-Frame-Options (Prévention du Clickjacking vu dans la présentation d’Alain)
  • Strict-Transport-Security
  • Content-Security-Policy (Sécurité contre les extensions navigateurs et mise en place sur un projet historique)
  • Subresource Integrity
  • Public Key Pinning (Protection contre l’usurpation de certificat émis par des autorités de certification compromises)

Cette présentation est techniquement plus pointue comme vous pourrez le constater en parcourant les slides. Certains types de protection comme celles destinées à vous protéger contre les extensions navigateurs installées par les utilisateurs ou les autorités de certificats compromises sortent selon moi de notre domaine d’intervention. Mais la popularité grandissante de certains adblocker et autres extensions ainsi que le prochain passage “obligé” à HTTPS mettront peut-être en lumière des problèmes encore inconnus que nous devrons affronter.

 

Présentation :https://speakerdeck.com/romain/securite-and-http-at-symfony-live-paris-2016

Thibaut C 

 

Ajouter un commentaire