Les principales failles de sécurité des applications web actuelles, telles que recensées par l'OWASP: principes, parades et bonnes pratiques de développement( Télécharger le fichier original )par Guillaume HARRY Conservatoire national des arts et métiers - Ingénieur 2012 |
4.9 Protection insuffisante de la couche transport4.9.1 PrincipeComme évoqué pour le stockage des données sensibles, celles-ci ne doivent apparaître en clair qu'aux personnes autorisées. Sur les 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. Si une partie de l'application seulement est protégée par chiffrement, alors l'application complète est vulnérable. Si l'utilisateur après s'être connecté 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 3.3). 4.9.2 Exemples d'attaqueL'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 [9]. 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. 4.9.3 Parade et bonnes pratiquesSi 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 pas transiter en clair. 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 communications 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ées à 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. |
|