De la toile au commerce en ligne, la sécurité passe d’abord par la formation des développeurs

100% de l'économie mondiale dépend du web, et de sa sécurité. Pourtant, la sécurité du web et des application web est négligée par les entreprises et les gouvernements. Voyez ci-dessous comment facilement remédier à ce problème.

Un peu d'histoire

Vous rappelez vous de la toile ? C’est comme cela qu’on appelait le World Wide Web à ses débuts en 1990 alors que ça n’était qu’une des inventions fraichement sorties du CERN en Suisse (oui, le Web est une invention Suisse de Tim Berners-Lee et Robert Cailliau). World Wide Web qui signifie « Toile mondiale » ou « Toile d’araignée mondiale » a rapidement connu le nom raccourci de « toile ». Combien d’entreprises n’ont-elles pas annoncé, à grand renfort de publicité « Nous sommes sur la toile ». C’était bien vu et c’était innovant à ce moment d’être sur la toile. Aujourd’hui, il n’y a pas moyen de faire des affaires si on n’est pas sur la toile.
Dans le temps, la toile c’était des sites web statiques.

Chaque entreprise en avait un, ou en désirait un. Il fallait un expert, un vrai, pour créer ce site web. La seule façon de bâtir ce site consistait à coder directement du HTML, ces mystérieuses runes qui donnaient vie à toute cette magie. Ça coutait cher.

Souvent, l’unique page web n’était présente que pour communiquer à la planète entière le numéro de téléphone de l’entreprise, et une adresse email pour les plus modernes.

Ensuite, au fil des ans, les sites web ont évolués. Les entreprises ont pensé : « On peut y mettre des images, des sons, des vidéos, du texte, alors pourquoi pas montrer nos produits ? ». Les sites web statiques ont alors donné place aux catalogues en ligne. Les entreprises ont constaté qu’en y mettant assez d’informations, les gens connaissaient leurs produits et ne venaient plus les voir pour prendre des renseignements, mais bien pour acheter. Le marketing en ligne était né. Il faudra cependant attendre des années avant de pouvoir faire l’achat en ligne, les méthodes de paiement, typiquement contrôlées par les banques, ont évoluées plus lentement.

 En 1994, le premier achat en ligne fut effectué sur le site web Net Market (l’article était un CD de Sting). Pizza Hut a commencé à vendre des pizzas en ligne la même année. Ensuite, l’évolution du web s’est poursuivie à un rythme effréné, avec en priorité les outils de vente en ligne et la sécurité de ces mêmes ventes. 

Ventes en ligne et fraude

Parce que qui dit ventes en lignes, dit fraude ou à tout le moins, tentatives de fraude. Là où il y a de l’argent, il y a de la fraude. La première fraude à être documentée fût celle du marchant grec Hegestratos qui a tenté de frauder son assurance en 300 av. J. -C. Il avait assuré son bateau de marchandise et sa cargaison, ce qui dans le temps, revêtait la forme d’un prêt. S’il arrivait sain et sauf à destination, il remboursait le prêt avec intérêts. Sinon, il gardait l’argent. Il lui eût l’idée de couler son bateau, de revendre la cargaison  et de garder l’argent de l’assurance. Son équipage qui eût vent de cette tentative de fraude l’a éjecté du bateau et il est mort noyé.  Pas besoin de web pour faire de la fraude.

Aujourd’hui, entre les cartes de crédit volées et le piratage de systèmes de ventes en lignes, la fraude a pris diverses formes et a pris de l’ampleur jusqu’à devenir un fléau qui nous hante encore aujourd’hui. Alors qu’au début, le cybercrime ciblait les serveurs et les réseaux, ça n’est plus le cas parce que la cybersécurité aussi a évoluée et que les systèmes et réseaux sont maintenant bien protégés. Ce qui l’est moins, c’est le web dans son sens large. Pas les sites web statiques, mais vraiment les systèmes de commerce électronique (c’est le nouveau nom pour ventes en ligne). En 2021, plus de 80% de l’économie mondiale dépend des applications web. Pensez à cela. Le monde dépend des applications web et de leur sécurité. Mais par où commencer pour avoir un monde meilleur ?

Les systèmes de commerce électronique et les programmeurs

Les systèmes de commerce électronique sur le web ont en commun :

 
  1. Ils sont le plus souvent des applications web
  2. Ils utilisent des bases de données
  3. Ils sont développés par des programmeurs
  4. Ils sont exposés à l’Internet (sinon ils ne serviraient à rien)
  5. Ils traitent de l’argent
  6. Ils communiquent avec des banques
  7.  Ils accumulent des données sur leurs clients

 Tous ces ingrédients en commun sont à peu de chose près, l’équivalent informatique de la formule de la poudre à canon. Quel est le point le plus important dans ces facteurs? Le #4? Le #5? Pas faux mais non. C’est le #3.

 Les programmeurs sont une classe d’experts en informatique qui ne se soucient que très peu de la sécurité de leurs applications. Ça n’est pas entièrement de leur faute. Premièrement, la sécurité des applications n’est pas enseignée par les programmes universitaires qui forment nos programmeurs. Difficile alors de sécuriser une application alors qu’on ne sait pas comment. J’ai vu des programmeurs implanter du chiffrement en « inventant » un super algorithme de chiffrement dans lequel ils remplaçaient les « a » par des « b », les « b » par des « c », etc.

 Un tel algorithme s’appelle un chiffre de César et malgré tout ce qu’on peut en dire, ça n’est pas du chiffrement, c’est de l’encodage, et c’est réversible. Inutile de mentionner qu’un tel « chiffrement » ne résisterait pas 30 secondes à un cassage par une personne expérimentée. Ça pourrait toutefois ralentir un cybercriminel de 8 ans pendant quelques minutes. C’est ce que le manque de connaissance en sécurité des applications amène comme problématique.

 L’autre problème est la méthodologie de gestion de projet. Voici comment ça se passe. Les gens d’affaires ont une idée qui va générer des profits monstres. Tout ce qu’il faut c’est une petit application web (et/ou mobile). On lance le projet, on assigne un gestionnaire de projet et on démarre la conception de l’application. Dans un projet, la sécurité est un « requis non-fonctionnel ». C’est-à-dire que ces requis ne sont pas indispensables au bon fonctionnement de l’application. Les gens d’affaire ne peuvent pas concevoir que si l’application est compromise par des cybercriminels via des requis non-fonctionnels, cela va affecter le fonctionnement de l’application et la génération de profits. Et c’est normal, les gens d’affaires n’ont pas été formés pour penser à cela.

 Il faut un type spécial de raisonnement pour penser aux possibilités de compromission d’une application, et ce type de raisonnement est idéalement assorti d’une saine quantité de paranoïa. Et si jamais une organisation décidait de relever ses manches et sécuriser son application, la nature imprévisible des projets ferait son possible pour l’en empêcher. Il y a 53 ans naissait le génie logiciel qui apportait la promesse qu’un jour, le développement de logiciel serait comme l’ingénierie qui rend la construction d’un pont ou de toute autre structure, prévisible et déterministe. On attend toujours de voir une construction de pont qui ne dépasse pas les coûts et les délais et c’est la même chose pour le logiciel. Les imprévus de projets vont éventuellement amener la nécessité de couper les coins et de retirer certains requis pas très importants de l’application, comme ces horribles requis non-fonctionnels qui n’existent que pour nous retarder. Je simplifie, mais le monde des projets est somme toute assez simple. 

Comment améliorer les choses?

Toutes ces choses font en sorte qu’en 2021, plus de 50% de toutes les applications web contiennent des vulnérabilités sérieuses, facilement exploitables (Source : le rapport NTT 2020 Global Threat Intelligence Report). Et la plupart des applications web sont exposées à Internet, et traitent des informations sensibles comme de l’argent, des informations personnelles, etc. Plus haut nous avions la formule de la poudre à canon informatique et bien là nous avons le résultat et ça fait plus de dégâts qu’une explosion.

 Les brèches de données coutent cher. Mariott a payé $124 millions de dollars US en amende pour sa brèche de données clients. Uber a écopé d’une amende de $575 million US. Et ces montant sont en plus des dommages à la marque, des coûts pour contenir et éradiquer la brèche, des coûts en avocats, communication, rehaussement de la sécurité, etc.

 Ce qu’il est important de retenir au sujet de la sécurité des applications est :

  1.  Les problèmes de sécurité des applications sont introduits dans les applications au moment où le programmeur code l’application. Une erreur de codage, de logique et hop, on a un bug. Quand un bug affecte la sécurité d’une application, le nom change et ça s’appelle une vulnérabilité. Il semble alors logique de les prévenir durant cette phase de codage
  2. Prévenir une vulnérabilité dans la phase de codage d’un projet est la façon la plus économique de sécuriser une application.
  3. La sécurisation d’une application durant la phase de codage, n’a pratiquement aucun impact sur les budgets et les échéanciers d’un projet.
  4. La plupart des vulnérabilités peuvent être prévenues facilement. Il suffit de savoir comment.

 Oui ça semble facile vu comme ça. Mais c’est toujours le même élément qui manque : l’expertise des programmeurs en sécurisation d’application. Pourtant, c’est une lacune facile et abordable à combler. Internet est rempli de ressources pour aider les programmeurs à apprendre cette facette du métier, à commencer par l’organisation OWASP qui se spécialise dans la sécurité des applications et mets des tonnes de ressources gratuites à la disposition des programmeurs.

 Il y a aussi l’option de la formation professionnelle. C’est plus cher, mais les programmeurs sont prêts à relever les défis de la sécurité des applications après une semaine de formation d’expert.

 La dernière leçon à retenir, c’est que sur la toile, les proies sont les clients, consommateurs et compagnies qui font des affaires sur Internet. Avec juste un peu de formation, la toile pourrait être juste la toile, plutôt que la toile d’araignée.

Sémafor Conseil offre des formations sur la sécurité du web qui enseignent aux développeurs, non seulement comment sécuriser des applications web, mais aussi comment pensent et travaillent les cybercriminels, et comment savoir être toujours en avance sur eux. Cette formation est donnée en partenariat avec Thinkcyber, la firme de formation en cybersécurité qui forme même les unités de cybersécurité de l’armée Israélienne. Il ne se trouve pas de formation plus avancée et à la fine pointe sur le marché. De plus, les étudiants mettent en pratique les connaissances acquises via des exercices pratiques avec des études de cas réels dans le Cyber Arena.

Passez à la pratique avec nos formations

Le premier niveau dans la formation à la sécurité des applications web. Cette formation s’adresse à tous les concepteurs de sites Web, les webmasters, les responsables de publication de services en ligne.

Ce cours s’adresse à tous les professionnels en développement de site Web et aux hackers éthiques. Il permet d’atteindre un haut niveau en protection des sites et applications Internet.

Partager/Share:

Facebook
Twitter
LinkedIn

Autres publications/Other posts: