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.