Sécurité des applications Web - Menaces et contre-mesures

Auteur: Mohamed CHINY Durée necessaire pour le cours de Sécurité des applications Web - Menaces et contre-mesures Niveau recommandé pour le cours de Sécurité des applications Web - Menaces et contre-mesures Supports vidéo non disponibles pour ce cours Exercices de renforcement non disponibles pour ce cours Quiz non disponibles pour ce cours

Leçon 1: La sécurité applicative: un rempart contre la cybercriminalité

Toutes les leçons

Pirates et cybercriminels: acteurs d’un nouvel écosystème

Des failles accidentelles aux attaques intentionnelles

Depuis les premiers pas de l’informatique, l’attention des utilisateurs s’est portée sur la manière d’exploiter au mieux la puissance de cette nouvelle technologie. Une véritable course s’est engagée vers la création de programmes toujours plus performants et complexes, où la priorité était la précision et la fiabilité des calculs. Mais à mesure que les logiciels gagnaient en taille et en sophistication, ils se retrouvaient inévitablement parsemés de bugs et de dysfonctionnements, compromettant parfois la fiabilité des résultats.

Si la plupart de ces erreurs provenaient de simples oublis ou de maladresses de développement, un autre phénomène est apparu en parallèle: certains individus ont commencé à exploiter volontairement ces failles pour détourner les systèmes de leur usage initial. Ces acteurs malveillants, bientôt connus sous le nom de pirates informatiques, se sont donné pour mission de perturber, espionner ou détruire les environnements numériques.La sécurité applicative consiste à protéger les logiciels et sites web contre les failles exploitées par les pirates informatiques. Les attaques applicatives représentent aujourd’hui la forme la plus répandue de cybercriminalité: elles ciblent directement les vulnérabilités présentes dans les applications web pour compromettre la confidentialité des données, l’intégrité des systèmes et la disponibilité des services.

Au fil des décennies, leurs attaques se sont multipliées et diversifiées: effacement de données, vol d’informations confidentielles, paralysie de systèmes entiers par des crashs répétés… Les exploits les plus marquants ont ciblé de grandes entreprises dans les secteurs financiers, commerciaux ou de services, et sont abondamment documentés dans la littérature spécialisée et sur Internet.

La sécurité informatique: une nécessité incontournable

Depuis plusieurs années, la sécurité est devenue un pilier essentiel du monde numérique. Elle évolue en permanence pour contrer les ruses des pirates, toujours prompts à inventer de nouvelles techniques et à exploiter de nouvelles vulnérabilités. Ce défi s’intensifie dans un contexte où la quasi‑totalité des équipements (ordinateurs, smartphones, objets connectés...) sont reliés en réseau. Assurer la protection des systèmes et des données n’est plus une option: c’est une exigence vitale pour garantir la fiabilité et la confiance dans l’écosystème numérique.

Qu’est-ce qu’une vulnérabilité et pourquoi existe-t-elle?

Une vulnérabilité est une faille (qu’il s’agisse d’un défaut de conception ou d’implémentation) pouvant exister dans un système informatique. Certaines sont détectées lors des phases de test avant la sortie officielle d’un logiciel. Mais les plus dangereuses restent invisibles jusqu’à ce qu’elles soient découvertes par hasard par des utilisateurs… ou exploitées délibérément par des pirates qui analysent minutieusement chaque composant.

En réalité, les vulnérabilités sont omniprésentes: dans les systèmes, les réseaux, les applications. Il est impossible de les éliminer totalement, car beaucoup demeurent inconnues. Toutefois, dès qu’une faille est identifiée, les éditeurs de logiciels réagissent rapidement en publiant des correctifs (patches) pour la combler et réduire le risque d’exploitation.

Les principaux niveaux de la sécurité informatique

Lorsqu’on aborde la sécurité, il est essentiel de préciser à quel niveau elle s’applique. Pour simplifier, on distingue généralement trois grandes catégories, à savoir la sécurité réseau, la sécurité système et la sécurité applcative.

Sécurité réseau

Elle vise à protéger l’ensemble d’un réseau ou d’un sous‑réseau afin d’empêcher toute intrusion ou attaque contre les machines et les données qui y circulent.
  • Objectif: bloquer les accès non autorisés et surveiller le trafic.
  • Outils courants: pare‑feu (firewalls), systèmes de prévention d’intrusion réseau (NIPS) ou encore systèmes de détection d’intrusion réseau (NIDS).
  • Exemple: filtrer les connexions suspectes pour éviter qu’un attaquant ne compromette plusieurs serveurs d’une entreprise.

Sécurité système

Ici, la protection se concentre sur un ordinateur individuel (serveur, poste de travail, terminal). L’idée est de sécuriser le système d’exploitation et les services qui y fonctionnent.
  • Objectif: empêcher les logiciels malveillants ou les accès non autorisés de compromettre la machine.
  • Outils courants: antivirus, systèmes de prévention d’intrusion hôte (HIPS), systèmes de détection d’intrusion hôte (HIDS).
  • Exemple: bloquer un malware qui tente de s’exécuter sur un poste utilisateur.

Sécurité applicative

Ce niveau cible directement les applications (sites web, logiciels métiers, applications mobiles...). L’enjeu est de protéger le code et les données manipulées par l’application.
  • Objectif: réduire les risques liés aux failles logicielles (SQL injection, XSS, etc.).
  • Outils courants: correctifs (patches), filtres applicatifs, systèmes de prévention d’intrusion applicative (IPS), pare‑feu applicatif web (WAF).
  • Exemple: empêcher un pirate d’exploiter une faille dans un formulaire web pour voler des données.

Dans ce cours, nous allons nous concentrer sur la sécurité applicative, car c’est à ce niveau que se produisent la majorité des attaques liées au cybercrime. Sécuriser une application ou un site web est donc une priorité absolue pour garantir la fiabilité et la confiance des utilisateurs.

Objectif du cours et prérequis

L’objectif de ce cours est double:
  1. Comprendre les attaques applicatives les plus fréquentes et les plus dangereuses susceptibles de compromettre vos projets web.
  2. Apprendre à s’en protéger en adoptant les bonnes pratiques de codage sécurisé (secure coding) et en ajustant certains paramètres critiques des fichiers de configuration du serveur web et du moteur PHP.

Pour guider nos travaux, nous nous appuierons sur la référence internationale OWASP Top 10, qui recense périodiquement les dix vulnérabilités web les plus marquantes. Cette liste constitue un excellent point de départ pour les développeurs et auditeurs sécurité, car elle permet de concentrer les efforts sur les failles les plus répandues.

Cependant, comme nous sommes les concepteurs de nos propres solutions, nous irons au‑delà: nous chercherons à corriger toutes les failles connues, qu’elles soient recensées dans les bases de vulnérabilités publiques telles que les CVE (Common Vulnerabilities and Exposures) et pas seulement celles mises en avant par l’OWASP Top 10.