Mauvaise configuration sécurité Adrien Tasca Cégep de Saint-Hyacinthe
Plan Intro Présentation du problème Environnement affectés Exemple de cas Comment faire pour éviter cette faille Conclusion
Introduction Une bonne sécurité exige une configuration sécurisée bien définie L’application, les serveurs d’application, serveurs web, serveurs de base données ainsi que le contexte et la plate-forme doivent être bien configurés. Lorsqu’on programme une application, il ne faut rien laisser au hasard
Présentation du problème Des nos jours, les programmeurs utilisent des outils pour programmer. Ces outils font appels à différentes composantes de l’architecture d’une application web pour nous simplifier la vie. Le problème est que le programmeur moyen n’a aucune idée de ce qui passe derrière son code et il ne s’y attarde pas car tout fonctionne bien et il est paresseux. Dans certains cas plutôt rares, certaines configurations par défault ont un mot de passe soit vide ou très simple, du genre « admin ». Tout les jours, des nouvelles failles sont découvertes et rendues publiques. Pour un développeur il est primordial de se tenir au courant des différentes failles qui pourraient éventuellement affecter une ou plusieurs composantes de l’architecture de son l’application web
Environnement affectés Habituellement il s’agit plus des petites et moyennes entreprises (PME) qui sont affectées car les développeurs se disent que personne ne va perdre sont temps à essayer des failles Il existe des outils qui scan le web à la recherche de serveurs possiblement piratables. N’importe qui peut décider de s’attaquer à n’importe quel site. Le but principal de l’attaque n’est pas toujours le site web en question. Il se peut que le pirate cherche à trouver des mots de passe d’adresse courrriel pour envoyer du spam ou des demandes d’argent à vos contacts sans parler du fait qu’une personne ayant accès à votre compte email peut prendre le contrôle de plusieurs comptes à travers le web en utilisant l’option « J’ai oublié mon mot de passe » (Banques, Paypal, Ebay, Comptes Blizzard etc) Arthur nous avait dit l’année passée que quelqu’un essayait toutes les nuits de rentrer dans son site web (sans succès par contre car c’est un patron) https://www.owasp.org/index.php/Category:Vulnerability_Scanning_Tools
Exemple de cas Exemple en 2009 : Les Pizza Domino’s ont lancé une campagne d’actions marketing et publicitaire pour gagner de nouveaux clients. Une application écrite en Flash fut ajoutée au site en ligne pour permettre aux clients de passer commande en ligne. Cette application, affichait un champ permettant d’entrer un coupon pour recevoir une pizza pour 5$. Une nuit du week-end, un pirate a désassemblé l’application Flash pour voir comment elle fonctionnait et s’aperçu que la validité du coupon était contrôlée par l’application elle même. Pire encore, il a constaté que le plan marketing prévoyait même un coupon pour obtenir gratuitement une pizza. Comme le code se trouvait dans l’application Flash, il l’essaya sans délai et moins de 30 minutes plus tard, il se régalait d’une pizza gratuite. Le pirate s’empressa alors de poster le code coupon sur un forum. Ce n’est que le lundi matin que l’entreprise se rendit compte que son secret avait été percé et qu’elle avait livré gratuitement 11.000 pizza pour un coût d’environ 50.000$. Heureusement pour une compagnie de cette taille, cela n’a pas porté de préjudice majeur, mais cela reste une somme qui aurait pu ne pas être perdue si le contrôle des coupons avait été réalisé sur le serveur. http://www.theprohack.com/2012/07/hacking-dominos-coupon-generator-free.html
Exemple de cas #2 Il est important de gérer nous-même les pages d’erreurs Dans le cas d’un serveur Apache, la page par défaut qui s’affiche lorsqu’on demande une page non valide retourne la version du serveur Apache. Cette info est cruciale car si il s’agit d’une version dépassée moindrement, des failles sont disponibles sur le net et un pirate a simplement besoin d’en exploiter une pour avoir accès. De plus, dans un serveur Apache configuré selon les paramètres par default il est possible d’accéder à l’index du serveur. L’index regroupe les fichiers et différents répertoires du site internet, rendant certains fichiers accessibles alors qu’ils contiennent des données parfois importantes. Il est important de restreindre l’accès à ces pages.
Comment faire pour éviter cette faille La validation doit se faire du côté serveur, dans le cas de la compagnie Domino’s, c’était l’application qui déterminait si le code était valide ou non. Si ca avait été le serveur qui recoit le code et qui détermine si il est valide, Domino’s n’aurait peut-être pas perdu environ 50,000$ en une fin de semaine Il faut mettre à jour régulièrement les différents composants d’une application web car il y a tout le temps de nouvelles failles qui sont découvertes et exposées au public. Une faille est normalement exposée pour permettre aux développeurs de se protéger mais elle si vous n’êtes pas assez rapide un pirate informatique peut exploiter la faille avant qu’elle soit bloquée
Conclusion Être prudent lors de la programmation Faire la validation du côté serveur et non du côté client. Restreindre l’accès aux différentes pages du site internet Se tenir au courant des dernières failles et mettre a jour régulièrement les composantes Essayer soi-même d’exploiter son site web est une bonne technique pour trouver des failles et les régler avant que quelqu’un d’autre ne le fasse à votre place.
Critères d’évaluation Complétude Intro/Présentation du problème/Environnement affectés/Exemple de cas/Comment faire pour éviter cette faille/Conclusion Qualité de la présentation C’est une très belle présentation NOTE FINALE : 100%
Références https://aresu.dsi.cnrs.fr/spip.php?article148 http://frnetworker.wordpress.com/2012/07/16/comment-une-mauvaise-configuration- dapplication-peut-affecter-la-securite-de-votre-reseau/ https://cours.etsmtl.ca/mti719/documents/cours/Cours-06-OWASP.pdf http://resources.infosecinstitute.com/hacker-proofing-apache-php-configuration/ https://www.owasp.org/index.php/Category:Vulnerability_Scanning_Tools