Les applications en ligne peuvent faire l’objet de lacunes en sécurité que les pirates n’ont aucune gêne ni difficulté à exploiter. Deux spécialistes ont traité du sujet lors des Rendez-vous de la sécurité de l’information.
Alors que le développement de la sécurité de l’information a été axé longtemps sur la sécurisation de la couche de l’infrastructure, il est impératif d’en faire autant pour la couche des applications en ligne que l’on développe depuis une quinzaine d’années.
Tel était le constat fait par Nicolas-Loic Fortin et Patrick R. Mathieu, deux professionnels de la sécurité qui ont cofondé Hackfest Communication, un organisme sans but lucratif qui produit des conférences et diffuse des articles techniques sur la sécurité et le piratage, lors d’une allocution présentée au colloque des Rendez-vous de la sécurité de l’information.
MM. Mathieu et Fortin ont relaté la persistance au sein des organisations de mythes en sécurité : nous ne sommes pas attaqués ; la transmission des données est chiffrée ; nous avons un pare-feu, donc nous sommes protégés ; nous sécurisons seulement l’élément à risque, etc. Or, ces mythes feraient en sorte que la préoccupation des organisations envers la sécurité au niveau des applications est inadéquate.
Pourtant, les risques liés aux applications en ligne sont réels : selon un graphique de la firme Gartner, le nombre de vulnérabilités ayant trait à l’applicatif aurait dépassé d’environ cinq à sept fois le nombre de vulnérabilités liées aux systèmes d’exploitation et aux fureteurs entre 2004 et 2009.
Les conférenciers ont expliqué qu’il est facile d’attaquer des applications en ligne en raison de la disponibilité d’outils gratuits, de la facilité des nouvelles technologies et de l’impossibilité qu’un système soit entièrement sécuritaire, mais surtout en raison d’une trop rare intégration de la sécurité dès le début d’un projet de développement d’une application.
Pour les organisations dont on exploite des failles, les conséquences des attaques peuvent être majeures. « Il y a un risque de perte d’intégrité, de confidentialité et de disponibilité, de pertes financières et aussi de perte de clients ou de fournisseurs. Il y a aussi un risque de perte de confiance et d’une dégradation de l’image publique de l’entreprise », a souligné M. Mathieu.
MM. Fortin et Mathieu ont souligné que les risques pouvaient résider à maints endroits comme dans la stratégie de zonage de l’information, la classification des données ou les droits d’accès, mais aussi dans des éléments relativement récents comme la confiance transitive des réseaux sociaux, où des logiciels de tiers donnent accès à de l’information d’un utilisateur en vertu de la confiance accordée aux « amis des amis ».
M. Fortin a donné aussi l’exemple du réseau sans fil dans un train, qui permet souvent de déceler des fonctions activées d’accès à des dossiers publics et privés, de partage d’imprimantes et de fichiers et même de contrôle à distance sur les ordinateurs des passagers. Lors d’un récent voyage, M Fortin a constaté que de telles fonctions activées sur des ordinateurs appartenant à un organisme sans but lucratif, à une entreprise privée, à un ministère gouvernemental et à une personnalité de la télévision – comme quoi les lacunes en sécurité de l’information touchent à toutes les sphères de l’utilisation des TIC.
Failles apparentes
MM. Fortin et Mathieu ont souligné que les pirates informatiques voyaient souvent leurs tentatives d’intrusion de systèmes être facilitées par des indices qui sont obtenus auprès d’applications en ligne en quelques essais et en quelques minutes. Ils ont illustré la diversité de méthodes qui peuvent engendrer un vol de données, comme l’injection de code, les failles XSS, la falsification de requêtes inter-sites (cross-site request forgery en anglais), l’authentification non fonctionnelle, les redirections invalidées, le stockage chiffré non sécurisé, l’accès aux URL non restreint, etc.
Également, des applications peuvent contenir des bogues au niveau des entrants, dans les fichiers témoins, dans les formulaires, dans les requêtes de bases de données, dans les zones de téléversement, dans les canaux de communications, etc. « Les informations contenues dans la liste des répertoires, dans le code source, dans la configuration par défaut et dans les extensions de fichiers représentent individuellement de faibles risques, mais c’est l’accumulation des risques qui peut être problématique », a souligné M. Fortin.
MM. Fortin et Mathieu ont présenté plusieurs vulnérabilités exploitables au sein d’applications en ligne, comme la présence d’un fichier contenant une liste d’exclusion de détection pour les moteurs de recherche, ce qui donne aux pirates les noms des répertoires qui méritent leur attention, ou bien l’indication qu’un mot de passe est incorrect pour un nom d’usager, ce qui confirme la validité dudit nom d’usager.
Aussi, un fichier à extension .BAK peut contenir du code lié à serveur que des malfaiteurs trouveront bien utile, alors que des messages d’erreur de bases de données peuvent fournir des informations sur des versions des logiciels de serveurs. D’autre part, le simple remplacement de mots ou de paramètres dans une adresse URL liée à l’affichage de fichiers peut entraîner la présentation en clair d’un fichier essentiel…
Surtout, les spécialistes ont expliqué que le piratage fondé sur des requêtes du moteur de recherche Google, à l’aide de variables d’inclusion ou d’exclusion, pouvait fournir facilement à des pirates des renseignements pertinents sur les vulnérabilités d’une application en ligne.
« On dit aux programmeurs : cachez vos erreurs ! », a lancé M. Mathieu, en précisant qu’il ne lançait pas la pierre à ces travailleurs. « Dans les organisations on met en place de belles règles de gouvernance, mais elles ne se rendent pas ou se rendent mal jusqu’aux développeurs… »
Enjeu constant
Comme dans plusieurs domaines liés à la sécurité de l’information, l’approche proactive est préférable à l’approche réactive.
Selon M. Mathieu, il est évident que le coût de développement de la sécurité d’une application après l’exploitation d’une faille sera phénoménal en comparaison avec le coût d’un tel développement en amont, dès le début d’un projet.
D’autre part, une organisation doit trouver un équilibre en matière de sécurité des applications. « Si un projet ne contient aucune composante de sécurité, ou si au contraire la sécurité d’une application est de niveau “top secret”, en fin de compte les coûts associés à la sécurité seront élevés. Il faut trouver un juste milieu, selon les types de données qui sont contenues dans l’application. »
Quant à l’amélioration de la sécurité des applications en ligne existantes, M. Fortin reconnaît que les organisations ne peuvent pas tout régler du jour au lendemain, mais il estime qu’elles ne peuvent rester passives.
« Elles ont des acquis qu’elles doivent adapter ou convertir aux nouvelles problématiques qui émergent sans cesse, car l’être humain est très imaginatif et trouve toujours des façons de contourner les règles en place. Il s’agit d’une course sans fin… »
Jean-François Ferland est rédacteur en chef adjoint au magazine Direction informatique.