Contrairement à d’autres aspects tels que l’ergonomie, l’accessibilité ou le respect de certains standards, la sécurité d’une application web, site Internet ou application mobile peut être assez difficile à évaluer.

Prenons par exemple l’accessibilité : Plusieurs niveaux d’accessibilité ont été définis, tel que le WCAG (Web Content Accessibility Guidelines) niveau A, AA, AAA. Des règles très précises et pouvant être évaluées de manière logique, par exemple avec une check-list ou des outils d’analyse, permettent assez facilement de déterminer si oui ou non un site est accessible.

Par nature, l’accessibilité est un ensemble de règles qui, si elles sont suivies, rendent un site accessible.

Evaluer la sécurité d’un site Internet

Le caractère « sécurisé » d’un site Internet se traduit dans les faits par l’absence d’insécurité (failles, vulnérabilités) qui permettrait à un organisme malveillant d’effectuer certains actes néfastes, aussi bien pour les utilisateurs du site que pour l’exploitant du site. Il existe bien certains principes de bases en sécurité, mais les techniques d’attaques sont très variées, évoluent, et il n’est pas possible de les lister intégralement.
Dès lors, évaluer la sécurité d’un site Internet devient plus complexe que de passer en revue une liste de règles. Par ailleurs certaines failles se situent dans la logique même de l’application, dans le parcours utilisateurs. Une analyse manuelle s’impose donc.

Créer une application web sécurisée

Comment peut-on donc faire en sorte que son site internet soit sécurisé?

La sécurité commence lors dès la conception. Afin de limiter le nombre d’éléments à retravailler ou à re-développer, la sécurité doit être prise en compte dès la conception du site Internet :

  • Sécurité dans les parcours utilisateurs et dans les différents process : Par exemple, la procédure de récupération de mot de passe ne doit pas seulement prendre en compte des contraintes d’ergonomie, mais bien des critères de sécurité afin que n’importe qui ne puisse pas récupérer le mot de passe d’autrui.
  • Sécurité dans les développements : Le cycle de développement de l’application (SDLC) doit intégrer des procédures liées à la sécurité de l’application (revues de codes orientées sécurité, scans). Pour cela l’équipe de développement doit être sensibilisée aux problématiques de sécurité

Réaliser des tests d’intrusion

Ce n’est pas la première fois que nous faisons l’analogie avec l’industrie automobile sur ce blog, mais les similitudes sont fortes entre les deux industries.

Souris crash test - illustration

Dès la conception, la sécurité de nos automobiles est un élément clé, mais ça ne s’arrête pas là, des crash tests sont réalisés avant la commercialisation, et des contrôles techniques sont effectués à intervalles réguliers lors du cycle de vie du véhicule.
De même, la sécurité d’une application web doit être testée avant la mise en ligne du site, afin d’éviter par exemple des fuites de données, ou encore des intrusions dans le réseau de l’entreprise. On réalise donc des tests d’intrusion afin d’analyser l’application et effectuer une batterie de tests d’attaques. Bien entendu, l’application n’est pas sacrifiée, alors que le véhicule subissant le crash test est bon pour le recyclage.

Des revues de code et tests d’intrusion doivent également être effectués de manière régulière au fil des évolutions technologiques et fonctionnelles du site Internet.