Rechercher
Contactez-nous Suivez-nous sur Twitter En francais English Language
 

Abonnez-vous gratuitement à notre NEWSLETTER

Newsletter FR

Newsletter EN

Vulnérabilités

Se désabonner

Jonathan Azria, Athena Global Services - WebSure : Procéder à des audits de vulnérabilité de qualité est devenu une nécessité

juin 2011 par Marc Jacob

Selon Jonathan Azria, Auditeur WebSure de la marque d’audit de vulnérabilités d’Athena Global Services, l’usage de techniques d’audits manuels révèle un pourcentage de vulnérabilité inquiétant qui se situe entre 80 et 96% des sites. Parmi les quatre vulnérabilités les plus courantes, on retrouve le « SQL Injection », le « Cross Site Scripting », le « Broken Authentification and Session Management » et le « Cross Site Request Forgery ». Ce constat est d’autant plus alarmant que les sites des PME-PMI souvent développés par des designers dont la sécurité n’est pas le métier contiennent très souvent des failles exploitables assez facilement. Pour Jonathan Azria procéder à des audits de vulnérabilité de qualité est devenu une nécessité. C’est pour cela que le service SaaS WebSure utilise le moteur de détection Acunetix.

GSM - Pourquoi la vulnérabilité des sites Web est-elle si importante ?

Jonathan Azria : Avec l’ampleur du développement du e-commerce et de l’audience accrue des réseaux sociaux, les entreprises sont fortement incitées à disposer d’un site Web attractif qui associe des critères de convivialité, de fluidité, d’interactivité et de dynamique. Le site devient de plus en plus un lieu naturel de saisie d’informations par les utilisateurs (coordonnées personnelles et bancaires notamment) ce qui ouvre la voie à des tentatives malveillantes de toutes sortes. La vulnérabilité du site représente en conséquence, un risque que l’on ne peut pas ignorer et qui reste malgré tout négligé par les PME-PMI. Certaines d’entre-elles, il est vrai, n’ont généralement pas une structure suffisante pour avoir au sein de leurs équipes un développeur Web. Or, presque tout le monde peut s’improviser développeur/webmaster, grâce aux différents systèmes de gestion de contenu (CMS) facilement disponibles aujourd’hui, ainsi qu’aux différents codes sources présents sur la toile et tutoriels de développement. Les dirigeants de ces entreprises sont alors tentés d’exploiter ces solutions et confient la réalisation de leurs sites Web et de leurs applications associées, à des personnes dont la sécurité n’est pas le métier.
Cette nouvelle approche, séduisante a priori, permet à tout un chacun de disposer d’un site internet sans réellement posséder de connaissances en développement et encore moins en sécurité. Si pour un développeur expert, la tâche de sécuriser ses développements pouvant contenir des milliers de lignes de codes est particulièrement lourde, celle-ci s’avère quasiment impossible pour un utilisateur moins aguerri. Pourtant, les conséquences de ces vulnérabilités sont graves : détournement/effacement du site, prise de contrôle du serveur, vol de données confidentielles, altération des données… Ainsi, de nombreuses personnes malintentionnées savent parfaitement exploiter les failles comme on a pu récemment le constater chez Sony Picture.
Il est même possible pour un amateur dans le domaine du « hacking » de réaliser ces opérations sans aucune connaissance, tout simplement en utilisant des outils d’analyses et d’exploitation automatiques des vulnérabilités que l’on retrouve assez facilement sur internet. D’après les statistiques du « Web Application Security Consortium », 13% des sites peuvent être endommagés de façon automatique, et parmi eux, 49% sont vulnérables à travers des failles dites « critiques ». De plus, l’usage de techniques d’audits manuels révèle un pourcentage de vulnérabilité inquiétant qui se situe entre 80 et 96% des sites.

GSM - Quelles sont les vulnérabilités les plus courantes ?

Jonathan Azria : Parmi les quatre vulnérabilités les plus courantes, on retrouve le « SQL Injection », le « Cross Site Scripting », le « Broken Authentification and Session Management » et le « Cross Site Request Forgery »

• La vulnérabilité « SQL Injection » est très fréquente car la majorité des sites d’aujourd’hui repose en partie sur une base de données. Dès lors, une faille de ce type permettra à un pirate d’explorer cette base de données à la recherche d’informations confidentielles, telles que des identifiants, des numéros de cartes bancaires, etc. Dans certains cas le pirate se servira de cette faille pour rapatrier un « malware » sur le poste du visiteur via l’injection de code JavaScript réalisée au préalable. Le principe est relativement simple : envoyer des données générant un comportement inattendu.

• La vulnérabilité « Cross Site Scripting » ou « XSS » souvent sous-estimée, est la plus présente sur les sites internet. Elle a pour principale vocation la manipulation côté « client » des données et/ou des actions du visiteur. Son impact peut aller du vol des sessions utilisateurs, vol de données sensibles, injection de code dans la page Web, redirection vers un site d’hameçonnage, jusqu’au téléchargement invisible de malwares sur le poste du visiteur.

• La vulnérabilité « Broken Authentification and Session Management » qui prend de plus en plus d’ampleur, consiste à récupérer les identifiants d’un utilisateur qui circuleraient en clair sur le réseau car les requêtes HTTP ne seraient pas en SSL. Elle vise encore à récupérer les identifiants de sessions d’un utilisateur afin d’usurper son identité et donc de disposer de l’accès complet à son compte. Ces identifiants de sessions sont la plupart du temps récupérés via une faille « Cross Site Scripting » et de plus en plus de sites intègrent ces identifiants de sessions directement dans l’url.

• La vulnérabilité « Cross Site Request Forgery » est presqu’aussi répandue que le « Cross Site Scripting » car elle repose sur le même principe, à savoir injecter du code. Le but étant de faire générer une requête vers un site malveillant, directement par le navigateur de la victime, ou bien d’exploiter à son insu ses droits sur le site où il est connecté afin de lui faire réaliser des actions. Dans ce dernier cas, ce sont essentiellement les utilisateurs ayant des accès privilégiés qui sont ciblés.

GSM – Quelles en sont les causes ?

Jonathan Azria : La cause principale des failles est tout simplement le manque de filtrage des données et la trop grande confiance accordée aux utilisateurs par le développeur.
Il est primordial de filtrer chaque donnée aussi bien en entrée qu’en sortie et d’en vérifier la structure et le contenu. En effet, puisque le développeur connait le type de données attendu et les caractères possibles dans cette donnée, il lui suffit alors de vérifier le type ainsi que les caractères présents pour en déterminer la validité. Pour cela, l’utilisation des « Expression régulières » est un bon moyen. Une grande majorité des failles pourraient ainsi être évitées. Certes, cela représente beaucoup de travail pour le développeur qui n’a pas toujours le temps de se pencher sur la question « sécurité » et qui s’assure avant tout du bon fonctionnement de son développement pour respecter les délais de livraison. Or, il est plus simple de corriger une vulnérabilité en amont qu’en aval.
Une autre cause concerne l’utilisation des données par défaut, que ce soit dans un CMS, un serveur Web, un serveur de base de données ou autre. Trop souvent, par manque de temps, les administrateurs systèmes et les développeurs occultent ces paramètres. On retrouve donc des serveurs de base de données exécutés avec des paramètres « root » accordant au pirate, en cas d’injection SQL, une totale liberté d’action autour des serveurs Web dont l’affichage des bannières est activé, où le « Directory Listing » est activé, les sessions non protégées. Dans le cas du « PHP », on remarque également des options critiques activées, tels que l’inclusion de fichier distant, l’exécution de commande système, l’affichage de la version installée, l’affichage des messages d’erreurs, etc. Dans certains cas, nous observons même des « Web applications » dont les identifiants administrateur sont « root / password ».
L’affichage des versions installées du serveur Web, de la base de données et des langages de développement permettra à un pirate d’aller directement rechercher les vulnérabilités connues pour ces versions et de les exploiter.
Nous rencontrons aussi de nombreux sites dont les messages d’erreurs sont affichés en clair. A priori, pour la plupart des développeurs, cela ne constitue simplement qu’un « design » perturbé, mais pour les « hackers » en revanche, cela représente bien plus. En effet, dans le cas d’une « SQL Injection » si les erreurs SQL sont affichées, le pirate connaîtra alors la structure de la requête, le type et le nom des données attendues et économisera 80% de temps de recherche pour exploiter la faille.
L’un des gros points noirs des outils « CMS » est qu’ils sont pour la plupart « Open Source ». En conséquence, un pirate peut facilement analyser le code source à la recherche de failles pendant des journées entières qu’il exploitera ensuite sur un site utilisant le même « CMS ».

GSM – Quelles seraient les bonnes règles à observer ?

Jonathan Azria : Il faut garder à l’esprit que les vrais hackers trouvent chaque jour de nouvelles failles. Il est donc très difficile, voire impossible de disposer d’un site inviolable. Néanmoins, certaines bonnes pratiques permettent d’avoir un bon niveau de sécurité qui nécessitera bien plus de travail pour les hackers. De plus, ces pratiques permettront d’échapper aux « Script Kiddies » qui, comme indiqué auparavant, ne veulent pas perdre de temps.

Certains outils permettent, non pas de détecter les vulnérabilités, mais plutôt de repérer les tentatives d’exploitation/d’intrusion. Ces outils connus sous les noms d’IDS pour « Intrusion Detection System » et d’IPS, pour « Intrusion Prevention System », permettent d’obtenir une évaluation du niveau de risque d’une requête effectuée par un utilisateur afin d’autoriser ou non la requête selon ses propres règles. Attention, même si ces outils améliorent la sécurité, il est fortement déconseillé de se reposer uniquement sur eux car de toute manière, les vulnérabilités doivent être corrigées. La mesure la plus efficace consiste à effectuer régulièrement des audits de chaque site et de chaque serveur. Pour cela, il existe de nombreux outils d’analyses automatisées, tel qu’ « Acunetix Web Vulnerability Scanner », des solutions SAAS telles que « WebSure », ou encore des audits réalisés par des experts.

S’adressant plus particulièrement aux PME, le service d’audit WebSure proposé par ATHENA Global Services, utilise le moteur de détection Acunetix, intégré dans un processus automatisé en ligne, pour effectuer un contrôle complet du site à auditer. Une fois le scan effectué, un ingénieur analyse les résultats de manière à établir une étude circonstanciée et remettre deux rapports d’audit : l’un de synthèse destiné à la direction de l’entreprise, l’autre détaillé et technique à l’usage du webmaster et/ou du développeur. Ainsi, les entreprises de toutes tailles peuvent obtenir un audit professionnel pour un coût très modique, sans passer par des solutions d’audit réservées jusqu’alors à de très grandes organisations.

Tél. : 01 55 89 08 88
www.websure.fr
info@websure.fr


Articles connexes:

Voir les articles précédents

    

Voir les articles suivants