Commentaire: Vous devez également prêter attention aux problèmes de sécurité dans HTML5
Les experts en sécurité des applications affirment que HTML5 présente de nouveaux défis de sécurité pour les développeurs.La guerre des mots entre Apple et Adobe apporte de nombreuses spéculations sur le sort de HTML 5. Bien que la mise en œuvre de HTML 5 ait encore un long chemin à parcourir, une chose est certaine que les développeurs utilisant HTML 5 devront déployer de nouvelles fonctionnalités de sécurité pour le cycle de vie du développement de la sécurité des applications pour résoudre les défis de sécurité apportés par HTML 5.
Alors, quel impact HTML5 aura-t-il sur la surface d'attaque que nous devons couvrir? Cet article discutera de plusieurs problèmes de sécurité importants concernant HTML 5.
Stockage des clients
Des versions antérieures de HTML ont uniquement permis aux sites Web de stocker des cookies en tant qu'informations locales, qui sont relativement petites et ne sont que pour stocker des informations d'archives simples ou comme identifiants pour les données stockées ailleurs (telles que Session ID), a déclaré Dan Cornell, directeur de la division de recherche sur la sécurité des applications du groupe de denim. Cependant, HTML5 LocalStorage permet au navigateur de stocker un grand nombre de bases de données localement, permettant à de nouveaux types d'applications d'être utilisées.
Le risque que les données sensibles puissent être stockées sur le poste de travail de l'utilisateur local, et les attaquants qui accèdent physiquement ou compromettent le poste de travail peuvent facilement obtenir des données sensibles, ce qui, selon Cornell, est encore plus dangereux pour les utilisateurs qui utilisent des ordinateurs partagés.
Par définition, il peut vraiment stocker des informations sur le système client, a déclaré Josh Abraham, chercheur en sécurité chez Rapid7. Ensuite, vous avez la capacité potentielle d'utiliser une attaque d'injection SQL basée sur le client, ou peut-être que l'une des base de données de votre client est malveillante, et lorsqu'il est synchronisé avec le système de production, il peut y avoir des problèmes de synchronisation, ou les données malveillantes potentielles du client seront insérées dans le système de production.
Pour résoudre ce problème, les développeurs doivent être en mesure de vérifier si les données sont malveillantes, ce qui est en fait un problème très compliqué.
Tout le monde n'est pas d'accord avec l'importance de cette question. Le directeur de la technologie de Veracode, Chris Wysopal, a déclaré que par exemple, il y a toujours eu de nombreuses façons de stocker des clients de données en utilisant des plug-ins ou des extensions de navigateur.
Il existe de nombreuses méthodes connues pour manipuler les propriétés HTML5 SessionStorage actuellement déployées, mais ce problème ne sera résolu que lorsque la norme est finalisée, a déclaré Wysopal.
Communication entre domaine
D'autres versions de HTML peuvent directement permettre à JavaScript de publier des demandes HTTP XML à rappeler sur le serveur d'origine, tandis que HTML5 détend cette limite, et les demandes HTTP XML peuvent être envoyées à n'importe quel serveur qui autorise ces demandes. Bien sûr, si le serveur n'est pas fiable, cela peut également apporter de sérieux problèmes de sécurité.
Par exemple, je peux créer un mashup (combinaison, fusionner plus de deux applications Web à l'aide de bases de données publiques ou privées pour former une application intégrée) pour extraire les scores de match des sites Web tiers via JSON (Notation d'objet JavaScript). Cornell a déclaré que ce site Web peut envoyer des données malveillantes à l'application exécutée dans le navigateur de mon utilisateur. Bien que HTML5 autorise la mise en place de nouveaux types d'applications, si les développeurs ne comprennent pas l'importance de sécurité des applications qu'ils ont construites lorsqu'ils commencent à utiliser ces fonctions, cela apportera d'excellents risques de sécurité aux utilisateurs.
Pour les développeurs qui comptent sur PostMessage () pour rédiger des applications, ils doivent vérifier attentivement pour s'assurer que les informations proviennent de leur propre site Web, sinon un code malveillant à partir d'autres sites Web pourrait créer des informations malveillantes, a ajouté Wysopal. Cette fonctionnalité elle-même n'est pas sécurisée, et les développeurs ont commencé à utiliser différents fonctionnalités DOM (modèle de document d'objet) / navigateur pour émuler la communication inter-domaine.
Un autre problème connexe est que la World Wide Web Alliance fournit actuellement un moyen d'utiliser similaire aux mécanismes d'origine transversale pour contourner les politiques homologues de conception de partage de ressources d'origine.
IE Les déploiements ont des fonctionnalités de sécurité différentes de Firefox, Chrome et Safari, et il note que les développeurs doivent s'assurer qu'ils créent des listes de contrôle d'accès trop lâches avec les dangers d'être trop lâches, en particulier parce qu'un code de référence est actuellement très peu sûr.
Sécurité iframe
D'un point de vue de sécurité, HTML5 a également de belles fonctionnalités, telles que les propriétés de bac à sable qui prévoient de prendre en charge les iframes.
Cette propriété permettra aux développeurs de choisir comment les données sont interprétées, a déclaré Wysopal, malheureusement, comme la plupart des HTML, la conception est susceptible d'être mal comprise par les développeurs et est probablement désactivée par les développeurs car il n'est pas pratique à utiliser. Si elle est gérée correctement, cette fonctionnalité aidera à se défendre contre les publicités tierces malveillantes ou à empêcher le contenu non fiable d'être lu en retour.