|
Cet article est le premier de la série consacrée à AJAX et les questions de sécurité connexes. Il passe en revue les technologies AJAX avec une référence spécifique à JavaScript et les documents brièvement les types de classes de vulnérabilité qui devrait soulever des questions de sécurité parmi les développeurs, les propriétaires de site et les visiteurs respectifs. AJAX et JavaScript: Les Technologies Explained Alimentée par l'intérêt accru pour le Web 2.0, AJAX (Asynchronous JavaScript Technology and XML) est d'attirer l'attention des entreprises tout autour du globe. L'une des principales raisons de la popularité croissante d'AJAX est le langage de script utilisé - JavaScript (JS) qui permet pour un certain nombre d'avantages, notamment: formulaires dynamiques pour intégrer des mécanismes de vérification des erreurs, des zones de calcul sur des pages, interaction avec l'utilisateur pour les avertissements et Obtenir les confirmations, évolution dynamique de fond et les couleurs du texte ou des "boutons", la lecture URL histoire et en prendre les actions fondées sur elle, ouverte et fenêtres de contrôle, en fournissant différents documents ou des parties fondées sur demande de l'utilisateur (par exemple, encadrées par rapport aux non-encadré). AJAX n'est pas une technologie, mais plutôt, c'est une collection de technologies chacun fournissant de solides bases pour concevoir et développer des applications web: • XHTML ou HTML et Cascading Style Sheets (CSS) en fournissant des normes pour la représentation du contenu à l'utilisateur. • Document Object Model (DOM) qui fournit la structure pour permettre la représentation dynamique de l'interaction et le contenu connexe. Le DOM expose des moyens puissants pour les utilisateurs d'accéder et de manipuler des éléments au sein de n'importe quel document. • XML et XSLT qui fournissent les formats des données à manipuler, transférées et échangées entre le serveur et le client. • XML HTTP Request: Les principaux inconvénients de la création d'applications web, c'est une fois une page web particulière est chargé dans le navigateur de l'utilisateur, la connexion du serveur lié est coupée. De plus la navigation (même) dans la page elle-même, il faut établir une autre connexion avec le serveur et d'envoyer toute la page en arrière, même si l'utilisateur peut avoir simplement voulu élargir un simple lien. XML HTTP Request permet asynchrone de récupération de données ou de s'assurer que la page ne se recharge pas dans son intégralité à chaque fois que l'utilisateur demande le plus petit des changements. • JavaScript (JS) est le langage de script qui unifie ces éléments de fonctionner ensemble de manière efficace et prend donc un rôle plus important dans les applications web. En tant que tel, AJAX est destinée à augmenter l'interactivité, la rapidité et la convivialité. Les technologies ont donné lieu à une expérience plus riche et conviviale pour l'utilisateur comme des applications Web sont conçues pour imiter »les applications de bureau traditionnelles», y compris Google Docs et Spreadsheets, Google Maps et Yahoo! Mail. Au début d'une session Web, au lieu de chargement de la page Web demandée, un moteur Ajax écrit en JS est chargé. Agissant comme un «intermédiaire», ce moteur réside entre l'utilisateur et le serveur web agissant à la fois comme une interface de rendu et comme un moyen de communication entre le navigateur client et le serveur. La différence qui apporte cette fonctionnalité est d'environ instantanément perceptible. Lorsque vous envoyez une requête à un serveur web, on s'aperçoit que les composants individuels de la page est mise à jour de manière autonome (asynchrone) élimine la nécessité précédente attendre une page entière à devenir actif jusqu'à ce qu'il soit chargé (synchrone). Imaginez webmail - Auparavant, email lecture impliquait une variété de clics et de l'envoi et la récupération des cadres différents qui composent l'interface que pour permettre la présentation des différents e-mails de l'utilisateur. Cela ralentit considérablement l'expérience de l'utilisateur. Avec le transfert asynchrone, l'application AJAX élimine complètement le départ "-stop-start-stop" nature de l'interaction sur le web - requêtes vers le serveur est complètement transparent pour l'utilisateur. Un autre avantage notable est relativement plus rapide le chargement des différents éléments du site qui ont été demandées. Cela conduit aussi à une réduction significative de la bande passante requise par demande depuis la page web n'a pas besoin de recharger son contenu complet. D'autres avantages importants apportés par AJAX applications codées comprennent: l'insertion et / ou suppression de dossiers, de soumission des formulaires web, aller chercher de requêtes de recherche, et les arbres catégorie d'édition - de manière plus performante et efficace, sans la nécessité de demander le code HTML complet de la page de chaque heure. AJAX Vulnérabilités Bien qu'une série la plus puissante des technologies, les développeurs doivent être conscients des failles de sécurité potentielles et une culotte dans laquelle les demandes ont AJAX (et sera) deviennent vulnérables. Selon Pete Lindstrom, directeur de la Sécurité Stratégies avec le Groupe de Hurwitz, les applications Web sont les éléments les plus vulnérables d'une organisation infrastructure de TI d'aujourd'hui. Un nombre croissant d'organisations (à but lucratif et non lucratif) dépendent des applications Internet qui améliorent la puissance d'AJAX. Comme ce groupe de technologies devient plus complexe pour permettre la profondeur et la fonctionnalité discutée, et, si les organisations ne garantissent pas à leurs applications web, alors les risques de sécurité ne fera qu'augmenter. En renforçant l'interactivité au sein d'une application web implique une augmentation de XML, texte, HTML et générale du trafic réseau. Cela conduit à exposer les applications back-end qui aurait pas été préalablement vulnérables, ou, s'il n'y est serveur insuffisante protection latérale, pour permettre aux utilisateurs non authentifiés la possibilité de manipuler leurs configurations privilège. Il ya l'incompréhension générale que dans les applications AJAX ne sont plus en sécurité parce qu'on pense qu'un utilisateur ne peut pas accéder au script côté serveur sans l'interface utilisateur rendue (la page web basé sur AJAX). XML HTTP Request serveur d'applications Web basées sur des scripts côté obscur, et cette obscurité donne aux développeurs de site web et les propriétaires un faux sentiment de sécurité - l'obscurité est pas la sécurité. Comme XML requêtes HTTP fonction en utilisant le même protocole que tout le reste sur le Web (HTTP), techniquement parlant, AJAX-based applications Web sont vulnérables aux mêmes méthodes de piratage comme 'normal' applications. Par la suite, il ya une augmentation de la session de gestion des vulnérabilités et un risque accru de pirates d'accéder aux URL souvent cachés qui sont nécessaires pour les requêtes AJAX pour être traitée. Une autre faiblesse de l'AJAX est le processus qui formule des requêtes du serveur. Le moteur utilise Ajax JS pour saisir les commandes de l'utilisateur et de les transformer en appels de fonction. Ces appels de fonctions sont envoyés en texte clair visibles sur le serveur et mai facilement révéler les champs des tables de base de données tels que le produit en cours de validité et les ID utilisateur, ou même important de noms de variables, types de données en cours de validité ou de fourneaux, et d'autres paramètres qui mai être manipulé par un hacker . Avec cette information, un pirate peut facilement utiliser les fonctions AJAX sans que l'interface est spécifique, en l'élaboration de requêtes HTTP directement sur le serveur. En cas de cross-site scripting, malicieusement injecté scripts peuvent réellement tirer parti des fonctionnalités AJAX fournie à agir au nom de l'utilisateur incitant ainsi à l'utilisateur dans le but ultime de réorienter sa session de navigation (par exemple, le phishing) ou le suivi de son trafic. JavaScript Vulnérabilités Bien que de nombreux sites Web attribuer leurs fonctions interactives à JS, l'utilisation généralisée de cette technologie apporte des problèmes de sécurité au sujet de plusieurs graves. Dans le passé, la plupart de ces questions de sécurité découlait de ciblage, soit vers des systèmes de diffusion ou d'exploitation Cross Site Scripting (XSS) les faiblesses des sites vulnérables. Ces auto-multiplication des vers permis code pour être injecté dans des sites Web dans le but d'être analysé et / ou exécutés par les navigateurs Web ou les clients e-mail à manipuler ou simplement récupérer des données utilisateur. Que les navigateurs Web et sur leurs capacités technologiques continuent d'évoluer, le fait usage illicite de renforcer l'ancienne et la création de nouveaux problèmes de sécurité liés à JS et AJAX. Cette avancée technologique se produit aussi à un moment où il ya un changement important dans le but ultime du hacker dont l'objectif principal a changé d'actes de vandalisme (par exemple, l'altération site Web) pour le vol de données de l'entreprise (par exemple, les détails de carte de crédit client) qui procurent un rendement lucrative sur le marché noir. Les vers XSS deviendra de plus en plus intelligent et très capable de mener des attaques telles que le déni dilapider vaste réseau de service, le spam et les attaques de messagerie et rampante exploits navigateur. Il a également été récemment découvert qu'il est possible d'utiliser des JS à la carte des réseaux domestiques et des entreprises, ce qui rend instantanément tous les dispositifs sur le réseau (serveurs d'impression, routeurs, périphériques de stockage) vulnérables aux attaques. En fin de compte ces attaques sophistiquées pourraient conduire à repérage des actifs de réseau spécifiques à JS embed malicieux dans une page Web sur l'intranet d'entreprise, ou toute autre application AJAX disponibles pour un usage public et des données de retour. Le problème à ce jour est que la plupart des outils d'analyse web rencontrent des problèmes graves d'audit disponibles pages web avec JS embarqués. Par exemple, JS côté client requièrent un haut degré d'intervention manuelle (plutôt que l'automatisation). Synthèse et conclusions L'évolution des technologies du Web se dirige dans une direction qui permet aux applications web de plus en plus efficace, souple et interactif. Ces progrès, cependant, augmente aussi les menaces auxquels les entreprises et les développeurs Web visage sur une base quotidienne. Avec les ports publics 80 (HTTP) et 443 (HTTPS) toujours ouverte pour permettre la livraison de contenu dynamique et un échange, les sites Web sont à un risque permanent pour le vol de données et la dégradation, sauf s'ils sont vérifiés régulièrement avec un scanner fiable des applications web. Que la complexité de la technologie augmente, les faiblesses site Internet deviennent plus évidents et les failles plus graves. L'avènement des applications AJAX a soulevé des questions de sécurité considérable en raison d'une fenêtre élargie menace provoquée par les technologies et les complexités mêmes développés. Avec une augmentation de l'exécution du script et échangé des informations au serveur / demandes clients et les réponses, les pirates ont une plus grande possibilité de voler des données coûtant ainsi des milliers d'organisations de dollars en pertes de revenus, des amendes sévères, diminué la confiance des clients et des dommages substantiels à la réputation de votre organisation et sa crédibilité. La seule solution pour la vérification efficace et efficient de sécurité est un scanner de vulnérabilité qui permet d'automatiser l'exploration de sites web pour identifier les faiblesses. Toutefois, sans un moteur qui analyse et exécute le code JavaScript, telle exploration est inexact et donne aux propriétaires de site Web d'un faux sentiment de sécurité. |



















