C’est dans les vieux pots1 qu’on fait les meilleures confitures. En 2016, la vulnérabilité la plus utilisée sur Windows date de 20102 ! Pour la petite histoire, à l’époque, il s’agissait d’une faille Windows inconnue du public et des spécialistes, sans correctif, et qui a servi à l’opération contre les centrifugeuses nucléaires iraniennes. Probablement utilisée par des équipes de très haut niveau, ayant des moyens considérables, soit pour découvrir cette faille soit pour l’acheter (puisqu’il existe un marché pour cela).
Ensuite, cette vulnérabilité entre dans un cycle de vie prévisible : elle finit par être connue en juillet 20103, corrigée rapidement par l’éditeur concerné (Microsoft en l’occurrence, puisqu’il s’agit de Windows), en août 20104. La suite ? Il suffit à tous les utilisateurs (particuliers ou entreprises) de mettre à jour leur(s) Windows, et ils sont protégés.
Protégés ?
Oui. A condition d’avoir mis à jour Windows, donc. Et que constate-t-on en 2017 ? Que la faille est encore très utilisée. Donc que de très nombreuses installations de Windows n’ont pas été mises à jour depuis au moins 6 ans ! Et c’est bien tout le problème : une excellente mesure d’hygiène informatique consiste à avoir des composants (système d’exploitation, logiciels importants et/ou souvent utilisés) à jour, pour laisser peu de temps à l’exploitation des failles. Or on voit bien qu’on est très loin de ça…
Pour enfoncer le clou, une étude de Fortinet5 de 2017 ne dit rien d’autre :
[…] dans 90 % des cas, les victimes ont été attaquées par le biais de failles datant de plus de 3 ans et dans 60 % des cas, ces failles étaient vieilles de 10 ans voire plus.
Idem en 2020, on pourrait multiplier les exemples : Palo Alto nous indique que les vulnérabilités les plus fréquemment utilisées ont été identifiées en… 2012 !
Applications web
Il en est de même, mais de façon légèrement différente, dans le monde des applications web. L’OWASP, ainsi que d’autres entreprises de sécurité6, recensent depuis longtemps les types de vulnérabilités les plus utilisées et les plus présentes dans les applications web, et force est de constater que depuis de très nombreuses années, on retrouve immanquablement les mêmes typologies de failles. Les failles XSS et d’injection SQL sont indéboulonnables.
Applications mobiles
Errare humanum est, perseverare diabolicum. L’adage bien connu s’applique toujours, et les développeurs d’applications mobiles ont l’air de répéter les mêmes erreurs que pour les applications web. Personne ne peut écrire de code parfait et exempt de toute faille de sécurité, mais tout le monde doit savoir qu’aujourd’hui il faut protéger son code d’une façon ou d’une autre, en appliquant de bonnes pratiques de codage, de conception ou d’architecture. Et quand on ne sait pas le faire soi-même, on s’appuye sur des frameworks, des outils, des gens qui savent, etc. Et donc, malgré l’expérience des anciens, le code des applications mobiles conservent les mêmes erreurs7 et vulnérabilités, au grand désespoir de tous : les chiffres sont éloquents.
Vu en 2019
Majority of 2019 breaches were the result of unapplied security patches.
HelpNetSecurity
Conclusion
Une seule : faire régulièrement et à fréquence rapide les mises-à-jour de tous vos programmes, surtout le système d’exploitation, les programmes de sécurité (antivirus, pare-feux, etc.). Et faire preuve de discernement quand on reçoit du spam !