Description
Récemment à ParisRB, nous avons eu des présentations sur la sécurité.
Dorian et
Jean-Baptiste
se sont gentiment proposer de continuer avec une série régulière.
Tout d’abord je rappelle aux curieux que nous réussissons depuis
janvier à transmettre les meetups en live sur la chaîne YouTube
ParisRB
et que nous avons un
Slack
qui vous permet de réagir durant l’événement et poser des questions.
La sécurité c’est bien joli mais il est difficile de comprendre
pourquoi un code javascript alert('pwn3d!') est une faille.
Plus que jamais je ne suis pas un expert mais je vise à vulgariser
et démystifier ces sujets : je ne suis pas un dentiste, mais je peux
quand même vous expliquer comment vous brosser les dents.
Acceptez les difficultés
Car au niveau de la plupart des développeurs, c’est bien de ça
qu’il s’agit : une forme d’hygiène. Avec les bonnes habitudes,
et dans une équipe un peu complète, on évite un maximum de problèmes.
Dans les cas rares où vous avez des besoins très précis,
vous serez au courant avant et vous prendrez vos dispositions.
Le monde de la sécurité peut rebuter pour plusieurs aspects.
Tout d’abord ça fait peur, et plus que tout autre domaine on a
peur de ne jamais être à la hauteur : le sujet est vaste, plein
de jargon et de technicité, et comme dans le jeu des gendarmes
et des voleurs c’est un jeu d’attaques et contre-attaques, et
on a toujours l’impression d’avoir une étape de retard.
Ça fait aussi de vous quelqu’un d’extrêmement parano, jusque
dans la vraie vie. Et pire, comme “la sécurité d’une chaîne
est celle de son maillon le plus faible”, et personne ne veut
être le maillon faible.
L’approche par le risque
Là encore j’ai a priori de quoi faire un épisode complet sur chaque
type de faille, mais on va commencer par des généralités.
Parlons de la sécurité de votre habitation, et désolé si ça vous
empêche de dormir ce soir :)
Le premier postulat c’est que tout change et rien n’est certain :
“le risque zéro n’existe pas”. On va protéger sa maison contre les
cambrioleurs, mais pas contre une attaque au camion bélier ou au
lance-roquettes. Les banques et data-centers, eux, peuvent et
devraient s’en inquiéter.
L’idée est dissuader l’attaquant avant même qu’il tente de rentrer
chez vous : trop long, trop compliqué, pour des gains incertains.
Analyse de comportements
Des études disent qu’une bonne porte et de bonnes fenêtres font
fuir la majorité des cambrioleurs : plus le temps passe et plus
ils font de bruit, plus ils ont de chances que vous reveniez,
ou qu’un passant les remarque.
Avec cette approche, une des clés de votre système, ce n’est pas
d’être totalement imperméable, mais que toute attaque soit aussi
difficile, et longue, et bruyante que possible.
C’est comme avoir des caméras de surveillance : ça n’empêche pas
le crime d’avoir lieu, mais ça augmente les chances de détection
et de retrouver des traces pour punir le coupable.
Aucune protection, mais de la dissuasion.
Dans vos systèmes, en tant que développeur, vous êtes de toutes façons
déjà parti pour tout tracer et analyser : pour votre reporting,
votre chef, votre curiosité, votre business, avoir des idées de ce qui
est important et ce qui l’est moins…
Il suffit de rajouter l’aspect sécurité à cette question : qu’est-ce
qui consitue un comportement normal, et qu’est-ce qui sort de la norme ?
Mettez en place un système d’analyse et d’alerte, vous ne serez jamais
déçus d’être prévenu d’une situation anormale : appli cassée, serveur KO,
réseau coupé… et intrusion en cours.
Et tant pis pour le voisin !
On dit parfois que si vous êtes dans un groupe poursuivi par un lion affamé,
il n’y a pas besoin de courir plus vite que le lion, mais plus vite que la
personne la plus lente du groupe.
C’est pareil : si votre porte ou votre site ne sont pas ultra sécurisés,
on souhaite au moins qu’ils soient plus difficiles à pirater que celui du
voisin. On suppose les attaquants ne sont pas totalement idiots et se
reporteront sur la cible la plus facile.
Le coût total
Tout cela coûte de l’argent à mettre en place et à regarder en permanence.
Il y a de nouveau un équilibre à trouver entre la prévention, la réaction
(qu’est-ce que ça vous coûte de couper puis de réparer), et ce qu’une attaque
vous aura coûté entretemps en business perdu.
Dans la vraie vie on peut tout à fait mettre des assurances, vous en avez
une sur votre logement, et sur votre business, que vous négociez en fonction
de votre budget, des risques et des coûts.
Bon, ça remplit déjà un épisode, on verra plus tard pour l’explication
des méthodes elles-mêmes comme les injections.
J’imagine que vous avez de quoi réfléchir, et que vous ne serez pas surpris
d’apprendre que la plupart des fans de sécurité que je connais sont aussi
très intéressés par la sécurité physique des locaux, et notamment les serrures.
Dormez bien !