Ajax présente-t-il des risques ' MàJ X 2

Le par  |  26 commentaire(s)

Malgré toutes les qualités que l'on peut lui reconnaître, la méthode d'écriture de pages Web que l'on nomme Ajax présente quelques risques en terme de sécurité informatique.

Malgré toutes les qualités que l'on peut lui reconnaître, la méthode d'écriture de pages Web que l'on nomme Ajax présente quelques risques en terme de sécurité informatique. Mais les avis sont partagés.


Ajax ne fait donc pas toujours le ménage '
Depuis la naissance des contrôles ActiveX (aussi connus sous le nom de Component Object Model, ou COM), ces petits programmes sensés faciliter la vie des internautes qui surfent au moyen d'Internet Explorer, le public averti a appris à se méfier du JavaScript, ce langage si proche, de par sa vocation, de celui (VBScript) autour duquel est précisément bâtie la technologie ActiveX. La non-portabilité (inadéquation avec plusieurs systèmes d'exploitation) de VBScript le cantonne à Windows, mais les deux langages ont en commun de ne rien cacher de leur structure, ce qui les rend vulnérables. Pour autant, le fait qu'il soit nécessaire de télécharger un programme annexe avant de pouvoir accéder à une page Web n'est pas en soi criticable, si cela peut améliorer le rendu graphique de ladite page, voire donner accès à toutes les fonctionnalités qu'elle renferme, mais qui dit "programme annexe" dit aussi "risque d'injection d'un code aux motivations pas toujours très avouables"...

Le fait qu'Internet Explorer ait recours à un programme exécutable, c'est-à-dire implanté durablement sur votre PC, et susceptible d'être lancé à votre insu, soulève déjà quelques questions, mais que l'opération puisse devenir totalement transparente pour l'utilisateur, au point qu'il ignore même la présence de ces logiciels, est encore plus grave. Or, Ajax, cette technique d'écriture des pages Web, très en vogue ces derniers temps, s'appuie justement sur le langage JavaScript. Et il ne faudra sans doute pas attendre très longtemps avant que les premières alertes fassent leur apparition.


Gestion du risque
Pour rappel, Ajax (on le trouve aussi orthographié tout en majuscules : AJAX) signifie Asynchronous JavaScript And XML, et regroupe donc dans une même page Internet deux langages de programmation, le JavaScript et le XML. Ajax reprend le meilleur de chacune de ces "influences", et même parmi les spécialistes de la sécurité informatique, les avis sont partagés. Pour certains, l'omniprésence du JavaScript est en soi un appel au piratage, alors que d'autres estiment qu'une bonne programmation peut efficacement pallier ce problème. Tous sont d'accord sur un point : il faut, sur son navigateur Internet, soigneusement calibrer les attributions autorisées au JavaScript, voire au besoin les interdire, et faire assumer par le serveur auquel on est connecté la plus grande part du risque.

C'est égoïste, certes, mais facteur d'un plus haut niveau de sécurité pour les vulnérables internautes que nous sommes tous, à des degrés divers...



Précisions et mise au point...
Tout d'abord, précisons que chez Génération NT, nous n'avons pas pour vocation d'encourager ou dénigrer l'usage de tel ou tel langage informatique, pas plus que nous ne nous permettrions d'engager nos lecteurs à choisir telle plate-forme (comprenez : système d'exploitation) plutôt que telle autre. Comme le dit le proverbe,
"des goûts et des couleurs..."

Le problème, et vous l'aurez certainement remarqué, c'est que l'informatique est un domaine complexe, voire compliqué, surtout pour le non-initié, et nous, chez GNT, nous souhaitons dispenser l'information à tout le monde, y compris à celles et ceux qui n'ont jamais ouvert un manuel de programmation de leur vie, et qui n'envisageraient même pas de le faire sous la torture. Ce côté généraliste provoque chez certains "spécialistes" (parfois auto-proclamés) de la chose informatique qui nous lisent de fréquentes poussées d'urticaire, tant ils aimeraient que l'on parle un peu plus souvent de "boulons-rondelles", comme on dit en automobile. Il peut nous arriver, occasionnellement, d'introduire dans nos articles des précisions techniques, mais cela tient plus de l'exception que de la règle. Notre but est de vous informer, aussi efficacement que possible, pas de vous "perdre" dès la troisième ligne d'un article.

Cette petite précision étant posé, une mise au point sur le présent sujet s'impose, tant certains commentaires postés en réponse versent dans l'acerbe. Parmi nos lecteurs, assidus ou non, nous comptons à n'en pas douter d'authentiques spécialistes de l'informatique, qui dès la parution de cet article, m'ont fait remarquer qu'il comportait des inexactitudes. J'aurais dû les remarquer au moment de la relecture, et corriger ce qui devait l'être, et pour ces erreurs, réparées, je l'espère, au moment où sont écrites ces lignes, je vous présente à toutes et tous mes plus plates excuses.

Ceci étant, il me semble que certains perdent de vue la raison pour laquelle ce sujet a été écrit : il n'est pas question de donner ici une leçon d'écriture de pages Web, ni avec Ajax, ni au moyen d'une autre technique ; il n'est pas plus question de dénigrer le langage JavaScript, même s'il a peu évolué depuis sa naissance, et peut par conséquent être en décalage avec les impératifs modernes de sécurité informatique.

J'ai lu, ici ou là, dans les commentaires, que je mélangeais les pommes et les oranges, notamment parce que j'avais laissé entendre qu'il existait une relation entre JavaScript et ActiveX. A mon humble avis, ceux qui ont écrit cela (entre autres choses) sont à côté de la plaque, et ce pour au moins deux raisons : d'abord, parce que le risque de voir un ordinateur infecté par un code malicieux lors de la simple visite d'une page Web trafiquée existe, et ne date pas d'hier, et mérite donc qu'on s'y attarde ; ensuite, les mêmes critiques oublient que l'une des premières applications d'une technique nommée XMLHttpRequest, aussi connue sous le nom simplifié de XMLHTTP, et qui est en quelque sorte l'ancêtre de l'Ajax moderne (dévoilé l'an passé), date de 1998, et fut précisément développée par Microsoft pour Internet Explorer 5... en tant qu'objet ActiveX.

De même, il faut reconnaître qu'à force de vouloir améliorer l'interactivité de leurs sites Internet, certains webmestres acceptent de prendre des raccourcis que les internautes paient parfois au prix fort. Il n'est pas question ici de jeter la pierre à qui que ce soit, mais simplement de constater que lorsque nous visitons un site Web, nous voulons y trouver à la fois une interface agréable, une grande rapidité d'affichage, et le moyen d'en modifier, en fonction de nos choix personnels, telle ou telle portion. Nous apprécions tous, en cliquant sur un lien, de ne voir changer qu'une petite partie de la page visitée, sans avoir à attendre que notre navigateur Internet, quel qu'il soit, affiche à nouveau toute la page. Pour autant, devons-nous accepter que des vulnérabilités, connues depuis longtemps, nous mettent à la merci de quelque cyber-pirate ' Je ne sais pas pour vous, mais en ce qui me concerne, la réponse à cette question est facile à formuler, et tient en un mot : non.

Dès lors, le débat entre tel langage et tel autre, et les justifications dont certains nous abreuvent
ad nauseam, tiennent presque de la Guerre des Boutons, tant ils sont secondaires, et me font parfois penser, "si j'aurais su, j'aurais pas venu." Et pourtant, j'y reviens chaque jour, ou presque...

Bien à vous.

Ange-Gabriel,
"newseur" un brin masochiste.



Complément d'information

Vos commentaires Page 1 / 3

Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Le #113315
La réponse est déjà dans l'article !
Une programmation rigoureuse et une prise de consience du risque ... après suffit de chercher comment bien faire
http://www.google.fr/search'q=ajax+s%C3%A9curit%C3%A9&start=0&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla:fr

Par contre un site en AJAX spécialement conçu pour voler des données, c'est aussi réalisable théoriquement !
Le #113319
Pas clair cet article : on parle de quel genre de risque, du côté du serveur ou du client '
Si c'est du côté du client, il est de la responsabilité du navigateur de ne permettre aucune opération "risquée", et de ce point de vue, Javascript n'a strictement rien à voir avec ActiveX.
Le #113320
Finalement rien de nouveau !
La news annonce seulement que Javascript est dangereux ce qui n'est pas vraiment une nouveauté.
Le #113323
Je trouves cet article déplorable.
Je cite:
"le public averti a appris à se méfier du JavaScript, ce langage autour duquel est précisément bâtie la technologie ActiveX"
Pas de chance javascript n'a rien à voir avec les activeX.
Pour rappel, les activeX sont des programmes executables (donc généralement directement du code assembleur de la machine), qui ont une certification pour que l'utilisateur ait confiance et execute l'application.
Le javascript est un langage interprété, et la sécurité est du à l'interpreteur. Si l'interpreteur est mal écrit, des failles peuvent exister, mais elles peuvent etre patchées.
Pour les activeX, il n'y a aucun moyen d'assurer la securité.

Et je ne parles pas des racourcis completement faux (XML un langage de programmation !!'')
Le #113325
Et encore:
"le fait qu'Internet Explorer ait recours à un programme exécutable, c'est-à-dire implanté durablement sur votre PC, et susceptible d'être lancé à votre insu"
Pas de chance, le javascript etant interprété dans la page, ce n'est pas possible (à moins d'une faille particulierement méchante dans l'interpreteur javascript)

ou encore:
"Le fait qu'il soit nécessaire de télécharger un programme annexe avant de pouvoir accéder à une page Web n'est pas en soi criticable"
Je n'appelle pas du javscript inclus dans la page un programme annexe. Cela fait parti de la page, d'ailleurs tous les sites l'utilise, heureusement, sinon aucune véritable intéraction ne serait possible.
Le #113326
Euh il parle de l'ajax avec IE et mais avec FF ca marche aussi nan '''
Le #113329
Bigsocket, merci de tes encouragements et de la modération avec laquelle tu les prodigues...

Cette petite parenthèse refermée, je reconnais que l'article renfermait quelques inexactitudes, qu'une relecture plus attentive aurait certainement pu éviter. Je viens de remettre tout cela à jour, et de clarifier les points communs entre JavaScript et VBScript, et leurs différences.
Le #113338
"Ajax présente-t-il des risques '"

Oui, puisque le J veut dire Javascript
Le #113342
Merci de tenir compte de mes remarques.
Par contre, il ne faut absolument pas comparer activeX et langage interpreté (javascript ou vbscript), car c'est très différent. Microsoft a d'ailleurs choisi de ne plus suivre la voie activeX (que seul IE supporte), car les activeX sont une hérésie pour la sécurite (autrement dit, il n'y en a quasiment pas)
Le #113343
D'ailleur concernant les failles possibles de cette méthode, il en existe deux principales:
-la première celle de yahoo mail (je suppose) qui consiste à insérer du code javascript dans une page affichée par la page utilisant javascript (ajax par exemple), à connaitre son fonctionnement interne, et à forcer des commandes de l'application (envoie de mail, récupération d'informations liés à l'application..)
Cela ne compromet en rien le poste client mais cela compromet l'application elle même
-la seconde consiste à utiliser une faille de l'interpreteur pouvant permettre une attaque (fishing, buffer overflow...), et là cela peut compromettre le poste client

La première attaque est valable pour n'importe quelle navigateur, la deuxieme est dependante du navigateur
Suivre les commentaires
Poster un commentaire
Anonyme
:) ;) :D ^^ 8) :| :lol: :p :-/ :o :w00t: :roll: :( :cry: :facepalm:
:andy: :annoyed: :bandit: :alien: :ninja: :agent: :doh: :@ :sick: :kiss: :love: :sleep: :whistle: =]