Tous les 3 ans, l’OWASP (Open Web Application Security Project) publie un « Top 10″ des failles rencontrées par leurs outils dans les applications Web. Comme la dernière version est sortie le 12 juin 2013, je vous propose une petite synthèse et quelques liens pour aller plus loin.
Evolution du podium depuis 2004
Sur le podium, on retrouve les mêmes failles qu’en 2010 :
Position n°1 | Position n°2 | Position n°3 | |
2013 | Injections | Violation de Gestion d’authentification et de Session | XSS |
2010 | Injections | XSS | Violation de Gestion d’authentification et de Session |
2007 | XSS | Injection | Exécution de fichier malicieux |
2004 | Input non validés | Violation de contrôle d’accès | Violation de Gestion d’authentification et de Session |
Biensûr, ça ne veut pas dire que les failles qui ne sont pas présentes dans ce tableau n’existent pas. Au contraire, je l’espère, les failles repérées et comptabilisées par l’OWASP dans différentes applications ont été réparées…
Outils pour repérer les failles
Il existe de nombreux outils et pour aider à repérer les failles, mais aucun ne fera le travail d’un humain, même d’un débutant.
Personnellement, j’aime bien la classification de WASC (Web Application Securitty Consortium) qui liste déjà pas mal de failles, les explique et peut aider à les repérer. Leur démarche est de passer un premier scanner qui va repérer certaines failles et mettre le doigt sur des points chauds de l’application.
Plutôt que de lister les scanners disponibles, je vous propose de lire cette page, qui présente une liste des fonctionnalités que l’on devrait trouver dans ce type d’outil. A vous de juger ensuite lequel prendre.
Finalement, je pense qu’une bonne solution pour repérer les failles de sécurité dans une application Web doit comporter au moins deux outils :
- un scanner, dont les fonctionnalités seront convenablement évaluées selon vos critères dans ce tableau;
- un outil de qualification qui va permettre de définir méthodiquement, pour chaque point chaud repéré par le scanner, son niveau de criticité et, éventuellement, la solution à mettre en place.
Sachez que l’OWASP fournit également de nombreux outils gratuits et prêts à l’emploi. De plus, si votre entreprise à une problématique spécifique, vous avez la possibilité de contribuer à ce projet et 40% de votre participation sera consacrée à votre besoin (les 60% restants sont déductibles en France).
Outils pour réparer les failles
Avant tout, il faut mesurer l’impact d’une faille. Cela va nous permettre d’évaluer son importance et de choisir la solution à mettre en place.
Tout cela est très bien expliqué, pour le Top 10, dans la brochure de l’OWASP : Top 10 2013 (Wiki). C’est en anglais pour l’instant, la version française a été finalisée, mais je ne la trouvais pas lorsque j’ai écrit ces lignes. En attendant, vous pouvez télécharger le Top 10 2010 en français.
Dans cette brochure chaque faille est présentée par un exemple d’attaque et une solution de sécurisation, comme le ferait un auditeur. Dans les mains de développeurs, elle peut donc les aider à prendre du recul et éviter certaines erreurs.
Pour aller au delà de ces 10 failles les plus répandues, il existe aussi, dans les ressources de l’OWASP, les « Cheat Sheet ». C’est un peu le VIDAL de la sécurité des application Web.
Top 10 2013 en français :https://github.com/OWASP/OWASP-Top-10/blob/master/2013/Documents/OWASP%20Top%2010%20-%202013%20-%20French%20Translation.pdf