Le développeur nouvelle génération ?

Ce matin je suis tombé sur un lien intéressant parlant de copier/coller dans un terminal.

Ce lien m a inspiré le billet que voilà. Tout développeur normalement constitué connait bien le fameux site :stackoverflow et pastebin. En effet ces deux sites sont régulièrement utilisés pour résoudre des problèmes que vous avez.

J avais effectué il y a deux ans une petite étude rapide sur une phrase dans Google « se connecter à une base SQL en java » et le retour avait indiqué que 8 réponses sur 10 menaient à des techniques permettant d’effectuer des injections SQL…Dont un lien vers stackoverflow avec une très grande popularité sur la solution (non je vous le copierai pas…).

Lors des différents audits de code, dojo de correction, formations sécurité du développement, je pose régulièrement des questions pièges(et aussi pour tester le niveau de connaissance) aux personnes présentes (souvent des développeurs et architectes) et je suis (à prendre au second degré…) parfois amusé de voir leur réponse..

Je vous donne le processus utilisé :

  1. Rechercher dans Google
  2. Cliquer sur le premier lien parlant (soit un site connu, soit sinon le premier résultat en français, soit un site qui semble bien.)
  3. Reprendre mot pour mot ce qui est écrit

Et on s’aperçoit que c’est le processus standard utilisé par les équipes de développement avant de se plonger vers le wiki interne

Ce processus est réellement risqué. En plus de ne pas correctement augmenter la connaissance, il peut faire peser sur le projet certains risques que le développeur ne voit pas :

  1. Le risque juridique et légal : lorsque l’on copie-colle du code, c’est un vol  de propriété intellectuelle ; le code produit et copié à été produit pour un projet précis et l’inclure dans son propre code comme cela n’est pas forcément autorisé.
  2. Le risque de failles de sécurité ; en effet vu que l’on ne connait pas le framework/outil/éléments, et que l’on est sous pression on s’occupe pas de savoir si c’est une faille ou non, on copie-colle, on teste, si ça marche on commit.
  3. Le risque d’appauvrissement :  Faites attention a ce dernier point ami développeur, regarder la quantité de code disponible sur google.com/github.com et qui ont peut être été entrés dans un Watson….Si vous ne savez pas comment fonctionne ce que vous utilisez, vous pourrez bientôt être remplacés par des machines…

 

 

Sur ce, bon week-end

 

CSRF demystifié et enfin réglé !

Dans le numéro 200 de LinuxMag, vous trouverez un article a la fin sur le CSRF et comment enfin régler le sujet sur l’ensemble de vos plateformes; que cela soit via l’infrastructure ou dans le code.

A force de voir lors de pentests/audit de code ce type de vulnérabilité qui ressort et qui est parfois si simple a corriger, j’ai décidé d’écrire cet article de manière pratique et agnostique.

Au sommaire :

  1. CSRF Késako ?
    1. CSRF OK, mais pourquoi cela fonctionne ?
  2. Quelles sont les solutions à notre disposition ?
    1. Les solutions dans la partie infrastructure (serveurs Web, Serveur applicatif)
      1. Sur Apache
      2. La configuration des filtres de TOMCAT
  3. Les solutions dans la partie code…
    1. Aidons Duke avec la libellule… => Java

      1. Bien sûr, avec des frameworks on arrive aussi à se protéger facilement
    2. Pour les éléPHPants, cela peut être simple, ou pas…
      1. Ciel, je n’ai pas de framework PHP!!!!
    3. Moi le perfectionniste par contre, c’est simple => Python
    4. Mettons notre code à l’abri du CSRF sur de bons rails => Ruby On Rails

 

J’espere que cet article vous sera utile, en tout cas, si cela l’est ou ne l’est pas, n’hesitez pas à me contacter, car il y en a d’autres sur d’autres sujets en préparation, et au plus vite je peux améliorer….

Mobile Security Application Standard (aka MASVS)

En passant, je vous rappelle que le projet OWASP MASVS est actif et peut interesser un paquet de monde développant des applications Mobiles.

Et oui !L‘OWASP n’est pas juste ciblé sur les applications Web 😉

Pour les Genevois, il y a une présentation au prochain Meeting OWASP-Genève du 12/12/2016 par un petit gars bien .

Le Repo du projet est ici : https://github.com/OWASP/owasp-masvs