Maison  >  Article  >  interface Web  >  Problèmes de sécurité concernant HTML5 Ce que les développeurs doivent garder à l'esprit_html5 Conseils du didacticiel

Problèmes de sécurité concernant HTML5 Ce que les développeurs doivent garder à l'esprit_html5 Conseils du didacticiel

WBOY
WBOYoriginal
2016-05-16 15:51:131291parcourir

Les experts en sécurité des applications affirment que HTML5 apporte de nouveaux défis de sécurité aux développeurs.
La guerre des mots entre Apple et Adobe a donné lieu à 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 sûre, c'est que les développeurs qui utilisent HTML 5 De nouvelles fonctionnalités de sécurité devront être déployées pendant le cycle de vie du développement de la sécurité des applications afin de relever les défis de sécurité posés par HTML5.
Alors, quel impact HTML5 aura-t-il sur la surface d'attaque que nous devons couvrir ? Cet article explorera plusieurs problèmes de sécurité importants concernant HTML 5.
 Stockage côté client
Les premières versions de HTML permettaient uniquement aux sites Web de stocker des cookies en tant qu'informations locales, et ces espaces étaient relativement petits et ne convenaient que pour stocker de simples informations d'archive ou comme stockage dans d'autres emplacements. . Un identifiant pour les données, tel qu'un identifiant de session, a déclaré Dan Cornell, directeur de la recherche sur la sécurité des applications chez Denim Group. Cependant, HTML5 LocalStorage permet au navigateur de stocker localement de grandes bases de données, permettant ainsi l'utilisation de nouveaux types d'applications.
"Le risque associé est que des données sensibles puissent être stockées sur le poste de travail de l'utilisateur local, et qu'un attaquant qui accède physiquement au poste de travail ou le détruit puisse facilement obtenir les données sensibles", a déclaré Cornell. "Cela est particulièrement important lors de l'utilisation d'ordinateurs partagés. "Par définition, il s'agit simplement de la capacité de stocker des informations sur le système client", a déclaré Josh Abraham, chercheur en sécurité chez Rapid7. "Vous avez alors le potentiel d'une attaque par injection SQL côté client, ou peut-être une." des bases de données de votre client est malveillante, et lors de la synchronisation avec le système de production, il peut y avoir des problèmes de synchronisation, ou les données potentiellement malveillantes du client seront insérées dans le système de production »
 Pour résoudre ce problème, les développeurs doivent être capables. pour vérifier si les données sont malveillantes, ce qui est en réalité un problème très complexe.
Tout le monde n’est pas d’accord sur l’importance de cette question. Chris Wysopal, directeur de la technologie chez Veracode, a déclaré qu'il existe de nombreuses façons pour les applications Web de stocker des données côté client, par exemple en utilisant des plug-ins ou des extensions de navigateur.
"Il existe de nombreuses façons connues de manipuler les propriétés HTML5 SessionStorage actuellement déployées, mais ce problème ne sera pas résolu tant que la norme ne sera pas finalisée", a déclaré Wysopal.
 
Communication inter-domaines Alors que d'autres versions de HTML peuvent permettre à JavaScript d'émettre des requêtes HTTP XML en retour au serveur d'origine, HTML5 assouplit cette restriction et les requêtes HTTP XML peuvent être envoyées à n'importe quel serveur qui le permet. Le serveur demandé. Bien entendu, cela peut également entraîner de graves problèmes de sécurité si le serveur n’est pas fiable.
 « Par exemple, je peux créer un mashup (un mashup qui combine deux ou plusieurs applications Web qui utilisent des bases de données publiques ou privées pour former une application intégrée) pour extraire les scores de jeux de sites Web tiers via JSON (Javascript Object Notation) ", a déclaré Cornell, " Ce site Web pourrait envoyer des données malveillantes à une application qui s'exécute dans le navigateur de mon utilisateur. Bien que HTML5 permette la création de nouveaux types d'applications, si les développeurs ne comprennent pas ces fonctionnalités lorsqu'ils commencent à les utiliser, la sécurité Les implications de l'application créée entraîneront de grands risques de sécurité pour les utilisateurs. »
Pour les développeurs qui écrivent des applications qui s'appuient sur PostMessage(), ils doivent vérifier soigneusement que les informations proviennent de leur propre site Web, sinon d'un code malveillant. provenant d'autres sites Web pourraient créer des messages malveillants, a ajouté Wysopal. Cette fonctionnalité n'est pas intrinsèquement sécurisée et les développeurs ont commencé à utiliser différentes fonctionnalités DOM (Document Object Model)/navigateur pour émuler la communication entre domaines.
Un autre problème connexe est que le World Wide Web Consortium propose actuellement un moyen de contourner la politique de même origine en utilisant un mécanisme inter-domaines similaire pour les conceptions de partage de ressources d'origine croisée.
« IE déploie des fonctionnalités de sécurité différentes de celles de Firefox, Chrome et Safari », a-t-il noté. « Les développeurs doivent s'assurer qu'ils subissent un préjudice en créant des listes de contrôle d'accès trop permissives, d'autant plus que certains codes de référence sont actuellement très peu sécurisés  
Sécurité Iframe
 Du point de vue de la sécurité, HTML5 possède également de bonnes fonctionnalités, telles que des plans pour prendre en charge l'attribut sandbox des iframes  "Cet attribut permettra aux développeurs de choisir comment les données sont interprétées. "Malheureusement, comme la plupart des HTML, cette conception est susceptible d'être mal comprise par les développeurs, et elle est susceptible d'être désactivée par les développeurs car elle n'est pas pratique à utiliser." Si elle est effectuée correctement, cette fonctionnalité peut aider à vous protéger contre les publicités tierces malveillantes ou à empêcher la relecture de contenu non fiable. »

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn