Protection insuffisante de la couche transport

1. PrincipeMain en arriere fleche dessinee 318 51824

Comme évoqué pour le stockage des données sensibles, celles-ci ne doivent apparaître en clair qu'aux personnes autorisées. Sur Internet il existe un risque qu'une requête ou une réponse HTTP soit interceptée. Si elle contient des informations confidentielles transmises en clair, alors l'attaquant pourra les exploiter facilement.

Tous les réseaux de l'architecture de l'application Web sont concernés, depuis le navigateur de l'utilisateur jusqu'au stockage des données, en passant par le serveur Web.

2. Exemples d'attaque

L'attaque du type « Homme du milieu » (ou « Man-in-the-Middle ») est une des attaques les plus répandues pour accéder aux données d'une application [7]. Si un attaquant réussit à compromettre un serveur proxy, il pourra intercepter toutes les communications. Si en plus ce serveur est responsable du chiffrement des flux HTTP, il aura accès aux données les plus sensibles qui devaient être chiffrées.

Si une partie de l'application seulement est protégée par chiffrement, alors l'application complète est vulnérable. Souvent, seule la page de connexion contenant le formulaire de saisie de l'identifiant et du mot de passe est chiffrée. Si l'utilisateur après s'être authentifié retourne sur des pages non chiffrées, alors des informations, telles que le nom de l'utilisateur ou l'identifiant de session, peuvent être transmises en clair de page en page, exposant ainsi toute l'application à des attaques d'usurpation d'identité (voir paragraphe III.D).

3. Parade et bonnes pratiques

Si une application Web manipule des données sensibles il faut mettre en place du chiffrement SSL pour TOUTES les pages. De plus, les mots de passe et les identifiants de session ne doivent à aucun moment transiter en clair. Pour cela, il est possible de configurer le serveur Web pour rediriger automatiquement toutes les requêtes HTTP vers les pages chiffrées.

La protection de la couche « transport » vient en complément de la protection du stockage des données. Ainsi si les données stockées sont chiffrées, il faut s'assurer que tous les moyens de communication le soient aussi. Par exemple, la politique de sécurité pour les données médicales exige que le médecin du travail et le patient soient les seuls autorisés à consulter ces informations. Pour cela, au niveau de l'application, il faut s'assurer que l'utilisateur est soit la personne concernée, soit le praticien. De plus, les informations ne doivent apparaître en clair à aucun autre moment que pour l'affichage. Cela concerne les flux de communication entre l'utilisateur et les différents composants de l'architecture tels que le serveur HTTP ou la base de données, mais aussi les moyens de stockage tels que les fichiers, les bases de données ou les sauvegardes de ces derniers.